IP6: Advanced Navigation Support for the Kolibri WebUI Toolkit
Abstract
This project aims to research and demonstrate the process of building a navigation system for single-page applications that follow the model-view-controller architecture and employ the projector pattern for the view component.
This project's research component focuses on abstracting the navigation and page API in JavaScript, exploring historical navigation systems, examining modern navigations that meet current standards, and analyzing how modern frameworks have implemented them.
The implementation component of this project explores the best approaches to building a navigation system for single-page applications. The experiments include designing rich presentation models, creating different navigation hierarchies, and determining the most effective ways to display them. The project resulted in a a stable API that Kolibri developers can utilize to create new single-page applications. Additionally, the navigation suite contains a custom debugger that simplifies understanding presentational state and model values in Kolibri.
Developers will find a rich collection of ready-to-use projectors that contain hierarchical, relational and multi-dimensional navigation structures. All examples follow the Kolibri design guide. The examples were validated with end-users and developers to ensure usability and reproducibility.
This project produced a showcase prototype with all navigation projectors stacked into one view. The showcase projector is available here.
The second prototype is a revamped version of the Kolibri website.
Acknowledgment
We would like to sincerely thank our lecturers, project clients, and experts, Prof. Dierk Koenig and Fabian Affolter. Without their regular feedback and exciting suggestions, this project would not have come about to the same extent, especially not in the same quality. Many thanks!
Last updated