ERGONOMIX

a UI-design tool based on InterUnit-UI (not WIMP)

with auto-complete, advanced code-navigation, and the InterUnit-UI SDK.


Summary

InterUnit-UI (a WIMP alternative), defines a UI as a sequence of temporal interface-units (InterUnits).
These InterUnits are managed by a user-engagement-manager,
a device-specific app, that loads and unloads InterUnits
and maintains some memory of the user-engagement.

Ergonomix is a development tool for developing InterUnits or EngagementManagers in C++,
using the InterUnit-UI SDK.
It's CodeEditor is similarly advanced as the code-editors in Xcode, VisualStudio and CLion,
and it includes advanced code-navigation techniques specially designed for InterUnit-UI based designs.
Developers who have used existing C++ code-editors will find it easy to switch.

Competitors

UI-development tools based on WIMP-UI are all mature and widely used.
Each of the tools listed targets a UI-design framework based on WIMP-UI.

VisualStudio


Platform: Windows.
Targets .NET or Win32, both WIMP-UI based frameworks
Produced by Microsoft.

Xcode


Platform: MacOS.
Targets Cocoa, a WIMP-UI based framework
Produced by Apple.

CLion


Platform: Linux.
Targets GTK-4, a WIMP-UI based framework
Produced by JetBrains.

Differentiating app-features

  1. Simplicity for the developer.
    Ergonomix is far easier to design UIs with because it is based on InterUnit-UI
    instead of WIMP-UI.
    There are only 2 simple SDK constructs and code-navigation is very simple.
  2. Easy to target UI ergonomic-efficiency.
    An InterUnit can be initially created and then iteratively refined to target and improve usage ergonomics.
    This can be done independent of other InterUnits or the hosting EngagementManager.
    In addition, Ergonomix includes a few specially designed components both to help improve UI ergonomics
    and simplify app-development, such as:
    1) A hexagonal-lattice based screen-layout component,
    enables screen-layout on a hexagonal and not cartesian lattice.
    2) Data-representation and parsing components for a full-featured C++ parser.
    These can be used as a basis to design InterUnits for editing any kind of data.
    3) A component for representing a (2D or 3D) hex-grid and
    utilities for manipulating hex-coordinates.
    These are very useful in the design of InterUnits for CAD or scientific visualisation.
  3. Better code-reuse.
    It provides access to an InterUnit marketplace,
    where developers can buy or sell InterUnits,
    much like an app store, but only for developers (not end-users). Each InterUnit is written and optimised independently.
    Once its usability has been verified, it can be re-used as a unit.
    In WIMP-UI, reuse uccurs at the interactive-screen-widget level.
    Most commonly, a WIMP-based framework producer produces a library of such widgets
    and developers reuse them. This not reuse at a user-function level but a UI-function level.

Targeted devices

Linux

On Linux based devices, such as:
1) Ubuntu based desktops,
2) Linux on ARM based Android smartphones or laptops
3) Raspberry Pi based laptop like systems
Ergonomix will be a full-fledged IDE, similar to CLion.
It can be used to develop Linux InterUnits, Linux apps, or a Linux front-end DesktopEnvironment and WindowManager.

MacOS and Windows

On MacOS and Windows, Ergonomix will be only a CodeEditor.
On these platforms, Ergonomix will be used in conjunction with Xcode or VisualStudio (compile, link, debug).
We could make it a standalone IDE, later, using Clang and LLDB.

Product Timeline

We are currently developing the code for Ergonomix.
We plan to announce a demo-date soon.

Licensing

Khitchdee Design plans to license Ergonomix to individual developers or developer teams.


Existing Code-editors for WIMP-UI development using C++

  1. CLion by Jetbrains () $300 annual subscription.
  2. Xcode by Apple (). Free
  3. VisualStudio by Microsoft () $1200 annual subscription.

Showcase Apps

A CAD tool -- The Specifier (), is being built using Ergonomix (by Khitchdee Design).