Błąd Apple
Chcesz założyć startup? Zdobądź finansowanie od Y Combinator.
Listopad 2009
Nie sądzę, żeby Apple zdawało sobie sprawę, jak bardzo zepsuty jest proces zatwierdzania aplikacji w App Store. A raczej, nie sądzę, żeby zdawali sobie sprawę, jak bardzo jest to ważne, że jest zepsuty.
Sposób, w jaki Apple zarządza App Store, zaszkodził ich reputacji wśród programistów bardziej niż cokolwiek innego, co kiedykolwiek zrobili. Ich reputacja wśród programistów była kiedyś świetna. Najczęstszą skargą, jaką się słyszało o Apple, było to, że ich fani podziwiali ich zbyt bezkrytycznie. App Store to zmienił. Teraz wielu programistów zaczęło postrzegać Apple jako zło.
Ile z dobrej woli, którą Apple kiedyś miało wśród programistów, stracili przez App Store? Jedną trzecią? Połowę? A to dopiero początek. App Store to ciągły wyciek karmy.
Jak Apple wpadło w ten kłopot? Ich fundamentalnym problemem jest to, że nie rozumieją oprogramowania.
Traktują aplikacje na iPhone'a tak, jak traktują muzykę sprzedawaną przez iTunes. Apple jest kanałem; posiadają użytkownika; jeśli chcesz dotrzeć do użytkowników, robisz to na ich warunkach. Wytwórnie płytowe zgodziły się, niechętnie. Ale ten model nie działa w przypadku oprogramowania. Nie działa, gdy pośrednik posiada użytkownika. Branża oprogramowania nauczyła się tego na początku lat 80., kiedy firmy takie jak VisiCorp pokazały, że chociaż słowa „oprogramowanie” i „wydawca” pasują do siebie, podstawowe koncepcje już nie. Oprogramowanie nie jest jak muzyka czy książki. Jest zbyt skomplikowane, aby strona trzecia mogła działać jako pośrednik między deweloperem a użytkownikiem. A jednak to właśnie próbuje robić Apple z App Store: być wydawcą oprogramowania. I to szczególnie nadgorliwym, z wybrednymi gustami i ściśle egzekwowanym stylem firmowym.
Jeśli publikowanie oprogramowania nie działało w 1980 roku, tym bardziej nie działa teraz, gdy rozwój oprogramowania ewoluował od niewielkiej liczby dużych wydań do stałego strumienia małych. Ale Apple też tego nie rozumie. Ich model rozwoju produktu wywodzi się ze sprzętu. Pracują nad czymś, dopóki nie uznają, że jest gotowe, a potem to wydają. Trzeba tak robić ze sprzętem, ale ponieważ oprogramowanie jest tak łatwe do zmiany, jego projekt może skorzystać na ewolucji. Standardowym sposobem rozwijania aplikacji jest teraz szybkie uruchamianie i iteracja. Oznacza to, że długie, losowe opóźnienia przy każdym wydaniu nowej wersji są katastrofą.
Wygląda na to, że Apple uważa, że deweloperzy powinni być bardziej ostrożni przy przesyłaniu nowej wersji do App Store. Tak by powiedzieli. Ale tak potężni, jak są, nie są wystarczająco potężni, aby odwrócić ewolucję technologii. Programiści nie używają modelu „launch-fast-and-iterate” z lenistwa. Używają go, ponieważ daje najlepsze rezultaty. Utrudniając ten proces, Apple zmusza ich do złej pracy, a programiści nienawidzą tego tak samo, jak Apple.
Jak by się Apple czuło, gdyby po odkryciu poważnego błędu w OS X, zamiast natychmiast wydać aktualizację oprogramowania, musieli przesłać swój kod do pośrednika, który trzymałby go przez miesiąc, a potem odrzucił, ponieważ zawierał ikonę, której nie lubili?
Niszcząc rozwój oprogramowania, Apple osiąga odwrotność tego, co zamierzało: wersja aplikacji dostępna w App Store jest zazwyczaj stara i wadliwa. Jeden z deweloperów powiedział mi:
W wyniku ich procesu App Store jest pełen niedopracowanych aplikacji. Tworzę nową wersję prawie codziennie, którą udostępniam użytkownikom beta. Wersja w App Store wydaje się stara i kiepska. Jestem pewien, że wielu deweloperów czuje się podobnie: jedna emocja to „nie jestem naprawdę dumny z tego, co jest w App Store”, a łączy się z nią emocja „naprawdę, to wina Apple”.
Inny napisał:
Wierzę, że myślą, iż ich proces zatwierdzania pomaga użytkownikom, zapewniając jakość. W rzeczywistości błędy takie jak nasze przechodzą cały czas, a potem może minąć 4-8 tygodni, zanim poprawka błędu zostanie zatwierdzona, pozostawiając użytkowników w przekonaniu, że aplikacje na iPhone'a czasami po prostu nie działają. Co gorsza dla Apple, te aplikacje działają doskonale na innych platformach, które mają natychmiastowe procesy zatwierdzania.
Właściwie przypuszczam, że Apple ma trzecie błędne przekonanie: że wszystkie skargi dotyczące zatwierdzania w App Store nie są poważnym problemem. Muszą słyszeć narzekania programistów. Ale partnerzy i dostawcy zawsze narzekają. Byłoby to złym znakiem, gdyby tego nie robili; oznaczałoby to, że jesteś dla nich zbyt pobłażliwy. Tymczasem iPhone sprzedaje się lepiej niż kiedykolwiek. Więc po co im cokolwiek naprawiać?
Udaje im się źle traktować programistów, w krótkim okresie, ponieważ tworzą tak świetny sprzęt. Właśnie kupiłem nowego iMac 27 cali kilka dni temu. Jest fantastyczny. Ekran jest zbyt błyszczący, a dysk jest zaskakująco głośny, ale jest tak piękny, że nie możesz się z tym pogodzić.
Więc kupiłem go, ale kupiłem go, po raz pierwszy, z wątpliwościami. Czułem się tak, jakbym kupował coś wyprodukowanego w kraju z złym rekordem praw człowieka. To było nowe. W przeszłości, kiedy kupowałem rzeczy od Apple, była to czysta przyjemność. O rany! Tworzą tak świetne rzeczy. Tym razem czułem się jak pakt z diabłem. Tworzą tak świetne rzeczy, ale są takimi dupkami. Czy naprawdę chcę wspierać tę firmę?
Czy Apple powinno przejmować się tym, co myślą o nich ludzie tacy jak ja? Co za różnica, czy alienują małą mniejszość swoich użytkowników?
Jest kilka powodów, dla których powinni się przejmować. Po pierwsze, ci użytkownicy to ludzie, których chcą jako pracowników. Jeśli twoja firma wydaje się zła, najlepsi programiści nie będą dla ciebie pracować. To bardzo zaszkodziło Microsoftowi od lat 90. Programiści zaczęli czuć się zawstydzeni pracą tam. Wydawało się to jak sprzedawanie się. Kiedy ludzie z Microsoftu rozmawiali z innymi programistami i wspominali, gdzie pracują, było wiele żartów o przejściu na ciemną stronę. Ale prawdziwym problemem dla Microsoftu nie było zażenowanie zatrudnionych przez nich ludzi. Byli to ludzie, których nigdy nie zatrudnili. A wiesz, kto ich dostał? Google i Apple. Jeśli Microsoft był Imperium, oni byli Sojuszem Rebeliantów. I to w dużej mierze dzięki temu, że zdobyli więcej najlepszych ludzi, Google i Apple radzą sobie dziś znacznie lepiej niż Microsoft.
Dlaczego programiści są tak wybredni co do moralności swoich pracodawców? Po części dlatego, że mogą sobie na to pozwolić. Najlepsi programiści mogą pracować gdziekolwiek chcą. Nie muszą pracować dla firmy, co do której mają zastrzeżenia.
Ale myślę, że drugim powodem, dla którego programiści są wybredni, jest to, że zło rodzi głupotę. Organizacja, która wygrywa dzięki wykorzystywaniu władzy, zaczyna tracić zdolność do wygrywania poprzez lepszą pracę. I nie jest zabawne dla inteligentnej osoby pracować w miejscu, gdzie nie wygrywają najlepsze pomysły. Myślę, że powodem, dla którego Google tak chętnie przyjęło zasadę „Nie bądź zły”, nie było tyle co imponowanie światu zewnętrznemu, co zaszczepienie się przeciwko arogancji. [1]
Jak dotąd to się sprawdziło w przypadku Google. Stali się bardziej biurokratyczni, ale poza tym wydają się trzymać swoich pierwotnych zasad. W przypadku Apple wydaje się to mniej prawdopodobne. Kiedy teraz patrzymy na słynną reklamę z 1984 roku, łatwiej sobie wyobrazić Apple jako dyktatora na ekranie niż kobietę z młotem. [2] W rzeczywistości, jeśli przeczytasz przemówienie dyktatora, brzmi ono uderzająco jak proroctwo App Store.
Odnieśliśmy triumf nad nieetycznym rozpowszechnianiem faktów.
Stworzyliśmy, po raz pierwszy w historii, ogród czystej ideologii, gdzie każdy pracownik może rozkwitnąć, bezpieczny przed szkodnikami sprzecznych i mylących prawd.
Innym powodem, dla którego Apple powinno przejmować się tym, co myślą o nich programiści, jest to, że sprzedając platformę, deweloperzy cię tworzą lub niszczą. Jeśli ktoś powinien to wiedzieć, to właśnie Apple. VisiCalc stworzył Apple II.
I programiści tworzą aplikacje dla platform, z których korzystają. Większość aplikacji – prawdopodobnie większość startupów – wyrasta z osobistych projektów. Sam Apple tak zrobił. Apple tworzył mikrokomputery, ponieważ tego chciał dla siebie Steve Wozniak. Nie mógł sobie pozwolić na minikomputer. [3] Podobnie Microsoft zaczął od tworzenia interpreterów dla małych mikrokomputerów, ponieważ Bill Gates i Paul Allen byli zainteresowani ich używaniem. Rzadko zdarza się startup, który nie tworzy czegoś, z czego korzystają założyciele.
Głównym powodem, dla którego istnieje tak wiele aplikacji na iPhone'a, jest to, że tak wielu programistów ma iPhone'y. Mogą wiedzieć, bo przeczytali w artykule, jaki udział w rynku ma Blackberry. Ale w praktyce to tak, jakby RIM nie istniał. Jeśli zamierzają coś zbudować, chcą móc tego używać, a to oznacza tworzenie aplikacji na iPhone'a.
Dlatego programiści nadal tworzą aplikacje na iPhone'a, mimo że Apple nadal ich źle traktuje. Są jak ktoś uwięziony w toksycznym związku. Są tak przyciągnięci do iPhone'a, że nie mogą odejść. Ale szukają wyjścia. Jeden napisał:
Chociaż lubiłem tworzyć na iPhone'a, kontrola, którą narzucają w App Store, nie daje mi napędu do tworzenia aplikacji tak, jakbym chciał. Właściwie nie zamierzam tworzyć więcej aplikacji na iPhone'a, chyba że będzie to absolutnie konieczne. [4]
Czy cokolwiek może przerwać ten cykl? Żadne urządzenie, które widziałem do tej pory, nie mogłoby tego zrobić. Palm i RIM nie mają szans. Jedynym wiarygodnym kandydatem jest Android. Ale Android jest sierotą; Google naprawdę się nim nie przejmuje, nie tak, jak Apple przejmuje się iPhone'em. Apple przejmuje się iPhone'em tak, jak Google przejmuje się wyszukiwaniem.
Czy przyszłość urządzeń mobilnych to przyszłość zablokowana przez Apple? To niepokojąca perspektywa. Byłoby przykro mieć kolejną ponurą monokulturę, jak w latach 90. W 1995 roku pisanie oprogramowania dla użytkowników końcowych było praktycznie tożsame z pisaniem aplikacji na Windows. Nasz horror na myśl o tej perspektywie był największym motorem do rozpoczęcia tworzenia aplikacji internetowych.
Przynajmniej wiemy teraz, co byłoby potrzebne, aby przełamać blokadę Apple. Trzeba by odebrać programistom iPhone'y. Gdyby programiści zaczęli używać innego urządzenia do mobilnego dostępu do sieci, zaczęliby zamiast tego tworzyć dla niego aplikacje.
Jak można stworzyć urządzenie, które programiści polubią bardziej niż iPhone'a? Jest mało prawdopodobne, aby można było stworzyć coś lepiej zaprojektowanego. Apple nie pozostawia tu miejsca. Więc to alternatywne urządzenie prawdopodobnie nie mogłoby wygrać ogólnym odwołaniem. Musiałoby wygrać dzięki jakiemuś odwołaniu skierowanemu konkretnie do programistów.
Jednym ze sposobów przyciągnięcia programistów jest oprogramowanie. Gdybyś mógł wymyślić aplikację, której programiści musieli potrzebować, ale która byłaby niemożliwa w ograniczonym świecie iPhone'a, mógłbyś ich prawdopodobnie skłonić do przejścia.
To na pewno by się zdarzyło, gdyby programiści zaczęli używać urządzeń mobilnych jako maszyn do tworzenia – gdyby urządzenia mobilne zastąpiły laptopy, tak jak laptopy zastąpiły komputery stacjonarne. Potrzebujesz większej kontroli nad maszyną do tworzenia niż Apple pozwala mieć nad iPhone'em.
Czy ktoś mógłby stworzyć urządzenie, które nosiłbyś w kieszeni jak telefon, a jednocześnie działałoby jako maszyna do tworzenia? Trudno sobie wyobrazić, jak by wyglądało. Ale nauczyłem się nigdy nie mówić nigdy o technologii. Urządzenie wielkości telefonu, które działałoby jako maszyna do tworzenia, nie jest według obecnych standardów bardziej cudowne niż sam iPhone wydawałby się według standardów z 1995 roku.
Moją obecną maszyną do tworzenia jest MacBook Air, którego używam z zewnętrznym monitorem i klawiaturą w moim biurze, a sam podróżując. Gdyby istniała wersja o połowę mniejsza, wolałbym ją. To nadal nie byłoby wystarczająco małe, aby nosić wszędzie jak telefon, ale jesteśmy w odległości około 4 razy. Z pewnością tę lukę można pokonać. Właściwie, zróbmy z tego RFS. Poszukiwana: Kobieta z młotem.
Przypisy
[1] Kiedy Google przyjął zasadę „Nie bądź zły”, byli jeszcze tak mali, że nikt nie oczekiwałby od nich tego, nawet.
[2] Dyktator w reklamie z 1984 roku, nawiasem mówiąc, nie jest Microsoftem; to IBM. IBM wydawał się wtedy znacznie bardziej przerażający, ale byli bardziej przyjaźni dla deweloperów niż Apple teraz.
[3] Nie mógł sobie pozwolić nawet na monitor. Dlatego Apple I używał telewizora jako monitora.
[4] Kilka osób, z którymi rozmawiałem, wspomniało, jak bardzo podobał im się iPhone SDK. Problem nie leży w produktach Apple, ale w ich polityce. Na szczęście polityka to oprogramowanie; Apple może je natychmiast zmienić, jeśli zechce. Wygodne, prawda?
Dzięki Samowi Altmanowi, Trevorowi Blackwellowi, Rossowi Boucherowi, Jamesowi Bracy, Gaborowi Cselle, Patrickowi Collisonowi, Jasonowi Freedmanowi, Johnowi Gruberowi, Joe Hewittowi, Jessice Livingston, Robertowi Morrisowi, Teng Siong Ongowi, Nikhilowi Panditowi, Savrajowi Singhowi i Jaredowi Tame za przeczytanie wersji roboczych tego tekstu.