Archive: July 2nd, 2004

Dashboard confessional

One of the most contentious of the new Tiger technologies announced at Apple’s Developer Conference is Dashboard.

Most of the contention stems from its striking visual similarity to Konfabulator. My first reaction was that it was a direct rip-off but I wanted to wait for the dust to settle instead of voicing a knee-jerk reaction. I’m glad I waited. John Gruber explains in great detail that, despite the superficial similarities, Dashboard and Konfabulator are very different under the hood.

That’s where the next bone of contention arises: just what is Dashboard?

My first reaction to Dashboard was that it sounds like XAML: Web Apps that sit on the desktop. Redmond, we have a problem indeed.

In fact, Dashboard is more XUL-like than it is XAML-like. It’s going to use existing standards (CSS, the DOM, etc.) instead of creating its own proprietary format.

Dave Hyatt sees Dashboard as being more like:

"a collection of HTML sidebar panels liberated from the browser window and placed anywhere on your screen."

Todd Dominey initially thought Dashboard smellt like ActiveX although, after some clarification from Mr. Hyatt, that fear has been mostly allayed.

The simple answer is that Dashboard is a framework for viewing web pages. These pages use XHTML, CSS (including CSS3!) and JavaScript. But it’s not a browser.

So we’ve basically got mini web apps that sit on the desktop instead of the browser and that are wrapped in an Exposè-like container. It all sounds very cool but I do have some niggling doubts…

I think one problem is being swapped for another. Instead of worrying about browser compatibility, we’ll have desktop incompatibility.

Let’s say you want to write a little app that sits on the desktop and pulls back some data from a website in order to present in an attractive little widget. You can write it in XAML for Longhorn or Dashboard for OS X. But if you to write your application once and still have it work on both operating systems, your only choice is to take the app off the desktop and put it back in the browser.

It’s interesting to see how Apple and Microsoft have approached the same issue from different directions.

Apple have created a framework for web apps to sit on the desktop (although they work equally well, but without the eye-candy, inside the browser).

Microsoft, by all accounts, plan to kill the browser entirely. Certainly, they plan to merge the desktop and the browser into the same XAML-based environment.

Apple have an advantage in basing the Dashboard technology on existing standards. I believe that most developers will first and foremost make web applications to work in the browser. These may then get ported to desktop frameworks. Porting those apps to Dashboard will be very straightforward indeed. Porting them to XAML will involving re-writing all the XHTML, CSS and JavaScript.

Microsoft, however, can counter that with an advantage of their own: sheer force of numbers.

I really, really wish Microsoft would go down the standards-route with XAML. Then, we developers could concentrate on writing our apps using the standards and be assured that they will work on any platform. The platform makers, meanwhile, could concentrate on outdoing each other by coming up with the slickest interfaces and the smoothest execution.

In the meantime, the only environment that comes even close to that utopian ideal is the browser.