X
Business

You've heard of KDE (the K Desktop Environment)? How about an MDE (hint: M=Mozilla)

You've heard of KDE? Well howzabout MDE? Via Slashdot:A discussion at the mozilla.
Written by David Berlind, Inactive

You've heard of KDE? Well howzabout MDE? Via Slashdot:

A discussion at the mozilla.dev.planning list has given the birth to the idea of a Mozilla Desktop Environment.....Mozilla has to expand some of the applications for this to work, though, like adding local file management with Firefox.

I'm a total beliver in the idea of a BBDE (browser-based desktop environment) and I think the slashdot entry hits the nail precisely on the head; the most difficult cat to skin in making a BBDE a reality is the persistence mechanism.  I'd also add to that the notion of mobility. True viability of any BBDE will depend on its ability to survive the rigors of mobile use. Translated, you have to be able to keep your data (and applications) on something like a USB-key and your data and apps have to be accessible as though you are online, even though you may be off-line. 

I don't think the challenge is as difficult as it sounds. Some of the basic framework for persistence is already there given the plug-in architectures that are typical of browers. You'd want to use a plug-in because that's the easiest way to extend the existing installed-base (read, backwards compatibility, or, "adding persistence capabilities to existing browers").  The right plug-in could handle persistence while keeping the architecture relatively operating system-independent (should we care if its Windows, OS X, or Linux?).

The question is, which plug-in? One that's already out there or a new one? If working with the installed-base and rapid adoption are important, then perhaps the only answer is an existing plug-in that, though not designed to be a filesystem, could emulate one. As I've written before, the top contenders are Adobe's Flash and Sun's Java Standard Edition with the latter probably being more suited to the task given its innate capability to support structured data through pure Java applets like Apache Derby (which could easily emulate a simple filesystem). Why do both make sense for backwards compatibility? Well, the plug-ins to support both (the Flash plug-in and the JSE plug-in respectively) are already found on a lot of systems.

On the other hand, if the people behind such an initiative are willing to start build adoption from zero, they could come up with something new. It could take longer. It could work. My sense is that going with a more pervasive and tested "infrastructure" (like the Java plug-in) makes more sense and I still believe JavaDB to be the key. Over beers at last year's JavaOne, after seeing Sun's Francois Orsini demonstrate how a tax application might work on JavaDB, Sun's version of Derby,  (here's the follow-up) on such an architecture, the light-bulb really went off.

For starters, my feeling is that for the tax app demo to really rock (a.k.a. attract attention), it needs to be a blogging demo. In other words, the browser should be able to launch HTML-based Wordpress, TypePad, or Blogger authoring forms whether the system is connected to the Web or not. And, the SAVE, PUBLISH and other submit buttons on those forms work too, whether on the Web or not (in other words, to a USB-key or something like it). Then, when the connectivity state changes to ON, however JavaDB is keeping the blog data on the portable memory doesn't matter. A bit of synchronizing code drives that data into the blogging service through whatever API makes sense, much the same way today's OS-specific offline blog-authoring tools will sometimes work with the MetaWeblog API.

If bloggers got a hold of something like this and it work, it would be unstoppable. 

So fundamentally, to make this all work, you have something like JavaDB that can simultaneously mimic the schemas used by the various online applications you might use. For example, maybe you use Google Docs, Wordpress, and Salesforce.com. And then there's a bit of code -- call it a driver (as in a Wordpress driver, or a Salesforce driver) -- that keeps the local virtual stores and the online stores for your favorite apps in synch. In other words, it's not application (eg: tax application) specific.  One plug-in can serve multiple online online apps. Someone just has to do the work.

Over beers at last year's JavaOne, I shared this JavaDB-driven idea with a few people one of them being Redmonk's James Governor who blurted out "the synchronized Web." The term has since stuck ever since. So strongly do I feel about this that it's one of the top three projects I would personally undertake given the time and the resources to do it. 

So, to hear that an MDE is under consideration and how some thought is being given to the filesystem issue (databases have been filesystems before... think IBM's 360 and the AS/400) is very cool.  

Editorial standards