This week was devoted to refining the User and Permission interfaces, and starting to test them. A User will basically consist of a grouping of Permissions, and also a grouping of preferences. The Annotator will then need to check for the relevant permissions when necessary, and also store and make use of the various preferences.
I think the preferences are the more interesting part for the moment. Last summer, we had discussed collecting various usage data from the Annotator users, just in terms of which ontologies and which terms from those ontologies were used frequently. Robin wants to make use of this sort of data now to help refine his ontology recommendation, and make it more tailored to individual users. For example, one thing the Annotator does now is provide a hard-coded list of ontologies in a dropdown list. We picked these in the lab because they were relevant to our particular use case last summer, but obviously they won’t generalize to every data set forever. If we collected data that showed that a particular user loaded Ontology X every time he or she used the Annotator, ideally we would like to have a way for the system to figure out that Ontology X should be loaded in the dropdown list every time for that user.
I’m already collecting some of this information in a limited sense within the Annotator; for example, it provides some links for previously loaded ontologies, or previously annotated data (for that particular session). We are hoping that it will not be difficult from here to more formally keep track of frequency of ontology use, and store that data alongside a user.
I’ll be testing out some AnnotatorUser and AnnotatorPermission things early this week, and then refining that after.