Problem Space
Although the visual-based coding system developed by OutSystems is much more efficient than text-based coding, it has produced some problems of its own. Because the system is visual, larger applications become difficult to understand – difficulty to view the entire application flow results in difficulty to understand what the code is doing. Since commenting the visual flow simply clutters the document further, this text-based coding solution was not always feasible for addressing this problem.
Another complication arising from the creation of the Business Logic Design is adaptation. Since the average developer is used to text-based coding, the visual-based coding system within OutSystems has proven to be difficult to adopt. Because this system employs such a radically new method for application development, the transition takes a longer time. Though OutSystems introduced their platform seven (7) years ago, users new to the system take a longer time to learn. Thus the barrier of entry is higher.
Therefore, when approaching the CMU MHCI team, the problems were presented as follows:
- Image “Look and Feel”
- Reviewing Service Studio icons, colors, and graphic metaphors as they relate to rational design, in order to provide a distinctive, gratifying and enjoyable visual experience.
- Layout Organization
- Maximizing the space used by the most frequent windows and zones & reducing or removing the less frequent zones whenever possible.
- Interaction Paradigm
- This area involves reviewing the developers’ interaction with the tool in order to:
- Guide new developers for the common operations
- Normalize contextual operations and paradigm
- Normalize navigation paradigm
- Reduce the number of mouse/keyboard context switches
- Reduce mouse distance and clicks
- Support power users
- Information Visibility
- Tuning the incremental disclosure approach in order to reduce the number of navigation operations in the knowledge transfer discovery processes.
The team then defined the following foci through an affinity diagramming process.
- To understand how developers use the tools & software available to support group development
- To understand how developers view & manipulate their code & how visual versions are incorporated in their process
- To understand how developers handle maintenance as part of the development cycle