73
applifto.ru Разработка приложения: от идеи до запуска Анатолий Шарифулин BarCamp Krasnodar 2012

Разработка приложения: от идеи до запуска

Embed Size (px)

DESCRIPTION

Доклад с Barcamp Krasnodar & South Russia 2012, секция Мобильные разработки

Citation preview

Page 1: Разработка приложения: от идеи до запуска

applifto.ru

Разработка приложения:

от идеи до запускаАнатолий Шарифулин

BarCamp Krasnodar 2012

Page 4: Разработка приложения: от идеи до запуска

applifto.ru

Опрос аудитории

Page 5: Разработка приложения: от идеи до запуска

applifto.ru

Наши приложения

Page 6: Разработка приложения: от идеи до запуска

applifto.ru

Все приложения взаимодействуют с серверной частью

Page 7: Разработка приложения: от идеи до запуска

applifto.ru

Особое вниманиеуделяем дизайну, удобству и качеству

Page 8: Разработка приложения: от идеи до запуска

dlttr.com

DLTTRПример создания простого приложения:

идея, реализация, запуск

Page 9: Разработка приложения: от идеи до запуска
Page 10: Разработка приложения: от идеи до запуска

dlttr.com

Идея приложения

Page 11: Разработка приложения: от идеи до запуска

dlttr.com

Как удалять твиты?

• Твиттер позволяет удалять твиты только поштучно

• Существует несколько веб-сервисов, которые «пытаются» это делать

• Некрасивые, громозкие и «криво» удаляют

• Все очень медленные

Page 12: Разработка приложения: от идеи до запуска

dlttr.com

Лайф-хакеры уже написали руководства по «сложному процессу» удаления твитов

Page 13: Разработка приложения: от идеи до запуска

dlttr.com

Нужно приложение для быстрого удаления, которое всегда под

рукой

Page 14: Разработка приложения: от идеи до запуска

dlttr.com

Одна большая кнопкаЗадача для дизайнера

Page 15: Разработка приложения: от идеи до запуска

dlttr.com

Зачем удалять?

• Многие воспринимают Твиттер как личный блог, но это не так: реплаи, ретвиты, форскверы, инстаграмы, шазамы, ...Это лог активности пользователя

• Твиттер — актуальная информация, сегодняшние твиты никто не будетчитать завтра :-)

Page 16: Разработка приложения: от идеи до запуска

dlttr.com

Зачем удалять?

• Активно общались в пьяном состояние, или обсуждали политику, или написали что-то секретное, ...

• Начать всё заново с чистого листа, сохраняя все настройки и фолловеров

Page 17: Разработка приложения: от идеи до запуска

dlttr.com

Причин массаДостал айфон, нажал удалить и на душе спокойно :-)

Page 18: Разработка приложения: от идеи до запуска

dlttr.com

От идеи до реализации

Page 19: Разработка приложения: от идеи до запуска

dlttr.com

От идеи до реализации

• Осталось нарисовать дизайн• Разобраться с API Твиттера и ограничениями на удаление

• Приехать на #barcampkrr и рассказать про это :-)

Page 20: Разработка приложения: от идеи до запуска

dlttr.com

Дизайн был сразу готов

Page 21: Разработка приложения: от идеи до запуска
Page 22: Разработка приложения: от идеи до запуска
Page 23: Разработка приложения: от идеи до запуска

dlttr.com

Ресурсов для реализации не было

Идею отложили в долгий ящик

Page 24: Разработка приложения: от идеи до запуска

dlttr.com

Два ускорителя

• Я переезжал с ЖЖ в Posterous,написал скрипты переноса, но настроил кросс-постинг в Твиттер и Фейсбук, получил реплаи «Толя, хватит!»

• Дмитрий Анатольевич водил пальцем по айпаду и случайно ретвитнул @rykovпро оппозицию

Page 25: Разработка приложения: от идеи до запуска

dlttr.com

Page 26: Разработка приложения: от идеи до запуска

dlttr.com

Page 27: Разработка приложения: от идеи до запуска

dlttr.com

Два этапа разработки

Page 28: Разработка приложения: от идеи до запуска

dlttr.com

Первый этап

• Познакомились c Appcelerator и PhoneGap

• iOS-отдел занят, HTML5 + JS + CSS— спасение?

• Сверстали всё, но поняли, что клик по кнопке — это не тоже самое, что и тап

