Wat is een besturingssysteem tegenwoordig eigenlijk?

Vandaag scheid ik mijn wegen met Fly.io om met Kurt aan een nieuw project te werken. Ik meld dit direct, zodat jullie weten dat ik vanuit mijn eigen belang spreek.

De barrière van het programmeren

Toen ik klein was, verkocht een familievriend ons onze eerste "computer" — ik gebruik aanhalingstekens omdat ik vrij zeker ben dat het een VTech Laser 200-kloon was; een Z80 met een chiclet-toetsenbord die op cassettes draaide en op onze tv werd aangesloten. Ik was oud genoeg om te weten wat een computer was en conceptueel te begrijpen wat het betekende om er een te programmeren, omdat ik me herinner dat ik droomde van alle domme spelletjes die ik zou kunnen maken. Eindelijk! We hadden een apparaat waarmee ik dingen kon maken zoals het "Hitchhiker’s Guide"-tekstavontuur dat ik op het kantoor van mijn vader speelde.

Maar het apparaat startte direct in BASIC. Dat was alles wat het deed. Ik was ongeveer 8 jaar oud en was niet van plan om BASIC te leren. Wat ik in plaats daarvan leerde: computers waren niet zo geweldig als ik me had voorgesteld.

Tegen de tijd dat ik midden in mijn tienerjaren zat, sleepte computerbeveiliging me uiteindelijk het programmeren in. Coderen bevestigde alleen maar die vroege les. Hoe meer ik begreep hoe programma's waren opgebouwd, hoe ontmoedigender het klonk om een volledige, complexe applicatie te bouwen. Ik kon zonder problemen snelle netwerkservers schrijven, maar een tekstverwerker? Dat was alsof je me vroeg om een diesellocomotief te bouwen.

Plotseling is alles veranderd. Computers werken nu zoals ik dacht dat ze werkten toen ik 8 was.

Het vervagen van de grenzen

De afgelopen maanden heb ik geschreven over alle native macOS-apps die ik heb geproduceerd, en hoe vreemd het is om te zien hoe AI de grenzen tussen backend-programmering en frontend, tussen web en native, en tussen systemen en applicaties doet oplossen. Dit zijn allemaal enorme verschuivingen; elk daarvan zou in de top 10 van mijn carrière staan.

Maar AI breekt een veel belangrijkere grens af: die tussen programmeurs en gebruikers. Mijn Mac-menubalk en taakschakelaar staan vol met iconen van programma's die ik voor mezelf heb getoverd, met Engels als mijn programmeertaal.

Wat ik op mijn computer deed, kan elke power user op de zijne doen. En dat zullen ze ook gaan doen. Het is onvermijdelijk.

Ik denk dat we allemaal zo verbijsterd zijn door de eerste-orde effecten van AI, dat we de tweede-orde effecten over het hoofd hebben gezien. Denk hier eens over na: hoe ziet computing eruit in een wereld waarin veel (misschien de meeste) applicaties een publiek van slechts één of twee personen hebben? Hoe wordt software gedistribueerd? Waar draait het op?

Vroeger leerde ik dat programma's iets waren die je uit het schap kocht bij winkels als Egghead Software. Daarna zag ik die schappen overbodig worden, en uiteindelijk de fysieke softwareverpakking zelf. Daarna kwam software op cd-rom — dat is overigens waarom we nog steeds spreken van het "shippen" van software, omdat we het vroeger echt moesten verzenden. Dat werd vervolgens weggevaagd door het internet. Nu denk ik dat ik iets anders zie wegvallen: het hele concept van geprefabriceerde applicaties met een vaste functie.

De opkomst van gepersonaliseerde software

Dit is wat er gaat gebeuren: gebruikers zullen steeds vaker interageren met zaken die ze zelf hebben gecreëerd, of mensen die ze bij hun voornaam kennen. Programma's zullen hun problemen specifiek oplossen:

  • "Hoe krijg ik een nauwkeurige weersvoorspelling voor Roscoe Village in Chicago, wanneer de dichtstbijzijnde weerstations bij O'Hare zitten en het mergeffect van het meer missen?"
  • "Vergeet de kaart, vertel me gewoon of ik de Eisenhower Expressway moet verlaten en Roosevelt, Madison of Lake moet nemen om naar huis te gaan?"
  • "Is er op dit moment ergens een vergadering gaande waar ik bij zou moeten zijn?"

Dit lijstje kan oneindig doorgaan. Dit klinkt allemaal triviaal, maar dat is precies het punt. Het zijn normale levensproblemen waar niemand serieuze programma's omheen zou hebben gebouwd, omdat het publiek te klein zou zijn.

