The DigiGroups Widget Toolkit &

Browser-centric Web Application

 

What:

In late 2000, the DigiGroups Corporation chose to build the next generation of their groupware application on a browser-centric architecture.  I was a member at that time of a DigiGroups engineering team charged with developing the GUI widgets for this next generation application.  In that capacity, I built many of the foundation widgets for the application.

 

Architecture:

This application used a comprehensive JavaScript container on the browser, including a transparent communications API, to run business logic that manipulated the screen display through a widget toolkit.  It has an extremely rich GUI powered by well-abstracted, fast JavaScript widget objects.  Although architected to run on Netscape 4.x, and to run with official web standards where special cases were not necessary, the deployment ran solely on Internet Explorer 5.0 and above.  At that time, IE 5.0+ were the only browsers capable of handling the task of managing a truly desktop app-like GUI. 

 

Nature of the GUI Toolkit:

In contrast to the GUI toolkit of the DynaSurv API, the DigiGroups GUI rivaled a desktop application in its richness and attention to detail.  Therefore only Internet Explorer 5.0 and above could handle the task. 

 

Screenshot:  

 

 

 

The screenshot above depicts:

 

Tabbing Widget (center) (displaying itself in two formats: Column Sorter Tab format and Tabbed Window format)

Select List Widget (mid-top-center)

Scroller Widget (Center with the blue highlighted element)

Panel Widget (left, right)

Image Widget (dialogue balloons, etc.)

Hyperlink Widget (First, 'Prev', etc.)

Text Widget (All text: 'digiGroups', discussion text, etc.) 

Button Widget (top and bottom, displaying itself in various formats).

 

Graphics were provided by others and controlled by widget logic.  Everything you see in the screenshot above was dynamically generated on the client.  Nothing was drawn by HTML sent by the server.  Rather the widgets on the client generated the HTML themselves and integrated the data into the presentation themselves, under direction from the JavaScript controller object (also living on the browser).

 

Other Projects At DigiGroups:

At DigiGroups, I also provided analyses of the JavaScript interpreter’s performance for architectural considerations, created and administrated a complete JavaScript coding standard, built complete testing harnesses for the widgets so that they were a rock-solid foundation for the rest of the application, evaluated quality assurance testing tools, and provided help with regular expressions run on the client and used for the task of packing data for the communications API. 

 

Summary:

Working at DigiGroups with an excellent team, all necessary resources, and management committed to innovation enabled me to explore and understand this new and superior way to build web-standards-based software applications.