Zamknij reklame

Czeski felietonista Patrick Zandl opublikował w tym miesiącu książkę omawiającą transformację biznesu z komputerów osobistych na telefony komórkowe i następującą po niej erę, która trwała pięć lat, podczas której Apple stał się najcenniejszą firmą na świecie. Przeczytasz szczegółowo wszystko, co stało za wielką rewolucją w telefonach komórkowych i jak pomogła ona następnie stworzyć zupełnie nowy rynek tabletów. Oto pierwsze próbki z książki.

Jak powstał system operacyjny dla iPhone OS X – iOS

O sukcesie nadchodzącego telefonu komórkowego Apple zadecydował także system operacyjny. Było to przekonanie, które w 2005 roku nie było do końca powszechne, „smartfony” nie były bestsellerami, wręcz przeciwnie, telefony z dedykowanym oprogramowaniem sprzedawały się jak świeże bułeczki. Ale Jobs potrzebował od swojego telefonu znacznych możliwości przyszłej ekspansji, elastyczności w rozwoju, a co za tym idzie, umiejętności reagowania na pojawiające się trendy. A także w miarę możliwości możliwie jak najlepszej kompatybilności z platformą Mac, gdyż obawiał się, że firma zostanie przytłoczona rozwojem kolejnego systemu operacyjnego. Tworzenie oprogramowania, jak pokazaliśmy, już dawno nie było najmocniejszą stroną Apple.

Decyzja zapadła w lutym 2005 roku, wkrótce po tajnym spotkaniu z przedstawicielami Cingular Wireless, na które Motorola nie została zaproszona. Jobsowi udało się przekonać Cingulara, że ​​Apple będzie miał udział w przychodach generowanych przez jego własny telefon, i przekonać Cingulara, aby poważnie zaczął myśleć o budowie sieci komórkowej. Już wtedy Jobs promował pomysł pobierania muzyki z sieci komórkowej, ale przedstawiciele Cingular byli pesymistyczni co do wzrostu obciążenia, jakie może generować pobieranie muzyki z Internetu. Argumentowali na temat pobierania dzwonków i stron internetowych i, jak pokaże przyszłość, nie docenili szumu, jaki Jobs był w stanie wywołać swoim urządzeniem. Co wkrótce obróci się przeciwko nim.

To rozpoczyna projekt Purple 2, z którym Jobs chce wyjść poza horyzonty niezadowalającej współpracy z Motorolą. Cel: własny telefon komórkowy oparty na technologiach, które Apple już nabył lub które wkrótce rozwinie, a część z nich (np. FingerWorks), które Jobs planował wykorzystać do konstrukcji tabletu, który chciał wypuścić na rynek. Musiał jednak wybrać: albo szybko wypuści na rynek telefon komórkowy z kombinowanym iPodem i uratuje to nadchodzący kryzys sprzedaży iPodów, albo spełni swoje marzenie i wypuści na rynek tablet. Nie będzie mógł mieć jednego i drugiego, bo współpraca z Motorolą nie zapewni mu iPoda w telefonie komórkowym, co było już wtedy dość oczywiste, choć minie jeszcze pół roku, zanim Motorola ROKR trafi na rynek rynek. Ostatecznie, może zaskakująco, ale bardzo racjonalnie, Jobs postawił na ratowanie rynku muzycznego, odłożył premierę tabletu i przeniósł wszystkie zasoby na projekt Purple 2, którego celem było zbudowanie telefonu z ekranem dotykowym i iPodem.

Decyzja o dostosowaniu firmowego systemu operacyjnego Mac OS X do telefonów komórkowych wynikała nie tylko z faktu, że nie było zbyt wielu innych opcji, ale także z możliwości późniejszej konwergencji urządzeń. Rosnąca moc obliczeniowa i pojemność pamięci urządzeń mobilnych przekonały Jobsa, że ​​w przyszłości będzie można oferować w telefonie aplikacje podobne do tych stosowanych na komputerach stacjonarnych i że korzystne będzie oparcie się na jednym rdzeniu systemu operacyjnego.

