InterUnit-UI is a PC-UI design paradigm that asks the question "what does the user want to do right now".
It is an alternative to the commonly used paradigm, which asks the question "what do you need to build an app-UI?". Windows, icons, menus, and pointers or touchscreens.
A user-interface sequence of interface-units called InterUnits.
Each InterUnit presents an interface behaviour to service a specific user-goal,
and exists only during the course of this interaction.
During its existence, it has full control over the screen and all user-input peripherals.
Different InterUnits run the UI at different times, depending on what the user wants to do at that time.
Each InterUnit can be independently optimised for ergonomic-efficiency, on a per-device basis. i.e. The same InterUnit (which is associated with a unit user-function) can be implemented differently on different devices.
A special InterUnit called the EngagementManager interfaces with the underlying OS's UI framework.
It can draw using a graphics library and receives all user-input events.
The EngagementManager serves as a front-end control for all other InterUnits.
It loads and unloads other InterUnits and gives them UI control.
It also maintains some history of app usage.
An InterUnit is always designed in C++.
Every InterUnit is a C++ struct called SInterUnit.
This struct is loaded with function-pointers for its based functionality, such as a drawing to the screen and responding to user-input events.
A specific InterUnit implements an IUProtocol, which contains functions specific to the behaviour of that InterUnit.
The SDK provides some base IUProtocols for a Hex-Lattice and a Hex-Grid. An IUProtocol can be derived from either of these base IUProtocols for lattice-based screen-layout or grid-based fine-grained graphics.
A SourceEditor IUProtocol for editing the source-code of a C++ InterUnit is also provided with the SDK.
An EngagementManager IUProtocol for loading and unloading InterUnits and interfacing with a device-specific UI-framework is also provided.
An InterUnit is associated with a unit user-function and differs from other InterUnits based on this association.
Hence, each InterUnit can be optimised for use-ability independently and on a per-device basis.
This makes the development of any InterUnit a lot simpler since the initial code can be refined over time.
InterUnit-UI provides guidelines for improving the ergonomic-efficiency of PC-apps.
Khitchdee Design is applying for copyright and intellectual property protection for InterUnit-UI technology.
Our intellectual property attorneys are Mendelsohn Dunleavy, PC.
We license the Ergonomix developer-tool to developers, development teams, universities and large organisations and we license the InterUnit-UI SDK to PC OEMs.
Ergonomix will be available free for non-commercial use.
An individual developer may license Ergonomix for $50 / year (TBD)
A small development team (<10 people) may also license Ergonomix for $500 (TBD).
A single team license may be used by all members of a team.
Larger organisations and universities can license Ergonomix at negotiated annual rates.
OEMs may license the InterUnit-UI SDK to develop UI front-ends for an PC or mobile OS.
These licenses are negotiated and on a per seat basis.