После работы над редизайном Youtube и публикации своей концепции для macOS, я решил, что должен позаботиться об одной из моих самых любимых платформ – iOS для iPhone.
Еще в 2009 году вряд ли кто-нибудь из моего окружения знал, что такое iPhone. Тогда он еще не достиг берегов Франции. Впервые я увидел его своими глазами в ресторане у моей тети (да, той, у которой был огромный iMac в гостиной). Она привезла его с собой, и я провел весь вечер с ним. Я помню, как меня поразила чувствительность экрана и насколько естественными были жесты мультитач. До тех пор сенсорные экраны означали резистивные технологии (знаете, эти сенсорные экраны, где вам приходилось нажимать очень сильно, чтобы что-либо сделать), и это явно не допускало такого плавного опыта. Вернувшись домой, я умолял родителей купить мне iPhone, а через несколько месяцев я с радостью получил iPhone 3G на день рождения.
Предстоящие воркшопы
Этому телефону не хватало ключевых функций, таких как видеокамера, и отправка MMS, но мне было все равно: пользовательский опыт намного опережал конкурентов, а в App Store было много потенциала на будущее.
Почти десять лет спустя, iOS получила много улучшений. И Apple каждый год разрабатывает новую версию с новыми функциями. На этот раз мне захотелось вообразить обновление, которое бы обрадовало лично меня, если бы оно появилось на WWDC, и вот, что я придумал.
Позвольте представить вам iOS Mogi.

«Привет, Siri, помоги мне»
Первая часть этой концепции сосредоточена на Siri. Здесь идея заключается не в создании новых команд, а в том, чтобы иначе отображать существующие голосовые запросы, которые хорошо работают (например, «Найди мне хороший ресторан поблизости» или «Покажи фотографии Японии, которые я сделал в прошлом году»), чтобы они стали еще полезнее для пользователя.
В iOS Mogi Siri была спроектирована на основе концепции, которую я называю параллельной помощью. Идея состоит в том, чтобы голосовой помощник был ненавязчивым (он не будет занимать весь экран, как он делает сегодня), контекстно-зависимым и мог делать что-то для пользователя в фоновом режиме, пока тот занят чем-то еще.
Поскольку изображения куда понятнее слов, вот очень простой пример:

Во время использования приложений Siri принимает форму уведомления, чтобы быть менее навязчивой (если вызвать ее с экрана блокировки или на главном экране, она будет отображаться на весь экран).

В приведенном выше примере я прошу Siri показать мне фотографии Японии, поскольку хочу отправить фото моему другу Яннику. Как только запрос будет выполнен, результат отображается в уведомлении Siri, поэтому я могу продолжать делать то, что делаю, не прерываясь. Я могу свайпнуть вниз по уведомлению, чтобы увидеть больше, и выбрать фотографии для отправки.

Или я могу напрямую перетащить изображение из расширенного уведомления в приложение ниже (наконец, внося вклад в API перетаскивания на iPhone):

Если оно не использовалось какое-то время, уведомление сжимается к верху экрана:

И можно снова открыть его, смахнув вниз экрана (мы вернемся к нему позже):

Что действительно круто в новой Siri, так это то, что полученные результаты могут быть легко использованы в другом приложении:

Я считаю, что проектирование ненавязчивой Siri имеет много случаев использования и может реально выделиться на фоне конкурентов благодаря глубокой интеграции в ОС. Вот несколько примеров, чего можно было бы достичь с помощью новой Siri:


И даже больше. В iOS Mogi можно попросить Siri показывать страницы из приложения, работая в другом приложении. Так, например, я могу писать письмо и хочу добавить картинку, которую друг отправил мне в iMessage. Вот как это выглядело бы в iOS Mogi:

Это начало настоящей многозадачности на мобильном устройстве, и я думаю, что она более приспособлена к мобильным ограничениям, чем просто вертикальное разделение экрана на 2.
«Привет Siri, я хочу…»
Знаете, как иногда раздражает, когда вы пытаетесь отправить сообщение при помощи Siri, и в конечном итоге берете свой телефон и набираете текст? В iOS Mogi, вместо того, чтобы полностью полагаться на Siri, чтобы сделать что-то за вас, вы можете попросить ее помочь вам справиться быстрее. Больше не придется блуждать в интерфейсе, просто начните свое предложение с «Я хочу …», и Siri позволит вам сделать это, не отрываясь от текущей задачи (в iOS Mogi то, что вы делаете, действительно драгоценно).

И это работает прямо с экрана блокировки:

