codefest 2012. Кузьмин В. — Как выстроить разработку сервиса...

20
О разработке приложений для разных мобильных платформ

Upload: codefest

Post on 22-Jun-2015

534 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

О разработке приложений для разных мобильных платформ

Page 2: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

О чем будет доклад?

Чем мы заняты в АльтерГео

Как устроено наше приложение

Ключевые моменты и проблемы

Организационные вопросы

Page 3: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

AlterGeo: (1) найти места

Page 4: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

AlterGeo: (2) рассказать друзьям

Page 5: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

AlterGeo: (3) сэкономить

Page 6: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

AlterGeo: (4) победить

Page 7: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

AlterGeo: сайт, мобильный сайт, приложения для iPhone, Android, WP7

Page 8: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Несколько платформ… А зачем оно надо, вообще?

Выход на неосвоенных клиентов

Конкурентоспособность

Различная аудитория у разных платформ

Возможность реал-тайм интеракции

Новые инструменты взаимодействия с клиентами

Chesshire
43 млн по концу 2011 годаНе у всех есть смартфоны, часть пересекается с имеющимися пользователями, но все равно рынок большой.
Chesshire
Примечание про пользу наличия мобильного клиента у баг-трекера как пример.
Chesshire
Пользователи iOS заметно моложе пользователей Android, Windows Mobile и Symbian. Судя по исследованию, люди старше 55 лет вообще не пользуются iOS. Кроме того - различная стилистика.Источник: J’son & Partners Consulting
Chesshire
Push-notifications +
Chesshire
Push-notifications, etcetc
Page 9: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Зачем оно было нужно нам?

Геопозиционирование

Геотаргетинг

Постоянное участие в сервисе

Chesshire
Продажа статистики, упор на взаимодействие с партнерами - геоигры, купонные сервисы и так далее.
Page 10: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Специфика проекта

Поддержка веб-сервиса

Аутсорс

Частая выкатка

Agile-цикл разработки

Chesshire
Партнерские программы, рекламные акции, эвенты вроде выборов и так далее.
Chesshire
Упомянуть про стоимость разработки в Мск и вовне Мск
Chesshire
Основной канал поступления пользователей - раскрученный веб-сервис. Основной функционал в мобильном приложении.
Chesshire
Добавить про сильную серверную команду
Page 11: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Что мы хотели?

Красивая обертка для пользователя

Единый стиль дизайна на всех платформах

Функционал, недоступный с сервера

Простота тестирования и стабильность работы

Chesshire
Совершенно одинаковый дизайн создать сложно - особенно учитывая политику дизайна для iPhone.
Chesshire
Основное - геопозиционирование + взаимодействие через push notifications
Chesshire
Потому нам желательно получить единообразный метод работы со всеми платформами.
Page 12: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Серверная часть

PHP + MySQL + nginx + Memcache

Redis для работы с notifications

GET запросы, единая точка входа

JSON или XML на входе и выходе

Горизонтальное масштабирование

Page 13: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Ключевые моменты: версионность

Передача версии в запросе

Версионность документации

Стимул обновить приложение

Page 14: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Ключевые моменты: server-side функционал

Получение ответа в виде html

Обработка событий через приложение

Широкое использование ссылокaltergeo://

Отправка запросов к API через js

Page 15: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Тестирование

Общий пул test case

Selenium

Эмулятор

Page 16: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Проблемы

Единообразие html и приложения

Срыв сроков по аутсорсу

Координация команд разработчиков

Минимизация трафика

Chesshire
Решается правильными гайдлайнами от нашего дизайнера.
Chesshire
Основная проблема которая была - несинхронная выкатка новых фич.
Chesshire
Скрипт скроллинга, поведение кнопок. Различная верстка в различных системах. Position: fixed работает плохо.
Page 17: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Утверждение

Выкатка раз в три недели на каждую платформу в соответствии со спринтом.

Android Market – легко и просто

AppStore – неделя

Windows Phone Marketplace – 4-6 дней

Chesshire
Они способны пропустить ошибки в текущем релизе и вспомнить про них через месяц.
Chesshire
Опыта работы с ними пока мало, но задержек ещё ни разу не было. Срок ответа всегда укладывался в 5-7 дней.
Page 18: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Сбор статистики и отзывов

3% пользователей ставят оценку

0.6% пользователей пишут отзыв

Отзывы читать очень, очень полезно

Chesshire
На редкость удобный инструмент, про который легко забыть.
Chesshire
Позволяет строить пути перемещения пользователей между страницами.
Chesshire
Упомянуть про нахождение багов через отзывы; кучу разных платформ; случай с Wildfire, Wildfire S
Page 19: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Полезные ссылки

http://altergeo.ru/download :)

http://flurry.com – Flurry

http://www.json.ru/files/mobile_internet_in_russia.pdf - статистика по мобильному интернету

Page 20: CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мобильных платформ

Спасибо за внимание!

http://altergeo.ru@AlterGeo_ru