Integrating Requirements Bazaar into the ROLE SDK

Dominik Renzel
Advanced Community Information Systems (ACIS) Group
Chair of Computer Science 5 (Databases & Information Systems)
RWTH Aachen University
Aachen, Germany

In this short article, we highlight the integration of Requirements Bazaar with the ROLE SDK, a Web-based platform for the management of and collaboration in widget-based Responsive Open Learning Environments (ROLE). In particular, we refer to Requirements Bazaar's workspace integration concept and its plug-in for integrated requirements collection from within arbitrary Web applications. Based on the ROLE example, we show how ideas for new widget features can be seamlessly collected and transferred to Requirements Bazaar without leaving the respective learning environment.

One of the main goals in Large Scale Social Requirements Engineering (LASSRE) is to involve large numbers and diverse groups of end-users into a co-creation process, starting with the elicitation and collection of innovative ideas and requirements. An essential prerequisite to fulfilling this goal is to keep entry barriers as low as possible, to integrate the collection of requirements into working environments and processes as unobtrusive and seamless as possible, and to keep efforts and required prior knowledge to report new ideas and requirements as low as possible.

Requirements Bazaar therefore includes a workspace integration concept and several technical integration features. In this article, we discuss Requirements Bazaar's Integrated Requirements Reporting plug-in as means of integration with end-user work spaces. First, we first provide general information for Web application developers on how to instrument their applications with the plug-in. Then, we demonstrate a more sophisticated case of instrumentation with the plug-in in the ROLE Software Development Kit (ROLE SDK).

The Integrated Requirements Reporting Plug-In is part of the workspace integration concept of Requirements Bazaar (cf. main article "Requirements Bazaar: Open-Source Large Scale Social Requirements Engineering in the Long Tail" in this special issue). The main idea is to instrument an end-user Web application with input forms for reporting requirements to Requirements Bazaar directly from within the application.

Technically, we realized this plug-in as a jQuery [1] plug-in including automatic reporting of requirements to Requirements Bazaar's RESTful service backend, templates for requirements reporting forms adaptable to the target application and other features such as annotateable screenshots. An example HTML file available at http://requirements-bazaar.org/JQueryBazaarPlugin/example.html serves as a documented example demonstrating the implementation details for instrumenting arbitrary Web applications with the plug-in. Thereby, we follow the standard approach of introducing an empty div element, which is then dynamically populated with a requirements reporting form by the plug-in. Usually, another input element such as a button is used to bring up the form in the user interface. This concept is already realized for Requirements Bazaar itself in a bootstrapping fashion. In its user interface, a yellow flag with the caption "Improve" serves as a button toggling the form for reporting Requirements Bazaar improvements. Figure 1 shows both the improve flag and the reporting form.

Figure 1. Requirements Reporting Form with Screenshot Annotation

Users first choose a requirement type, which is one of feature or bugfix. They then provide basic metadata (title, summary) and can then use different dialogs for adding artifacts, such as screenshots, stories, images, logs, or arbitrary files. In order to augment requirements with more information without user intervention, the plug-in can be configured to add supportive artifacts automatically. In particular, it can add a log describing the user's application context (used browser, language, URL, etc.) and create annotateable screenshots of the application (without a need for additional browser plugins). While the logs are targeted at browser quirk detection, the screenshot functionality is dedicated to documenting user interface related needs or ideas. Figure 1 shows the dialog for screenshot annotation.

The ROLE SDK and its reference Web installation ROLE Sandbox (http://role-sandbox.eu) is a Web-based platform for managing and collaborating in widget-based Responsive Open Learning Environments, developed in the homonymous EU project (http://role-project.eu). Learners can design their own collaborative learning spaces by combining selections of individual learning widgets to complete Responsive Open Learning Environments (ROLE). Figure 2 shows SeViAnno 2.0 [2], an example of such a learning environment.

Figure 2. The Responsive Open Learning Environment SeViAnno 2.0

In this example, a multimedia learning application is constructed from five widgets, allowing the consumption and semantic annotation of video material, in this case in a cultural heritage scenario. Inherently, the platform itself or even individual learning environments are not tailored and limited to one particular learning domain. The example environment can be used for any video-based learning tasks in arbitrary domains. Therefore, heterogeneous requirements are also expected to originate from different learning backgrounds for the same widgets. For example for a video player, a language learner might require to mark certain passages of a foreign language video for repeated playback to train pronunciation, while a historian might require to link historical background information to a scene in a video.

The instrumentation of the ROLE SDK with Requirements Bazaar's integrated requirements reporting plug-in is realized on the level of individual widgets. On hovering over a widget, it displays an additional "light-bulb" button in its header (cf. Figure 3). A click on this button triggers a requirement reporting form prepared for this particular widget. Given the clear separation of form-based user input and RESTful back end processing and persistence of reported requirements, similar forms of integration are possible in other programming environments (e.g. mobile devices), following the same concept.

Figure 3. Light-Bulb Button as Trigger for Requirements Reporting Form

In this short article we have shown how to instrument arbitrary Web applications with Requirements Bazaar's integrated requirements reporting plug-in on the example of the ROLE SDK. For developers, this plug-in requires low effort for integration into Web applications. For end-users, it fulfills the goal of a comparably unobtrusive and seamless collection of requirements without the need to leave familiar working environments.

Acknowledgements

The research leading to these results received funding from the European Commission’s 7th Framework Programme (FP7/2007-2013) under grant agreements 231396 (Responsive Open Learning Environments) and 318209 (Learning Layers).

REFERENCES

[1] jQuery Foundation, “jQuery: The Write Less, Do More, JavaScript Library”. [Online available] http://jquery.com, 2014.

[2] P. Nicolaescu and R. Klamma, “SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the Obvious,” in Proceedings of the 12th International Workshop on Content Based Multimedia Indexing; Alpen-Adria-Universität Klagenfurt, Austria, June 18-20, 2014.


Dominik Renzel is PhD student and member of the Advanced Community Information Systems (ACIS) group at the Chair of Computer Science 5 (Databases & Information Systems), RWTH Aachen University, Germany. He obtained his diploma degree in computer science in February 2009 from RWTH Aachen University. His research interests are modeling, measurement and validation of Community Information System (CIS) success, Large-Scale Social Requirements Engineering, Web Engineering, as well as Technology Enhanced Learning and Multimedia Tools. Furthermore, he is a supporter of Free Libre Open Source Software (FLOSS)
Comments