Page 29: Разработка приложения: от идеи до запуска

dlttr.com

Первый этап

• Сложность построения приложений на Appcelerator ~ XCode, примеров мало, испугались

• PhoneGap — вроде подходит, но JS и фреймворки медленно работают, заметны тормоза, интерфейсы — пародия на iOS

• Остановились всё-таки на нативной разработке (iOS и Android)

Page 30: Разработка приложения: от идеи до запуска

dlttr.com

Первый этап

• Нужно cделать серверное API, клиенты — «тупые» интерфейсы,вся логика на сервере

• На сервере асинхронная работас запросами к Твиттер API и обработка исключений

Page 31: Разработка приложения: от идеи до запуска

dlttr.com

Запланировали выход на февральОпубликовали новость на сайте Applifto

и выложили скриншоты

Page 32: Разработка приложения: от идеи до запуска

dlttr.com

Второй этап

• В январе Apple нас обрадовал придирками к хранилищу во всех приложениях (iOS 5), в итоге мы начали позже

• Разработка серверного API заняла 30 часов чистого времени: JSON API, документация и тесты (123)

Page 33: Разработка приложения: от идеи до запуска

dlttr.com

Второй этап

• Три очереди задач:• Получение таймлайна (макс. 200), асинхронный демон, получает ID твитов

• Удаление твитов — «отбойный молоток», удаляет асинхронно пачками

• Рассылка пуш-уведомлений

Page 34: Разработка приложения: от идеи до запуска

dlttr.com

Особенности

• Твиттер не даёт доступ ко всем твитам, макс. ~3200 или не позднее определённой даты

• Поэтому Твиттер — далеко не блог, нет доступа к первым твитам, если > 3200

• Если твитов > 3200, то счётчик не будет равен 0, если все их удалите

Page 35: Разработка приложения: от идеи до запуска

dlttr.com

Особенности

• Твитов нет, а фото из них на сайте показываются, через некоторое время исчезают

• Есть ограничения на получение данных, 350 в час на пользователя, но этого достаточно

• Чтобы удалить «все» твиты, нужно 15-20 запросов на таймлайн

Page 36: Разработка приложения: от идеи до запуска

dlttr.com

Особенности

• Любые запросы на изменение данных (POST, DELETE) не ограничиваются

• Поэтому «пушка» отлично работает

• Очень опасно тестировать на своём аккаунте :-)

Page 37: Разработка приложения: от идеи до запуска

dlttr.com

Тестирование на «чужих» аккаунтах

— Тебе всё равно на свой Твиттер?— Да!— Давай я удалю все твиты?— Нееееееееет

Page 38: Разработка приложения: от идеи до запуска

dlttr.com

Второй этап

• Тем временем началась разработка интерфейсов для iPhone

• Сразу поняли, что нужен и iPhone, и iPad

• После первой версии стало ясно, что интерфейсы не должны блокироваться при посылке запросов

Page 39: Разработка приложения: от идеи до запуска

dlttr.com

Фичи

• Импорт аккаунтов на iOS 5

• Подключили пуш-уведомления, приложение можно закрыть и обязательно придёт пуш

• Удивились, приложение очень быстро удаляет твиты, убрали счётчик

• Добавили «зомбо» кнопку

Page 40: Разработка приложения: от идеи до запуска
Page 41: Разработка приложения: от идеи до запуска

dlttr.com

Фичи

• Подключили Localytics.com (открытый код, есть сессии, события и развернутая статистика по пользователям)

• Локализация: английский и русский• Экран помощи, FAQ, обратная связь

• Freemium, PRO $1.99

Page 42: Разработка приложения: от идеи до запуска

dlttr.com

Всё растянулосьна 2 месяца

Не успели выпустить к предвыборной гонке

Page 43: Разработка приложения: от идеи до запуска

dlttr.com

Разработка такого простого приложения соизмерима с любым*

другим

Page 44: Разработка приложения: от идеи до запуска

dlttr.com

Появился конкурентПеред загрузкой приложения в AppStore появился конкурент: платный, медленный и некрасивый

Page 45: Разработка приложения: от идеи до запуска

dlttr.com

Приложение DLTTR

Page 46: Разработка приложения: от идеи до запуска

http://dlttr.com/app

Page 47: Разработка приложения: от идеи до запуска

dlttr.com

Приложение вышло в середине марта

Page 48: Разработка приложения: от идеи до запуска

dlttr.com

