API Design; API Usability
The German Federation for Biological Data (GFBio) is a sustainable, service oriented, national data infrastructure facilitating data sharing for biological and environmental research. Scientists will be supported in all aspects of research data management covering the complete life cycle of data. The scope of the project at Freie Universität Berlin is the provision of a Terminology Server. This is a core component of the GFBio infrastructure and allows researchers to share various kinds of terminologies – ranging from simple controlled vocabularies to complex ontologies – with other researchers. The Terminology Server (TS) and its public Application Programming Interfaces (APIs) rely on common standards for Semantic Web Technologies and provide users with a machine-readable access to terms, concepts and their relations for a variety of biodiversity related data.
APIs are a type of user interface developers are using to solve tasks. Depending on the usability users are more or less successful and/or fast in solving their problem. A small number of research has analyzed and investigated the usability of APIs. An even less number of publications has focused on Web APIs. The current development of Web APIs is autonomous and guided by no standard to rely on. The documentation is commonly given in plain HTML as part of a website, even though there are tools that would help the API designer, like Swagger. As a result, the use of Web APIs requires extensive manual effort and existing work can hardly be reused or adapted and one cannot tell if an API is “good” in an objective manner.
The goal of this thesis would be the improvement of our API in terms of the usability and the presentation. For that, the installation of some criteria for a “good and useful” API on one hand and the implementation of those in our API on the other hand is needed. Existing work on API usability needs to be reviewed and may be adapted to Web APIs. Furthermore, a redesign of the developer section of the TS website needs to be developed and carried-out. The new design should give the user a simple, clear und useful presentation of our API.
You should be able to work independently but in consultation with our team, because the main website will be redesigned as well.
- Myers, B. A., & Stylos, J. (2016). Improving API usability. Communications of the ACM, 59(6), 62–69.
- Rama, G. M., & Kak, A. (2015). Some structural measures of API usability. Software - Practice and Experience, 45(1), 75–110.
- Klauß, C. (2015). Towards API Usability Engineering as a Software Engineering Paradigm. Proceedings of the Multiconference Software Engineering and Management 2015, 195–200.
- Maleshkova, M., Pedrinaci, C., & Domingue, J. (2010). Investigating Web APIs on the world wide Web. Proceedings - 8th IEEE European Conference on Web Services, ECOWS 2010, 107–114.
- Stylos, J., & Myers, B. A. (2007). Mapping the space of API design decisions. Proceedings - IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2007, 50–57.
- Bloch, J. (2006). How to design a good API and why it matters. Companion to the 21st ACM SIGPLAN Conference on OOPSLA ’06.