Всем привет! Меня зовут Михаил Луцкий, я учусь в вузе на IT-специальность, работаю программистом и периодически занимаюсь разработкой собственных приложений под iOS. Ключевая проблема в разработке – это, пожалуй, даже не технические проблемы реализации, а идея. По-настоящему яркие идеи для разработки приходят крайне редко и зачастую тогда, когда их и не ждешь.
В этот раз так и вышло. Одним утром конца декабря я получил аудиосообщение от своего друга, в котором тот расписывал идею приложения для подведения итогов 2019 года в Instagram: «Нам нужно вывести сетку из 9 лучших фотографий пользователя по лайкам, а под этим коллажем будет суммарное количество лайков и комментариев пользователя за весь год». Так начался процесс разработки best9.app.
Я уже занимался разработкой в команде, поэтому собрать своих товарищей и начать работать мне удалось за час: я занимался front-end-разработкой под iOS, мои друзья – back-end, Android и web-версией. Самое сложное было то, что успеть не только разработать, но и проверить работоспособность путем разнообразных тестирований нужно было до последних дней года, иначе в приложении бы не было смысла. А это значило для нас только одно: работать нужно прямо сейчас, быстро и в экстремально сжатых сроках.
Разработать приложение за двое суток – это привычная задача на хакатонах, а опыт участия в них у нашей команды был. Тем не менее, на даже самых серьезных из хакатонов все понимают, что сроки слишком малы, и с пониманием относятся к багам и «заглушкам» в представленном проекте. У нас же не было таких прав на недоработки. Приложение нужно было делать для самого строгого жюри, то есть наших будущих пользователей.
Перед началом работы мы поставили для себя две главные задачи: приложение должно быть абсолютно простым и удобным (никаких паролей, почт или левых данных, поиск только по нику), при этом пользователь должен сам захотеть поделиться результатом в Stories. Иными словами, все должно быть просто и со вкусом.
Так как наше приложение клиент-серверное, мы решили, традиционно в нашей команде, писать приложение на языке программирования Swift, а сервер на Go. Выбор архитектуры обуславливается передачей всей нагрузки по выявлению топовых фотографий на наш сервер, а также позволило в кратчайшие сроки написать клиент-приложения под все платформы.
Разрабатывая best9.app, мы максимально слаженно выполняли свои роли в команде, и, как бы это невероятно не звучало, iOS-приложение было готово уже через сутки. Оно работало так, как мы и задумали: посередине красовался коллаж из девяти фото, а под ним счетчик, сколько всего лайков и комментариев смог набрать пользователь Instagram за уходящий год. Для особо скептически настроенных пользователей мы сделали группировку коллажа не только по лайкам, но и по комментариям на выбор. Фон переливался градиентом из различных цветов, делая публикацию в Stories уникальной. Так мы решили проблему абсолютно одинаковых сторис, надоедающих аудитории.
Последняя преграда на пути к релизу, а именно проверка модераторами AppStore, сильно могла помешать нашему проекту. Дело в том, что сотрудники, проверяющие приложения, уходят на «рождественские каникулы» с 23-го по 27-е декабря. Чтобы перестраховаться, мы отправили запрос на ускоренную проверку приложения. Нам очень повезло: best9.app все-таки проверили и результат нашего труда появился в AppStore через 9 часов после отправки в iTunes Connect.
Для меня это был первый опыт настолько быстрой разработки настоящего работающего приложения. Безусловно, я подтянул свои навыки экстремального программирования и командной работы. Больше всего мы надеемся, что продукт понравится пользователям и с помощью нашего приложения любители Инстаграма смогут похвастаться перед подписчиками и друзьями своими достижениями за 2019й.
best9.app уже доступно в AppStore и в виде web-версии, а Android-приложение проходит проверку в Google Play.