Project

General

Profile

Actions

notes

Background

When programming you ca take multiple approaches to create an application.
Something simple as Visual Basic was not only a programming language but also had an IDE (Integrated Development Environment) which encouraged you to take a top down approach:
You start a Window and add widgets (buttons, labels, datagrid, etc). These have properties describing their look and feel, but also their behavior. An other thing it supports is events: what happens/should happen when you hover over the widget, press a button, etc.
This is a very different approach compared to programming from specification or basing your code on a given database(design) or an API. Yet not fully exclusive.

When creating applications for office use or utilities the User Interface/Experience (UX) can be quite simple. Games or other applications with a lot of creativity (multimedia) can be very different.
Think like Markup Languages for text, but now for an entire GUI.

Day dreaming

Code structure

What if the UX would be generated instead of programmed. Preferably in such a way that there is code separation:
the UI (GUI/TUI) can be recreated any time without impact on manually crafted code.
To do so code has to be in separate but linked/included files. This leads to UI-code, event handling, code called by the event-handler which can be hand crafted.

Independence of environment

Normally an application is developed for a certain environment (mobile or desktop, Windows or an other OS. etc) so you know upfront which widgets are available, what the resolution of the display will be minimally etc.
How throw this all overboard and either define a minimum and/or maximum resolution or a desired/intended resolution AND what to do if specifications are not met: alternatives (which might also have alternatives or could fail) or fail in error so the UI-code will not be generated.
Or even go wild and have no restrictions. This would require a rule based definition on about all screens, windows, resolutions, OSes, Widget Toolkits (such as Windows or Qt5 or Java SWT), or (the placing of) widgets themselves and their properties such as color.

Location, location, location

Relative, optional, alternative, fixed
Al this for widgets to a screen position or related to an other widget. And what to do if it cannot be done?

Fantasy

All this, but generated on the fly when needed.

Research

I cannot be the first with this idea. So what is available or why have incentives failed in the past?

Industry

Academia

Desired tools to be delivered

  • validator
  • visual designer
  • emulator
  • code generator
  • rule/event validator/tester
  • event simulator
  • documentation generator

Updated by Redmine Admin over 1 year ago ยท 7 revisions