Masterthesis: User-Centered Development of a JavaScript and HTML-based GUI for Saros

Motivation

Saros is an open source software to enable distributed collaborative software development and is available as a plugin for the integrated development environments (IDE) Eclipse and IntelliJ. Saros started as a research project in the software engineering research group at Freie Universität Berlin, went open source and is further developed by the community and various theses at the university. Until recently, the development of the graphical user interface (GUI) was dependent on the underlying IDE which leads to several disadvantages in terms of maintenance and development. Lately, there were two theses addressing this problem via introducing an IDE-independent GUI based on JavaScript and HTML which is running in a browser embedded in the IDE. However, the GUI based on the new technologies is only implemented prototypical without any considerations regarding usability, yet. In any case, there are various works enumerating current usability problems with Saros. Instead of simply re-implementing the current GUI with new technologies it is reasonable to also solve existing usability problems.

Task of the Thesis

The task of this thesis is to create an IDE-independent GUI for Saros which increases the usability in comparison to the as-is state. The work of Cikryt and Bohnstedt enables the IDE-independent development of the GUI with HTML and JavaScript. To enable communication between the JavaScript-frontend (Saros JavaScript API) and the Java-backend (Saros Java API) an interface is already available. Since the implementation of the GUI may lead to a sophisticated JavaScript application, many architectural decisions must be made to enable convenient maintaining and extension of it. Since the Saros project builds on a continuous integration process (Jenkins), the JavaScript-frontend should be subjected to automated build and unit tests as well. To achieve an improvement in usability a user-centered design (UCD) process is to be elaborated.

Goals of the Thesis

The following points describe the main goals of this thesis addressing the defined tasks.

Creation of known-problems catalogue for Saros: Based on previous work on Saros’ usability, known usability problems have to be collected and prioritised.

Evaluation of JavaScript MV*-frameworks: Since the JavaScript Model- View-Star(MV*)2-framework landscape is wide and sometimes confus- ing, current state-of-the-art frameworks should be evaluated with the special requirements of the use case Saros frontend in mind.

Development of a Saros frontend framework: A fundamental Saros frontend framework has to be implemented in JavaScript to ease develop- ment and testing in this thesis and for future developers. This Saros frontend framework should be based on the previous JavaScript MV*-framework evaluation.

Development of a new Saros GUI that increases the usability: On the basis of the Saros frontend framework, a new GUI has to be built. Therefore, a UCD process will be elaborated and applied to iteratively test and improve the usability.

Evaluation of the results: Evaluate the evolution of the usability of Saros during this thesis. Furthermore, evaluate the Saros frontend frame-work as well as the UCD process to formulate possible future improvements.

Comments