Safari was begin jaren 2000 een van de best bewaarde geheimen van Apple

Safari

  Ik heb het je vorig jaar verteld hoe de naam van de Safari-browser voor OS X is gekozen, en nu de man die de ontwikkeling van het hele project op zich nam vertel ons hoe alles geheim werd gehouden. Eind jaren negentig werd Don Melton gekozen om het team te leiden dat Safari zou ontwikkelen, waarbij de browser aanvankelijk vermomd was als een versie van Internet Explorer voor Mac. Het team dat het project ging ontwikkelen wist niet waar ze aan werkten totdat ze de uitdaging aangingen en deze was uiteraard verborgen in een van de gebouwen van de Apple-campus in Cupertino.

Een groot deel van de tijd die we besteedden aan de ontwikkeling van Safari (lang voordat het die naam kreeg) deed het zich voor als Microsoft Internet Explorer. In het bijzonder Internet Explorer voor Mac, dat Apple sinds 1998 bij het besturingssysteem leverde. Niet alleen kreeg ik van Scott Forstall de opdracht om een ​​browser te bouwen en een team samen te stellen om die browser te bouwen, ik moest het hele verdomde project geheim houden. Wat het trouwens erg ingewikkeld maakte om het grootste deel van het oorspronkelijke team aan te nemen, omdat ik ze niet kon vertellen waar ze aan werkten totdat ze de baan aannamen. 

  Zelfs als het team verborgen was en niemand over de browser sprak, zou de wereld alles kunnen ontdekken wat Apple aan het ontwikkelen was door simpelweg de logs te analyseren van de servers waarop de websites die door de teamleden werden bezocht, werden gehost. Om dit te voorkomen werd Safari aanvankelijk "vermomd" in Internet Explorer en vervolgens in Mozilla's Firefox, allemaal om het project geheim te houden tot 2003 toen Steve Jobs Safari voor OS X officieel presenteerde tijdens een Apple-conferentie.

Wanneer een webbrowser een pagina ophaalt van een webserver, identificeert de browser zichzelf bij die server met een user-agentstring – in feite de naam, versie, platform, enz. De browser geeft de server ook een IP-adres, zodat de server weet waar hij de pagina naartoe moet sturen. Deze uitwisseling zorgt er niet alleen voor dat het web werkt, maar stelt de server ook in staat te vertellen wie welke browser gebruikt en waar ze deze gebruiken. Rond 1990 verzekerde een vooruitstrevende IT-er voor Apple een heel klasse A-netwerk van IP-adressen. Dat klopt, Apple heeft 16,777,216 statische IP-adressen. En omdat al deze adressen bij elkaar horen (in wat nu een "/8 blok" wordt genoemd) begint elk adres met hetzelfde nummer. In het geval van Apple is het nummer 17. IP adres 17.149.160.49? Dat is Appel. 17.1.2.3? Ja, Appel.17.18.19.20? Ook Appel. 17.253.254.255? Appel, verdomme!

  Ondanks het feit dat Apple een hele klasse IP's in zijn naam heeft geregistreerd en iedereen heel gemakkelijk kan zien wanneer een Apple-medewerker zijn website bezoekt, identificeert de browser zichzelf met websites met behulp van de identificatiegegevens van andere browsers die op dat moment beschikbaar waren. Op deze manier slaagde het team erin om tijdens de tests alles geheim te houden, waarbij de door hen genomen maatregelen vandaag de dag waarschijnlijk voor andere soortgelijke projecten worden gebruikt.

Ook al voerden we het project uit als een soort black-op van de CIA – met trouweed en zo – we konden Safari niet 'Safari' laten zijn als we het op het Apple-campusnetwerk gebruikten. Anders zou een webserverbeheerder ergens zijn logbestanden kunnen scannen en het verband tussen de user-agentstring en de oorsprong van het IP-adres opmerken. Dan zou de grote verrassing die Steve Jobs op 7 januari 2003 op MacWorld wilde onthullen, worden opgenomen. Daarom hebben we mijn slim ontworpen Safari-gebruikersagentstring verborgen als we bij Apple waren. En ik zeg "mijn" omdat dat eigenlijk een van de weinige stukjes code in Safari en WebKit is waarvan ik kan 1) beweren dat ze ontworpen zijn en 2) nog steeds in de broncode staat. Godzijdank heeft mijn technische team al mijn andere hacks verwijderd of geherstructureerd. Ik heb goede mensen aangenomen.