Zavřít reklamu

Český publicista Patrick Zandl vydal tento měsíc knihu pojednávající o transformaci byznysu z osobních počítačů na mobilní telefony a následující éře, která trvá již pět let, během které se z Applu stala nejhodnotnější společnost světa. Dočtete se podrobně o všem, co stálo za velkou revolucí v mobilních telefonech a jak poté dopomohla k vytvoření zcela zcela nového trhu tabletů. Přinášíme první ukázky z knihy.

Jak vznikal operační systém pro iPhone OS X – iOS

Pro úspěch chystaného mobilního telefonu Apple bylo rozhodující i to, jaký bude mít operační systém. To bylo přesvědčení, které v roce 2005 nebylo úplně obvyklé, „chytré telefony“ se neprodávaly nejlépe, naopak telefony s jednoúčelovým firmware se prodávaly jak housky na krámě. Jenže Jobs potřeboval od svého telefonu značnou možnost budoucího rozšiřování, flexibilitu ve vývoji a tedy schopnost reagovat na trendy, které se otevřou. A také pokud možno co nejlepší kompatibilitu s platformou Mac, protože se obával toho, že se firma vývojem dalšího operačního systému zahltí. Vývoj software, jak jsme si ukázali, nepatřil dlouhodobě mezi nejsilnější stránky Apple.

Rozhodnutí přišlo v únoru 2005 krátce po utajené schůzce se zástupci Cingular Wireless, na kterou nebyla Motorola pozvána. Jobsovi se podařilo Cingular přesvědčit o tom, že Apple dostane podíl z výnosů, které se podaří na jeho vlastním telefonu vygenerovat a přesvědčit Cingular k tomu, aby vzal vážně výstavbu mobilní sítě. Již v té době Jobs propagoval myšlenku stahování hudby z mobilní sítě, zástupci Cingularu ale byli pesimističtí ohledně zvýšení zátěže, kterou by zprovoznění internetového stahování mohlo vygenerovat. Argumentovali zkušenostmi se stahováním vyzváněcích tónů a internetových stránek a jak se do budoucna ukáže, podcenili hype, který je Jobs schopen se svým zařízením vyprodukovat. Což se jim záhy vymstí.

Startuje tak projekt Purple 2, jímž se Jobs chce posunout za horizonty neuspokojivě běžící spolupráce s Motorolou. Cíl: vlastní mobilní telefon založený na technologiích, které Apple do této chvíle akvíroval či které urychleně vyvine, řadu z nich (jako je FingerWorks) do té doby Jobs plánoval využít pro konstrukci tabletu, jenž chtěl uvést na trh. Jenže si musel vybrat: buďto uvede urychleně na trh mobilní telefon s kombinovaným iPodem a zachrání tak blížící se krizi prodejů iPodu, nebo si splní sen a uvede na trh tablet. Mít obojí nezvládne, protože spolupráce s Motorolou mu iPod v mobilu nezajistí, to v tu chvíli již bylo dost zřejmé, ačkoliv potrvá ještě půl roku, než se Motorola ROKR dostane na trh. Jobs nakonec možná překvapivě, ale velmi racionálně, vsadil na záchranu trhu s hudbou, uvedení tabletu odložil a všechny zdroje přesunul na projekt Purple 2, jehož cílem bylo zkonstruovat dotykový telefon s iPodem.

K rozhodnutí adaptovat pro mobilní telefon firemní operační systém Mac OS X přispělo nejenom to, že mnoho jiných voleb nebylo, ale také možnost pozdější konvergence zařízení. Rostoucí výpočetní výkon a paměťová kapacita mobilních zařízení Jobse přesvědčily, že v budoucnu bude možné na telefonu nabídnout aplikace podobné těm, jaké se používají na desktopech a že bude výhodné spolehnout se na jedno jádro operačního systému.

Kvůli urychlení vývoje bylo také rozhodnuto, že vzniknou dva nezávislé týmy. Hardwarový tým bude mít za úkol urychleně zkonstruovat samotný mobilní telefon, druhý tým se zaměří na adaptaci operačního systému OS X.

 Mac OS X, OS X a iOS

S označováním verzí operačních systémů vznikne v Apple poněkud zmatek. Původní verze operačního systému pro iPhone se vlastně nijak nejmenuje – Apple v marketingových materiálech používá lakonické označení „iPhone runs a version of OS X“. Později začne používat k označení operačního systému telefonu „iPhone OS“. S uvedením jeho čtvrté verze v roce 2010 začne Apple již systematicky používat jméno iOS. V únoru 2012 se přejmenuje desktopový operační systém „Mac OS X“ už pouze na „OS X“, což může mást. Například v názvu této kapitoly, kde se snažím zohlednit fakt, že iOS jádrem pochází z OS X.

Darwin na pozadí