Aby przyspieszyć rozwój zdecydowano także o utworzeniu dwóch niezależnych zespołów. Zespół sprzętowy będzie miał za zadanie szybko skonstruować sam telefon komórkowy, drugi zespół skupi się na adaptacji systemu operacyjnego OS X.

 Mac OS X, OS X i iOS

W Apple panuje pewne zamieszanie związane z etykietowaniem wersji systemu operacyjnego. Oryginalna wersja systemu operacyjnego dla iPhone'a właściwie nie ma nazwy - Apple w swoich materiałach marketingowych używa lakonicznego określenia „iPhone obsługuje wersję OS X”. Później zaczyna używać „iPhone OS” w odniesieniu do systemu operacyjnego telefonu. Wraz z wypuszczeniem w 2010 roku czwartej wersji Apple zaczął systematycznie używać nazwy iOS. W lutym 2012 r. nazwa systemu operacyjnego „Mac OS X” dla komputerów stacjonarnych zostanie zmieniona na „OS X”, co może być mylące. Przykładowo w tytule tego rozdziału, gdzie staram się uwzględnić fakt, że iOS w swej istocie wywodzi się z OS X.

W tle Darwin

Tutaj musimy zrobić kolejny objazd w kierunku systemu operacyjnego Darwin. Kiedy Apple kupił należącą do Jobsa firmę NeXT w 1997 r., częścią transakcji stał się system operacyjny NeXTSTEP i jego wariant stworzony we współpracy z Sun Microsystems pod nazwą OpenSTEP. System operacyjny NeXTSTEP miał stać się także podstawą nowego komputerowego systemu operacyjnego Apple, wszak był to jeden z powodów, dla których Apple kupił NeXT Jobsa. Atrakcyjnym i być może niedocenianym wówczas urokiem NeXTSTEP była jego wieloplatformowość, system ten mógł pracować zarówno na platformie Intel x86, jak i na Motoroli 68K, PA-RISC i SPARC, czyli praktycznie na wszystkich procesorach wykorzystywanych przez platformy desktopowe wtedy. I możliwe było stworzenie plików dystrybucyjnych zawierających binarne wersje programu na wszystkie platformy procesorowe, tzw. grube pliki binarne.

Dziedzictwo NeXT posłużyło zatem jako podstawa do opracowania nowego systemu operacyjnego o nazwie Rhapsody, który Apple po raz pierwszy zaprezentował na konferencji programistów w 1997 roku. System ten przyniósł z naszego punktu widzenia szereg zmian w porównaniu z poprzednimi wersjami systemu Mac OS: są to głównie:

  • jądro i powiązane podsystemy były oparte na Machu i BSD
  • podsystem zapewniający kompatybilność z poprzednim systemem Mac OS (Blue Box) - później znany lepiej jako interfejs Classic
  • rozszerzona implementacja OpenStep API (Yellow Box) - później przekształciła się w Cocoa.
  • Maszyna wirtualna Java
  • system okienkowy oparty na Displa PostScript
  • interfejs oparty na systemie Mac OS, ale połączony z OpenSTEP

Apple planowało przenieść do Rhapsody większość struktur oprogramowania (frameworków) z systemu Mac OS, takich jak QuickTime, QuickDraw 3D, QuickDraw GX czy ColorSync, a także systemów plików z oryginalnych komputerów Apple Apple Filing Protocol (AFP), HFS, UFS i innych . Jednak szybko okazało się, że wcale nie jest to łatwe zadanie. Pierwsza wersja deweloperska (DR1) we wrześniu 1997 r. została wydana, a druga wersja DR2 w maju 1998 r., ale nadal było wiele do zrobienia. Pierwsza wersja deweloperska (Developer Preview 1) pojawiła się dopiero rok później, w maju 1999, a system nosił już nazwę Mac OS X, miesiąc wcześniej Apple wydzielił z niego wersję serwerową Mac OS X Server 1, która oficjalnie opublikowana, a także wersja Darwina o otwartym kodzie źródłowym, spełniając w ten sposób (dużo sporną i debatowaną) część warunku udostępnienia kodów źródłowych systemu, który wykorzystuje inne części open source wymagające tego i które Apple umieścił w swoim systemie, gdy był oparty na jądrach Mach i BSD.

