More of my sites

WinInfo Daily News
SuperSite for Windows
Windows IT Pro Magazine
Connected Home
Thurrott Dot Com
Windows Weekly at TWIT


About this site

For six years, the Internet Nexus served as my technology blog, but I've since started blogging at the SuperSite Blog instead. If you're looking for the blog, please head there. --Paul



Thursday, July 01, 2004

Derivative, not innovative: Apple's Dashboard is a Konfabulator rip-off

As Apple CEO Steve Jobs announced a new Mac OS X 10.4 "Tiger" feature called Dashboard during his WWDC keynote last week, you could almost imagine the two individuals who developed the highly successful Konfabulator product seeing their life's work ebb away. What's most amazing is not that Apple completely ripped off their idea--heck, it wouldn't be an OS X release without Apple ripping off yet another small shareware developer--it's the speed at which Apple apologists raced to defend the company they do desperately love and explain that, hey, Apple would never hurt anyone.

Well, they're wrong.

The apologists are pointing to an ancient Mac OS feature called desk accessories to prove that Apple is not, in fact, ripping off Konfabulator. According to Inside Macintosh Volume 1, desk accessories were "mini-applications that can be run at the same time as a [full] Macintosh application" (page I-437). There were a number of standard desk accessories, including a calculator, an alarm clock, and a puzzle game. You accessed desk accessories by choosing them from the Apple menu; when you chose one, that window became the active window. "A desk accessory is usually a special type of device driver--special in that it may have its own windows and menus for interacting with the user," Inside Macintosh reads (page I-438). "You must create [a desk accessory] as a device driver and include it in the system resource file ... Device drivers are usually written in assembly language."



Why desk accessories?

The original Macintosh OS offered no true multitasking features, so you could only run one application at a time. Desk accessories offered a limited way around this limitation, giving users access to handy little helper-applications, or applets, which could provide specific functionality and run concurrently with the current "true" application. Most, like the calculator and notepad, were useful. Others were frivolous or fun. Hey, it was the early 80's.

However, desk accessories survived all the way through Mac OS 9, the last version of the "Classic" Mac OS. As "Mac OS 9 for Dummies" notes, however, "most desk accessories are pretty lame and you probably won't use them very often. You can rearrange your Apple menu so that desk accessories don't take up so much space." By OS 9, typical desk accessories included Calculator, Chooser, Key Caps, and ScrapBook. But OS 9, like the previous few Classic Mac OS releases, had rudimentary multitasking capabilities, lessening the need for desk accessories.

On Windows, Mac OS X, and other modern operating systems, the functionality of Classic Mac OS desk accessories is provided by true applications, because those systems utilize sophisticated multitasking and memory management features that were missing in early versions of the Mac OS. Indeed, Mac OS X itself features a laundry list of true applications that reads like rundown of previous generation desk accessories: Address Book, Calculator, Chess, Font Book, Stickies, and TextEdit, for example. None of these applications are implemented as desk accessories. Why would they be?

Meanwhile, two independent Mac developers, the folks who brought us the amazing Kaleidoscope skinning engine for Classic Mac OS, developed a cool little application that "use XML to structure images, and a scriptable language, like Perl, in such a way that someone who knew the basics of Perl could put together cool little mini-applications. The goal was that these mini-applications would just sit around on your desktop looking pretty, while providing useful feedback."

This application, called Konfabulator, answers a question that plagues all modern operating systems: Even though full applications provide excellent functionality, sometimes those applications, or the underlying system, needs to provide notifications to the user. These notifications could be about instant messaging contacts coming online, new email alerts, weather updates, or any other related functionality. In the past, applications would have to figure out how to send users these alerts, so Microsoft has undertaken a wide-reaching project to centralize notifications and alerts in Longhorn, its next-generation Windows release, through the OS (read more here). That way, users will have a consistent experience. But this issue isn't unique to Windows: All OSes have this problem.

