Implementation
General
Flowr is written in server-side Javascript and contains plug-ins for Sublime Text 3 and Eclipse. It is based on a modular concept, which allows interchangeability in support of both programming languages and data sources. Currently supported are Python, Java, and Ruby. The server component itself provides a well-documented API and the possibility to add or edit modules to support languages, programming paradigms or specific dialects.
Second Screen
As learned from the interviews, most developers use two screens and differentiate between a main screen for coding and an assistive screen for documentation. Therefore we decided to place the results on the assistive screen or even an additional device like a tablet.
Server API
The backend of flower can be queried via GET parameters and returns the result via JSON. This allows for easy integration of Flowr into other applications.
Database
Flowr incorporates several data sources, such as StackOverflow, gitHub Issues and results from the graphdatabase of analyzeD. Flowr allows users to upvote the entries they found useful to improve future rankings. Connecting and integrating these pieces of information is likely to yield an additional advantage concering the ranking and further solution details in the future.