DLTTR

• Самый лучший в мире удалятель твитов• Удаляет твиты за час, день, неделю, месяц, год или всё время

• Волшебный интерфейс, большая красная кнопка и аутентичный звук

Page 49: Разработка приложения: от идеи до запуска

dlttr.com

Мы отказались от поддержки iPhone 2G и 3G

Если у пользователя нет денег на новый айфон,то он не купит инаппы в приложении :-)

Page 50: Разработка приложения: от идеи до запуска

dlttr.com

Название приложения

• DELETE TWEETS: DLTTRДолго выбирали, спасибо http://touchin.ru/test-iphone-icon/

• Придумали новые слова на русском:— Делетер— Удалятель— Удалитор

Page 51: Разработка приложения: от идеи до запуска

dlttr.com

Запуск и первые пользователи

Page 52: Разработка приложения: от идеи до запуска

dlttr.com

Работа с бета-тестерамиРазослали сборку через TestFlightApp.com

Сервис медленный, неудобный

Page 53: Разработка приложения: от идеи до запуска

dlttr.com

Первые шаги

• Мы удивились, приложение сразу нашли арабские пользователи, кто-то написал в твиттере и понеслась

• Первые дни: 62% арабов от общего числа (200-350 пользователей)

• Два кола в US и Canada AppStore, потом последовали хорошие отзывы от фанатов движения Делетера :-)

Page 54: Разработка приложения: от идеи до запуска

dlttr.com

Пользователи

• Один из первых пользователей не понимал, зачем DLTTR, а теперь каждый день удаляет твиты :-)

• Все арабы на одно лицо в ясерках

• Все афро-американцы в бейсболках

• Есть кое-что из ню :-)

• Несколько гитлеров

Page 55: Разработка приложения: от идеи до запуска

dlttr.com

Приложение в новинках в Соцсетях

(русский AppStore)

Page 56: Разработка приложения: от идеи до запуска

dlttr.com

Сайт и веб-версия

Page 59: Разработка приложения: от идеи до запуска

dlttr.com

Админ и статистика

Page 60: Разработка приложения: от идеи до запуска

dlttr.com

«Большой Брат»Есть вся информация по пользователям, количеству задач, фидбекам, а также статистика и аналитика

Page 61: Разработка приложения: от идеи до запуска

Статистика по пользователям

Page 62: Разработка приложения: от идеи до запуска
Page 63: Разработка приложения: от идеи до запуска

Стена пользователей

Page 64: Разработка приложения: от идеи до запуска

dlttr.com

Как пользуются?

• Некоторые боятся удалить, не нажимают на кнопку

• Баловство: удалить твиты, потом ещё раз за тот же период, ещё-ещё, потом просто старт-стоп, старт-стоп

• Удалить твиты в базовой версии, появляется промо-текст, удалить промо-текст, новый промо-тест, удалить... :-)

Page 65: Разработка приложения: от идеи до запуска

dlttr.com

За движением в AppStore — AppAnnie.com

и собственная статистика

Page 66: Разработка приложения: от идеи до запуска

dlttr.com

Планы

Page 67: Разработка приложения: от идеи до запуска

dlttr.com

Планы

• Поддержка iPad Retina (готово)

• Локализация на несколько языков: арабский, китайский, европейские (используем iCanLocalize.com)

• Расширенный функционал по удалению (только реплаи/ретвиты, фав или дм)

• Бекап твитов перед удалением

Page 68: Разработка приложения: от идеи до запуска

dlttr.com

Планы

• Андроид-версия (готово на половину)• PhoneGap и другие мобильные устройства?

• Удаление всей активности из Facebook

• Развитие сервисов для параноиков :-)

Page 69: Разработка приложения: от идеи до запуска

dlttr.com

Основное — продвижениеОбзоры и реклама на тематических ресурсах

Page 70: Разработка приложения: от идеи до запуска

dlttr.com

Если у тебя есть Твиттер, тебе нужен

Делетер

Page 71: Разработка приложения: от идеи до запуска

dlttr.com

Пиши — удаляй!

Page 72: Разработка приложения: от идеи до запуска

dlttr.com

Кто готовпоставить DLTTR

и удалить все твиты? :)Последний вопрос аудитории

Page 73: Разработка приложения: от идеи до запуска

dlttr.com

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

Анатолий Шарифулин@sharifulin

Аpplifto Inc.http://www.applifto.ru