14 jan. 2021
Mijn eigen tablet OS vaarwel zeggen
Waarom ik terug ben gegaan naar iPad en Mac
Het afgelopen jaar heb ik geëxperimenteerd met het creëren van mijn eigen tablet besturingssysteem met Debian GNU/Linux en de i3 window manager op een Microsoft Surface Go 2 met LTE. Na maanden intensief gebruik heb ik nu besloten om het experiment te staken en terug te keren naar iPad Pro en de Mac. Lees verder om erachter te komen waarom.
Het bouwen van "WillemOS" met Debian GNU/Linux op een Microsoft Surface
Nadat ik helemaal klaar was met de zoveelste bug in Apple Photos, begon ik serieus na te denken over het verlaten van het Apple ecosysteem. Ik dacht dat ik het beter kon. Hoe moeilijk kon het zijn om je eigen OS te maken.., toch?

Het blijkt dat je best veel kunt bereiken, als je wat vrije tijd en een hoop toewijding hebt. Het is verbazingwekkend wat je kunt leren als je gewoon dingen probeert. Het heeft de afgelopen maanden geleid tot een aantal interessante berichten en bevindingen:
- Making my own tablet OS
- Free from iCloud escape Apple Photos
- Syncing files seamlessly between tablets and smartphones
- En tenslotte: Refining my tablet OS

Maar toen gebeurde er iets, ik kreeg de kans om een Windows laptop te gebruiken voor een tijdje, de Surface Laptop Go. Het is een heerlijk simpele laptop en ik vond hem leuk om precies die reden: geen gedoe. De laptop werkte gewoon op een voorspelbare, betrouwbare manier die ik - blijkbaar - miste in "WillemOS".

Het probleem met mijn eigen OS
Het bouwen van je eigen OS is geweldig om allerlei redenen, maar vooral omdat jij bepaalt hoe dingen werken. Je bent de architect, de meester, degene die beslist. Je bent god. De keerzijde van die grote macht is dat je ook verantwoordelijk bent om dingen te laten werken!
Heel vaak werkte het fantastisch, vooral als ik wat tijd besteedde aan het finetunen van de ervaring. Maar zelfs met al mijn kennis en ervaring waren er momenten dat dingen kapot gingen, soms flink. Dit gebeurde voornamelijk omdat:
- Ik software draai op niet-ondersteunde hardware: de Surface Go tablet is ontworpen om te werken met Windows
- De meeste GNU/Linux software is ontworpen voor toetsenbord en muis: het gebruik ervan op een tablet met alleen een touchscreen is bijna onmogelijk (probeer je schijfversleutelingscode in te voeren zonder toetsenbord)
- Ik geef de voorkeur aan de nieuwste softwareversies uit de onstabiele Debian repositories, die soms 'ingrijpende' veranderingen hebben...
- Ik creëerde mijn eigen rare mix van vrije software in WillemOS: het combineren van pakketten en apps die niet per se ontworpen waren om samen te werken
In de afgelopen 6 maanden (toen ik mijn OS als dagelijkse driver gebruikte) waren er minstens 3 gelegenheden waarbij het OS op kritieke momenten vastliep. Meestal nadat de tablet uit de slaapstand was gehaald, gingen dingen mis...
Zo moest ik bijvoorbeeld een keer reageren op een service-uitval, een klant belde en ze hadden directe ondersteuning nodig. Precies op dat moment kreeg ik problemen om mijn netwerk online te krijgen na het ontwaken van de tablet. Ik verloor kostbare tijd, maar bovenal voelde ik me een amateur omdat ik niet meteen kon reageren vanwege een stomme netwerkbug. Mensen betalen me veel geld om hun problemen op te lossen, ik kan maar beter klaar staan!

Een ander vervelend voorbeeld is toen ik dit super geweldige idee had voor het volgende grote unicorn IT-concept... Ik was klaar om de pen van de tablet te gebruiken om deze vonk van creativiteit vast te leggen toen de digitaliser van de tablet plotseling niet meer reageerde. Mijn pen werkte niet en het touchscreen was helemaal van slag. Ik kon het oplossen door een aantal systeemdiensten opnieuw te starten, een paar apps te sluiten en te openen. Maar tegen de tijd dat ik klaar was, was het magische idee verdwenen!


Lessen geleerd
Naast het vertrouwd raken met Debian GNU/Linux op een diepe, hardcore manier, heb ik een paar dingen geleerd over de realiteit van het bouwen van een systeem dat je dagelijks wilt gebruiken.
Ten eerste is betrouwbaarheid ongelooflijk belangrijk. Dit gaat hand in hand met voorspelbaarheid (maar ze zijn niet per se hetzelfde). Het is geen probleem als dingen kapot gaan, maar alleen als je dat verwacht. Dit is extreem moeilijk om goed te krijgen, ik heb enorm veel respect gekregen voor al het goede werk dat commerciële software/hardware leveranciers hebben verricht. De prestaties van een kritieke tool die je dagelijks wilt gebruiken, moeten extreem voorspelbaar zijn.
Ten tweede, om dit te bereiken kun je beter ondersteunde hardware en gangbare softwareconcepten gebruiken. Gebruik een conventionele PC met standaard componenten met een normale muis en toetsenbord als je van plan bent om vrije software te gebruiken (zoals Debian GNU/Linux). De wrijvingsloze tablet-ervaring met vrije software is nog niet klaar.
Ten derde, en dit is waarschijnlijk het belangrijkste: als het werkt is het magisch! Alle problemen die ik tegenkwam waren beheersbaar en doen niets af aan het feit dat wanneer mijn OS werkte, er soms echte magie was.

Conclusie
Je moet echt een beetje gek zijn om te proberen je eigen besturingssysteem te bouwen. Je bent een speciaal soort gek als je je experimentele besturingssysteem je dagelijkse driver maakt!
Dat is wat ik deed... en ik ben blij dat ik het overleefd heb om het verhaal te vertellen. Ik zal het ooit nog eens proberen, want de smaak van vrijheid is moeilijk te vergeten als je het eenmaal hebt ervaren!
