Почни програмування з себе

11 хв. читання

Доброго дня читачам Codeguida! Ця стаття не про те, як програмувати, не про нові технології та не про новий стартап. Ця стаття про те, що написати більш менш популярний додаток до мобільної платформи не складно і навіть дуже корисно.

Ідея

В мене все почалось, коли ціни на паливо на АЗС в країні почали змінюватися "трохи" частіше, ніж раз на тиждень/місяць. Не знайшовши інформера цін на паливо у вигляді віджету до Windows 7 (що не дивно), вирішив зробити свій. Досвіду розробки віджетів до Win7 в мене не було зовсім. Відверто кажучи - досвід у програмуванні в мене був трохи більший ніж той, що дають в університетах на інженерних факультетах (тобто не там, де програмування профільний напрямок). За фахом останні 10 років займаюся 2d графікою (спочатку у поліграфії, потім і до тепер - GUI дизайн у софтверній компанії), також був деякий досвід у 3d. Саме з цим я прийшов до розробки власного віджету.

Але, з віджетом не склалось. Не склалось тому, що вже на другий день, трохи подумавши, стало зрозуміло що такий віджет на ПК не є корисним, так як ця інформація доступна в інтернеті та оновлюється не так часто, щоб потрібно було слідкувати за нею в реальному часі. Треба було робити додаток для мобільних пристроїв. Додаток, який би зручно надавав користувачу інформацію по цінах на пальне. Зручніше, ніж відкривати якусь веб-сторінку в інтернеті.

Так як з Java в мене не було зовсім ніяких "стосунків", а з C# "щось" було - почав робити під Win8. Навіть була вже працююча версія додатку але... на етапі ознайомлення з умовами створення облікового запису розробника в магазині додатків Microsoft, стратегія змінилася. Навіть за умови, що C# я хоча б трохи знав, а Java в житті не бачив в очі (стосовно написання коду) - треба було робити інформер саме на Android, бо у нього значно більша аудиторія, й саме та аудиторія, кому буде цікаво, де саме паливо дешевше.

Реалізація

Серверна частина

Звісно, для написання додатку, потрібно було мати джерело даних з цінами на паливо по АЗС в Україні. На той час (та, нажаль, досі) знайшов лише один сайт, де була така інформація. Оброблювати та зберігати інформацію по цінах було покладено на сервер. Парсити сайт з цінами мав PHP-скрипт. Парсити та складати в XML-файл, який вже й буде зчитувати клієнт-додаток на Andoid. Звісно з PHP справи я теж не мав, але коли є інтернет, то не є проблема. Скрипт було зроблено, дані збирались. Також на хвилі ознайомлення з PHP зробив міні-сайт з тими даними, що збирались для мобільного додатку. З тих часів та й досі він виглядає так:

Клієнт

Так як розробка для Android і взагалі Java для мене було зовсім нове, то на допомогу знову приходить інтернет, а саме - раніше збережений у обраних, дуже гарний підручник для початківців у розробці під Andriod: Start Android. Для початку роботи саме над своїм додатком ознайомився з (приблизно) 30-ма уроками. Надалі все, що потрібно було з'ясувати, питав у Гугла у форматі: "android java <своє питання>". В більшості випадків перші два посилання на Stack Overflow вирішували всі питання. Інколи доводилось шукати трохи довше або шукати інші шляхи реалізації певних моментів.

Отримавши більш менш стабільну і робочу версію свого додатку настала черга реєструвати акаунт розробника. Сплативши свої кровні $25 за це - отримав доступ до консолі розробника Google Play. Знадобилося ще десь близько доби щоб зробити оформлення додатку для магазину - іконки, скріншоти, опис, тощо.

22 березня 2014 року мій перший додаток був опублікований на Google Play. Десь через 2 місяці зробив невеликий апдейт - додав до деяких АЗС (по яким знайшов дані) адреси та координати їх заправних станцій (по кліку на адресу переходить на Google мапи, де вже можна прокласти маршрут).

Сам додаток ще й досі тут.

Висновки

На даному етапі розробка призупинена за відсутністю більш оперативного джерела даних з вільним доступом. Є платні джерела, але так як проект не є комерційним (та навіть без вбудованої реклами), а також так як існують додатки (як мінімум один) де інформація має кращу частоту оновлення (хоч і подає її в менш зручному, як на мене, вигляді).

За рік проект набрав 1700 активних встановлених додатку (при 3200 загальних установок). За цей час були три злети по кількості нових користувачів. Один з них - публікація теми про проект на одному з авто-форумів. Останній - значне зростання цін на паливо.

статистика за рік

Але цей досвід я не можу назвати невдалим. Бо цей досвід і цей додаток підштовхнули на новий проект.

Ідея 2.0

Знову ж - написати цей додаток наштовхнула ситуація в державі. Ситуація з національною валютою, курс якої змінювався швидше, ніж раз на день. Звісно подібні додатки вже були але їх вигляд засмучував. Хотілося зробити додаток з мінімумом необхідного функціоналу та простим дизайном.

Реалізація 2.0

Принцип роботи цього додатку з самого початку був такий самий, як і у додатку по цінам на паливо - парсимо сайт з курсами по банках (по трьом основних валютах), зберігаємо в XML та забираємо дані клієнтом. В такому вигляді додаток пропрацював з 10-го квітня до 7 грудня 2014 року.

Висновки 2.0

За час реалізації проекту по цінам на паливо та курсах валют (в першій їх редакції) зроблені висновки щодо подальших дій:

  1. треба мати більше валют, ніж дає джерело даних
  2. дані потрібно зберігати у БД
  3. потрібно збирати інформацію по курсах самостійно
  4. необхідна монетизація проекту, бо треба якось оплачувати хостинг та домен