Tady je třeba udělat další odbočku směrem k operačnímu systému Darwin. Když Apple koupil v roce 1997 Jobsovu firmu NeXT, součástí transakce se samozřejmě stal i operační systém NeXTSTEP a jeho varianta vytvořená v kooperaci se Sun Microsystems a nazvaná OpenSTEP. Operační systém NeXTSTEP se měl také stát základem nového operačního systému počítačů Apple, to byl ostatně jeden z důvodů, proč Apple Jobsův NeXT koupilo. Přitažlivým a v té době možná nedoceněným kouzlem NeXTSTEPu byla jeho multiplatformnost, tento systém mohl být provozován jak na intelovské platformě x86, tak na Motorola 68K, PA-RISC i SPARC, tedy prakticky na všech procesorech, které tehdejší desktopové platformy používaly. A bylo možné vytvářet distribuční soubory obsahující binární verze programu pro všechny procesorové platformy, takzvané fat-binary, „tlusté binárky“.

Dědictví NeXTu tedy posloužilo jako základ vývoje nového operačního systému zvaného Rhapsody, který Apple poprvé představil na vývojářské konferenci v roce 1997. Tento systém přinášel řadu změn oproti předchozím verzím Mac OS, z našeho pohledu jde především o následující:

  • kernel a příslušné subsystémy byly založeny na Mach a BSD
  • subsystém kompatibility s předchozím Mac OS (Blue Box) – později známé spíše jako rozhraní Classic
  • rozšířená implementace OpenStep API (Yellow Box) – později se vyvinulo v Cocoa.
  • Java virtual machine
  • okení systém založený na Displa PostScriptu
  • rozhraní vycházející z Mac OS, ale kombinované s OpenSTEP

Apple plánoval převést do Rhapsody většinu softwarových struktur (frameworků) z Mac OS, jako byl QuickTime, QuickDraw 3D, QuickDraw GX nebo ColorSync, stejně jako souborové systémy z původních Apple počítačů Apple Filing Protocol (AFP), HFS, UFS a další. Jenže se záhy ukázalo, že to není vůbec lehký úkol. Po prvním vývojářském vydání (DR1) v září 1997 následovalo druhé DR2 v květnu 1998, jenže stále zbývalo hodně udělat. První vývojářský náhled (Developer Preview 1) přišel až o rok později, v květnu 1999 a to už se systém jmenoval Mac OS X, měsíc před tím z něj Apple odštěpil serverovou verzi Mac OS X Server 1, kterou oficiálně vydal a také open-source verzi Darwin, čímž z (hojně napadané a diskutované) části splnil podmínku vydávat zdrojové kódy systému, který používá jiné části s otevřeným kódem toto vyžadující a které Apple do svého systému zahrnul, když vycházel z jádra Mach a BSD.

Darwin je vlastně Mac OS X bez grafického rozhraní a bez řady proprietárních knihoven, jako je FairPlay zabezpečení hudebních souborů. Můžete si jej stáhnout, od pozdější doby jsou k dispozici jen zdrojové soubory, nikoliv binární verze, můžete si je zkompilovat a provozovat jako operační systém na celé řadě procesorových platforem. Darwin do budoucna bude v Apple plnit dvě úlohy: bude trvalou připomínkou, že přenést operační systém Mac OS X na jinou procesorovou platformu, nebude tak těžké, aby to bylo neproveditelné. A bude odpovědí na výhrady, že software Apple je uzavřený, proprietární, což je dojem, který zejména v Evropě bude později Apple vzbuzovat. V Americe, kde je ve školství více rozšířen a Darwin je zde na řadě školních serverů běžně používán, je povědomí o otevřenosti a využívání standardních komponent v rámci software Apple mnohem větší. Darwin je dodnes jádrem každého Mac OS X systému a má docela širokou skupinu přispěvovatelé k jeho open source vývoji, přičemž tento vývoj se dostává zpět i do jádra Mac OS X.

První ostrá verze Mac OS X 10.0 přezdívaná Cheetah je uvedena na trh v březnu 2001, po čtyřech letech od zahájení vývoje Rhapsody, u něhož se předpokládalo, že bude jednoduché jej překlopit pro použití na platformě Apple. Ironie, která zadělala firmě na řadu problémů, protože po ony čtyři roky nutila svým uživatelům neuspokojivou a neperspektivní Mac OS platformu.

Darwin se tedy stal základem pro operační systém v rámci projektu Purple 2. V době, kdy nebylo jisté, zda se Apple rozhodne pro použití procesorů ARM, na nichž měl konstrukční podíl nebo Intel, které právě začínal používat v desktopech, šlo o volbu velmi prozíravou, protože umožňovala bez velké bolesti procesorovou platformu změnit tak, jak to právě Apple dělal s PowerPC a Intelem. Navíc šlo o kompaktní a vyzkoušený systém, k němuž bylo třeba přidat rozhraní (API) – v tomto případě Cocoa Touch, pro dotyk optimalizované OpenSTEP API s knihovnou pro práci s mobilním telefonem.

