Common Widgets
Popular technologies of both new and old (Java Server Faces and the Lotus Notes platforms) give an application programmer the ability to write an application using a single codebase, yet have the app "rendered" in multiple different formats (locally as rich app, HTML, etc). In the case of Lotus Notes, a single Lotus Notes application database's widgets are displayed as normal application widgets on a local system. Yet if a user opens the database with a web browser, those widgets self-render the appropriate display and logic HTML. The original application developer did not have to write any additional or duplicate HTML in order to provide this functionality.
In the same manner, the Ensemble widget set should allow for rendering in multiple formats, to allow the application to run in different diverse situations without additional coding on the programmer's part.
- Widgets should provide for numerous different renderers, whether local to the screen, or DHTML/AJAX for over the web
- Validation widget renderers should provide the appropriate AJAX logic Javascript
- The GUI rendering server should act as an AJAX server, to provide for the "server-side processing" of AJAX application requests
- System GUI theme elements should be vector / style sheet based, possibly in native CSS, so that style elements can be equally applied to the local system and remote web users.