Реалізація 2.1

Серверна частина

Це вже був наступний рівень, над яким я сам вже не міг працювати. Тому до проекту долучився мій товариш, з яким ми вже переробили серверну частину.

З моєї сторони був зроблений парсер (знов таки на PHP), який по XML-файлах "конфігураціях" збирав курси валют безпосередньо з сайтів банків. Товариш це все загорнув в класи, навчив зберігати в БД та віддавати потрібну інформацію з БД до мобільного клієнта у відповідь на його запити.

З одного боку це рішення робило проект незалежним від інших ресурсів з курсами валют та надавало доступ до всіх валют, з якими оперують банки (якщо курси по них опубліковані на сайті банку, звичайно ж). З іншого боку - потрібно слідкувати за тим, щоб всі банки оновлювались. Якщо сайт банку змінив структуру коду сторінок, то треба переробляти під це файли з конфігураціями для парсера. Тобто неможливо зробити один раз і забути - потрібен постійний супровід проекту. Але на даному етапі це однаково краще, ніж було у першій редакції.

Клієнт

Сам клієнт теж зазнав значних змін - в ньому з'явився калькулятор/конвертор валют. З'явилися графіки історії зміни курсів валют. Повністю перероблено інтерфейс (хоча, схожість залишилась). Додалися курси чорного ринку (на основі онлайн-аукціону). В додатку з'явилася реклама від AdMob.

Щодо реклами - з її впровадженням трохи знизився рейтинг додатку. Багатьом користувачам це дуже не сподобалось. Однією з причин було те, що вирішивши зробити не так як в усіх - рекламу було не зафіксовано знизу екрану, а вставлялась між рядками банків. Це не тільки було незручно, але й ще самі рекламні блоки, при зміні реклами (раз на хвилину), переводили на себе фокус. Це дійсно дратувало і було перероблено - блок з рекламою переїхав в нижню частину екрану. Іншим взагалі не подобалось сам факт існування рекламного блока в безкоштовному додатку.

Платний клієнт

При розробці обох проектів намагався відповідати на всі питання та пропозиції у відгуках. Більш за все користувачі бажали мати віджет з курсами валют. І тут постало питання - якщо буде віджет, то не буде стимулу відкривати сам додаток і не буде завантажуватися блок з рекламою.

Зупинився на тому, що потрібно дві версії додатку - безкоштовна з рекламою та віджетом, та платна без реклами, віджетом та іншими додатковими функціями. Ціну за платну версію вирішив зробити в ГРН та не змінювати її в залежності від курсу валют. Також платний клієнт буде отримувати оновлення функціоналу раніше за безкоштовну версію.

Клієнт для iOS

В якості спроби розробки під пристрої на базі iOS - товариш зі свого боку працює над клієнтом для продукції Apple. На сьогодні її функціонал трохи відстає від клієнту під Andriod, але то поки що - в подальшому будуть однакові.

Просування

Рекламою додатку цілеспрямовано не займалися. Лише авто-форум (той самий), в соц. мережах серед друзів, та одноразово в невеликій спільноті в ВК. Звісно це давало ефект, але не той, при якому можна було б купувати валізи для грошей з продажу та реклами.

Зараз вже проект заробив на рекламу самого себе для більшої аудиторії - будемо пробувати. Залишилося перед цим додати кілька фіч до самих додатків.

Власне, як просування буде й ця стаття. Сподіваюсь. :)

Висновки по додаткам на сьогодні

На даний момент схема з монетизацією клієнта під Андроід працює - прибутки від реклами та продажу платної версії приблизно однакові (на даний момент часу, з урахуванням того, що платна версія вийшла приблизно на місяць пізніше та ще без віджету, який з'явився ще через місяць). Але є передчуття, що треба буде щось змінювати для більшої популяризації додатків. Або зменшувати вартість платної версії, або розширювати функціонал безкоштовної версії (додавати віджет як мінімум), або щось ще.

Кількість встановлених на даний момент додатків - 32000, 286, 900 (безкоштовна, платна, для iOS відповідно). В розділі "Фінанси" у Google Play (серед безкоштовних) додаток довгий час знаходився на 2-му місці в рейтингу, після додатку ПриватБанку. Зараз кількість нових встановлень впала - маємо 4 місце. Проект вже в змозі окупити для себе хостинг.

Висновки як початківця в розробці додатків

Пройшло трохи більше року з часу, коли я вирішив зробити щось для мобільної платформи. В цілому вважаю, що вільний від основної роботи, час був витрачений не дарма. Бажання працювати в цьому напрямку лише збільшилося, навіть не зважаючи на те, що не всі користувачі оцінили сервіс на 5 зірок з 5-ти, і на те, що сподівання по кількості користувачів дещо не виправдались (сподіваюсь, що поки що не виправдалися).

Також зрозумів, що створити додаток не важко. Навіть коли ти початківець з нульовим рівнем знань (з поправкою на складність розробки, та натхнення до розробки). Навіть коли ти не перший з ідеєю - відібрати аудиторію можна реалізацією (це працюватиме як для додатків, так і для ігор).

Якщо продовження історії цих проектів буде цікава, пізніше можу розповісти як вплине реклама додатку серед великої аудиторії (відносно попередніх спроб просування). Також про цифри монетизації проекту та затрат на нього (не враховуючи людино-годин).

Так як проект все ще в стадії доробок, приймаються побажання та зауваження.

До вашої уваги сам додаток:

  1. Безкоштовна версія: https://play.google.com/store/apps/details?id=financeua.info
  2. Платна версія: https://play.google.com/store/apps/details?id=rates.inua
  3. Версія до iOS: https://itunes.apple.com/us/app/ratesinua-kursy-valut-v-ukraine/id957190243
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація