Zavrieť reklamu

Český publicista Patrick Zandl vydal tento mesiac knihu pojednávajúcu o transformácii biznisu z osobných počítačov na mobilné telefóny a nasledujúce ére, ktorá trvá už päť rokov, počas ktorej sa z Applu stala najhodnotnejšia spoločnosť sveta. Dočítate sa podrobne o všetkom, čo stálo za veľkou revolúciou v mobilných telefónoch a ako potom dopomohla k vytvoreniu úplne úplne nového trhu tabletov. Prinášame prvé ukážky z knihy.

Ako vznikal operačný systém pre iPhone OS X - iOS

Pre úspech chystaného mobilného telefónu Apple bolo rozhodujúce aj to, aký bude mať operačný systém. To bolo presvedčenie, ktoré v roku 2005 nebolo úplne obvyklé, „chytré telefóny“ sa nepredávali najlepšie, naopak telefóny s jednoúčelovým firmware sa predávali ako žemle na obchode. Lenže Jobs potreboval od svojho telefónu značnú možnosť budúceho rozširovania, flexibilitu vo vývoji a teda schopnosť reagovať na trendy, ktoré sa otvoria. A tiež pokiaľ možno čo najlepšiu kompatibilitu s platformou Mac, pretože sa obával toho, že sa firma vývojom ďalšieho operačného systému zahltí. Vývoj softvéru, ako sme si ukázali, nepatril dlhodobo medzi najsilnejšie stránky Apple.

Rozhodnutie prišlo vo februári 2005 krátko po utajenej schôdzke so zástupcami Cingular Wireless, na ktorú nebola Motorola pozvaná. Jobsovi sa podarilo Cingular presvedčiť o tom, že Apple dostane podiel z výnosov, ktoré sa podarí na jeho vlastnom telefóne vygenerovať a presvedčiť Cingular na to, aby vzal vážne výstavbu mobilnej siete. Už v tom čase Jobs propagoval myšlienku sťahovania hudby z mobilnej siete, zástupcovia Cingularu ale boli pesimistickí ohľadom zvýšenia záťaže, ktorú by sprevádzkovanie internetového sťahovania mohlo vygenerovať. Argumentovali skúsenosťami so sťahovaním vyzváňacích tónov a internetových stránok a ako sa do budúcna ukáže, podcenili hype, ktorý je Jobs schopný so svojím zariadením vyprodukovať. Čo sa im čoskoro vypomstí.

Štartuje tak projekt Purple 2, Ktorým sa Jobs chce posunúť za horizonty neuspokojivo bežiacej spolupráce s Motorolou. Cieľ: vlastný mobilný telefón založený na technológiách, ktoré Apple do tejto chvíle akvíroval alebo ktoré urýchlene vyvinie, mnoho z nich (ako je FingerWorks) do tej doby Jobs plánoval využiť na konštrukciu tabletu, ktorý chcel uviesť na trh. Lenže si musel vybrať: buď uvedie urýchlene na trh mobilný telefón s kombinovaným iPodom a zachráni tak blížiacu sa krízu predaja iPodu, alebo si splní sen a uvedie na trh tablet. Mať oboje nezvládne, pretože spolupráca s Motorolou mu iPod v mobile nezaistí, to v tej chvíli už bolo dosť zrejmé, hoci potrvá ešte pol roka, než sa Motorola ROKR dostane na trh. Jobs nakoniec možno prekvapivo, ale veľmi racionálne, stavil na záchranu trhu s hudbou, uvedenie tabletu odložil a všetky zdroje presunul na projekt Purple 2, ktorého cieľom bolo skonštruovať dotykový telefón s iPodom.

K rozhodnutiu adaptovať pre mobilný telefón firemný operačný systém Mac OS X prispelo nielen to, že mnoho iných volieb nebolo, ale aj možnosť neskoršej konvergencie zariadenia. Rastúci výpočtový výkon a pamäťová kapacita mobilných zariadení Jobsa presvedčili, že v budúcnosti bude možné na telefóne ponúknuť aplikácie podobné tým, aké sa používajú na desktopoch a že bude výhodné spoľahnúť sa na jedno jadro operačného systému.

