Thursday, January 23, 2003
No, I don't mean the current fad of transparent windows as you would find in MacOS X or WinXP (transparent windows and menus are a good thing if used in the correct context, check out [this paper] for a good study of that). Transparency as in integration
At one time, this was something that Apple was very good at. When Apple introduced a new API, such as QuickTime or QuickDraw3D, pretty much every existing application could take advantage of it since it was well integrated with the operating system. You could cut, copy, and paste video in most applications, for instance. QuickDraw3D was significant because it was the first- and probably only- 3D api that brought 3D to the whole desktop. You could work with 3D media in pretty much any application without any special training or software.
[OpenDoc] would have taken this a step further. [OpenDoc] was an implementation of "component software", which is a tough concept to explain. The existing model of documents and the applications that view or edit them was thrown away- documents essentially were applications with OpenDoc. For instance, inside a word processing document you would not embed a link that when clicked would launch your web browser, in OpenDoc the word processing document would contain a view of the live web page that was rendered with a web browser component. You can see a simple example [here]. So you could have an image in whatever document you were working on, and the Photoshop component would let you edit it, or the QuickTime component would let you view it, etc.
This, of course, never caught on, for reasons I won't get into. Today you have to worry about what application opens what, you have to use 3 or 4 different applications to build even a trivial web page (something to edit HTML, something to work with images, something to upload everything, a browser to view it all...), etc. Whatever happened to the idea of seamlessly bringing everything together? Why can't Excel have it's cell values filled in by an XML-RPC or SOAP call to a remote server? Why do we still have web browsers?
Maybe today we are ripe for the comeback of component software. With XML, Java, and other object oriented languages and APIs, it's easier than ever to implement a component model like OpenDoc. Why not have an XML file that embeds references to components much as HTML does?
[ 1/23/2003 04:56:00 PM ] [