Маленькое приложение и большое обновление Android

Всегда интересно, как меняется отношение к любому вопросу, когда пересаживаешься с места потребителя на место производителя.

Android 5.0 Lollipop — первое серьезное обновление Андроида за почти четыре года. За эти прошедшие года, сколько бы нового не появлялось в каждой следующей версии, сколько бы работы не стояло за этим, изменения ощущались как эволюционное движение. От Ice Cream Sandwich до Kit Kat, шаг за шагом, из системы, на которой так и хотелось поставить любимый гугловский штамп «бета», одни идеи, одно виденье, создавали готовый продукт. Нет, Lollipop — это не разворот на 180, даже не на 90 градусов. Скорее, это такой артефакт взросления, вроде ломающегося голоса. Пользователи видят новый дизайн, разработчики — много новых API, но это все тот же Android в своей идеологии. Что изменилось, так это мое отношение. Если раньше я смотрел на это только как пользователь: «скорее все обновите свои приложения в соответствии с новыми гайдлайнами», то теперь у меня есть одно свое приложение, и тут же возникает вопрос «а зачем?». Нет, я сделаю это, но отказать себе во взвешивании «за» и «против» я не могу.

Острая необходимость

Ее попросту нет. Благодаря решениям, которые были приняты многие годы назад разработчиками ОС Android, мне ничего делать не нужно. В отличие от других популярных мобильных платформ (кхе-кхе), приложения на Android строятся так, что какие бы изменения не происходили, как бы ни росли экраны или разрешения, старое приложение будет так же хорошо отображаться на новой системе и железе, если изначально все было сделано по правилам. Это значит, что даже если я не буду ничего менять, в 5.0, на Nexus 6 или на чем-то там еще, мое приложение будет выглядеть так же красиво, как оно вообще могло выйти из-под моих неумелых рук. Конечно же, все равно я уже сел переделывать приложение под новые правила, только потому, что все это и задумывалось как упражнение в самообучении.

Фрагментация

Все знают, что спешить в любом случае некуда, потому что основная масса пользователей новую версию ОС увидит еще не скоро, ведь правда? А вот и не правда.

Информацию о распространении версий Android можно брать из двух источников: цифр количества активных устройств, которые публикует Google (и подхватывает вся пресса); а можно из цифр, которые публикуют в своих блогах разработчики приложений. Последние теперь вижу и я. И эти цифры совершенно разные.

Еще перед началом разработки приложения я озадачился вопросом: поддерживать только современные версии, от четвертой и выше, или старые тоже. Открыв статистику посещений сайта (blackout.today), я понял, что о старых версиях можно забыть. Из всех посетителей, пользователей Android версии более старой, чем 4.х — два. Не процента. Два пользователя.

Эту же статистику подтверждает любая серьезная команда девелоперов. Конечно, когда у тебя миллионы пользователей, ты теряешь не двух человек, а значительно больше, отсекая старые версии, но весь опыт рынка показывает, что основные пользователи сидят на новых версиях. А если у тебя платное приложения, то больше 80% - это пользователи последних версий. Меня это не так интересовало, я денег на Блэкауте не зарабатываю, но это вполне логично, что устанавливают приложения пользователи, у которых более современные устройства. Те, кто до сих пор пользуются винтажными аппаратами, скорее всего и не сильно хотели смартфон, но рынок «фичер-фонов» практически отсутствует сегодня. Вот и получается, что если считать активации, то доля «бородатых андроидов» заметна. Но те, кто действительно использует смартфон, ищет и ставит приложения (а тем более платит за них) уже давно обновились.

Больше половины пользователей Блэкаута сидят на KitKat (4.4). Вторая большая группа сидит на Jelly Bean (4.3 и 4.1, доля 4.2 интригующе мала). Количество пользователей 4.0 на уровне 10%. Глядя на статистику моделей телефонов и на планы вендоров по апдейтам, через пару месяцев Lollipop будет доминировать среди моих пользователей. А учитывая количество Нексусов (и пару Моторол), вполне может обогнать долю 4.0 в первую неделю после релиза. База моих пользователей мала, но эти цифры укладываются в общий тренд, о котором я читаю в профильных сообществах.

Новизна против узнаваемости

Еще один важный вопрос: обновлять дизайн для пользователей 5.0 или для всех. Опять-таки, гибкость Android позволят мне оставить все максимально нативно. Для пользователей 4.х привычный для них внешний вид, а для пользователей 5.0 — новый. С другой стороны, я могу сделать максимально единообразный внешний вид для всех. С точки зрения работы — это одинаково немного. Второй вариант, может быть, даже меньше работы. При этом внешний вид, за исключением некоторых анимаций интерфейса, будет одинаков. Горькая правда в том, что все те новшества графического интерфейса, от которых захватывает дух, когда смотришь чужие работы, мне все равно недоступны. Медведь мне на изобразительную часть наступил очень сильно, так что все впустую. Хотя бы во внешний вид системы вписаться, уже хорошо будет.

Итого

Я постараюсь к релизу Android 5.0 (говорят, к третьему ноября начнут OTA апдейты выкатывать на Нексусы и GPE телефоны) обновить общий вид приложения, заодно и пару баг-фиксов опубликовать. Но реализация всех хороших практик Андроид-дизайна займет у меня больше времени. В любом случае — это хорошая возможность для меня продолжать изучать новое. Особенно, если учесть, что под Material Design (и другие новшества 5.0) ответы на нетривиальные вопросы не так легко гуглятся. Все разработчики еще разбираются, и участвовать в этом интересно.