Darwin to tak naprawdę Mac OS X bez interfejsu graficznego i bez szeregu zastrzeżonych bibliotek, takich jak zabezpieczenia plików muzycznych FairPlay. Możesz go pobrać, ponieważ później dostępne są tylko pliki źródłowe, a nie wersje binarne, możesz je skompilować i uruchomić jako system operacyjny na szerokiej gamie platform procesorowych. W przyszłości Darwin będzie pełnił w Apple dwie role: będzie stale przypominał, że przeniesienie Mac OS X na inną platformę procesorową nie będzie tak trudne, że będzie niemożliwe. I będzie to odpowiedź na zarzuty, że oprogramowanie Apple'a jest zamknięte, zastrzeżone, co jest wrażeniem, jakie Apple będzie później wywoływał, szczególnie w Europie. W Ameryce, gdzie jest on bardziej rozpowszechniony w edukacji, a Darwin jest tu powszechnie używany na wielu szkolnych serwerach, świadomość otwartości i wykorzystania standardowych komponentów w oprogramowaniu Apple jest znacznie większa. Darwin nadal stanowi rdzeń każdego dzisiejszego systemu Mac OS X i ma dość szeroką grupę współpracowników w rozwoju jego oprogramowania typu open source, przy czym rozwój ten wpływa również na rdzeń systemu Mac OS X.

Pierwsza wersja systemu Mac OS X 10.0, nazwana Cheetah, została wydana w marcu 2001 roku, cztery lata po rozpoczęciu prac nad Rhapsody, które uważano za łatwe do przystosowania do użytku na platformie Apple. Ironia, która przysporzyła firmie szereg problemów, gdyż przez te cztery lata narzucała swoim użytkownikom niezadowalającą i mało obiecującą platformę Mac OS.

Darwin stał się tym samym podstawą systemu operacyjnego w ramach Project Purple 2. W czasie, gdy nie było pewne, czy Apple zdecyduje się na zastosowanie procesorów ARM, w których miał udział projektowy, czy też Intela, który dopiero zaczynał być stosowany w komputerach stacjonarnych , był to bardzo rozważny wybór, ponieważ umożliwił zmianę platformy procesorowej bez większych problemów, tak jak to zrobił Apple z PowerPC i Intelem. Co więcej, był to kompaktowy i sprawdzony system, do którego trzeba było dodać interfejs (API) - w tym przypadku Cocoa Touch, zoptymalizowane pod kątem dotyku API OpenSTEP z biblioteką telefonów komórkowych.

Ostatecznie powstał projekt, który podzielił system na cztery warstwy abstrakcji:

  • warstwa jądra systemu
  • warstwa usług jądra
  • warstwa medialna
  • warstwa interfejsu dotykowego Cocoa Touch

Dlaczego było to ważne i czy warto o tym pamiętać? Jobs wierzył, że telefon komórkowy musi doskonale odpowiadać wymaganiom użytkownika. Jeśli użytkownik naciśnie przycisk, telefon musi zareagować. Musi oczywiście potwierdzić, że zaakceptował dane wejściowe użytkownika, a najlepiej jest to zrobić, wykonując żądaną funkcję. Jeden z programistów zademonstrował takie podejście do Jobsa na telefonie Nokia z systemem Symbian, gdzie telefon zbyt późno reagował na naciśnięcie pokrętła. Użytkownik przeciągnął nazwę na liście i przypadkowo wybrał inną nazwę. Było to frustrujące dla Jobsa i nie chciał widzieć czegoś takiego na swoim telefonie komórkowym. System operacyjny musiał priorytetowo przetworzyć wybór użytkownika, interfejs dotykowy Cocoa Touch miał najwyższy priorytet w systemie. Dopiero po nim pierwszeństwo miały pozostałe warstwy systemu. Jeśli użytkownik dokonał wyboru lub wprowadził jakieś informacje, musiało się wydarzyć coś, co zapewni go, że wszystko przebiega prawidłowo. Kolejnym argumentem za takim podejściem były „skaczące ikony” w stacjonarnym systemie Mac OS X. Jeśli użytkownik uruchomił program z systemowej stacji dokującej, zwykle przez jakiś czas nic w widoczny sposób się nie działo, dopóki program nie został w pełni załadowany z dysku do pamięci RAM komputera. Użytkownicy klikaliby tę ikonę, ponieważ nie wiedzieliby, że program jest już ładowany do pamięci. Następnie programiści rozwiązali ten problem, powodując podskakiwanie ikony, aż do załadowania całego programu do pamięci. W wersji mobilnej system musiał natychmiast reagować na wszelkie działania użytkownika.

