Articles / Learning From Kaleidoscope

Learning From Kaleidoscope

Back in the heady days of Macintosh System 7.5, Greg Landweber released Aaron, which changed the system’s windows and buttons to match the “Platinum” appearance of the upcoming MacOS 8 (codenamed “Copland” after the composer Aaron Copland). Hacked versions of Aaron quickly appeared with the MacOS 8 images replaced by images of the hacker’s creation. Landweber realized he had a cash cow and released Kaleidoscope, which could switch “schemes” on the fly.

Apple devotees had learned of a few “Appearances” slated for introduction in MacOS 8: Platinum, Gizmo, Hi-Tech, and Drawing Board (the last released only in Japan).

This may have been the birth of the idea of the “skinnable” user interface, and Kaleidoscope was an early popularizer of the idea. Skins/themes/schemes were implemented by Niji (MacOS), WinAmp and XMMS, WindowBlinds and tgtSoft’s StyleXP (win32), Enlightenment and Sawfish (X11), and scores of other programs for many different OSes. There now exists a huge theming community, with sites like

devoted to a rather broadly-defined “Theming Community”.

Kaleidoscope and Apple were at odds from the beginning, with Apple suing to have (former Apple employee and Kaleidoscope partner) Arlo Rose’s Mekong scheme removed from Kaleidoscope 2.0, then demanding that the third-party imitations of Gizmo and Hi-Tech never be allowed in the Kaleidoscope-maintained Scheme Archive.

Each release of MacOS after 7.5 had Kaleidoscope devotees breathlessly awaiting news of whether Kaleidoscope would run on the new OS, and each point release of Kaleidoscope would introduce support for some new feature of the latest MacOS. Apple’s own Appearance Manager, released with 8.5, provided essentially the same theming functionality, although the much awaited Gizmo and Hi-Tech were axed by Apple at the last minute.

Unsurprisingly, Kaleidoscope doesn’t work on the completely-redesigned OS X (Mac’s Not Unix!) window manager and widget set. But that’s not quite the end of the story. An Apple employee wrote a tool to convert Kaleidoscope Schemes to OS X Themes, and in retaliation, Kaleidoscope threatened to close its Scheme Archive. If they weren’t going to be getting any more shareware registration fees for their now-defunct product, why should they provide what could become a resource for the OS that broke it?

Apple has been searching for and requesting the removal of Aqua themes and schemes wherever it can find them, although the determined googler can still find a number of quite good Kaleidoscope, WinXP, and Sawfish Aqua-lookalikes (as well as the old contraband faithfuls, Mekong, HiTech, and Gizmo).

A number of theming tools have appeared for OS X. Conundrum Software has released Duality. Cliché Software has released as Open Source (and ceased development of) their ThemeChanger. Themer 3G is in public beta. None of these appear to provide the full flexibility and window decoration capabilities (non-square windows and fully-custom buttons and button placement) present in Kaleidoscope, Enlightenment, or Sawfish, but it’s likely that something will step up to fill Kaleidoscope’s void.

The sad results of this story are the death of Kaleidoscope, the vast number of now-useless schemes, the community that will fade into obscurity, and the huge amount of work that will ultimately be wasted. It is all too easy to chalk this up to the inexorable progress of software, but it is useful to stop and consider why this community is dying and whether it could have been avoided.

To be as generous as possible to Apple, it is much easier to design a user interface that is consistent and easy to learn if you do not allow the user to customize it. But from the point-of-view of the “power users”, that lack of customizability is probably the biggest user interface failing in the Classic (pre-OS X) MacOSes. This is a reason for Apple to wish that Kaleidoscope fade away; it threatens the consistency of their interface.

Even if you don’t buy the “consistent user interface” argument, it’s hard to fault Apple too much for perpetually breaking shareware and preventing new features from back-propagating into their old OSes. They are a company, with a brand to protect. I had Platinum on my MacOS 7.5 box. I can now have the Aqua look under Linux, my MacOS 8.1 install running in the Basilisk 68040 emulator, and win32. That’s one less reason for me to put up the dollars for a new Mac.