On Mac OS X, there is no such consistent interface. So the developers of Konfabulator came up with a cool idea: Provide an extensible platform, on Mac OS X, for providing on-screen alerts to users. "The possibilities for something like this could potentially be limitless," the authors of Konfabulator write on their Web site. Collaborating, they settled on a JavaScript engine, because it would be easier for people to use, and a graphical front-end that would be visually appealing and easy for graphics creators to create.

At the World Wide Developer Conference (WWDC) 2004 in June 2004, Apple CEO Steve Jobs introduced Dashboard, "a semi-transparent layer that zooms across your Desktop with a single button click, similar to the way Exposé works ... The Dashboard is home to a new kind of application called Widgets. Widgets are mini-applications written in JavaScript that are designed for fun as well as function." The Konfabulator developers, rightly, thought this sounded a bit familiar. And they're right: Apple is ripping them off.

So let's compare the three technologies, shall we?

Desk accessories
Created by: Apple Computer
When: 1983
Purpose: Provide helper applications that can run concurrently with true applications in the single-tasking original Mac OS release.
Development style: Low level assembly language using a device driver model.
Example desk accessories: Alarm Clock, Calculator, Puzzle

Konfabulator
Created by: Arlo Rose and Perry Clarke
When: 2002
Purpose: Provide users with visual widgets that display status, alert, and notification information, usually from a back-end data source, Web service, or application.
General development style: Javascript engine driving UI elements called Widgets.
Example Konfabulator Widgets: Analog Clock, Battery power meter, Calendar, iTunes Remote, Weather Alert.

Dashboard
Created by: Apple Computer
When: 2004
Purpose: Provide users with visual widgets that display status, alert, and notification information, usually from a back-end data source, Web service, or application.
General development style: Javascript/Webkit engine driving UI elements called Widgets.
Example Dashboard Widgets: Analog [World] Clock, Calendar [Datebook], iTunes Remote [Controller], Stickies.

Time for a recap. Yes, all three solutions provide mini-applications but the similarities end there (using that logical, MS-DOS and Mac OS X are identical because both are operating systems). But only Konfabulator and Dashboard use a high-level Javascript programming interface. Only Konfabulator and Dashboard use UI elements called Widgets. Only Konfabulator and Dashboard are designed to "keep you up to date with timely information from the Internet such as stock quotes," as Apple puts it. In other words, only Konfabulator and Dashboard are the same animal. They are the same solution, implemented in only slightly different ways. And one can expect Dashboard 2 to simply make up any lost ground and completely overtake Konfabulator; it's the Apple way.

In short, Dashboard is a Konfabulator rip-off. To my mind, however, that's not the biggest problem with this situation. The bigger issues are that it would have cost Apple so little to make the Konfabulator guys happy and give them credit where it was due, and that Apple boasts so loudly about how it invented this feature and is innovative as a result. Well, Apple is certainly an innovative company. But in this case, they have crossed the line and have blatantly copied a great idea, even if they did implement it in a slightly different fashion. And anyone who argues otherwise is being partisan, and not intelligent.

More to the point, no one can argue that Konfabulator was "plugging a hole in the OS," charges aimed at previous developers who complained when Apple ripped them off. For example, the original few versions of Mac OS X didn't include a good way to switch between applications using the now-standard ALT+TAB (or, Apple+TAB on a Mac keyboard) keystroke. So an enterprising third party came up with LiteSwitch, a product for which I paid. Apple ripped them off, and the apologizing began: But surely Apple had the right, the absolute right, to enhance its OS. After all, not using a proper ALT+TAB is a missing feature, right? Hey, whatever. The problem was the Panther's ALT+TAB solution was almost visually identical to LiteSwitch. It was a rip-off. Ditto for Apple's Sherlock 3, which stole Watson's functionality: No one can logically argue that searching for movie times through a Web service should be an OS feature. But they do. Of course they do.

Dashboard is a Konfabulator rip-off. Obviously.
[ Posted at 12:50 PM | Permalink ]

 



Nexus Home | Nexus Archives | Email Paul
Copyright © 2001-2008 Paul Thurrott. All Rights Reserved.