«Привет, Siri, прокрути немного вниз»
Поскольку теперь Siri совершенно не навязчива, появляются новые варианты ее использования. Один из них – действия Siri (Siri actions).
Действия Siri в основном претворяют в жизнь любые сенсорные жесты в голосовые команды. От тапа до скролла все теперь можно выполнять используя исключительно голосовые команды. Поэтому я могу, например, попросить Siri прокрутить список моих альбомов и открыть High as Hope от Florence + The Machine.

Элементарные варианты использования, подобные этому, ранее были невозможны, поскольку Siri занимала весь экран и не понимала контекста. Теперь, когда я пишу электронное письмо, я могу на ходу попросить Siri изменить получателя, изменить подпись или даже изменить стиль, пока пишу письмо:

Думаю, что это был бы огромный шаг вперед, в частности для людей с ограниченными возможностями. Действия Siri упростили бы им навигацию по ОС. Даже для остальных пользователей, думаю, это было бы действительно полезно. Например, когда руки заняты, при приготовлении пищи, или просто для облегчения выполнения некоторых повторяющихся задач (как видно выше в приложении «Почта»).
И все может пойти еще дальше благодаря ARKit 2, который оказался достаточно точным, чтобы отслеживать движение глаз (но давайте пока не будем усложнять нашу концепцию):
Я считаю, что действия Siri очень согласованы с первоначальным подходом Siri, который должен позволить пользователям выполнять простые действия при помощи голоса. Сделав Siri ненавязчивой, мы можем сделать шаг вперед.
Действия Siri также приносят с собой новую способность Siri: сохранение элементов из любого приложения, чтобы использовать их в другом. Откройте фотографию и скажите: «Сохранить эту фотографию», чтобы Siri ее сохранила.

Откройте другое приложение и перетащите фотографию из уведомления Siri в приложение:

Это также работает для копирования-вставки:

Просто тапните, чтобы вставить текст в текущем приложении, в котором находится курсор. Вы также можете перетащить контент куда захотите:

Вы можете попросить Siri показать вам все ваши сохраненные элементы сказав: «Покажи мне все сохраненные элементы»:

Когда сохраненные элементы используются в другом месте, они исчезают из этого списка.
Вот такая вот новая Siri. А что, если бы мы применили те же принципы ненавязчивой многозадачности к другим областям ОС? Разумеется, новые жесты и визуальный код могут быть применены где угодно. Как мы можем это использовать? Прежде чем углубиться в эту идею, давайте посмотрим, можем ли мы улучшить опыт в той конкретной области, где я лично трачу много времени: Apple Maps.
Apple Maps
Не бросайте в меня помидоры, но мне действительно нравится приложение «Карты» от Apple. Хотя некоторые из его данных могут быть не столь надежными, особенно здесь, во Франции, я нахожу пользовательский опыт и интерфейс очень восхитительным. «Ящик» внизу, представленный в iOS 10, когда приложение было переработано, является блестящей идеей. Неудивительно, что мы стали замечать, как он появляется в других приложениях, например, Lyft.
Однако то, что меня беспокоит время от времени – это отсутствие понимания контекста, особенно при использовании транспортных систем. Более конкретно, когда я еду по линии метро, и пытаюсь получить новые направления, приложение «Карты» не знает, что я застрял на этой линии и дает мне указания, основанные исключительно на моем текущем местоположении, в то время, как оно должно основывать вычисления по моему текущему местоположению с учетом текущей ветки метро. Очень часто я получаю указания от начальных точек, которые недоступны оттуда, где я нахожусь на данный момент. С этой точки зрения навигация по Apple Maps становится бесполезной.
Разумеется, для Apple Maps должны быть способы определить, какую линию метро я использую в данный момент. Схема метрополитена известна Apple Maps. Поэтому приложение может просто проверить мою позицию и сравнить ее с траекторией линии. Как только алгоритмы определят, что я еду, скажем, на линии Кэйо в токийском метро, вот что произойдет:

Приложение может спросить пользователя, действительно ли он находится на линии Кэйо. Запрос может быть отклонен путем свайпа вниз или, если указана правильная линия, но не направление, можно листать влево или вправо до тех пор, пока не будет найдено правильное направление. Как только пользователь подтвердит линию, на которой находится, Apple Maps рассчитает новые направления на основе этой информации:

3D Touch нажатие по маленькой черной кнопке, чтобы включить линейный вид ветки метро с вашим положением в реальном времени:

