InterUnit-UI is a new approach to designing app-UIs,
that represents the UI as a temporal (not spatial) concept.
A user-interface is a sequence of temporal "interface-units" called InterUnits,
only one of which is operational at any given time.
An InterUnit is defined as the smallest possible unit of the interface.
- Each InterUnit presents an interface behaviour to service a specific user-goal.
- It has full access to the screen and all user-input peripherals.
- InterUnits can be independently optimised for ergonomic-efficiency.
- A special InterUnit called the EngagementManager interfaces with the underlying OS's display-output and peripheral-input services.
1) It serves as a front-end control for all other InterUnits, in that,
they can access all user-interface peripherals via the EngagementManager.
2) It loads and unloads InterUnits upon request
3) It maintains some history of app usage which reduces the number of things the user has to remember, while using an InterUnit-UI app.
Minimal InterUnit design conventions
- The keyboard's Arrows are always used for vertical and horizontal navigation.
- The ESCAPE key always exits the current InterUnit by popping it off the InterUnit-Stack.
If the current InterUnit is the EngagementManager, the app exits.
On a touchscreen UI, a designated ESCAPE button is used instead.
Easy to optimize the UI for use-ability
Since the user interacts with a single InterUnit at a time,
each InterUnit can be optimised for use-ability independently.
This makes the development of any InterUnit a lot simpler,
since the initial code can be refined over time.
Simple developer access to the toolkit
The toolkit is always provided as source code,
which the developer may modify.
It also includes source-code for a CodeEditor InterUnit.