Nakonec vznikl návrh, který rozdělil systém na čtyři abstrakční vrstvy:

  • vrstvu jádra systému
  • vrstvu služeb jádra
  • vrstvu médií
  • vrstvu dotykového rozhraní Cocoa Touch

Proč to bylo důležité a je to zaznamenáníhodné? Jobs věřil tomu, že mobilní telefon musí dokonale reagovat na požadavky uživatele. Pokud uživatel stiskne tlačítko, telefon musí reagovat. Musí zjevně potvrdit, že uživatelův vstup přijal a to nejlépe provede tím, že vykoná kýženou funkci. Tento přístup jeden z vývojářů Jobsovi dokladoval na telefonu Nokia se systémem Symbian, kde telefon na stisknutí volby reagoval příliš pozdě. Uživatel v seznamu přejel jméno a omylem volal jiné jméno. To bylo pro Jobse frustrující a něco takového na svém mobilu nechtěl vidět. Operační systém musel prioritně zpracovávat uživatelovu volbu, dotykové rozhraní Cocoa Touch mělo v systému maximální prioritu. Teprve po něm měly prioritu ostatní vrstvy systému. Pokud uživatel provedl nějakou volbu či vstup, muselo se něco stát, co uživatele ujistilo, že vše hladce pokračuje. Dalším argumentem pro tento přístup byly „poskakující ikonky“ v desktopovém Mac OS X. Pokud uživatel spustil nějaký program z docku systému, většinou se nějakou chvíli viditelně nic nedělo, dokud se program nenahrál celý z disku do operační paměti počítače. Uživatelé by dokola klikali na ikonku, protože by nevěděli, že program už se do paměti zavádí. Vývojáři to tehdy vyřešili tak, že ikonka poskakovala, dokud se program celý nezavedl do paměti. V mobilní verzi bylo potřeba, aby podobně okamžitě systém reagoval na jakýkoliv uživatelův vstup.

Tento přístup následně přešel natolik mobilnímu systému do krve, že i jednotlivé funkce v rámci Cocoa Touch jsou v systému zpracovávány s různou třídou priority tak, aby uživatel měl co nejlepší zdání hladkého běhu telefonu.

V této době se ještě Apple nijak vážně nezabývalo možností spouštět na telefonu aplikace třetích stran. Dokonce to v tuto dobu nebylo žádoucí. Chystaný operační systém samozřejmě plně podporoval preemptivní multitasking, ochranu paměti a další pokročilé funkce moderních operačních, což bylo v kontrastu s jinými operačními systémy, které se tou dobou potýkaly s ochranou paměti (Symbian), multitaskingem (Palm OS) nebo na střídačku s obojím (Win CE). Jenže Jobs chystaný mobil považoval především za zařízení, které bude určeno ke konzumaci Applem dodávané hudby. Aplikace třetích stran by jen zdržovaly, navíc si Jobs uvědomoval, že by bylo třeba kolem nich pořešit řadu detailů, jako distribuční systém, takže ačkoliv mobilní OS X podporoval možnost spouštění dodatečných aplikací na pozadí nativně, Apple tuto možnost uměle omezil. Když iPhone přišel na trh, pouze „jailbreaknuté“, tedy této ochrany zbavené telefony mohly instalovat objevující se aplikace třetích stran. Ještě dlouho po uvedení iPhone v lednu 2007 Jobs předpokládal, že vývojáři budou vytvářet aplikace výhradně webové a nativní aplikace bude vytvářet pouze Apple.

Ještě v létě roku 2006 byl ale vývoj mobilní verze OS X v naprosto neuspokojivém stavu. Ačkoliv základní portování systému proběhlo v rekordně krátkém čase v týmu pouhých dvou inženýrů, provázanost a sladěnost jednotlivých prvků rozhraní mobilního telefonu byla zoufalá. Hovory se rozpadaly, software často havaroval, výdrž na baterie byla nepřiměřeně nízká. Zatímco v září 2005 na projektu pracovalo 200 lidí, číslo rychle rostlo na pětistovku ve dvou paralelních týmech, ale pořád to bylo málo. Vážnou nevýhodou bylo utajení, v němž Apple pracoval: nové lidi nebylo možné vyhledávat veřejným náborem, ale na doporučení, často přes prostředníky. Například testovací část týmu věnujícího se software byla do značné míry virtuální, prototypování a testování probíhalo u lidí, kteří spolu komunikovali především emailem a dlouhou dobu ani nevěděli, že pracují pro Apple. Až takové míry utajení dosáhlo.

 

Více informací o knize najdete na stránkách Patricka Zandla. Knihu je možné zakoupit v tištěné verzi v knihkupectvích Neoluxor a Kosmas, elektronická verze se připravuje.

.