WWDC очами российских разработчиков: личный опыт, внедрение новых функций и обработка продуктов

    WWDC глазами российских разработчиков

    Рисунок: 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): Я директор по инновациям компании Game Insight, водящего мирового разработчика игр. На конференцию WWDC 2017 еду уже во второй раз. В этом годку выиграть билет повезло не только мне, но и моим коллегам из команды iOS-разработки, какая у нас занимается внедрением платформенного iOS функционала.

    Сергей Пронин (App in the Air)

    Иллюстрация: личный архив Сергея Пронина

    Высокий Пронин (App in the Air): Я работаю CTO в App in the Air. Мы занимаемся тревел-бизнесом. На WWDC 2017 еду уже в третий раз, а главная цель — к сентябрю начать использовать все новое. По опыту прошлых лет мы ведаем, что это дает высокий шанс попасть в специальную подборку типа «Наилучшие приложения для новой iOS». Именно поэтому мы любим все делать супер бегло.

    Роман Бусыгин (Яндекс)

    Иллюстрация: личный архив Романа Бусыгина

    Роман Бусыгин (Yandex): Я работаю в Яндексе ведущим разработчиком. На WWDC еду в четвертый раз. Для меня это отдает возможность решить вопросы, связанные с необычными сценариями использования обыкновенных компонентов. Мы делаем простые для людей, но сложные под капотом приложения, потому для нас сессии – это отличная возможность поговорить с инженерами Apple, с теми, кто сам участвовал в создании операционной системы и ее компонентов. Это позволяет на месте ориентироваться в анонсированных технологиях и понять, какое применение они могут найти в наших сервисах.

    Игорь Акимов (ABBYY)

    Пример: личный архив Игоря Акимова

    Игорь Акимов (ABBYY): Я тружусь руководителем отдела мобильных продуктов. На WWDC собираюсь во второй раз и полагаю, что эта конференция – одно из самых полезных мероприятий в сфере мобильной исследования. Мы уделяем большое внимание платформе iOS и стараемся максимально оперативно к выходу её новоиспеченных версий поставлять обновления наших продуктов, выпускать новые. А пользователи устройств Apple всегда довольно быстро переходят на новоиспеченную версию операционной системы, обновляют приложения и положительно оценивают наши провизия. Кроме того, сами сессии на WWDC очень интересные, они дают возможность получить хороший опыт работы с новыми функциями. Из-за большего спроса на WWDC есть и труднодоступные встречи, на которые надо поспеть записаться в 7 утра, в частности, по дизайну и по маркетингу. Но если на них попасть, это в силах очень хорошо сказаться на приложениях. Например, благодаря поездке и консультации на WWDC в прошедшем году, мы полностью переработали дизайн наших продуктов и скоро представим пользователям.

    Егор Толстой (Avito)

    Иллюстрация: личный архив Егора Толстого

    Егор Низкой (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 минут, но это водилось очень полезно.

    Developers workshop

    Иллюстрация: Apple, Developers workshop

    iG:Подвижные платформы уже прошли большой путь, у людей уже сформировались списки употребляемых приложений и сервисов, и бывает сложно заставить пользователя скачать неизвестный новый продукт. Сейчас вы нацелены больше на добавление новой функциональности в нынешные приложения или на создание новых приложений по-прежнему в фокусе?

    Егор Великий писатель земли русской (Avito): У нас в приоритете доработка существующего приложения Avito-объявления, потому что все ворочается вокруг него. До моего прихода, возможно, не так активно добавлялись непонятно какие функции на основе новых технологий операционной системы, но сейчас введение платформенных инноваций — одна из моих обязанностей.

    Сергей Пронин (App in the Air): Предварительно мы приходим к пониманию того, что из представленного мы точно реализуем в продукте. Как я объяснялся, это хорошие шансы попасть в какую-то классную подборку. Например, наше программа было в рекомендациях на платформах watchOS и iOS. Это дает очень хороший увеличение установок, потому что люди стараются как можно быстрее обновить ОС систему. Вокруг выхода новых версий iOS всегда очень добрый хайп, потому что пользователи хотят попробовать новое, посмотреть все эти прихоть. Например, если взять появление 3D Touch, они ставили все подряд программы с поддержкой сильного нажатия, чтобы просто его попробовать и посмотреть, как это может быть использоваться у разных разработчиков.

    Второе, мы пытаемся понять из появившейся функциональности, можем ли делать новый продукт, который раньше не могли. Например, когда получился Apple Pay, мы поняли, что это супер возможность быстро проводить платеж, и мы делали продукт для быстрой покупки кофе в один клик. В приложении доступна диаграмма с кофе, ты выбираешь кофейню, нажимаешь Apple Pay – и покупка совершена. Прежде пользователю приходилось привязывать карту, а это уже сложно. Какие-то продуктовые багаж могут родиться, исходя из функциональности, которая нам вроде как не нужна в главном продукте, но мы можем сделать супер простой продукт, который выходит охват, при этом будет использовать новые технологии.

    Роман Бусыгин (Yandex): Приложения и задачи — разные, поэтому у каждого свой путь. Испытание показывает, что нельзя ко всему применять один шаблон. Ничего не нужно, все меняется. Любую возможность для изменения, либо создания нового надо использовать. Неизвестно, какая из идей выстрелит, и я считаю важным потом возвращения с конференции поделиться своими находками с коллегами. Вдруг у них покажутся какие-то идеи, и это даст рост новому сервису, либо это дозволит реализовать что-нибудь новое в существующем продукте.

    Игорь Акимов (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, и примеряем их как на существующие, так и на еще не анонсированные проекты.

    iPad Swift Playgrounds Lesson

    Объяснение: 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 и пишешь командам: «Это надо переделать!»