Proof that it is possible to build a viable online-GUI-API
Software developers have been building graphics intensive Rich Desktop Applications (or “RDA”) for more than 2 and half decades on PCs and on UNIX Workstations. Millions of developers know how to build 2D/3D RDA for the traditional GUI platform, such as, Microsoft’s Windows-OS, Apple’s Mac, UNIX/X11 or Java/Swing.
Experts know that the technologies that enabled those millions of developers to build the RDA are the GUI API-frameworks supported by the respective platforms. There is no mystery that the GUI API-framework essentially comprises of two parts:
A base set of reusable GUI-Classes (e.g. Dropdown lists, Radio Buttons, Check Boxes, Menus and Buttons etc.)
A simple Process (see appendix below) to build custom reusable GUI classes, for the developers to build: (a). Custom application specific components (e.g. Airplanes for Air Traffic control or simulation applications or for war games, Wafer-maps/Bit-maps for the semiconductor applications etc.) or (b). Specialized reusable components, such as, charts, grids/spread-sheets, maps and trees by hundreds of component vendors.
The GUI components must support only two capabilities to use them to build online applications: (i). We must be able to use them in component hierarchy (e.g. to use them as subcomponents to build large components) and (ii). We must be able to integrate the components, so that, they could exchange data and collaborate with other components in the applications and with remote servers (e.g. for AJAX style real time updates).
Can you prove that you that it is possible to build online-GUI-API?
YES! Proof By Induction: Lets assume, we can create complex highly interactive online-GUI-Class, for example, a pie-chat, which has many subcomponents, which further has following characteristics:
It can be used as a subcomponent, anywhere in a long chain of component hierarchy.
It supports methods to integrate the pie chart with other components in the application, for example, to exchange data, notify events or to collaborate.
If we can create a pie-chart class, we can create GUI-classes for line chart, bar chart, Dials and Meters etc. If we can create Charts, we can create interactive characters, such as, Airplanes and Cars, for example, to build online simulations, multi-player online games or for the online GIS/GPS applications. Therefore, we can create a GUI-class for just about any component for any graphics applications.
We will demonstrate few large GUI components & component-hierarchies. Later documents in this web site explain, how one could build online GUI-Classes (also referred to as Raju’s GUI-Classes). For example, few documents provide detailed description for building reusable-GUI-Class for an Airplane and using it to build a simple application. Please inspect some sample components and component-hierarchy:
 

Caution: Please download Adobe's SVG viewer to view the SVG to verify the poof. Although, we have developed and tested the DHTML components on both Netscape and Internet Explorer 4+. They were only small sample of many test components created in year 2000 to conclusively prove the GUI Class can dynamically generate browser specific code. Since, have no plans to build API for DTHML, I haven't put any effort to port them to support newer browses such as Firefox.

Appendix: A Brief Background for the Traditional GUI Platforms

All the traditional GUI-platforms support a base set of prefabricated reusable GUI components such as Push-buttons, Radio-buttons, Pull-down lists, Menus, Scroll-bars, Text and Check boxes. Also support container components such as Canvas and Drawing areas.

Usually they (e.g. Windows or Swing GUI)  first build a primitive Graphics library to draw primitives elements such as lines, arcs, polygons, poly-lines and ellipses. Then they use a process and the library to build the prefabricated reusable GUI classes for the components (e.g. Pull-down lists and Menus). Other GUI component vendors could also use the same process and primitive Graphics library  to build certain reusable components such as Charts, Trees Dials and Scales.

Most GUI applications need custom reusable GUI Classes. For example, an Air traffic control system needs a GUI Class, which can be used to instantiate multiple GUI Objects, where each Object presents an Airplane. Likewise, a City-taxi operator could build an application that displays moving taxis on a vector based city map; or power-plant may build a GUI dashboard containing many GUI components (e.g. Dials, Sensors, Meters and Scales) to control the power plant. The developers of this kind of applications also use the same process and primitive Graphics library  for building custom reusable GUI Classes for the necessary GUI components.

However, online platforms (e.g. HTML-Browsers, XAML/Flash players) have taken different approach. They support very few components (e.g. Drop-down list or Radio-buttons) as built-in GUI components. For example, such built-in components may be included in the webpage by using respective HTML tags/instructions. In case of the HTML, there is no a primitive Graphics library (e.g. tags) and has no known process for building any other reusable GUI classes. In case of Vector Graphics, although primitive Graphics instructions/tags are available, no one else has invented or even think that it is possible to invent a process for building custom reusable GUI classes, which are comparable or better than the reusable GUI classes for the desktop platforms. Therefore Pioneer-soft invented a simple process for building the reusable GUI Classes.

Miscellaneous Documents Privacy Policy | Site Map | Services
Designed By SINDHU SYNERGY
Copy Right © 2006 Pioneer Soft, LLC. All Rights Reserved.