Michael speelt met Haiku en deelt zijn bevindingen (en hier en daar zijn verbazing). Op een paar punten zie ik waar die verbazing vandaan komt, en het heeft denk ik deels te maken met Hoe Dingen Destijds Waren. En dat, op zijn beurt, heeft van alles te maken met waar Haiku vandaan komt.
Dit is deels een reactie op zijn post (dus misschien is het handig om die eerst te lezen), maar vooral "oude man mijmert over vroeger" — de insteek is in ieder geval niet "you're wrong, and here's why".
De oorsprong
Het belangrijkste om in je achterhoofd te houden als je kijkt naar Haiku, is de oorsprong. Haiku is de (opensource) voortzetting van wat ooit BeOS was, ontwikkeld door Be.
De oprichtiger van Be was Jean-Louis Gassée, die daarvoor een productontwikkelende rol had binnen dat andere computerbedrijf uit dat tijdperk, Apple. Dit was in de periode van wat later het "Classic" MacOS en destijds nog "System" werd genoemd, de ontwikkeling van de Newton, en het vertrek van Steve Jobs.
Aan het eind van die wilde jaren '90 was het Gassée zelf die het veld moest ruimen, en besloot hij — net als Jobs voor hem — zijn eigen computer-toko te starten, met hardware die, net als bij Apple, in eigen beheer ontwikkeld was en op de PowerPC-architectuur draaide, en een eigen besturingssysteem dat beter gebruik zou maken van die hardware dan Apples System, dat in die tijd tegen zijn eigen grenzen aan begon te lopen.
Dat werd de BeBox, een dual-CPU (in een tijdperk waarin dat voor consumenten- en kantoorcomputers verre van gangbaar was) PowerPC-machine, waarop BeOS draaide. Later is die hardware weggevallen en werd BeOS uitgebracht voor Apple en generieke Intel-hardware.
De overeenkomsten
Ondanks dat BeOS duidelijk een stuk geschiedenis en bagage van System 7 en eerder niet hoefde mee te slepen, zijn er duidelijke overeenkomsten te zien. Althans, voor de mensen die bekend waren met System uit die periode; daar zit denk ik voor Michael ook gelijk een bron van een hoop verwondering. Dit is letterlijk van "voor zijn tijd"...
Het hele werken met zo'n systeem is redelijk bestandssysteem-geörienteerd, dat wil zeggen, je navigeert door mappen op je bestandssysteem naar programma's en instellingen. Dat komt misschien wat vreemd over als je gewend bent aan een dock of startmenu-equivalent, zoals je dat tegenwoordig in de meeste besturingssystemen tegenkomt.
Dat betekent dat je in mappen aan het navigeren bent. Dat dat makkelijk via een hiërarchisch menu kan, was al vooruitstrevend; de gebruikers die al een tijdje op de Mac werkten, kenden van voorheen nog wel de de situatie dat zo'n hiërarchisch menu helemaal niet voorhanden was, of alleen met een third party extensie. Het control panel was in de hele oude versies, tot en met System 6, een applicatie waarin je de benodigde instellingen maakte, en het enige dat je verder in je Apple-menu kwijt kon, waren "Desk Accessories", kleine programma'tjes, maar geen "grote", volledige dingen. Vanaf System 7 werden die beperkingen opgeheven en was "Control Panels" een directory met losse mini-applicaties voor instellingen, en kon je wat je maar wilde kwijt in het Apple-menu zelf.

