Традиционный первый вопрос. С чего вы начали разработку под Windows 8?
VkNews — уже второе приложение, которое мы выпустили для Windows Store и оно, как и Я водитель, попало в топ 100 магазина.
Расскажите с чего вы начали разработку?
Начало было положено на осеннем хакатоне. Тогда за три дня был разработан простой класс для общения c VK API, и реализован мессенджер. Главной фичей приложения был морфоанализатор, который отвечал за удаление нецензурных слов из переписки. Очень помогли консультации экспертов Microsoft, которые много рассказали о платформе WinRT. Золота на хакатоне мы не взяли, что обидно, но начало было положено и бросать уже имеющуюся платформу не хотелось.
В Windows Store уже есть приложения для ВКонтакте, в том числе официальный клиент для сообщений. Каким образом вы решали, какой функционал будет у приложения?
Да, месенджер уже существовал, а полноценный клиент мы бы тогда не потянули. Среди всех вариантов было решено сделать упор на новостную ленту. Она позволит предоставить пользователю новый функционал и избежать конкуренции с уже имеющимся приложением.
Вы работаете в команде? Сколько всего человек работало над проектом?
Да, разработкой под Windows 8 занимаюсь я и два моих товарища.
Каким образом вы организовывали совместную работу?
Когда вся команда учится в Москве, а живет в разных концах Московской области, важна система контроля версий. Для нас более чем достаточно было возможностей Team Foundation Service, благо за время хакатона удалось заработать статус BizSpark и пользоваться сервисом практически неограниченно. Основным плюсом этого решения было минимизация работ по администрированию сервера и простота в развертывании. Позже нам понадобился багтреккер. На момент разработки, готовых решений для Windows 8 не было, и пришлось быстро соорудить свой.
Расскажите подробнее о самом процессе разработки
Мы не профессиональная студия, а три студента и обеспечить себя качественными прототипами дизайна и моделью использования приложения мы не можем. Не потому, что не умеем, а потому, что в сутках 24 часа, а помимо разработки нужно не забывать про учебу. Приходилось создавать версию, пользоваться и делать выводы.
Эволюция интерфейса была длительной. В одной из первых версий была попытка разделять новостные ленты для друзей и групп, потом от этого было решено отказаться. Следующие версии интерфейса были неким гибридом новостной ленты Вконтакте и элементов ModernUI.
В таком виде приложение просуществовало довольно долго, пока не решились обратиться за помощью к экспертам Microsoft. Нам подсказали сменить вертикальную прокрутку на горизонтальную.
Такой подход добавил проблем с отображением новостей.
Вконтакте позволяет делать посты непредсказуемой высоты. Судите сами, новость может состоять из текста произвольной длины, 10 фотографий, видеозаписей и неограниченного числа аудиозаписей. Все это прекрасно укладывалось в вертикальную прокрутку, но в горизонтальном исполнении высота поста была ограничена высотой экрана. Тут два варианта: либо обрезать пост, либо давать ему возможность расширяться в ширину. Вариант с расширением поста был отброшен из-за потенциальной возможности занять все место на экране. Была еще идея вертикальной прокрутки внутри поста, но такой список невозможно прокручивать ни мышью, ни пальцем. Значит нужно было обрезать пост. Но как? Решили обратиться к гайдлайнам по Windows 8, и обнаружили надпись Do more with less, которая и стала подсказкой. Теперь среди всех элементов была установлена иерархия согласно которой они попадали в превью поста. К примеру, при наличии видео и картинки отобразится только видео. Для текста изначально выделяется все место в превью, но оно уменьшается, если пост содержит другие элементы, но не менее двух строк. Конечно помимо превью был расширенный просмотр, где ничего не вырезалось.
Процесс разработки подразумевает этап сбора информации об ошибках и анализе фидбека от пользователей, как вы решали этот вопрос?
Со временем мы стали обнаруживать в логах ошибки, связанные с неправильной обработкой результатов запросов к Вконтакте. Связано это было с самим сервисом, который очень активно, но молча меняет свое API. Приходилось экстренно делать заплатку и выпускать релиз. Одной из самых неожиданных для нас проблем стало всеобщее отключение приложения через 2-3 дня использования. Виной тому оказался срок действия токена.
Самым неприятным ударом стал выпуск неработающего приложения. Оптимизатор кода вырезал циклы ожидания. Выявить баг при дебаге было невозможно, так как при подключении дебагера, оптимизация кода отключалась. Провести полноценной тестирование опять же не позволяли ресурсы. Правда после этого случая пришлось взять за правило как минимум день тестировать приложение на устройстве.
Как вы организовали поддержку приложения?
Первая версия вышла с довольно куцым функционалом. Можно было читать посты, состоящие из текста и фотографий. Потом мы расширяли функционал, добавляя возможность ставить лайки, делать посты и шарить новости себе на стену. Потом добавили комментарии. Последняя версия уже отображала весь контент (аудио и видеозаписи). Первоначально мы отказались от поддержки возможностей по интеграции с операционной системой (живая плитка, контракт share и поиск). Причин на это было две:
- Острая нехватка времени.
- Отсутствие у пользователей желания использовать новые фичи операционки.
Если первая причина вполне понятна, то вторая требует более подробного объяснения. Windows 8 внесла множество новых возможностей для пользователя, но все они скрыты и многие до сих пор не догадываются об их наличии. Не каждый знает о кнопке share, позволяющей пересылать контент из любого приложения, поддерживающего этот контракт. На многих новостных ресурсах была информация о времени адаптации пользователя к системе: 3 месяца. Что подтвердил фидбек от пользователей, которые начали просить поддержку возможностей операционки только к началу февраля 2013. Первой фичей, которую мы использовали, стала живая плитка, которая позволила значительно повысить частоту использования приложения.
Таким образом мы постепенно наращивали функционал, до тех пор пока не поняли, что приложение с каждым релизом теряло стабильность. Основа, которая была заложена на хакатоне дала трещину и больше не могла быть использована. Решением было провести рефакторинг с целью заменить десериализатор ( перейти с xml на json) и уменьшить централизацию кода, который к тому моменту всецело зависел от класса для общения с VK API. В итоге рефакторинг затянулся на 4недели.
Ваше приложение вышло в топ 100 бесплатных приложений российского Windows Store. Как у вас это получилось?
Путь к славе начинается с сертификации приложения. Для приложений Российских сервисов этот путь тернист и не прост. Мы проходили 5 раз сертификацию, до тех пор пока не нашли нужный рецепт. Для приложений, нуждающихся в аккаунте необходимо выкладывать логин и пароль для тестирования и писать инструкцию. Как оказалось, для зарубежного тестеровщика оказалось проблематично зайти в приложение и сервис. Итогом трех неудачных попыток стало написание подробнейшей инструкции по входу в сервис. Чего оказалось мало. Понадобилось подробное описание работы. Где появится пост, когда вы шарите его на стену, в каком месте должен тестер увидеть свой статус и так далее. В итоге, полный текст инструкции занял страницу А4.
Как я уже говорил, первая версия была весьма куцей в отношении функционала, но именно она заложила основы продвижения в Windows Store. Вполне очевидно, что в отсутствии прямых конкурентов приложение быстро взлетело до третьего места в категории Social. Скачивания росли, аудитория пользователей пополнялась, что обеспечило нам за месяц 12 место в Top 100 бесплатных приложений магазина. Что вывело наше приложение в промо акцию.
Вы занимались продвижением своего приложения?
Нет, но мы стараемся держать тесный контакт со своими пользователями.
Работа с аудиторией и тесное взаимодействие – важная часть поддержки приложения. Опыт выпуска первого приложения показал, что необходима поддержка в виде группы вконтакте. Она важна потому что позволяет:
- Поддерживать контакт с пользователем,
- Получать подробный фидбек
- Отводить негатив из комментариев.
Как показала практика, пользователь мало пользуется фидбеком по почте, который позволяет отсылать Windows Store. Вместо этого пользователь пишет о баге в комментарии, что портит рейтинг и снижает загрузки. Сбор фидбека через группу помог нам выявлять желания потребителя и быстрее реагировать на баги. Другой важной частью взаимодействия с аудиторией были комментарии к приложению. У разработчика всегда есть возможность добавить или изменить комментарий к своему приложению, после чего обновленная версия появляется первой в списке. Что позволяет более подробно описывать нововведения, а главное извещать пользователей о проблемах в приложении до их устранения. Такой прием позволил нам избежать негативных отзывов, когда по ошибке было выпущено нерабочее приложение.
Какие ваши планы по развитию приложения?
На момент этого интервью проходил сертификацию релиз приложения после долгого рефакторинга. Сейчас мы имеем очень гибкий бекенд, позволяющий легко расширять функциональность приложения. Что дает нам возможность сосредоточиться на интерфейсе, а главное приступить к созданию полноценного клиента. Сейчас мы ищем дизайнеров и программистов для окончания работ над проектом.
Так что, если хотите участвовать в разработке приложения из TOP 100 Windows Store — приходите к нам.
Автор: stasus