Безумовно, головним антигероєм цього тижня став Марко Армент, підприємець, розробник і творець сервісу Instapaper, який опублікував статтю «Apple втратила свою функціональну височина»1. Через кілька днів після публікації, наробила чимало галасу в західній технологічної пресі, Марко приніс вибачення за деякі формулювання, які були використані недобросовісними журналістами для нового витка пророкувань неминучої загибелі компанії з Купертіно.

Тим не менше, я хотів би нагадати нашим читачам про те, що користувачі завжди були незадоволені програмними продуктами Apple, незалежно від того, був на той момент біля керма компанії Стів Джобс чи ні. Це добре підтверджує і один з колишніх розробників OS X, який повідав дуже цікаві подробиці про те, як в Купертіно «кувалися» нові версії операційних систем.

Я б сказав, що найголовніше зміна в методології розробки OS X сталося після відходу Бертрана Серле на пенсію.

При Бертране ми працювали над гігантськими, монолітними релізам, коли кожна група розробників просто сваливала в купу весь готовий матеріал, і все це прямувало для внутрішнього тестування у вигляді нічних збірок. Зокрема, якщо ми говоримо про Snow Leopard, я пам’ятаю три десятки релізів поспіль, де Xcode був повністю непридатний до використання із-за проблем з «збирачем сміття» Objective-C. Постійно виникали якісь випадкові проблеми, яких ви ніяк не могли очікувати. А коли ми повідомляли про них, фікси з’являлися тільки через тиждень.

Все це призводило до того, що великі версії OS X виходили з великим запізненням і купою помилок, які доводилося патчити по мірі можливостей.

Крейг Федериги прийняв рішення радикально змінити підхід і прискорити розробку. Спочатку ми протягом двох тижнів працювали над новими можливостями, а наступний тиждень присвячували виправлення помилок. Після 10, 12 або 16 подібних циклів ми вважали, що система готова і випускали її.

В результаті програмне забезпечення виходило більш стабільним, але також більш консервативним. Здавалося, було дуже складно внести величезні зміни в код і реалізувати значні функції. Але навіть якщо це і вдавалося зробити, то не раніше, ніж система була готова на дві третини. З іншого боку, Крейг завжди встигав укластися в термін і реалізувати більшість обіцяних функцій.

Я працював в Apple тільки до виходу Lion (першого релізу Крейга), тому не знаю, що змінилося з тих пір. Але я постійно користуюся OS X і, чесно кажучи, не помітив великих відмінностей в порівнянні з попередніми версіями системи.

Що змінилося, так це частота релізів. Tiger і Leopard дорослішали протягом двох років, отримуючи всі необхідні патчі, у той же самий час вони страждали від застарілих утиліт Unix, невдалих білдів Safari, фреймворків начебто QuickTime, графічних драйверів і іншого.

Вони виглядали стабільними просто тому, що були старими, як Debian. Між тим робочі версії Leopard і Snow Leopard, над якими я провів більшу частину часу в Apple, були абсолютно жахливі і непридатні до використання. Кожна з них після релізу практично відразу ж отримувала настільки необхідне оновлення, що виправляє найбільш явні косяки.

Просто вони вам здаються більш стабільними, адже ви довше їх використовували, ніж сучасні версії OS X.

А ще раніше трава була зеленішою, вода — мокро. За сім обговорення «гучної» статті Марко Армента можна вважати закритим.

  • Переклад цієї статті можна знайти, наприклад, в особистому блозі Алекса Пацая. ?