Kvôli urýchleniu vývoja bolo tiež rozhodnuté, že vzniknú dva nezávislé tímy. Hardvérový tím bude mať za úlohu urýchlene skonštruovať samotný mobilný telefón, druhý tím sa zameria na adaptáciu operačného systému OS X.

 Mac OS X, OS X a iOS

S označovaním verzií operačných systémov vznikne v Apple trochu zmätok. Pôvodná verzia operačného systému pre iPhone sa vlastne nijako nemenuje – Apple v marketingových materiáloch používa lakonické označenie „iPhone runs a version of OS X“. Neskôr začne používať na označenie operačného systému telefónu „iPhone OS“. S uvedením jeho štvrtej verzie v roku 2010 začne Apple už systematicky používať meno iOS. Vo februári 2012 sa premenuje desktopový operačný systém „Mac OS X“ už iba na „OS X“, čo môže miasť. Napríklad v názve tejto kapitoly, kde sa snažím zohľadniť fakt, že iOS jadrom pochádza z OS X.

Darwin na pozadí

Tu je potrebné urobiť ďalšiu odbočku smerom k operačnému systému Darwin. Keď Apple kúpil v roku 1997 Jobsovu firmu NeXT, súčasťou transakcie sa samozrejme stal aj operačný systém NeXTSTEP a jeho variant vytvorený v kooperácii so Sun Microsystems a nazvaný OpenSTEP. Operačný systém NeXTSTEP sa mal tiež stať základom nového operačného systému počítačov Apple, to bol napokon jeden z dôvodov, prečo Apple Jobsov NeXT kúpilo. Príťažlivým av tom čase možno nedoceneným kúzlom NeXTSTEPu bola jeho multiplatformnosť, tento systém mohol byť prevádzkovaný ako na intelovskej platforme x86, tak na Motorola 68K, PA-RISC aj SPARC, teda prakticky na všetkých procesoroch, ktoré vtedajšie desktopové platformy používali. A bolo možné vytvárať distribučné súbory obsahujúce binárne verzie programu pre všetky procesorové platformy, takzvané fat-binary, „tlsté binárky“.

Dedičstvo NeXTu teda poslúžilo ako základ vývoja nového operačného systému zvaného Rhapsody, ktorý Apple prvýkrát predstavil na vývojárskej konferencii v roku 1997. Tento systém prinášal rad zmien oproti predchádzajúcim verziám Mac OS, z nášho pohľadu ide predovšetkým o nasledujúce:

  • kernel a príslušné subsystémy boli založené na Mach a BSD
  • subsystém kompatibility s predchádzajúcim Mac OS (Blue Box) – neskôr známe skôr ako rozhranie Classic
  • rozšírená implementácia OpenStep API (Yellow Box) – neskôr sa vyvinulo v Cocoa.
  • Java virtual machine
  • okenný systém založený na Displa PostScripte
  • rozhranie vychádzajúce z Mac OS, ale kombinované s OpenSTEP

Apple plánoval previesť do Rhapsody väčšinu softvérových štruktúr (frameworkov) z Mac OS, ako bol QuickTime, QuickDraw 3D, QuickDraw GX alebo ColorSync, rovnako ako súborové systémy z pôvodných Apple počítačov Apple Filing Protocol (AFP), HFS, UFS a ďalšie. Lenže sa čoskoro ukázalo, že to nie je vôbec ľahká úloha. Po prvom vývojárskom vydaní (DR1) v septembri 1997 nasledovalo druhé DR2 v máji 1998, lenže stále zostávalo veľa urobiť. Prvý vývojársky náhľad (Developer Preview 1) prišiel až o rok neskôr, v máji 1999 a to už sa systém volal Mac OS X, mesiac predtým z neho Apple odštiepil serverovú verziu Mac OS X Server 1, ktorú oficiálne vydal a tiež open-source verziu Darwin, čím z (hojne napadanej a diskutovanej) časti splnil podmienku vydávať zdrojové kódy systému, ktorý používa iné časti s otvoreným kódom toto vyžadujúce a ktoré Apple do svojho systému zahrnul, keď vychádzal z jadra Mach a BSD.