Wat je in bovenstaand screenshot goed kunt zien, was ook iets waar Michael in Haiku tegenaan liep: de iconen lijken maar een beetje random in de vensters rond te struinen. En, inderdaad, je kunt en moet per directory instellen hoe je die weergegeven wil hebben. Daar zit (naast dat het op de hardware van die tijd niet echt te doen was om dat allemaal vloeiend mee te laten schalen en ordenen) echter wel een reden achter: de Finder (de applicatie waarmee je onder andere je bestandssysteem bestierde) maakte gebruik van "spatial orientation". Het precieze hoe en wat daarachter wordt uitgebreid uitgelegd in dit artikel van John Siracusa, maar het komt neer op "gebruikersgemak door voorspelbaarheid".
Muscle memory
De oude Finder, en tot op zekere hoogte de Tracker van BeOS/Haiku, stellen je in staat, en moedigen je een beetje aan, om vensters met iconen in te richten naar jouw smaak en workflow. Je kunt bepaalde iconen bij elkaar in een hoekje of in een leuk patroontje zetten, ze een kleurtje geven, ze op alfabet sorteren, of, hee, doe eens gek, op kleur. Het is jouw computer (zowel System als BeOS zijn single-user systemen), jij bepaalt wat je belangrijk, prettig en esthetisch verantwoord vindt.
Die instellingen werden op een Mac ook zorgvuldig bewaard. De vensters in het screenshot hierboven komen na het sluiten en weer openen van een venster exact hetzelfde terug, op dezelfde plek, met dezelfde grootte, alle iconen op dezelfde plek, de scrollbalken precies zoals ik ze had achtergelaten. Na een reboot? Zelfde verhaal, tot en met dat elk Finder-venster dat voor de reboot openstond, na de reboot ook weer geopend wordt. Dat laatste is trouwens wel te onderdrukken, wat van pas kwam als je per ongeluk een shitload vensters had geopend, iets waar de Finder én de hardware van die tijd niet echt mee uit de voeten kon...
Niet alleen dat, maar elke directory heeft altijd maar één weergave; het is onmogelijk om bijvoorbeeld het venster Control Panels een tweede keer te openen en ze naast elkaar te zetten. Waar ik ook ben, en hoe ik het venster ook open, als ik Control Panels open, krijg ik altijd exact hetzelfde venster, op dezelfde plek, met dezelfde grootte en dezelfde indeling. Als ik ergens in een hiërarchische lijstweergave de Control Panels-map open, wordt het venster met de iconen gesloten. Een mapje waarvan de inhoud ergens in een venster wordt weergegeven, ziet er ook anders uit, een gearceerde outline.
De directory is het venster, het venster is de directory. Voorspelbaar is het toverwoord. Het was één van de belangrijke redenen waarom in die tijd de Mac als veel gebruiksvriendelijker werd aangeprezen dan de alternatieven, en waarom ik in die tijd ook een enorme fan van System / MacOS was.
Tegenwoordig komt die manier van werken een beetje raar en misschien beperkend over, want elk besturingssysteem heeft dat idee — als het er ooit inzat — volledig laten varen. Als je vensters opent, heb je geluk als het toevallig op je eigen computer opent en niet bij je buurman. Dingen openen full-screen, of soms-wel-soms-niet in de buurt waar je ze de vorige keer had achtergelaten. Bestandenbrowsers (de Finder op MacOS X, Explorer op Windows, de diverse varianten onder evenveel Linux-smaken): het is niet met zekerheid te zeggen wat je voor je neus krijgt als je ze opent, of waar een bepaald icoon staat. Een venster is een mogelijke weergave van wat erin staat, maar zeker niet de enige of unieke.
De Tracker in Haiku zit er een beetje tussenin; je kunt wel meerdere vensters openen die dezelfde inhoud weergeven, maar er wordt wel een poging gedaan om de manier van weergave en de plaats van het venster consistent te houden.
Oh, dat brengt me nog op een andere uitspraak:
Sommige vensters hebben een tweede knop. De functie daarvan is me wat vaag, hij lijkt iets tussen “maximaliseer/onmaximaliseer” en “optimale grootte/vorige grootte” te doen. Misschien is voor sommige vensters “maximaal” wel gewoon de “optimale grootte”.
Dat is precies wat het is, althans, soms. Voor Tracker-vensters wordt inderdaad een venster geschaald naar "groot genoeg om de inhoud weer te geven", in andere applicaties is het een maximalisatie-knop. Op een Mac was het altijd dat eerste. Consistent.
De verschillen
Het is misschien duidelijk te merken dat BeOS en System 7 een beetje kinderen van hetzelfde tijdperk zijn, maar er zijn ook duidelijke verschillen.
BeOS was vanaf het begin bedoeld om niet alleen ondersteuning voor meerdere processoren te bieden, maar ook multithreading en betere multitasking. Meerdere filmpjes of MP3-muziekjes afpelen tegelijk, hoe zinloos misschien ook, was iets dat MacOS, zelfs op PowerPC-hardware niet kon, en BeOS op dezelfde hardware probleemloos.
De manier van met vensters omgaan is ook iets flexibeler dan System 7. En sommige applicaties boden via "replicants" een manier om een deel van hun weergave naar de desktop te trekken, iets dat veel later (in MacOS X, als ik me niet heel erg vergis) deels is overgenomen in de vorm van widgets, en dat je nu ook nog wel in KDE tegenkomt, maar... toch net even anders.
Ook had BeOS van meet af aan een filesystem met bepaalde database-trekken (waardoor allerlei metadata van bestanden kon worden opgeslagen in het filesystem, en je er makkelijk op kon zoeken). Tegenwoordig ook misschien niet meer zo spannend of nodig, schijfruimte en -snelheid om dat soort dingen te indexeren en te doorzoeken is natuurlijk met sprongen vooruit gegaan, maar voor die tijd was het behoorlijk nieuw.
Die zijkant
Een ander deel van Michaels post deed me trouwens denken aan nog een ander stukje nostalgie:
Oh ja, de taakbalk (Deskbar) staat rechtsboven. Daar vind ik wel dingen van. Ten eerste is het niet efficiënt, het neemt namelijk gewoon een ongemakkelijke rechthoekige hap weg uit je screen estate. Ik zie de toegevoegde waarde er ook niet echt van ten opzichte van een balk.
Die Deskbar neemt ook wel iets meer rollen in één keer op zich dan de menubalk in System destijds deed. Niet alleen was het je "everything launcher" (iets waar je op klikt en waar je dan hiërarchisch door dingen heen kan bladeren om het programma of document te openen waarnaar je op zoek bent), maar ook je klok, je systray (al was die naam in die tijd nog niet ingeburgerd) en je lijst van open programma's, met een menu per programma om ze direct af te sluiten of specifieke vensters naar voren te halen. De Mac had dat absoluut niet. Wel een programma-menu, rechts weggestopt, maar je moest dan eerst overschakelen, en dan kon je pas dingen met vensters gaan doen. Er was dan ook een levendige markt in shareware launchers en helpers om dat soort dingen op te vangen, waarvan sommige uiteindelijk door Apple werden opgekocht of nagemaakt, en in het OS zelf terechtkwamen.
Goed, een ander stukje nostalgie, dus, een systeem dat óók zo'n zijbalk had:

