Over the last week or so I’ve been heads down and hip deep in OmniBrowser.

With a little prodding from Avi Bryant and Lukas Renggli we have decided to base the tools for the Web Edition (pdf) on OmniBrowser. OmniBrowser is a meta-driven framework for building extensible Smalltalk tools. OmniBrowser is UI-neutral which is an advantage for GemStone/S since we have no native UI.

Using OmniBrowser we will define a set of tools that run within a GemStone/S server (sans UI). With the tool state and logic managed on the server the client tool UI can be very light-weight – doing little more than managing lists of strings, buttons and text windows. The overhead for maintaining multiple tool clients will be significantly reduced. Since the bulk of the heavy lifting is done by the server, most bugfixes/changes will be isolated to server code and not propogated to a multitude of clients.

In a client Smalltalk (VW, VA, or Squeak) we will build light-weight tool UIs that communicate to the server using GemStone/S GCI. Our first UI will be Squeak-based.

If we include an application server (like Seaside:) in the mix, it is easy to imagine the creation of web-based tools or even tools using windows-native or mac-native UIs. This could get very interesting.

The only real disadvantage to this approach is that we are spending more time getting the initial tool suite built, however, I think it will be worth the wait.