Human Centered Computing

Analysis and implementation of a useful Web API design

GFBio_Terminology_Server
GFBio_Terminology_Server
Betreuer: Dr. Naouel Karam
Fach: Information Visualization
Abschluss: Bachelor of Science (B.Sc.)

Voraussetzungen:

  • Knowledge in the area of web technologies is prefered
  • Good English skills for the literature research

Inhalt

Keywords

API Design; API Usability

Project Context

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.

Problem statement

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.

Goal

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.

Examples

References

  • http://www.gfbio.org
  • http://terminologies.gfbio.org
  • http://swagger.io
  • 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.