Tegenwoordig komt bijna alle software van onbekende experts. Maar binnenkort zullen onbekenden ophouden met het leveren van complete apps, en in plaats daarvan alleen de bouwstenen leveren. Natuurlijk zullen er nog steeds megaprojecten zijn zoals browsers en tekstverwerkers. Maar er zullen duizenden keren meer applicaties zijn die een fractie van de kern van een tekstverwerker gebruiken om een specifiek werk- of thuisprobleem op te lossen voor iemand die niet weet wat een for-loop is.

De herdefinitie van het besturingssysteem

Waarom hebben we moderne besturingssystemen? Het is niet simpelweg om "toegang tot hardwarebronnen te bieden"; veel embedded systemen doen dat met runtimes die zich geen "OS" mogen noemen. Nee, het kerndoel van een modern besturingssysteem is om verschillende applicaties van elkaar te scheiden en zorgvuldig te controleren hoe ze met elkaar kunnen communiceren.

Dat is zeer zinvol in een wereld waarin we al onze software importeren van vreemden. Het is minder zinvol in de wereld waar we naartoe gaan, waar het grootste deel van de software waarvoor we deze afgescheiden domeinen creëren, dezelfde herkomst heeft. En het is bijna volslagen onlogisch in een wereld waarin elke applicatie kneedbaar is en op elk moment nieuwe functies kan ontwikkelen naar het whim van de maker.

Een nieuwe visie op hardware

Dat is waar we aan werken: een platform dat het apparaat is dat we zouden willen hebben in de wereld die ik zojuist beschreef. Kortom: we bouwen een telefoon.

Elke mainstream telefoon op de markt in 2026 was al in 2023 (tot in het extreme) gepland. Zo werken productcycli. In 2023 waren computers nog steeds apparaten die ontworpen waren om deterministische applicaties met een vaste functie te draaien, geproduceerd door een priesterkaste van professionele programmeurs. Software was iets dat gebruikers kochten, niet bouwden.

De ziel van die telefoons zit in de jaren 70. Mannen met grote snorren legden het ontwerp vast terwijl ze hackten op VT52-terminals, met "More Than A Feeling" van Boston op de FM-radio die op hun werkbank stond. Sindsdien hebben we dat ontwerp alleen maar geschaald en geminiaturiseerd zodat het in je zak past. Het is prachtig afgewerkt, heeft miljoenen pixels, maar doet precies hetzelfde werk als een DEC PDP-11: het draaien van geprefabriceerde applicaties.

Wij bouwen een telefoon die niet is ontworpen om applicaties met een vaste functie te draaien. Ik betwijfel of iemand ooit op een podium zal staan om een AAA-mobiele game (die niemand speelt) erop te demonstreren. Het is niet voor TikTok en short-form video, hoewel ik denk dat je het apparaat daar wel om kunt vragen. Je kunt het om alles vragen: het bouwt apps voor je, op de telefoon zelf, wanneer je maar wilt.

Ik weet wat je hier waarschijnlijk van denkt. Dat is oké; dat betekent dat je een redelijk mens bent. Wij wedden erop dat AI onredelijke dingen gaat doen.

Er is een lange geschiedenis van grootse uitspraken over de wereld die gepaard gaan met een knop "en hier is mijn nieuwe bedrijf". Dat loopt zelden goed af. Ik ben me ervan bewust dat ik, ongeacht wat ik hier schrijf, klink als nog zo'n startup-nerd die praat over "de toekomst van programmeren" voordat hij aankondigt dat hij is gaan werken voor het Sri Lankaanse antwoord op Uber.

Er is veel meer dat ik zou kunnen zeggen, maar dat doe ik nu niet. Niet omdat het geheim is, maar om de technische details te ontdoen van de geur van een "nieuwe startup-aankondiging".

Het afgelopen jaar in de techindustrie heeft gevoeld als honderd jaar dat tegelijkertijd gebeurden. Onze industrie is gedestabiliseerd op een manier die niemand heeft ervaren sinds de komst van de personal computer. Elke limiet waar AI tegenaan loopt, stort binnen een maand in. Alles wat we vandaag met frontier models doen, zullen we over een paar jaar onmiddellijk en gratis kunnen doen.

Toen we kinderen waren, dachten we dat computers alles konden, als we maar in onze handen konden krijgen. We moesten professionele softwareontwikkelaars worden om te leren hoe beperkt computers eigenlijk zijn.

Nu moeten we die lessen allemaal afleren en weer gaan denken als kinderen. Dus, hier gaan we.