Иллюстрация: Apple, Developers session
Для многих наших читателей Apple Worldwide Developers Conference — это мероприятие, в рамках которого анонсируют очередные версии операционных систем и показывают новые устройства. Трансляция презентации первого дня WWDC — это возможность узнать, какие функции появятся осенью в новых версиях iOS, macOS, watchOS и tvOS. Во всем этом многообразии анонсов многие упускают из виду, что мероприятие, в первую очередь, посвящено разработчикам.
В течение нескольких дней тысячи начинающих программистов и специалистов крупнейших компаний получат возможность в числе первых знакомиться с новыми версиями платформ, делиться опытом, решать проблемы и работать над улучшением продуктов. Все это происходит совместно с инженерами компании Apple — теми людьми, которые принимали непосредственное участие в создании операционных систем и их компонентов. Именно благодаря WWDC мы получаем возможность пользоваться всеми новыми функциями платформ, которые разработчики добавляют к осенним релизам обновленных версий приложений и игр.
За несколько дней до Apple Worldwide Developers Conference редакции iguides удалось пообщаться с разработчиками из Яндекса, ABBYY, Avito, Game Insight и App in the Air — теми людьми, которые каждый год стараются попасть на конференцию и поедут туда в этом году.
Иллюстрация: личный архив Андрея Ивашенцева
Андрей Ивашенцев (Game Insight): Я директор по инновациям компании Game Insight, ведущего мирового разработчика игр. На конференцию WWDC 2017 еду уже во второй раз. В этом году выиграть билет повезло не только мне, но и моим коллегам из команды iOS-разработки, которая у нас занимается внедрением платформенного iOS функционала.
Иллюстрация: личный архив Сергея Пронина
Сергей Пронин (App in the Air): Я работаю CTO в App in the Air. Мы занимаемся тревел-бизнесом. На WWDC 2017 еду уже в третий раз, а основная цель — к сентябрю начать использовать все новое. По опыту прошлых лет мы знаем, что это дает высокий шанс попасть в специальную подборку типа «Лучшие приложения для новой iOS». Именно поэтому мы любим все делать супер быстро.
Иллюстрация: личный архив Романа Бусыгина
Роман Бусыгин (Яндекс): Я работаю в Яндексе ведущим разработчиком. На WWDC еду в четвертый раз. Для меня это дает возможность решить вопросы, связанные с необычными сценариями использования стандартных компонентов. Мы делаем простые для людей, но сложные под капотом приложения, поэтому для нас сессии – это отличная возможность поговорить с инженерами Apple, с теми, кто непосредственно участвовал в создании операционной системы и ее компонентов. Это позволяет на месте разобраться в анонсированных технологиях и понять, какое применение они могут найти в наших сервисах.
Иллюстрация: личный архив Игоря Акимова
Игорь Акимов (ABBYY): Я работаю руководителем отдела мобильных продуктов. На WWDC собираюсь во второй раз и считаю, что эта конференция – одно из самых полезных мероприятий в сфере мобильной разработки. Мы уделяем большое внимание платформе iOS и стараемся максимально оперативно к выходу её новых версий поставлять обновления наших продуктов, выпускать новые. Ведь пользователи устройств Apple всегда довольно быстро переходят на новую версию операционной системы, обновляют приложения и положительно оценивают наши продукты. Кроме того, сами сессии на WWDC очень интересные, они позволяют получить хороший опыт работы с новыми функциями. Из-за огромного спроса на WWDC есть и труднодоступные встречи, на которые надо успеть записаться в 7 утра, в частности, по дизайну и по маркетингу. Но если на них попасть, это может очень хорошо сказаться на приложениях. Например, благодаря поездке и консультации на WWDC в прошлом году, мы полностью переработали дизайн наших продуктов и скоро покажем пользователям.
Иллюстрация: личный архив Егора Толстого
Егор Толстой (Avito): Я руковожу мобильной разработкой в Avito. Основная цель поездки — на месте попробовать все нововведения, посмотреть, как они могут отразиться на приложениях, получить комментарии инженеров и попробовать это сразу внедрить. Не менее важен на WWDC нетворкинг, там можно познакомиться с интересными людьми, пообщаться с ребятами из других компаний, обменяться опытом по ведению различных процессов разработки. Третья цель — дать дополнительное освещение WWDC через мои каналы среди разработчиков: Telegram, подкаст и другие соцсети.
iG: Некоторые думают, что поездка на WWDC больше интересна начинающим разработчикам, которым очень нужны новые знания, а в больших компаниях уже есть огромный багаж накопленного опыта. Расскажите, что вам дают поездки на WWDC?
Андрей Ивашенцев (Game Insight): Каждый год в рамках WWDC происходит вручение Apple Design Awards, которое вы часто освещаете у себя на страницах, рассказывая читателям о лучших продуктах. Для нас это возможность на месте увидеть самые крутые мобильные приложения и людей, которые ими занимаются. Apple Design Awards каждый раз поднимает твою личную планку и заставляет стремиться к большему. Это не столько про разработку, сколько про внутреннее ощущение того, какого рода продукт ты делаешь. Если ты хочешь дотянуться до планки, когда твое приложение показывают на сцене крупнейшего мероприятия Apple, начинаешь усиленно работать, копать глубже и стремиться к новым вершинам.
Также нужно понимать, что WWDC — это начало нового «технического» года, когда ты видишь, что будет в новой версии операционной системы, в новых приложениях и обновлениях существующих. Хочешь ли ты двигаться в новом направлении, соответствует ли оно твоим личным ожиданиям — имеет не такое большое значение. В любом случае все анонсированное на WWDC — это то, о чем будут говорить, о чем будут думать разработчики на протяжении следующего года. Конференция позволяет зарядиться позитивом и энергией, понять, что все эти люди — тысячи людей в зале — приехали сюда за новыми знаниями и вдохновением, чтобы работать дальше. Абсолютно все потратили силы, время и деньги, чтобы все это впитать. Это особенная энергетика.
Роман Бусыгин (Яндекс): Когда ты работаешь с какой-то специфичной функциональностью SDK, занимающихся этим специалистов очень мало. WWDC – то место, где ты можешь встретиться с этими людьми в определенное время и в определенном месте. Есть расписание сессий по конкретным framework-ам, и ты знаешь, что с этой технологией связаны все люди, которые пришли в зал, чтобы послушать о новинках или увидеть лучшие практики. Ты можешь с ними поговорить, узнать взгляды коллег на имеющиеся сложности и на месте общими усилиями попытаться решить существующие проблемы.
Сергей Пронин (App in the Air): В прошлом году у меня получалось прийти на лабу с реальной проблемой и найти решение. В течение года в рамках developer program есть две возможности написать инженерам: прислать им код, и они скажут, что не работает. Мы это делали, но нам не очень помогло: код нормальный, все должно работать (и оно работало), а потом в какой-то день внезапно сломалось. Я пришел на лабу, показал этот код, мы посидели с инженером, обсудили проблемы, он рассказал про изменения в серверной части и в итоге мы смогли все исправить. Кроме специалистов Apple никто не смог бы мне помочь. Это уникальная возможность. На WWDC я вижу и общаюсь с людьми, которые сами писали этот код, создавали SDK, и мы с ними разговариваем на одном языке. Другой такой возможности просто нет.
Игорь Акимов (ABBYY): У нас, действительно, очень сильная команда разработчиков. Но это не значит, что нам нечему учиться. Мы пишем под iOS, macOS, а также watchOS. Есть список вопросов, с которыми я приезжаю на WWDC и хожу на лабы или код-ревью. Ответы на эти вопросы всегда получаешь очень адекватные. Например, был очень хороший опыт, связанный с приложением для Apple Watch. Когда мы делали сканер визиток, то столкнулись с проблемой хранения и обновления большого количества данных на часах: контактов и их фотографий. Что делать, если у человека собрано 4000 визиток? В такой ситуации очень сложно понять, как лучше работать с синхронизацией данных. На WWDC была организована встреча с инженером-разработчиком платформы watchOS, и он помог нам разработать систему обновлений, которая до сих пор хорошо работает, даже после перехода на новую версию операционной системы для часов.
iG: И сколько времени вы провели с инженером, чтобы разобраться с вопросом по системе синхронизации данных?
Игорь Акимов (ABBYY): На решение ушло примерно 30-40 минут, но это было очень полезно.
Иллюстрация: Apple, Developers workshop
iG:Мобильные платформы уже прошли большой путь, у людей уже сформировались списки используемых приложений и сервисов, и бывает сложно заставить пользователя скачать какой-то новый продукт. Сейчас вы нацелены больше на добавление новой функциональности в текущие приложения или на создание новых приложений по-прежнему в фокусе?
Егор Толстой (Avito): У нас в приоритете доработка существующего приложения Avito-объявления, потому что все крутится вокруг него. До моего прихода, возможно, не так активно добавлялись какие-то функции на основе новых технологий операционной системы, но сейчас внедрение платформенных инноваций — одна из моих обязанностей.
Сергей Пронин (App in the Air): Сначала мы приходим к пониманию того, что из представленного мы точно реализуем в продукте. Как я говорил, это хорошие шансы попасть в какую-то классную подборку. Например, наше приложение было в рекомендациях на платформах watchOS и iOS. Это дает очень хороший прирост установок, потому что люди стараются как можно быстрее обновить операционную систему. Вокруг выхода новых версий iOS всегда очень хороший хайп, потому что пользователи хотят попробовать новое, посмотреть все эти штуки. Например, если взять появление 3D Touch, они ставили все подряд приложения с поддержкой сильного нажатия, чтобы просто его попробовать и посмотреть, как это может использоваться у разных разработчиков.
Второе, мы пытаемся понять из появившейся функциональности, можем ли сделать новый продукт, который раньше не могли. Например, когда вышел Apple Pay, мы поняли, что это супер возможность быстро проводить платеж, и мы сделали продукт для быстрой покупки кофе в один клик. В приложении доступна карта с кофе, ты выбираешь кофейню, нажимаешь Apple Pay – и покупка совершена. Раньше пользователю приходилось привязывать карту, а это уже сложно. Какие-то продуктовые вещи могут родиться, исходя из функциональности, которая нам вроде как не нужна в основном продукте, но мы можем сделать супер простой продукт, который получит охват, при этом будет использовать новые технологии.
Роман Бусыгин (Яндекс): Приложения и задачи — разные, поэтому у каждого свой путь. Опыт показывает, что нельзя ко всему применять один шаблон. Ничего не стоит, все меняется. Любую возможность для изменения, либо создания нового нужно использовать. Неизвестно, какая из идей выстрелит, и я считаю важным после возвращения с конференции поделиться своими находками с коллегами. Вдруг у них появятся какие-то идеи, и это даст рост новому сервису, либо это позволит реализовать что-нибудь новое в существующем продукте.
Игорь Акимов (ABBYY): В первую очередь мы развиваем наши основные продукты. Но есть и довольно большой пласт технологий, который мы используем только на десктопе – серверное распознавание текстов, интеллектуальный анализ документов. Без каких-то вложений со стороны платформы, той же системы Machine Learning, сложно построить такой продукт на мобильных устройствах. В прошлом году Apple анонсировала работу с нейронными сетями (Basic Neural Network Subroutines и Metal Performance Shaders for Convolutional Neural Network). На базовом уровне она работает, но наши интеллектуальные технологии достаточно сложные, и нам необходимо больше возможностей. Например, анализ содержимого документов с использованием искусственного интеллекта или разрезание и «выпрямление» страниц книги. Если поиск нужных полей будет просто перенесен на мобильное устройство вместо использования серверов, это существенно упростит сценарий использования. Сейчас так: отправил документ, ждешь загрузку на сервер, в очередях на анализ и выгрузку на устройство. А на смартфоне можно было бы за 10 секунд получить ответ и сразу с ним работать.
Егор Толстой (Avito): Еще есть классный вариант – проверка новых функций на внутреннем хакатоне в формате гипотез. Собирается команда, встраивает функциональность в текущие приложения или новые прототипы, это всё раздается на компанию. Потом уже мы смотрим, что на уровне компании выстрелило, а что нет, что нравится, а что не нравится. И уже по результатам такого внутреннего тестирования начинаем встраивать новые функции в текущие приложения.
iG: А как вы оцениваете текущее положение дел с приложениями для Apple Watch? Насколько активно ими пользуются, какие есть ожидания от платформы на ближайшее будущее?
Сергей Пронин (App in the Air): У нас очень активно пользуются приложениями для часов. Я бы сказал, complications – это просто огонь! Много внимания в компании мы уделяем обратной связи с пользователями, от которых мы узнаем, что очень многие пользуются complications и приложением для часов. Мы много времени тратили на то, чтобы найти именно такой сценарий использования в стиле Apple, когда человек смотрит на экран устройства 2 секунды, а то и меньше.
Андрей Ивашенцев (Game Insight): Статистически, игроки, которые поставили себе приложение-компаньон на Apple Watch, возвращаются в игру в 4 раза чаще, чем другие, и они имеют потенциал заплатить в игре в 4 раза больше. Также, по имеющимся у нас данным, порядка 25% игроков с часами платят в наших играх.
Помимо прочего, часы являются некоторым показателем состоятельности. У таких игроков, с высокой вероятностью, самый свежий айфон, самая актуальная версия WatchOS на часах и просто выше покупательская способность. Мы верим, что платформа будет активно развиваться и наращивать как функциональность, так и базу активных пользователей.
iG: Игры для Apple Watch делать планируете? Может быть, какие-то растянутые во времени текстовые и квестовые механики, где не нужно много графики и большого количества действий?
Андрей Ивашенцев (Game Insight): Есть множество классных идей под часы, но очень мало красивых кейсов создания реально успешных и прибыльных продуктов. Из-за маленького экрана, небольшого количества памяти и специфических сценариев использования часов есть масса ограничений в плане игр. Конечно, можно убрать все лишнее и оставить только базовый геймплей, но это будет интересно только в качестве комплимента к основной игре. А мы все-таки делаем совсем другие проекты — у нас большие игры с многолетней историей. Есть даже такие, в которых игроки провели уже более пяти лет, прокачались до сотого уровня, ждут новый контент. Такую глубину геймплея, к сожалению, очень сложно реализовать на часах.
Мы реализовали разные варианты взаимодействия для часов, в частности — приложение-компаньон для игры Mirrors of Albion, дающее некоторые дополнительные возможности для игроков с часами. Они получают бесплатные бонусы и могут отслеживать ключевые игровые показатели прямо с часов. Такой подход минимизирует негативный эффект от уведомлений, это повышает вовлеченность и улучшает пользовательский опыт. Ну и мы, разумеется, планируем продолжать улучшать функциональность и пробовать новые механики для Apple Watch.
iG: А что насчет Apple TV?
Андрей Ивашенцев (Game Insight): Apple TV – очень крутая платформа, в том числе и для игр, количество которых там неуклонно растет. Очень жду новостей и анонсов про tvOS на WWDC, среди которых может оказаться что-то уникальное именно для игр. Что касается наших планов, то мы прорабатываем концепты, подходящие под парадигму управления tvOS, и примеряем их как на существующие, так и на еще не анонсированные проекты.
Иллюстрация: Apple, iPad Swift Playgrounds Lesson
iG: Давайте вернемся к часам.
Игорь Акимов (ABBYY): Мы делали прототипы своего приложения для Apple Watch и ставили их тем сотрудникам в компании, кто пользуется часами. В итоге поняли, что один из основных наших сценариев – когда ты познакомился с человеком и отсканировал его визитку, а потом забыл, кто именно это был. Визуально помнишь лицо, помнишь примерное время знакомства, но не помнишь имя. На часах можно отмотать время назад и посмотреть кто это был. Это тот быстрый сценарий, когда нужна информация прямо сейчас. В смартфоне часто бывает неудобно что-то смотреть, а на Apple Watch это сделать проще и быстрее.
Форм-фактор и размер экрана — основные ограничения платформы?
Игорь Акимов (ABBYY): Да, но сами часы — это хорошее дополнение к смартфону.
Роман Бусыгин (Яндекс): На самом деле важно понимать, что у платформы специфический сценарий использования. Чтобы сделать хорошее приложение под часы, ты должен хорошо понимать свой продукт, его сценарий использования, и быть постоянным пользователем часов. Легко сделать приложение в симуляторе и запустить его в App Store, но потом окажется, что это вообще не тот пользовательский опыт, который ждут владельцы часов. Нужно аккуратно подходить к тому, что и как делать на часах.
Сергей Пронин (App in the Air): Про Apple Watch могу еще рассказать историю с WWDC. Там есть не только встречи с инженерами, но также лабы по дизайну в специальной комнате, где можно без посторонних показывать внешний вид продукта. Мы шли на эту встречу с приложениями для macOS и iOS и получили супер советы о том, что нужно переосмыслить, и как пользователи взаимодействуют с интерфейсом. Я получил советы, как поменять приложение, чтобы оно стало реально проще, чтобы пользователь максимально быстро могу решить свою проблему. Это было очень полезно, когда тебе дает советы человек из Apple, досконально знающий платформу и понимающий ее особенности. Это уникальное явление!
Как часто после WWDC меняется видение продукта? Бывает ли такое, что вы ехали туда с определенными планами и ожиданиями, а потом понимаете, что нужно вообще все менять и двигаться в другую сторону?
Сергей Пронин (App in the Air): Конечно, бывает! Например, от приложения для macOS мы отказались именно во время WWDC. Мы подумали, что нам нужна десктопная программа и начали работать над ней, а на конференции мне задали вопрос: с точки зрения UX у тебя приложение про полеты, а представь сценарий использования, когда ты занимаешься этим на Mac? После этого мы решили поставить разработку на паузу. Еще один пример есть с Apple Watch, мы три раза меняли дизайн, под каждую новую версию watchOS. Интерфейс похож, но UX меняется, потому что меняются и платформенные возможности. Каждый раз появляется что-то новое, мы получаем больше возможностей добавить новые функции для пользователей и улучшить их взаимодействие с приложением. Впрочем, если бы не встречи с инженерами Apple на WWDC, может быть, мы не дошли бы до этого сами. В течение конференции я постоянно переписываюсь с людьми в Москве, и в какой-то момент мы обязательно приходим к тому, что: «Кирюха, надо всё переделать!»
Андрей Ивашенцев (Game Insight): Каждый раз происходит такое, когда сидишь на keynote и пишешь командам: «Это надо переделать!»