Want ja, dat was ook zo: toen Steve Jobs uit Apple was gewerkt, startte hij een nieuw bedrijf op, dat een nieuwe computer ging bouwen, met een eigen OS. In tegenstelling tot BeOS, was NeXTStep wel degelijk gebaseerd op Unix, maar dan wel met een heel eigen grafische laag, en een eigen kernel. Later is NeXT natuurlijk overgenomen door Apple, en vormde NeXTStep/OpenStep de basis voor MacOS X, maar dat is weer even een ander tijdperk.
Anyway: hap uit het scherm, permanent zichbare interface waarmee je vanalles kunt doen: check. Het zou me niet verbazen als de bouwers van BeOS er niet op zijn minst een beetje door geïnspireerd zijn geweest. Ten dele is het ook functionaliteit die in de Dock van MacOS X terecht is gekomen, en in de nog steeds te gebruiken Linux-windowmanager Window Maker, een NeXTStep/OpenStep look-alike (en deels work-alike).
En of je die verloren ruimte nou zo moet betreuren... het ís mogelijk om er vensters overheen te zetten, dus als je er echt om verlegen zit, kun je die ruimte gewoon gebruiken. De meeste andere grafische omgevingen houden wat ruimte in op de onderkant van je scherm: Windows 95 en 98 uit die tijd waren met hun taakbalk uitgerust, en het in Unix-land redelijk gangbare CDE had ook een dock-achtig ding onderin.
Nostalgie
Iets meer pielen met Haiku, en voor de gelegenheid weer eens een emulator met System 7 aanslingeren, heeft in ieder geval eens een golfje Nostalgie™ los weten te maken, en dat is ook wel weer eens leuk. Computers waren in die tijd een stuk simpeler, een stuk unieker. Ik blijf zo af en toe ook de neiging houden om mijn Linux-machine weer eens met Window Maker te starten.
Toch ben ik, ondanks het gemis aan een spatial file browser, nog steeds verknocht aan KDE. Hoe interessant ook uit historisch en misschien architectonisch oogpunt ook, Haiku is voor mij absoluut geen daily driver-materiaal. Hooguit leuk om af en toe eens in een VM op te starten, te genieten van de frisse UI... en dan weer verder met iets anders, onder Linux.
Overigens: de grafische fratsen die Michael ziet, zie ik niet. De framerate is niet super, maar het lukt me niet om met schermen te verven, of zo. De standaard-browser (WebPositive) is inderdaad vrij beperkt, je kunt beter Falkon gebruiken, die heeft een Chromium-basis en ondersteunt standaarden van deze tijd.