Podejście to zostało później tak zakorzenione w systemie mobilnym, że nawet poszczególne funkcje Cocoa Touch są przetwarzane w systemie z różnymi klasami priorytetów, tak aby użytkownik miał możliwie najlepszy wygląd i płynną obsługę telefonu.

W tamtym czasie Apple nie traktował poważnie uruchamiania aplikacji innych firm na telefonie. W tej chwili nie było to nawet pożądane. Oczywiście nadchodzący system operacyjny w pełni wspierał wielozadaniowość z wywłaszczaniem, ochronę pamięci i inne zaawansowane funkcje współczesnych systemów operacyjnych, co w odróżnieniu od innych systemów operacyjnych w tamtym czasie borykało się z ochroną pamięci (Symbian), wielozadaniowością (Palm OS) lub na przemian z obydwoma (Windows CE). Jednak Jobs postrzegał nadchodzący telefon komórkowy przede wszystkim jako urządzenie, które będzie używane do słuchania muzyki dostarczanej przez Apple. Aplikacje innych firm tylko się opóźniały, a Jobs zdał sobie sprawę, że wokół nich trzeba będzie rozwiązać wiele szczegółów, takich jak system dystrybucji, więc chociaż mobilny OS X obsługiwał możliwość natywnego uruchamiania dodatkowych aplikacji w tle, Apple sztucznie ograniczał tę możliwość. Kiedy na rynku pojawił się iPhone, tylko telefony po jailbreaku bez tej ochrony mogły instalować nowe aplikacje innych firm. Długo po premierze iPhone'a w styczniu 2007 Jobs założył, że programiści będą tworzyć aplikacje internetowe i że tylko Apple będzie tworzyć aplikacje natywne.

Jednak nawet latem 2006 roku rozwój mobilnej wersji OS X był w całkowicie niezadowalającym stanie. Choć podstawowe przeniesienie systemu odbyło się w rekordowym czasie i przy udziale zaledwie dwóch inżynierów, wzajemne powiązania i koordynacja poszczególnych elementów interfejsu telefonu komórkowego były wręcz rozpaczliwe. Połączenia zrywane, oprogramowanie często się zawieszało, a żywotność baterii była nieracjonalnie niska. Podczas gdy we wrześniu 2005 roku nad projektem pracowało 200 osób, liczba ta szybko wzrosła do XNUMX w dwóch równoległych zespołach, ale to wciąż było za mało. Poważną wadą była tajemnica, w jakiej pracował Apple: nowych osób nie można było znaleźć w drodze publicznej rekrutacji, ale poprzez polecenie, często przez pośredników. Przykładowo część testowa zespołu programistycznego była w dużej mierze wirtualna, prototypowanie i testowanie odbywało się z udziałem osób, które komunikowały się ze sobą głównie mailowo i przez długi czas nawet nie wiedziały, że pracują dla Apple. Dopóki nie zostanie osiągnięty taki poziom tajemnicy.

 

Więcej informacji o książce można znaleźć na stronie Strona Patricka Zandala. Książkę można kupić w wersji drukowanej w księgarniach Neoluxor a Kosma, w przygotowaniu jest wersja elektroniczna.

.