Darwin je vlastne Mac OS X bez grafického rozhrania a bez radu proprietárnych knižníc, ako je FairPlay zabezpečenie hudobných súborov. Môžete si ho stiahnuť, od neskoršej doby sú k dispozícii len zdrojové súbory, nie binárne verzie, môžete si ich skompilovať a prevádzkovať ako operačný systém na celom rade procesorových platforiem. Darwin do budúcnosti bude v Apple plniť dve úlohy: bude trvalou pripomienkou, že preniesť operačný systém Mac OS X na inú procesorovú platformu nebude tak ťažké, aby to bolo neuskutočniteľné. A bude odpoveďou na výhrady, že softvér Apple je uzavretý, proprietárny, čo je dojem, ktorý najmä v Európe bude neskôr Apple vzbudzovať. V Amerike, kde je v školstve viac rozšírený a Darwin je tu na rade školských serverov bežne používaný, je povedomie o otvorenosti a využívaní štandardných komponentov v rámci softvéru Apple oveľa väčšie. Darwin je dodnes jadrom každého Mac OS X systému a má celkom širokú skupinu prispievateľov k jeho open source vývoju, pričom tento vývoj sa dostáva späť aj do jadra Mac OS X.

Prvá ostrá verzia Mac OS X 10.0 prezývaná Cheetah je uvedená na trh v marci 2001, po štyroch rokoch od zahájenia vývoja Rhapsody, u ktorého sa predpokladalo, že bude jednoduché ho preklopiť na použitie na platforme Apple. Irónia, ktorá zarobila firme na rad problémov, pretože po ony štyri roky nútila svojim užívateľom neuspokojivú a neperspektívnu Mac OS platformu.

Darwin sa teda stal základom pre operačný systém v rámci projektu Purple 2. V čase, keď nebolo isté, či sa Apple rozhodne pre použitie procesorov ARM, na ktorých mal konštrukčný podiel alebo Intel, ktoré práve začínal používať v desktopoch, išlo o voľbu veľmi prezieravú , pretože umožňovala bez veľkej bolesti procesorovú platformu zmeniť tak, ako to práve Apple robil s PowerPC a Intelom. Navyše išlo o kompaktný a vyskúšaný systém, ku ktorému bolo treba pridať rozhranie (API) – v tomto prípade Cocoa Touch, na dotyk optimalizované OpenSTEP API s knižnicou pre prácu s mobilným telefónom.

Nakoniec vznikol návrh, ktorý rozdelil systém na štyri abstrakčné vrstvy:

  • vrstvu jadra systému
  • vrstvu služieb jadra
  • vrstvu médií
  • vrstvu dotykového rozhrania Cocoa Touch

