Week 4 – Combining efforts

My labmate Yue has done some awesome work getting ontology search working, and we met early this week to discuss integrating it into the Annotator. One of the challenges with that is that there are already so many different aspects to the Annotator – windows for the data itself and for the loaded ontologies; dialog boxes for metadata and loading ontologies from URI’s; the dropdown menu of pre-selected ontologies; an extra context menu for selecting different column relationships – that we need to make sure everything remains uncluttered but still easy to find.

For the moment, I am adding the ontology search to the same dialog box for importing an ontology from a URI. In this way, a user can search for terms necessary for data and get the best matches back along with the ontologies they belong to, and then copy the URI of the recommended ontology into the URI box, to re-use that functionality that is already in place. I think maybe in the future, it might be useful to add it into the dropdown menu of pre-selected ontologies itself, to save the space of having one extra button at the top of the user interface, and also to keep all the ontology-load functionality together in one single place.Another small thing I want to do is to auto-populate some of the dialog boxes based on loaded info, if it has been stored already (such as if the user refreshed the window by accident). For example, one display asks for the data set’s source, name, and version. I am storing them along with the other state-based info, so the user won’t have to enter them again on refresh, but the best way to show that it’s actually being stored is to auto-fill the dialog boxes with the info the user has already entered.Next week will definitely see more debugging, to make sure the Annotator can send queries, receive results, and parse them all properly. I will probably find little things to fix in terms of state-based preservation, too, since there are a lot of moving parts there, as well.

Leave a Reply

Your email address will not be published. Required fields are marked *