[Dev Story] VK Stream. Історія про групи і контенті
ТЕКСТ: Олексій Голубєв Почну з короткою передісторії. Ми, команда Amberfog, досить давно почали розробляти свої мобільні додатки у вільний від основної роботи час. Спочатку додатки були тільки під Android, тому що основне місце роботи давало експертизу тільки на цій платформі. Але ось, деякий час тому все почало змінюватися і сьогодні ми хочемо вам розповісти про першого iPhone-додатку від нашої команди.
Ідея VK Stream народилася близько року тому: надихнувшись Flipboard ми стали роздумувати над тим, що потрібно щось схоже для ВКонтакте. Але сукупність різних чинників не дозволила тоді ідеї вирости в додаток.
Фактори були наступні:
- не хотілося робити повтор Flipboard, а якоїсь основної ідеї сформулювати тоді для себе не вийшло
- Android не здавався на той момент такий вже перспективною платформою
- приблизні оцінки роботи виявилися досить високими
- вільного часу не було (нагадаю, всі наші проекти, в тому числі VK Stream, розроблялися тільки ночами і у вихідні).
Минув час, в лютому цього року з готової експертизою для iOS ми стали думати, яке випустити додаток відразу на 2 платформи (iOS і Android) і думка повернулася до VK Flip - таким було початкове робоча назва проекту. В цей раз все зійшлося. Ми зрозуміли, що ми хочемо дати користувачеві, який контент показувати і який досвід має вийти. Закриття Google Reader звільнило простір. Паралельно ми потрапили на Mobile World Congress, в рамках якого проходив захід для розробників, на якому була доповідь від Flipboard. Виступ засновників контент-орієнтованої соціальності остаточно розставило всі крапки над i.
Основна ідея, закладена в VK Stream, наступна: ми даємо користувачам можливість зручно і красиво читати редакторський контент. Орієнтуючись на російськомовну аудиторію ми вибрали публічні групи ВКонтакте в якості основного постачальника редакторського контенту. Щоб не обмежувати користувача вибором груп ми додали можливість авторизації для читання особистих груп.
Найчастіше незалежні розробники запускають свою програму на якійсь одній платформі. UX і UI опрацьовується, скажімо, для iOS, додаток випускається, потім, з невеликими змінами, підтягуються інші мобільні платформи. Ми спочатку ставили перед собою завдання одночасного виходу на двох платформах (iOS і Android), тому при опрацюванні UX, а потім при роботі над UI, намагалися відразу враховувати специфіку обох платформ. Стандартні для однієї платформи елементи є чужорідними на інший і навпаки. Скажімо, TabViewController в iOS і ViewPager в Android. Тут найголовніше було не тягнути ковдру ні в одну із сторін. За нашими відчуттями, отриманий інтерфейс залишає один і той самий зрозумілий досвід користувачеві, не переймаючи нічого чужого і залишаючись в межах своїх особливостей.
Паралельно роботі над опрацюванням UX і UI була проведена колосальна робота по відбору вмісту. Ми намагалися врахувати інтереси всіх верств населення і користувачів ВКонтакте. Таким чином склався складу основних категорій і їх наповнення найбільш читаними пабликами.
Для агрегації контенту з різних груп в категорії довелося розгорнути невеликий додаток в хмарі, яка зберігає і періодично оновлює записи по всім групам і категоріям. Такий проміжний сервер істотно спростив логіку мобільного клієнта. Зробив його тонше. При цьому додалася можливість без модерування перевипуску додатки, що дуже істотно, враховуючи терміни проходження рев'ю в App Store.
UX і UI є, протокол клієнт-сервер є, настав час розробки мобільних додатків. Основними критеріями були обрані: краса, якість, час виходу в App Store. У зв'язку з цим, скрізь, де було можливо, намагалися не винаходити велосипед, а використовувати OpenSource-рішення: ASIHTTPRequest, google-toolbox-for-mac, FGallery, MPFoldTransition. Для аналітики вирішили використовувати легку і мультиплатформову Flurry, для реклами поки AdMob. Безумовно, вносити зміни і виправляти під свої потреби довелося практично всі OpenSource-компоненти, але це все одно зайняло менше часу, ніж написання з нуля.
Такий підхід дозволив нам зосередитися на найголовнішому: подання контенту і красі. Загальна флоу було зроблено досить швидко, далі почались оптимізації. Найбільше довелося повозитися з анімацією основний стрічки записів. Цей ViewController був тричі цілком переписаний з використанням різних підходів. У зв'язку з великою кількістю картинок, у старих iPhone досить швидко забивався кеш, тому і тут довелося подумати.
Ну і третя проблема, з якою довелося зіткнутися ще на етапі опрацювання UI, і яка дожила до розробки коду - велика різнорідність записів. У якихось записах одна картинка, в якихось кілька, де на картинках текст, де-то дуже нестандартне співвідношення сторін. Всі ці варіанти (і ще кілька інших) повинні виглядати ідеально, та як головне, нагадаю, краса.
За видами постів досі йде оптимізація. Допомагає зрозуміти напрямок поліпшень Андроїд, який виходить дещо раніше за рахунок відсутності рев'ю в Store, де-то бета-тестери. До речі, для поширення Ad-Hoc збірок ми користуємося TestFlight, зручна система.
Монетизація та розкруткаКоротко про насущне.
Практика показує, що прямі продажі неігрових програм дуже рідко вистрілюють в російському сегменті ринку. На початковому етапі ми вирішили монетизувати витрати на розроблення додатка за допомогою рекламних банерів. Використовуємо багаторазово перевірений AdMob як на iPhone, так і на Android. У перспективі сподіваємося, що вдасться знайти рекламну мережу з хорошою повноекранної рекламою (interstitial ads), на жаль, в AdMob використання цього типу реклами ми поки не заслужили. Повноекранну рекламу можна було б органічно вбудовувати в стрім записів, прибравши некрасивий підвал з банером. Звичайно, якщо кількість користувачів програми буде обчислюватися сотнями тисяч, а краще мільйонами, то є надія, що рекламодавці з красивими рекламними оголошеннями під кожну категорію прийдуть самі. Також не виключено, що застосуємо freemium модель з відключенням реклами та підключенням яких-небудь premium-фичей.
Для розкрутки ми хочемо використовувати кілька різних каналів, при цьому треба справлятися своїми силами, тому ніякого бюджету на маркетинг у нас поки немає. Спочатку хочеться розповісти про програму традиційним способом: через огляди, тематичні девелоперські історії (такі як цей проект на iPhones.ru) або проекти підтримки російських розробників. Далі, після того як наберемо якусь власну базу, плануємо встановити контакти з адміністраторами публічних груп ВКонтакте і зробити з ними обмін. Ми готові варіювати склад включені за замовчуванням груп в кожній категорії в обмін на публікацію анонсу додатки VK Stream в стрічці.
Плани на майбутнєЗвичайно, розвиток програми буде залежати від його успішності. Нам здається, що програми-читалки такого типу повинні стати органічним доповненням до офіційних клієнтам соц.сетей. Не кожен день хочеться навіть бачити в новинах інформацію про те, що твій однокласник, якого ти не бачив майже 10 років, виклав ще 10 фотографій з Туреччини 3500.
З найближчих планів: ідеалізувати подання всіх видів записів, зробити zoom в галереї фотографій, додати нові категорії за запитами користувачів.
Ну і, найголовніше, зробити так, щоб люди дізналися про програму і спробували цей новий сопособ взаємодії з контентом.
iPhone: Free [iTunes link]
Google Play: Free [link]
Дана історія опублікована в рамках рубрики Developer Story, де розробники діляться секретами своєї внутрішньої кухні.![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/6a795d3d237549f1102baea0e17f6da2.jpg)
![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/ce077cba752c6ea646141347b0098d5c.jpg)
![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/fdf28da43b95a793aaab6a54471c691d.jpg)
![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/184e227a494678ff4d407b3bd7dab140.jpg)
![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/c08f42f7e2f161031b32c7af24dc16b1.jpg)
![[Dev Story] VK Stream. История о группах и контенте](/images/articles/20130623/a17b03d5b9d92c1ca1fa64be471757a7.jpg)