habrahabr

Как я создавал приложение, но был вынужден закрыть из-за действия закона

  • четверг, 9 октября 2014 г. в 03:11:08
http://habrahabr.ru/post/239647/

26 января 2014 года я создал приложение «MCKO для андроид». Классная шутка, которая обрела некоторую популярность. Но об этом позже.

MCKO (МЦКО) — это электронный дневник для московских школ. Так получилось, что он ужасен. Просто УЖАСЕН, а если заходить с телефона, то он вообще перестает работать. При всем его уродстве он, черт возьми, один из самых популярных в Москве. Наверное, его заставляли использовать сверху, государственный же.

image

Слева: так выглядит сайт, если просто зайти с телефона (таблица съехала). Центр: так выглядит журнал, если приблизить. Справа: так выглядит сайт, если вернуться после приближения обратно. Короче, им было пользоваться невозможно.

Создание приложения

После того, как я насытился сайтом, ко мне пришла идея, а не создать ли приложение? Вот только интересно, я один с телефона захожу или таких как я много?

Есть мысль, есть реализация. Порывшись в коде, я нашел там «Яндекс.Метрику», которая была, к счастью, открыта. Моим глазам пала ужасная статистика.

image

Два миллиона посещений с телефона в месяц. Это гигантское число. 2 миллиона мучались и плакали, заходя на сайт.
Я понял. Надо действовать.

Первая версия

Поднатужившись и поработав над приложением от силы 3-4 дня у меня появилась первая версия. Да, она имела глюки. Иногда таблица с ДЗ выходила за экран (если оно большое), дизайн был не ахти, но это было лучше, чем MCKO — и самое важное, это то, что тебе не приходилось выбирать дату, с какой по какую учитывать оценки. Приложение знало, что сегодня такой-то триместр (или четверть) и показывала оценки за нужный участок времени.

Для реализации я выбрал Cordova.



Это — первая версия. О ней было написано только на моей странице в ВК и уже к концу дня приложение было на 13 телефонах. Через неделю уже было 102 установки. Это было прикольно.

Обновление 1

28 января (через 2 дня) вышло обновление, которое несло в себе список мелких улучшений.

Цитата из поста:

Основная цель обновления — сделать приложение более удобным, более простым, более приятным. Иначе — поработать над юзабилити приложения.
Что нового?
1) Приложение работает плавнее;
2) Добавлена анимация загрузки;
3) Добавлено перелистывание дней в разделе («Что задали?»);
4) Текст масштабируется под экран;
5) Добавлена поддержка маленьких экранов;
6) Мелкие исправления.

Единственная проблема — дизайн еще с первой версии подлагивал.


Обновление 2

31 января на свет вышла новая версия, с фишками, которые не имеет ни один журнал. Эта функция называется «отслеживание оценок». В настройках нужно было выбрать балл, на который вы хотите окончить триместр, четверть или полугодие — и дальше начиналась магия. Приложение, учитывая ваши итоги, выделяла предметы. Например, я рассчитываю закончить триместр на 5. У меня по биологии выходит 5, по алгебре 4.7, по физике 4.5, по истории 4.

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



После этого обновления количество скачек за день повысилось в 2 раза.

Создание личной статистики

6 февраля мною была запущена своя личная статистика, ибо я понял, что Google дает мало информации и немного врет.

image

Наверное, вы уже заметили графу «количество школ». Посмотрите на число 151. В 151-й школе был хотя бы 1 человек, который пользовался моим приложением, и это не учитывая тех, кто у себя не указал это в данных.

Обновление 3

8 февраля была покорена новая метка. Приложение было установлено на 200(!) устройствах; в этот же день я выпустил новое обновление. В нем не было каких-то сильных изменений. Только новый дизайн и исправление кучи багов. Однако дизайн все еще лагал.



Забавно, но 2 марта мне поставил 5 звезд заместитель директора нашей школы. Успех.

Обновление, 4 последнее

Следующая версия заставила себя долго ждать. Её выход был10 марта. На этот момент было 600 пользователей. Это обновление самое большое из всех и самое крутое. Самое заметное — изменился дизайн. Он стал реально мобильным. Второе — изменился вид показа ДЗ. К черту таблички, которые выходили за границу. Теперь все красиво.



Еще добавил раздел «успеваемость». Я считал, что смотреть на перечень оценок не нужно, так как волнует только итоговая оценка и оценки за вчера и сегодня. Но раз народ просил, я сделал.

Четвертое — кэширование. Зачем загружать еще раз что-то, когда уже это загрузили? Благодаря этому информация сохранялась. А если есть кэширование, то увеличивается скорость, экономится трафик. Раньше приложение использовало в 50-100 раз меньше трафика, чем просмотр журнала через браузер, а сейчас даже страшно представить цифру.

Пятое — шифрование трафика. Я побеспокоился о том, что в принципе происходит редко, но если мы взялись за работу, то сделаем её хорошо. Данные, которые передает и получает ваш телефон, в теории можно «подслушать». С этого обновления ВЕСЬ трафик шифровался. Никакой жулик не сможет «подслушать» ваш пароль или оценки. Пользоваться нашим приложением стало безопаснее, чем пользоваться официальным сайтом.

Шестое — новый алгоритм загрузки данных, который позволяет быстро загружать данные, на столько, насколько это возможно.

Седьмое — легкий вес. Однажды меня озарило. Люди рассказывают о своем приложении в школе, а дети такой народ, что если они прямо сейчас не скачают, то дома забудут. Раньше приложение весило 5,5 МБ, а сейчас 340 КБ. Благодаря этому его можно было скачать прямо через мобильный интернет и не потратить много денег.

image

Хостинг не выдерживает


Со временем популярность приложения росла. Все больше и больше пользователей им пользовалось, но все чаще и чаще падал сервер, из-за чего приложение переставало работать. 13 апреля нагрузка стала такой большой, что больше сервер не мог встать. Как только встанет — тут же упадет.

image

По картинке видно, что я считал это DDOSом, но как оказалось — нет. Это перегрузка. Да, на тот момент было 1200 пользователей, в день было 150 тысяч запросов к серверу. 125 на душу. Зачем им столько раз узнавать ДЗ или итоги? Я тогда не знал.

Короче, убив день, я оптимизировал сервер настолько, что еще 1200 пользователей он точно бы принял.

image
Статистика на 15 число

Смерть добра


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

Показав пользователям прощальное сообщение, приложение было удалено из поиска Google.

UPD1. Я ходил в офис МЦКО. Им все равно. Они просили закрыть его, хотя я предлагал отдать за бесплатно.