Два выпускника НИТУ МИСиС разработали приложение Ridewithme, которое помогает найти напарника для совместных занятий спортом. Один из разработчиков, Виктор Соболев, рассказал Технократии, зачем нужен продукт и что он собой представляет.

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

Мы с другом, Магомедом Чапановым, долго вынашивали задумку, хотелось сделать уникальный и интересный продукт. В итоге сделали клиент-серверное приложение на протоколе HTTP. Делали достаточное долго, так как пришлось покопаться в SDK ВКонтакте и Facebook (кстати, последний в этом плане гораздо приятнее). В итоге сделали вход через социальные сети, поддержку сессий и асинхронность запросов.

Асинхронность запросов дает плавность и красоту, но прибавляет разработчику множество седых волос. Мы долго добивались того, чтобы приложение ничем не отличалось от стандартных сервисов Apple. Пользователь не любит зависания больше всего на свете, и мы от них избавились. Для приложения описан  API сервера, мы надеемся в скором времени расширять платформы и писать наше приложение на Android. Надеемся, структурированный подход к описанию методов сервера нам поможет в этом.

ridewithme

Вообще, серверная часть приложения — это СУБД MySQL и PHP. Изначально наш хостинг-провайдер не поддерживал PHP версии старше 5.3, поэтому приходилось писать на устаревшей версии языка. Также привычные библиотеки для работы с БД были предназначены для версий PHP 5.4 и старше. Отчасти поэтому от использования готовых библиотек поначалу было решено отказаться. Но так как в то время (да и сейчас… и всегда) мы ещё учились, основной причиной всё же было желание разобраться во всём самостоятельно и не перекладывать работу на готовые решения.

Сейчас мы отказались от услуг хостинг-провайдера и переехали на выделенный сервер в облаке на CentOS. Такой подход обладает необходимой гибкостью в настройке (при умении пользоваться терминалом в UNIX) и достаточно демократичен в плане цены. Сейчас идёт рефакторинг и внедрение необходимых библиотек (основам научились, разобрались, можно довериться проверенным профессионалам).

На клиенте же все довольно просто, вся личная информация о пользователе хранится в песочнице, поэтому за сохранность данных отвечают стандарты Apple. Для запросов к БД устройства написана небольшая библиотека.

«Фишка», которую мы хотели прикрутить с самого начала — это карта. Мы не сомневались в ее необходимости, так как всегда приятнее видеть на карте ближайшие события и подключаться к ним, исходя из своего местоположения. Для реализации этой функции подключили MapKit от яблочной компании.

Почему именно она? Просто стандартные карты очень визуально красивы, да и функционал нам не нужен был космический, просто отметить точку на карте. Мне кажется, что нашему сервису этот выход пошел на пользу, карты не перегружены, там отображается только необходимая информация. Для визуальных эффектов (у нас их не очень много) была написана библиотека, в том числе там описано появление карты при нажатии на иконку.

ridewithme2

UI приложения был выбран, исходя из удобства пользователя. Нам не хотелось перегружать его, и в итоге, мы получили довольно простой и удобный интерфейс. Переделывали мы его много раз, но всегда шли к упрощению и удалению ненужного функционала.

Пытались прикрутить множество сторонних сервисов, в том числе сервис покупки авиабилета в место события. Нам показалось, что это довольно удобно — видеть минимальную стоимость билета для событий, которые проходят в других городах. К сожалению, там не получилось по ряду причин. Оглашать их не буду, скажу просто, что мы не сошлись по условиям, но возможно к этому мы еще вернемся.

Само приложение уже готово и доступно как в App Store. Траты небольшие —  стандартная плата за аккаунт разработчика Apple(99$), серверная часть (доменное имя, хостинг, машина). Поддержка сервера на данный момент стоит порядка 70$ в месяц. Далее – траты на рекламу приложения. На нее затраты только начались, сейчас сложно подсчитать сколько куда ушло. Сейчас экспериментируем. Первые выводы появятся через пару месяцев.

Что касается монетизации, то на данный момент, мы остановились на рекламе. Мы знаем, как неприятна пользователю реклама, выскакивающая отовсюду, поэтому сразу отказались от iAd и GoogleAd. Решили пожертвовать начальным заработком в пользу удобства пользователя. Поэтому сейчас есть возможность добавить рекламу, но она будет ненавязчивой и красивой (если реклама вообще такой может быть).

В будущем есть различные варианты по монетизации, но, в любом случае, мы остановимся на чем-то одном. Если будут введены платные сервисы, реклама будет удалена.

Страница Ridewithme в ВКонтакте
Страница Технократии в ВКонтакте