From Electron Cloud
Jump to: navigation, search


A portable, extremely high-level GUI abstraction layer for Scheme, with multiple implementations.

The intention is to build something like NeWS or Display Postscript, using Scheme as the core language rather than Postscript. The user interface will be described as generically and tersely as possible, making way for a liberal variety of possible implementations, all the way from button/LED constructs to ncurses to HTML/AJAX to 2D windowing systems to cell phone UIs to 3D OpenGL. That is to say, some simple applications may be able to run on most of those platforms. It doesn't make sense to run a CAD program on a cell phone, but you could perhaps use the cell phone's touchscreen display for the CAD program's palette, to augment its primary interface on another screen. And on each of them, the implementation will be smart enough to match the UI design to the device's capabilities, as well as providing a great depth of customization options so that the user can specify how the abstract UI elements will be rendered into actual "widgets". So the abstract UI elements can be called "metawidgets" since they describe what a UI will do rather than how it will look.

See some disorganized notes on SourceForge for more details. The design is expected to keep evolving for another couple years before it will become generically useful.

I had this idea beginning in about 1998. The oldest written notes I have are here and here.