В этой публикации я хотел бы рассказать о своем опыте взаимодействия с системой Android, о переходе из рядового юзера гуглфонов в разработчики и о работе над созданием приложения. Сразу уточню, речь пойдет не о утилитах или играх, а разработке Android-лончера.
От Symbian к Android
Итак, попробовать «зеленого робота» на вкус мне довелось в 2010 году. Первым моим аппаратом на Андроиде стал легендарный, пусть и не такой популярный в то время (привет Desire), HTC Legend. Металлический красавец радовал меня долгое время не только своим внешним видом, но и свежим опытом взаимодействия со смартфоном. И, поверьте, это было действительно хорошо ощутимо после засилия финских трубок с Симбианом на борту. Отдельно стоит отметить оболочку HTC Sence, которая в то время давала много очков форы решениям от конкурентов. Я не случайно акцентирую внимание на оболочке и позже вы поймете почему.
Спустя какое-то время приятные ощущения от обладания HTC Legend вылились в сильную лояльность к бренду. В выборе новых аппаратов я уже не задумывался: на смену Легенде пришел Desire S, а позже и HTC One. И всё бы хорошо, но:
- расстраивала нерасторопность HTC с выпуском новых прошивок;
- оболочка Sence развивалась немного не в том направлении, как мне бы хотелось;
- и последним, что меня и подкосило, стал брак в последних двух моих трубках.
Ну, и если уж быть совсем откровенным, был и более важный пункт, который сыграл свою роль в пошатнувшейся приверженности HTC — Android 4.1. Дизайн новой ОС, скорость её работы, подкупали. Зацикливаться на HTC Sence уже не хотелось. Юзать голый Android я решил на «настоящем» гуглофоне. И я обзавелся, как мне кажется, первым удачным аппаратом из данной линейки — моделью Nexus 4.
Железо в телефоне работало отлично, софт своевременно обновлялся. Казалось бы, чего еще можно желать? А желал уже я чего-то своего.
От юзера к разработчику
Книги, форумы, освоение SDK и бессонные ночи. Сначала я выпустил несложный виджет. Затем решил навалиться на скины для популярных приложений. Делать их было несложно, но главное, у этого дела всё было просто с монетизацией — если ты делаешь хорошую тему для такого популярного аппа, как, например, exDialer, тебе не нужно задумываться о её продвижении. Пользователей у приложения достаточно, как и желающих натянуть на него новую, актуальную оболочку. Благо, к списку доступных в маркете тем можно было попасть из самого приложения. Мои темы хорошо продавались и это подкупало. Я бы, наверное, и продолжал в том же духе, но где-то «перестарался», нарушив один из многочисленных пунктов в политике Google. Мой аккаунт разработчика безжалостно забанили. И если разработка, даже таких несложных приложений, как скины, было для меня хорошим опытом, то вот бан Гугла стал отличным уроком.
От программного мусора к серьезному проекту
Какое-то время погоревав я решил двигаться дальше. И тут вопрос, «что»? Нужна была идея. Игру делать я не хотел, да и не чувствовал в себе сил. Чтобы сделать хорошую игру, нужно самому быть заядлым геймером. А этим я похвастаться не мог, как и феноменальными знаниями в программировании, геймдизайне и т.п. Не имел я и большого бюджета. Думал я и «революционных» звонилке, СМС-клиенте или органайзере, но существующие решения в Маркете меня более чем устраивали. Я так и не придумал, как сделать их лучше.
Зайдя в тупик, я начал «мозговой шторм» сначала. И тут появилась идея лончера, который мог бы быть и той самой звонилкой, СМС-клиентом, да и вообще чем угодно. Здорово то, что идея пришла не одна, а вместе четкими картинками в моей голове, механикой работы и способом монетизации. Заручившись поддержкой талантливейшего разработчика мы приступили к работе. Теперь обо всём по порядку.
Идея
Возможно, кому-то суть идеи покажется до безобразия простой. Возможно кто-то уже встречал аналогичный продукт (как не старался, я не смог найти ничего похожего). Идея заключается вот в чём: я «выбросил» из нижнего бара стандартные иконки ярлыков, а на их место поместил ленту с умными плитками, каждая из которых может быть, как и тем же ярлыком, так чем-то гораздо большим. Привычный функционал штатного лончера остался на месте.
Название родилось само собой «SlideUP», что в переводе на русский и обозначает то действие, которое активирует главную изюминку лончера.
Возьмем для примера ярлык Телефона. В стандартном лончере, кликаем — попадаем в приложение Телефон. В моем варианте тоже самое. Отличие в том, что по иконке можно не только кликать, но и свайпить её вверх, открывая тем самым небольшую шторку с дополнительными возможностями. А тут уже всё логично, потянули за плитку Телефона — попали к списку избранных абонентов. Или потянули за Камеру — открыли последние кадры.
Кликнув по ярлыку «All Apps» можно перейти к списку всех приложений, установленных на смартфоне, а можно свайпнуть и открыть список самых необходимых. А еще можно ковыряться в настройках, чтобы найти нужный тумблер, а можно просто потянуть за нужную плитку.
Тут могут многие заметить, что мол есть же верхняя шторка с похожим функционалом и будут правы. Но и мне есть что возразить, держа в руке, например, Samsung Galaxy Note, сможете ли вы дотянуться большим пальцем до верхней шторки? Нет. А моя лента в самом низу экрана, а значит и в зоне досягаемости пальца.
Подразумеваю, что может возникнуть закономерный вопрос про обычные виджеты, точнее про то, что по сути это тоже самое, что и «начинка» моих плиток. Да, от части это так, но по дизайну все виджеты серьезно отличаются и, размещая их на одном экране, можно получить не совсем эстетическую картинку. Конечно, это субъективное мнение, но и оно имеет право на жизнь.
Монетизация
И тут всё просто. Мои плитки — это своего рода блоки, которые можно докупать из личных предпочтений. Сам лончер будет бесплатным с набором из четырех базовых плиток: Телефон, Сообщения, Все приложения и Камера. Дополнительные плитки можно будет установить из Google Play отдельно, на первом этапе я планирую выпустить плитки для Настроек, Погоды и Музыкального плеера. Затем это могут быть Органайзер, Заметки и даже плитки для популярных социальных сетей. Ссылки на дополнительные плитки в маркете будут отображаться в настройках самого лончера. Такой своеобразный In-App Purchase, сложности в продвижении плиток возникнуть не должно.
Сложности
Конечно, с реализацией идеи было не всё так гладко. Первая версия лончера уже вошла в стадию beta и мне есть о чем рассказать. Подводных камней оказалось даже больше, чем я мог представить. Это и реализация жестов на рабочем столе и доступ к некоторым системным функциям. А еще укрощение камеры, совместного доступа с СМС и Hangouts. Тема достаточно емкая, чтобы разбирать её в этом посте. Я бы с удовольствие разобрал каждую проблему и её решение в отдельном материале, если мне предоставится такая возможность. Думаю, многим мои наработки окажутся полезными.
Планы
Сейчас я активно тестирую лончер, шлифуя уже заложенный функционал, чтобы можно было выложить стабильную версию в Google Play. Но и планы на следующий этап уже четко понятны. Главное, что предстоит сделать, кроме работы над новыми плитками — это избавить лончер от «детских болячек»:
- добавить ассистент миграции из других лончеров;
- снабдить лончер возможностью делать резервные копии настроек, чтобы при необходимости можно было без проблем вернуться к привычному виду;
- организовать работу с рабочими столами;
- есть мысли и о доработке дизайна некоторых элементов.
Фидбэк
Работа над лончером еще кипит и никогда не поздно что-то переосмыслить и исправить. Я очень надеюсь на дельные советы и комментарии, благо, аудитория Habrahabr всегда славилась своим профессионализмом в таких вопросах. С удовольствием отвечу на все вопросы.
Автор: dstolbov