The real fault for this wasted work lies mostly with Kaleidoscope. The Kaleidoscope developers relied on undocumented, unsupported internals of MacOS to make it work. The continued success of Kaleidoscope relied not only on the continued existence of MacOS, but on Apple’s goodwill as a corporation towards Kaleidoscope and on their level of interest in providing the same features. This story has been repeated a hundred times with less-known Mac shareware, which suddenly finds itself obsolete or broken in the new OS.

Free Software dies too, but the good ideas and the projects that people care about can continue because the old code and the new code are there for borrowing, imitating, and porting. Developing software, even Open Source software, under a proprietary system will always run the risk that the proprietary system shuts it down. In other words, even if the Kaleidoscope source had been made available, it would still have relied on undocumented internals of proprietary code, and it would still be dead today. Hordes of Free Software and Unix geeks are switching to OS X and loving it. It’s unlikely that any of the Unix projects being ported to OS X will suffer Kaleidoscope’s ultimate fate, simply because their code is open and already runs on other operating systems. But some projects might be in for nasty surprises when new versions of OS X come out that break existing ports in deep and fundamental ways.

I’m sure people will take this in stride; it is part of the very definition of a hacker. Hacking OS X is another very respectable step in a long line of operating systems and architectures that people have been reverse-engineering, just for the hell of it, for decades. But as long as people rely on proprietary software every day, reverse-engineering it will continue to inconvenience them. When people get tired of this cycle, there are a quite a number of old faithful operating systems waiting to welcome them back.

Recent comments

20 Feb 2004 10:09 Avatar xdroop

Niche Software
Niches are not comfortable places to live in the software world. There are two over-riding dangers to long-term survivability of any niche tool:

- the tool is not useful, and is ignored (and the company dies)

- the tool is incredibly useful, and the hosting OS vendor incorporates the features (or a useful subset of your features) into the base OS for a future release, depriving the company of revenue (and so the company dies).

If you are lucky, the vendor of the hosting OS tries to buy you or your tool technology before just blowing you out of the water.

Niche tools have a definite limited product lifespan, and it is unreasonable for any company to assume otherwise.

15 Dec 2003 07:21 Avatar iaincollins

Re: The real fault for this wasted work lies mostly with Kaleidoscope
I think I came on too strongly there, and I didn't articulate myself well (it must have been a bad hair day, I apologise belatedly!).

I disagree with your analysis of the situation though. I can't see how it's possible to hold Kaleidoscope or it's authors responsible for a situation that I can only see as laying at the feet of Apple.

Whether you agree with Apple's consistant user interface policy or not, they do vocally oppose 3rd party theming of OS X though they are not overly obstructive about the process to the point of trying to prevent users from actively realasing software to do it, they have no interest in keeping consistant API's or documenting changes, making such a product very difficult to support and requiring time and effort and a new version on every major release (something which users of Kaleidoscope would no doubt tire of too).


I don't think the developers of Kaleidoscope are realistically able to continue support and development of the product given Apples stance with OS X and their strong desire to reserve management of the UI to themselves.

I'm sure that the authors would support and release Kaleidoscope (as other authors have done in migrating other shareware products to Mac OS X) if they felt it was viable, but I can see why they think it's not, and I agree with them and that this is because of decisions taken (rightly on wrongly) only by Apple.

21 Oct 2003 10:29 Avatar oosernem

Re: The real fault for this wasted work lies mostly with Kaleidoscope

> Quote:
>
> "The real fault for this wasted
> work lies mostly with
> Kaleidoscope"
>
> It is not this programs 'fault'. That's
> quite a ridiculous comment to make.
>


Perhaps I should have said "The real fault lies with Kaleidoscope, Inc.; in other words, with the decisions made by the developers of the program."

18 Oct 2003 19:30 Avatar iaincollins

The real fault for this wasted work lies mostly with Kaleidoscope
Quote:

"The real fault for this wasted work lies mostly with Kaleidoscope"

It is not this programs 'fault'. That's quite a ridiculous comment to make.

18 Oct 2003 18:02 Avatar Ullerup

Amiga beat this for skinnable interfaces

> This may have been the birth of the idea of the
> "skinnable" user interface

Although not as configurable I remember a library called MUI for the Amiga that allowed one to change the widgets slightly and use images in background of buttons and such. It predates MacOS 8 by several years.

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.