Prečo to bolo dôležité a je to zaznamenaniehodné? Jobs veril tomu, že mobilný telefón musí dokonale reagovať na požiadavky používateľa. Ak používateľ stlačí tlačidlo, telefón musí reagovať. Musí zjavne potvrdiť, že používateľov vstup prijal a to najlepšie vykoná tým, že vykoná vytúženú funkciu. Tento prístup jeden z vývojárov Jobsovi dokladoval na telefóne Nokia so systémom Symbian, kde telefón na stlačenie voľby reagoval príliš neskoro. Užívateľ v zozname prešiel meno a omylom volal iné meno. To bolo pre Jobsa frustrujúce a niečo také na svojom mobile nechcel vidieť. Operačný systém musel prioritne spracovávať používateľovu voľbu, dotykové rozhranie Cocoa Touch malo v systéme maximálnu prioritu. Až po ňom mali prioritu ostatné vrstvy systému. Pokiaľ používateľ vykonal nejakú voľbu či vstup, muselo sa niečo stať, čo používateľa uistilo, že všetko hladko pokračuje. Ďalším argumentom pre tento prístup boli „poskakujúce ikonky“ v desktopovom Mac OS X. Pokiaľ používateľ spustil nejaký program z docku systému, väčšinou sa nejakú chvíľu viditeľne nič nedialo, kým sa program nenahral celý z disku do operačnej pamäte počítača. Užívatelia by dookola klikali na ikonku, pretože by nevedeli, že program už sa do pamäte zavádza. Vývojári to vtedy vyriešili tak, že ikonka poskakovala, kým sa program celý nezaviedol do pamäte. V mobilnej verzii bolo potrebné, aby podobne okamžite systém reagoval na akýkoľvek používateľov vstup.

Tento prístup následne prešiel natoľko mobilnému systému do krvi, že aj jednotlivé funkcie v rámci Cocoa Touch sú v systéme spracovávané s rôznou triedou priority tak, aby používateľ mal čo najlepšie zdanie hladkého behu telefónu.

V tejto dobe sa ešte Apple nijako vážne nezaoberalo možnosťou spúšťať na telefóne aplikácie tretích strán. Dokonca to v tomto čase nebolo žiaduce. Chystaný operačný systém samozrejme plne podporoval preemptívny multitasking, ochranu pamäte a ďalšie pokročilé funkcie moderných operačných, čo bolo v kontraste s inými operačnými systémami, ktoré v tom čase zápasili s ochranou pamäte (Symbian), multitaskingom (Palm OS) alebo na striedačku s obomi ( Win CE). Lenže Jobs chystaný mobil považoval predovšetkým za zariadenie, ktoré bude určené na konzumáciu Apple dodávanej hudby. Aplikácie tretích strán by len zdržiavali, navyše si Jobs uvedomoval, že by bolo treba okolo nich poriešiť množstvo detailov, ako distribučný systém, takže hoci mobilný OS X podporoval možnosť spúšťania dodatočných aplikácií na pozadí natívne, Apple túto možnosť umelo obmedzil. Keď iPhone prišiel na trh, iba „jailbreaknuté“, teda tejto ochrany zbavenej telefóny mohli inštalovať objavujúce sa aplikácie tretích strán. Ešte dlho po uvedení iPhone v januári 2007 Jobs predpokladal, že vývojári budú vytvárať aplikácie výhradne webové a natívne aplikácie bude vytvárať iba Apple.

Ešte v lete roku 2006 bol ale vývoj mobilnej verzie OS X v úplne neuspokojivom stave. Hoci základné portovanie systému prebehlo v rekordne krátkom čase v tíme iba dvoch inžinierov, previazanosť a zladenosť jednotlivých prvkov rozhrania mobilného telefónu bola zúfalá. Hovory sa rozpadali, softvér často havaroval, výdrž na batérie bola neprimerane nízka. Zatiaľ čo v septembri 2005 na projekte pracovalo 200 ľudí, číslo rýchlo rástlo na päťstovku v dvoch paralelných tímoch, ale stále to bolo málo. Vážnou nevýhodou bolo utajenie, v ktorom Apple pracoval: nových ľudí nebolo možné vyhľadávať verejným náborom, ale na odporúčanie, často cez prostredníkov. Napríklad testovacia časť tímu venujúceho sa softvéru bola do značnej miery virtuálna, prototypovanie a testovanie prebiehalo u ľudí, ktorí spolu komunikovali predovšetkým emailom a dlhú dobu ani nevedeli, že pracujú pre Apple. Až takú mieru utajenie dosiahlo.

 

Viac informácií o knihe nájdete na stránkach Patricka Zandla. Knihu je možné zakúpiť v tlačenej verzii v kníhkupectvách Neoluxor a Kozmas, elektronická verzia sa pripravuje.

.