[1] История iOS. Первое рождение легенды
9 января 2007 года в ходе триумфальнейшей из всех тех ярких презентаций, которыми был наполнен творческий жизненный путь великого человека, лидер Apple Стив Джобс показал миру первый iPhone. С тех пор прошло более шести лет, и целые поколения iPhone, iPad и iPod Touch полностью изменили облик мобильных компьютеров. С выходом iOS 7 настала пора углубиться в насыщенную важными вехами и событиями историю «эппловской» мобильной операционной системы.
iOS является одной из старейших мобильных операционных систем. Речь идет только о тех платформах, которые и в настоящее время активно перерабатываются. Но ее почтенный возраст не означает того, что в ней не хватает мощности или функций. Скорее наоборот. Apple сделала свою iOS одной из самых богатых функциями и наиболее хорошо поддерживаемых платформ. Год за годом специалисты совершенствуют эту мобильную операционную систему.
iPhone вырос из проблемы. Стив Джобс осознавал, что руководимая им корпорация стоит на пороге трудностей и думал над тем, как улучшить ее положение.
iOS не всегда носила свое сегодняшнее имя. Во время анонса первого iPhone, Apple особо подчеркивала тот факт, что мобильная платформа основана на том же UNIX-ядре, что и Mac OS X. Это означало, что мобильная операционная система располагает многими инструментами своей настольной «коллеги».
С появлением первого iPhone, его программную платформу стали называть «iPhone OS». Под этим именем она была известна в течение последующих трех лет, вплоть до дебюта iOS 4, который состоялся в июне 2010 года.
В операционной системе iOS нетрудно разобраться даже самому неподготовленному пользователю. Но ее внешняя простота скрывает внутреннюю мощь. Для разработчиков приложений она выглядит могучей платформой. На ее базе работают смартфоны, планшеты и медиаплееры. Пользователь одного iOS-устройства не испытает трудностей, столкнувшись с другим.
Самое примечательное в iOS то, что сегодняшняя версия операционной системы довольно похожа на увидевшую свет в 2007 году. По сравнению с другими платформами, разумеется. О полном сходстве речи не идет.
Когда iOS только появилась, она не обладала ни возможностью установки сторонних приложений, ни многозадачностью, ни даже поддержкой копирования и вставки. Прошли годы и усовершенствованная телефонная прошивка превратилась в операционную систему такой мощи, которая и не снилась компьютерам прежних лет.
Наше повествование поведает о том, как происходили эти изменения. Каждый рассказ цикла будет посвящен одной из версий мобильной операционной системы от славной купертиновской корпорации. В дальнейшем — чтобы не усложнять повествование — мы будем называть все версии мобильной платформы Apple ее нынешним именем «iOS».
iOS 1: У самых истоков iPhone
Чего еще не умел самый первый iPhone? Об этом можно говорить очень долго! Он не поддерживал MMS, Exchange, тезеринг, документы Office, голосовой набор номера. Не обладал он и настраиваемым домашним экраном. Он был почти полностью закрыт не только от хакеров, но и от разработчиков.
Чем же привлекла Apple внимание к своему бедному функциями телефону? Компания сосредоточилась на том, чтобы пользователям было приятно взаимодействовать с iPhone. Чтобы приложения работали быстро и слаженно. Чтобы те немногие функции, которыми располагал телефон, работали значительно лучше, чем на других доступных в 2007 году телефонах. iOS 1.0 принесла с собой массу инноваций, но три из них были революционны для мобильной индустрии.
Полностью сенсорный интерфейс пользователя. До iOS смартфоны или не обладали сенсорным экраном, или эти экраны были резистивными. А это значит, что работать с ними было нужно при помощи стилуса. С приходом iPhone положение изменилось. Сенсорный экран стал емкостным. Эта особенность упростила взаимодействие пользователя с устройством на базе сенсорного экрана. Избавившись от физических кнопок, Apple сделала тачскрин основным средством управления телефоном. Такие эффекты, как «увеличение двумя пальцами» и «инерционная прокрутка» придали интерфейсу ощущение естественности. Скорость работы iOS 1.0 и отсутствие задержек в выполнении команд изумили пользователей в далеком 2007 году. Эти же качества продолжают вызывать восторг в новых версиях операционной системы и в наши дни.
Мобильный браузер Safari. В iOS появился полноценный веб-браузер Safari. Сам Стив Джобс был особо доволен именно этим новшеством, которое давало компании преимущество в борьбе за рынок мобильных телефонов, на котором Apple в ту пору была новичком. Да, в этом браузере отсутствовал Flash-плагин, но мобильный Safari стал первым в своем роде, почти столь же функциональным браузером, как и настольные версии такого рода приложений. Другие операционные системы меняли характер отображения страниц, форматировали их и попросту портили все впечатление от их просмотра. Мобильный Safari же показывал веб-страницы полностью, предоставляя пользователю простые возможности изменения размера и прокрутки, которым не было равных в те времена.
Широкоформатный iPod. К тому времени экосистема iTunes+iPod была довольно развитой. И Apple использовала ее для привлечения внимания к своей операционной системе. Именно в iTunes была заложена основа для той гигантской подборки музыки, фильмов, телепередач, книг и приложений, которая известна сегодня каждому пользователю iOS-устройства. Музыка перестала быть главной привлекательной особенностью iPhone. Но для iOS 1.0 преемственность от сверхпопулярных плееров iPod сыграла важную роль.
В состав iOS 1.0 входил ряд приложений, некоторые из которых были настолько важны, что заслуживают краткого обзора в рамках нашего повествования. Они делали мобильную платформу Apple непревзойденной для своего периода в истории высоких технологий.
Google Maps. Карты поискового гиганта смотрелись на iPhone лучше, чем на какой-либо другой платформе. Новая возможность «увеличения двумя пальцами» позволила приложению работать быстро и без раздражающих «рывков». Работа с приложением стала более естественной и интуитивно-понятной, чем в настольной версии.
Visual voicemail. Пользователю давалась возможность перейти сразу к любому из имеющихся голосовых сообщений, без необходимости прокрутки через весь список. Это ставило Apple в положение основного поставщика тех впечатлений, которые получит пользователь от работы с устройством. Ранее эта роль отводилась сотовому оператору.
iTunes Sync. Каждый, кому довелось пользоваться в те дни Palm HotSync или Microsoft ActiveSync, могли по достоинству оценить ту простоту, с которой осуществлялась синхронизация с компьютером. Это еще один пример того, как Apple «заново изобрела» то, что уже существовало, но работало с проблемами. Купертиновские специалисты упростили синхронизацию мобильного устройства с ПК. Сегодня трудно понять, почему в те дни эта функция вызывала столько восторгов.
Программная клавиатура в iOS 1.0 была, пожалуй, первой полноценной виртуальной клавиатурой, которая позволяла осуществлять ввод текста при помощи пальцев. Так же как и привычная физическая клавиатура. Да, существовали такие системы ввода, как PalmOS Graffiti и сторонние расширения, подобные FitalyStamp. Текст вводился при помощи стилуса. Но идея виртуальной клавиатуры iOS состояла в том, чтобы освободить больше пространства под экран, лишив устройство физических клавиш. Этот шаг сделал много для популяризации смартфонов среди рядовых пользователей, далеких от глубокого интереса к новинкам электроники.
Но довольно хвалить iOS 1.0. Пора поговорить и о недостатках этой операционной системы. Самым значительным было то, что iOS 1.0 не поддерживала сторонние приложения. Apple старалась продвигать веб-приложения, но в 2007 году HTML-приложения не были готовы для загрузки на платформу. Именно по этой причине многие считают, что первый iPhone вообще не следует считать смартфоном. iOS 1.0 предлагала пользователю только один вид многозадачности: в фоновом режиме можно было слушать музыку, то есть одновременно пользоваться телефоном в режиме плеера iPod и другими его возможностями. Впрочем, многозадачность других смартфонов тех дней была весьма далека от совершенства. Но она по крайней мере была, а в iOS 1.0 многозадачность отсутствовала вовсе.
С iOS 1.0 в мир пришла новая компьютерная парадигма, которая преодолела сложившуюся «смартфонную» традицию. Состояла она в закрытии файловой системы от пользователя. Этот подход вызывает споры и по сей день, но именно он обеспечивает простоту устройства в использовании и делает его дружественным даже самому технически неподготовленному человеку. Закрытая файловая система обладала и явными недостатками: в частности, пользователь не мог вложить файл в электронное письмо. Другое ограничение состояло в невозможности менять звуковые сигналы уведомлений. Это вызывало разочарование. Звуковые сигналы легко меняются даже на самых простейших и дешевых телефонах.
В iOS 1.0 появился домашний экран «Springboard». Кнопка «Home» всегда возвращала пользователя к домашнему экрану с определенным набором пиктограмм, порядок которых нельзя было изменить. Домашний экран не поддерживал ни размещения виджетов, ни другой информации. Поэтому iOS в плане возможностей для кастомизации экрана уступала своим соперникам: Windows Mobile и Symbian.
iOS 1: обновления платформы
iOS 1.1.3 увидела свет в январе 2008 года. Она работала на все тех же iPhone 2G и iPod Touch первого поколения. Она лучше определяла географические координаты, поддерживала «Web Clips» на домашнем экране и позволяла менять порядок пиктограмм на нем. Виртуальная клавиатура получила поддержку мультитач.
В iOS 1.1.3 появилась возможность изменения порядка размещения пиктограмм на домашнем экране, а также возможность добавления ярлыков веб-страниц. Apple дала этому название «Web Clips». Новая возможность была по достоинству оценена пользователями. Чаще всего ее использовали в качестве системы напоминаний. Пользователи iPhone тех лет испытывали странную смесь чувств, состоящую из восторга и раздражения. Они ощущали нереализованный потенциал новой мобильной операционной системы. Своего рода «недосказанность» раздражала. Причиной же восторга была осознанная людьми способность Apple выпускать регулярные обновления, расширяющие функциональность iPhone.
iOS 1.1.3 увидела свет в январе 2008 года. Она работала на все тех же iPhone 2G и iPod Touch первого поколения.
Каждую новую функцию в те дни еще не слишком избалованные обилием новшеств пользователи встречали восклицанием: «Наконец-то!» Но это была не просто погоня за чем-то новеньким. Первая iOS на самом деле не могла похвастаться широким набором функций. И выпуском обновлений Apple демонстрировала свою способность и готовность расширять его. Но несмотря на появление новых возможностей, обновления так и не «научили» iOS установке сторонних приложений. Это свершилось только с появлением iOS 2, о которой мы и поговорим в следующей части нашего повествования.
Содержание цикла «История iOS»:
Источник
История операционных систем Apple. Часть 1. Дографическая эпоха
Начинаю перевод весьма основательного труда Амита Сингха по истории операционных систем Apple. Часть картинок добавлена при переводе для наглядности. Планирую 3 или 4 части, смотря как будет получаться по объему. В этой части посмотрим, что было до Macintosh и Apple Lisa.
Первые байты кода
В конце 1975 года Стив Возняк завершил прототип компьютера, который вскоре станет известен как Apple I. Возняк в то время работал в НР. Но этот проект был им неинтересен, так что он попросил дать им вольную. 1 апреля 1976 года Стив Джобс, Стив Возняк и инженер из Atari Рональд Уэйн основали Apple. Первым продуктом под этим именем был компьютер Возняка.
Apple I
Apple I был основан на 8-битном процессоре MOS Technology 6502, с частотой меньше 1 МГц. Это был упрощенный вариант более дорогого чипа Motorola 6800. Примерно аналогичным по параметрам был и Intel 8080, но он при этом был дороже. У компьютера был встроенный выход на телевизор, разъемы для 8 Кб памяти, интерфейсы клавиатуры и кассетного магнитофона. Корпус, БП, клавиатура и телевизор в комплект не входили, покупатель должен был раздобыть их самостоятельно.
Apple I подключался к телевизору через антенный вход и мог отображать 24 строки по 40 символов. Стартовая цена была 666 долларов 66 центов, в комплект, кроме материнской платы, входили 4 Кб памяти и кассета с Apple BASIC.
Операционной системы как таковой у Apple I не было, зато была прошивка под названием System Monitor. Размер ее был всего 256 байт, не Кб. Она позволяла работать с командной строкой с помощью клавиатуры и экрана, смотреть содержимое памяти, набирать и запускать программы, и так далее.
По сравнению с UNIX (шестое издание на то время, см. habrahabr.ru/post/194160), назвать прошивку Apple I операционной системой не поворачивается язык. С другой стороны, UNIX-совместимый компьютер стоил тогда десятки тысяч долларов. Намного более дешевый Apple I был предназначен для широких масс гиков любителей.
Apple II
Apple I был на конвеере меньше года, зато следующая модель, Apple II, прожила намного дольше. Apple II основан на том же процессоре 6502, но проектировался Возняком как интегрированный компьютер. Клавиатура была встроена прямо в корпус. Это был первый ПК, способный работать с цветной графикой.
Линейка Apple II была довольно разнообразной: Apple II+, IIe, IIc, IIc+, IIe Enhanced, IIe Platinum, и наконец 16-битный IIgs в 1986 году. (IIgs тут не вполне уместен, потому что был сделан на новой платформе и новом процессоре, но умел работать в режиме совместимости с старыми Apple II — прим. перев.) Некоторые из этих моделей также были проапгрейжены в ходе выпуска.
Для Apple II было создано несколько операционных систем.
Apple DOS
Вскоре после релиза Apple II в 1977 году стало очевидно, что без дисковода компьютер жить не будет. Возняк разработал прекрасный флоппи-дисковод Disk II. (этот эпизод хорошо описан в мемуарах Возняка. Очень рекомендую — прим. перев.) К дисководу понадобилась и дисковая операционная система. Первая версия Apple DOS 3.1 (не только Windows NT начала нумерацию с тройки — прим. перев.) вышла в июле 1978 года.
Никакого отношения к еще не вышедшей MS-DOS система не имела. В то время диски были роскошью, поэтому абрревиатура DOS активно использовалась для пиара, примерно как сегодня приставка i.
Такая странная нумерация получилась из-за того, что один из программистов, Пол Лафтон, фактически заменил номер версии номером билда. Все началось с 0.1, а бета-версия была под номером 3.0.
Apple Pascal
p-System была разработана в Университете Калифорнии и Сан-Диего (UCSD) и пользовалась большой популярностью в 70-х и начале 80-х годов. Это была портируемая операционная система, де-факто — виртуальная машина, выполняющая байткод p-code. Самый популярный язык разработки — UCSD Pascal. В Apple его модифицировали для Apple II. Марк Аллен и Ричард Гливс, студенты UCSD, разработали интерпретатор для 6502 летом 1978 года. В 1979 году на базе этой разработки вышел Apple II Pascal. Apple Pascal выпускался пять лет.
Apple CP/M
Microsoft разработал сопроцессорную плату Softcard в 1980 году. Изначально она называлась Microsoft Z-80 SoftCard, но потом ее переименовали во избежание судебной тяжбы с Zilog. Карта позволяла запускать на Apple II программы для процессора Z-80 и ОС CP/M. В те годы под нее было много софта. Из полезного и популярного можно вспомнить dBase и WordStar.
Были и другие сопроцессорные карты, с поддержкой различных процессоров. Карта Stellation Mill с процессором Motorola 6809 позволяла запускать на компьютерах Apple операционную систему реального времени OS-9.
Apple SOS
Apple III выпустили в 1980 году для бизнес-пользователей. Новая ОС, SOS, официально получила свое название из-за сложности и продвинутости (Sophisticated Operating System), но реально один из разработчиков увековечил имя своей дочери — Sara’s Operating System. Каждая программа загружала в память также и операционную систему. На диске было ядро SOS.kernel, интерпретатор SOS.Interp и набор драйверов SOS.Driver.
SOS эволюционировала в Apple ProDOS.
Apple ProDOS
На смену Apple DOS 3.3 в октябре 1983 года пришла ProDOS 1.0, основанная на SOS. В новой системе было удобней программировать на Бейсике, ассемблере и прямо в кодах. В SOS улучшили работу с прерываниями, ускорили и упростили доступ к диску, и внесли множество других улучшений. Также появилась иерархическая файловая система с такими возможностями:
- Поддержка нескольких логических томов на одном физическом носителе
- Поддержка до 20 разных типов файлов, 10 из них доступны для назначения пользователем
- До восьми открытых одновременно файлов
- Любое количество файлов в подкаталоге. Хотя в корневом каталоге могло быть не более 51
После выхода 16-битного Apple IIGS ProDOS версии 1.1.1 на тот момент разделили на 8-битную ветку ProDOS 8 и 16-битную ProDOS 16.
Поиск источников вдохновения
В 1984 году Apple выпускает Macintosh, а в 1983 — Apple Lisa. Здесь будет уместно вернуться в 1968 год. До появления UNIX, до основания Apple и Microsoft. За 17 лет до выхода Windows 1.0.
NLS: oNLine System
Дадим слово самому Энгельбарту.
Суть этого проекта вкратце такова: представь, что у тебя в офисе есть компьютер с экраном, который работает на тебя весь день и моментально откликается на твои действия. Сколько можно было бы дополнительно заработать с таким помощником? Мы стремились именно к такой картине.
Энгельбарт показал первую мышь. Указывающее устройство с тремя кнопками и пятном-”жучком” на экране. Снизу была два перпендикулярных колеса, на каждом по потенциометру. Если возить мышкой по поверхности, жучок на экране ползает соответственно перемещению.
Аккордная клавиатура
Другая новинка на этой презентации — пятипальцевая аккордная клавиатура. Она позволяет вводить 2**5-1 = 31 символ. Минус единица сооветствует всем ненажатым клавишам.
Работа с документами
Энгельбарт показал, что текст можно вводить, перетягивать, копипастить, форматировать, прокручивать, иерархически группировать, и так далее. Созданный текст можно сохранить в файле с метаданными типа имени автора и времени создания. Если использовать мышку, то все это несложно и быстро. Энгельбарт называл общий механизм всего этого view control.
Система была удобна для написания кода. Блоки кода можно было сворачивать, работало автодополнение. Также поддерживалась разметка, которая позволяла форматировать документ в соответствии с назначением, например для печати.
Гипертекст и карты изображений
С помощью гипертекста Энгельбарт реализовал переходы между фрагментами текста. Это может быть переход к результату поиска или просто переход по видимой или невидимой гиперссылке.
Система также поддерживала рисование. В картинки тоже можно было встраивать гиперссылки на манер современных карт изображений, image map.
Слово “гипертекст” придумал Тед Нельсон, а саму идею приписывают Ванневару Бушу. Он был советником по науке Франклина Рузвельта, и в 1945 году предложил ассоциацию вместо индексирования как способ связи фрагментов информации.
Поиск
Был реализован мощный инструментарий поиска с весами ключевых слов и выводом результата в виде гипертекста.
Экран можно было разделить на две части, одна из которых статичная, а вторая интерактивная. Например, при чтении мануала появилось непонятное слово. Можно было открыть во втором окне словарь и уточнить его значение. В целом, это было похоже на HTML-фреймы.
Совместная работа
Также можно было совместно работать над документами, править чужой текст, оставлять заметки соавторам — почти как Гитхаб.
Также можно было оставить сообщение конкретному человеку, а не пользователю вообще. Программируемый фильтр позволял показывать разное содержимое файла различным пользователям.
Интерактивная совместная работа
А еще показывали живую видеоконференцию. Можно было даже показывать удаленным пользователям одно и то же изображение на экране, но предоставить разные права доступа. Например, один редактирует, а второй наблюдает в рид-онли.
Результат
Энгельбарт утверждал, что такая система позволит пользователям эффективно справляться со сложной информацией, в которой контент представляет собой концепции. NLS должна была стать инструментом для навигации по структурам, которые не могут быть отображены простым текстом.
Энгельбарт также работал над созданием ARPANet. В планах был специальный сервис для работы с актуальной информации о сети и ответов на вопросы типа “Кто предоставляет этот сервис?”, “Какой протокол мне надо использовать?”, “Какие хосты онлайн, а какие отключены?”.
Активно использовалась концепция бутстрепинга. Краткий смысл: “Мы создаем этот инструмент, чтобы с его помощью создать еще лучшие инструменты”.
Даже такие инновации не спасли NLS. Институт прекратил финансирование. Многие разработчики перебрались в новый проект Xerox PARC, где они планировали создать распределенную сетевую версию NLS. Энгельбарт ушел в телефонную компанию Tymshare. По иронии судьбы, его офис был недалеко от Apple.
Smalltalk
Разработка Xerox PARC очень сильно изменила подход к компьютерным интерфейсам вообще. Первую версию Smalltalk выпустили на PARC в 1972 году. Это был первый полностью объектно-ориентированный язык. В основе лежал язык Simula. Была также среда разработки с оконным интерфейсом. На Smalltalk написали много чего интересного для той платформы: WYSIWYG редактор, софт для захвата и редактирования звука, анимации и так далее.
Позже, глядя на Smalltalk, разработали язык Objective-C. Главный разработчик Smalltalk Алан Кей был основателем проекта PARC. В конце 60-х он предложил идею чего-то в духе современного КПК под названием Dynabook. Позже он работал во многих крупных компьютерных компаниях, включая Apple, на должности главного по науке.
Xerox Alto
В Xerox не забывали и о персональных компьютерах в сегодняшнем смысле этого слова. В результате получился Xerox Alto. У него был 16-битный процессор, вертикальный экран с разрешением 606х808, клавиатура обычная и аккордная, трехкнопочная мышь с шаром и красивый корпус. Были в наличии интерфейсы для принтера, плоттера, Ethernet со скоростью 2.94 Mbps. Поддерживалась сеть и сетевая печать, но не было виртуальной памяти. В 1979 году в эксплуатации было около 1500 станций Alto. Они продавались и сторонним покупателям.
Источник