Почему я внезапно заговорил об Apple Maps и каким образом это согласуется с предыдущей частью статьи, вы можете спросить? Ну, вот в чем дело: iOS не хватает способов информировать пользователя о вещах, которые происходят сейчас. Думаю, что пользователи хотели бы легко отслеживать свой маршрут, делая что-то еще (например, играть или читать в метро), и они также должны иметь возможность быстро вернуться к Apple Maps (или их любимому навигационному приложению) без необходимости открывать App Switcher или возврата на домашний экран.
В ответ на эту проблему позвольте мне представить вам Live Notifications.
Live Notifications или многозадачность мобильных устройств
Прежде всего, давайте обратим внимание на то, как iOS пытается информировать пользователя о том, что происходит в фоновом режиме.
Вот таймер:
Во время телефонного звонка/ звонка в Facetime:
Вот навигации по картам:

Когда телефон используется в качестве точки доступа:
Когда записывается экран или памятка:
И… вот и все (я не добавил музыкальный проигрыватель в этот список, так как он обрабатывается несколько иначе, и я не вижу причин его изменять).
Как насчет того, когда Uber в пути? Когда должны доставить еду? Когда видео воспроизводится на Youtube или Netflix? Или когда… мы используем транспорт и нам нужно легко отслеживать маршрут? (?)
Хорошо, что Apple сделала телефонные звонки или маршруты приложения «Карты» легкодоступными (в строке состояния или на экране блокировки). Однако, способы сделать это слишком ограниченны (ограничены несколькими нативными приложениями, и никакое действие не может быть запущено без открытия соответствующего приложения), они должны быть доступны в любом месте и в любое время без прерывания текущей задачи. А некоторые из них визуально не согласованны и хорошо интегрированы в систему. Вкратце, они больше походят на быстрое решение, которое взламывает систему, чем истинную функцию, и должно быть лучшее и более элегантное решение для решения этих и других вопросов (оно также должно быть открыто для сторонних приложений!).
Live Notifications были разработаны для решения этой проблемы.
Давайте рассмотрим наш предыдущий пример, когда пользователь, читающий книгу в приложении iBooks, находится в метро. Вот как он мог бы взглянуть на текущий маршрут:

Чтобы взглянуть на свое текущее положение на линии метро, пользователю просто нужно перетащить вниз небольшую полоску в верхней части экрана.
Чтобы открыть Центр уведомлений, потяните дальше:

И точно так же, через несколько секунд и не выходя из приложения iBooks, пользователь может знать, где он находится на линии метро, и не пропустить свою остановку.
Эти жесты должны быть вам знакомы. Они аналогичны жестам для Siri. На самом деле, в iOS Mogi, Siri также является Live Notification. Итак, все жесты, которые были введены ранее, также доступны для других задач.
Например, в этом случае пользователь может перетащить Live Notification, чтобы показать свое положение на карте в реальном времени. Он также может инициировать действия прямо оттуда:

Если пользователи захотят, они также могут нажать на Live Notification, как на обычное уведомление, чтобы открыть соответствующее приложение:

Live Notifications – это естественная эволюция Rich Notifications, представленных в iOS 10. Теперь, как никогда, они ощущаются мини-приложениями.
Как запускать Live Notifications? Ничего не надо делать. Приложения определяют, запускать ли Live Notifications или нет, в зависимости от ситуации. Когда активируется Live Notification, происходит это:

Приложение сжимается в Live Notification, чтобы уведомить пользователя, а затем в маленькую полоску в верхней части экрана, чтобы избежать навязчивости.
Вот несколько примеров того, как процессы, происходящие в фоновом режиме, могут обрабатываться ОС благодаря Live Notifications:




Live Notifications также могут использоваться для быстрого обмена информацией:

То же самое для скриншотов, которыми теперь можно поделиться простым перетаскиванием:

При одновременном запуске нескольких Live Notifications они складываются в стек в стиле iOS 12:

Их можно легко упорядочить при помощи перетаскивания, чтобы ваше любимое Live Notification было поверх остальных:

И, разумеется, Live Notifications также доступны непосредственно с экрана блокировки, поэтому вам легко увидеть маршрут или вернуться туда, где вы были:

В заключение
Вот такая вот iOS Mogi. iOS Mogi – это третья итерация концепции, которую я начал около 2 лет назад (тогда же я начал работать над macOS Newton). Тогда она называлась iOS Fuji.
С самого начала я хотел найти элегантный способ реализовать многозадачность на мобильном телефоне, и разделение экрана никогда не было для меня вариантом. Я хотел что-то более согласованное с мобильным подходом, и, надеюсь, вы сочтете Live Notifications хорошим шагом в этом направлении.
Как всегда, приветствуются лайки и комментарии 🙂