RAPP Mini Hackathon at the Aristotle University of Thessaloniki on Friday 27/05/2016
The creation of quality RApps is one of the most important aspects regarding addressing the requirements and needs of the older people using RAPP’s robots. Excluding the RApps developed in our pilot cases, our goal is for external developers to become actively involved in RAPP and spark a RApp creation interest. One of the design principles of RAPP is the ability to develop new RApps in a seamless and platform transparent manner. High level services provided by the RAPP Platform and robot-specific features are accessible through a public API that developers can utilize to create complex applications.
In the context of our outreach activities, a mini Hackathon was organized, aiming at bringing RAPP and the developing community closer. Our motivation is to record the needs of developers, adapt to their practices and address their concerns. Twenty (20) individual developers participated, most of which were Electrical and Computer Engineering MSc students, along with some professionals. Initially, a short, one-hour introductory course on the RAPP project and the RAPP API took place by members of CERTH/ITI, AUTH and ORMYLIA. Immediately after followed a 2-hour development effort where the participants either formed teams or worked individually. RAPP technical team members were present, in order to assist in the development processes.
Development was performed solely in Python in an Ubuntu Linux based environment. Participant experience in Python and Linux varied significantly with most of them having average experience as depicted below:
Nevertheless, their lack of significant experience was not an obstacle towards creating interesting and functional RApps. The usability and the high-level abstraction of the RAPP framework allowed for accelerated development and fast prototyping of ideas to practical applications. Three (3) NAO robots were available for testing and live demonstration purposes. Developers were thrilled to see their application executed in the actual robot rather than some computer based simulation. Additionally, live demonstration of applications attracted attention and promoted interaction and idea sharing between development teams.
The number of RApps developed, along with their complexity and depth, were inspiring, especially when accounting for the short developing timeframe of 2 hours. Some of the most interesting applications were:
- Face detection and tracking
- English to Greek translation via RAPP Speech recognition and the external Google Translate API. Language detection was also attempted.
- 2D mapping via rotational motion and sonar feedback
- Storing songs in-robot and playing them back via voice commands
- Face detection and recognition via OpenCV
- Hand movements performing predefined gestures
Developer feedback regarding usability, usefulness and adequacy of features was dominantly positive as illustrated in the figure below, fact that inspires us towards further improving our software infrastructure.
All developers found the RAPP framework interesting and straightforward and were eager to participate in our future events. More than 90% had enough time to develop an application and would be interested in developing RApp applications for other robots as well (e.g. for Turtlebot).
Developer feedback has geared us towards expanding the motion functions for the NAO robot, incorporating support for new robots and expanding the RAPP Platform with capabilities like motion detection and OCR. Some developers also suggested that given the limited number of available for demonstration, maybe a simulation environment would make sense. It has been a very exciting event that allowed us to directly address the developing community. We plan to organize a larger event, accommodating more developers and bringing new and exciting features. Stay tuned!