Not too long ago, a developer had a conversation with a colleague over the issue of running small “mini-applications” (let’s call them “widgets,” for lack of a better term.)
(He said) “You’d want tiny apps that were good at a specific, limited function that complements the main application. Like a little calculator, for example, that looked like a real calculator. Or maybe an alarm clock, or a notepad for jotting down text. Since the entire screen is supposed to be a metaphorical desktop, the little programs are desk ornaments, adorning the desktop with useful features.”
“But where do we draw the line?” I asked. “What are the differences between an ornament and a real application?”
“Well, ornaments have to fit into the world of the main application”, Bud responded, “but not the other way around. The main application owns the menu bar, for example, but maybe the ornaments can have a menu when they’re active. The main application would still run its event loop, but it would occasionally pass events to the little guys. And of course you can cut and paste between them.”
The conversation, of course, took place among two members of the team that eventually turned the idea into Konfabulator.
Oh, wait — that’s not right. It was two Apple developers discussing their plans for Tiger’s new Dashboard feature.
Oops — only half-right.
The author of the above exchange is Andy Hertzfeld and the colleague he was speaking to is Bud Tribble. Together, the two developed this widget idea into Desk Accessories in Apple’s System 6, 22 years ago, in 1982 — predating the release of the Macintosh itself.
The idea for widget-like functionality, then, is clearly not new. So what sets Konfabulator apart from Desk Accessories? A big part of the difference is in their appearance. As John Gruber notes in his excellent essay, the goal of Konfabulator’s widgets was that they look “right at home” in Mac OS X. Why, then, is it surprising that Dashboard’s utilities — built by Apple — look similar? Remember, it was Konfabulator that was mimicking Apple’s look in the first place.
This part of the argument is reminiscent of Proteron’s cries of foul when Apple included tab-switching in Panther. Proteron didn’t invent the idea of tab-switching; they got it from Windows. And Proteron’ LiteSwitch was designed to look like it was part of the Mac operating system. Yet there was still an outcry when Apple’s tab-switcher had a similar look — but how could it not? It was part of the operating system.
Konfabulator runs Javascript. Dashboard runs full HTML, along with Javascript, Cascading Style Sheets and more. This is nothing new, either — Apple’s Help application has run HTML pages for some time. Apple’s Dashboard takes advantage of Safari’s web engine and other system-level resources like Cocoa. Konfabulator is a stand-alone program.
So the similarity, it seems, is that both Konfabulator and Dashboard run small applications that have limited or targeted functionality. But that’s a definition that could be just as legitimately used for the original Desk Accessories.
Since John Gruber “beat us to the punch” with his comparison (most of which we wholeheartedly agree with), we’ll point you there for the rest of the arguments, including some important tidbits on the similar Watson vs. Sherlock controversy that got lost amidst the cries of theft.
Some charge that if a third-party developer comes up with a solution not currently available on the platform, Apple should stay out of their way. To address that, we look to Gruber again, who (referring to the Proteron LiteSwitch brouhaha) wrote “? when a utility is designed to compensate for a hole in Mac OS X, the developer should not expect the hole to remain unfilled by Apple forever.”