Почти год назад, а именно 12 сентября 2011 года, мы выложили на
Но, тем не менее, благодаря сплочённости и самоотверженности команды, мы прошли этот путь длиной более чем в год, выпустив и поддерживая продукт, входящий в ТОП-10 бесплатных приложений в категории «Бизнес».
Дизайн
Android vs. iPhone
Так сложилась, что у нас в Parcsis во главе рабочего процесса стоят дизайнеры. Бизнес-анализ глубоко интегрирован в отдел дизайна, и макет приложения фактически является техническим заданием для отдела разработки. За некоторое время до начала разработки под Andriod были успешно реализованы клиенты под iPhone и iPad, и тут-то нас ждала первая проблема.
Любой пользователь Андроида уверенно скажет вам, что Андроид — это совсем не Айфон. Но пользователи Айфонов считают, что Андроид — это почти Айфон, только чуть хуже. Наши дизайнеры, как убеждённые сторонники продукции Apple, изначально предлагали реализовать тот же интерфейс, что и на iPhone, игнорируя стандартные элементы управления и наличие физических кнопок.
Понятно, что так поступать было ни в коем случае нельзя, поскольку тогда приложение будет абсолютно неюзабельно. Как часто бывает, эта проблема была решена долгой и обстоятельной беседой, с демонстрацией интерфейсов стандартных приложений iOS и Android. В итоге дизайнеры, как люди достаточно образованные и обладающие необходимой широтой сознания, приняли позицию разработчиков и начали готовить для нас отдельный макет, отличный от iPhone.
Множество конфигураций экрана
Как я уже писал ранее, устройства на базе Android имеют большое количество различных конфигураций экрана, и количество пикселей по горизонтали и вертикали — отнюдь не решающая характеристика. Ведь существуют как устройства с диагональю 10 дюймов и разрешением 800х600, так и с диагональю 5 дюймов и разрешением 1280х800.
Дизайнеры всё время спрашивали, какой должен быть размер страницы макета в пикселях? Потребовался настоящий квантовый скачок сознания, чтобы понять, что вёртска под андроид ближе к веб-вёртске, чем к вёрстке под iOS.
Разработка
Оффлайн-база
Одна из главных «фишек» нашей программы — оффлайн режим работы. Ценность очевидна — при отсутствии интернета, например, в здании суда (или уже в СИЗО, как повезёт) пользователь сможет получить доступ ко всем основным документам — Конституции РФ, кодексам и федеральным законам. Изначально предполагалось поставлять архив с документами непосредственно внутри файла apk, в каталоге asserts. Арихв весил более 30 метров, что давало на выходе, вместе с ресурсами и собственно бинарником программы, apk весом в 35 мегабайт. «Okay», — решили мы и выложили на маркет первую версию.
И практически сразу стали получать письма от пользоваталей, что они не могут скачать приложение, даже на современные мощные телефоны с достаточным количеством свободного места и быстрым вай-фаем.
Причины нашлось две. Во-первых, некоторые андроид-устройства не могут устанавливать файлы apk более 30 мегабайт. Во-вторых, для установки приложения весом в N метров требуется порядка 3N свободного места не телефоне.
Встала задача обеспечить работу приложения на устройствах с кешем загрузки не менее тридцати мегабайт.
Были предложены разные пути решения проблемы. Например, сделать две версии программы — полную, с оффлай-базой, и облегчённую, работающую только онлайн. Или вообще отказаться от заранее сформированной базы, дав возможность пользователю самому выбирать документы для оффлайн-доступа. Но финальным решением проблемы стало добавление функционала скачивания базы с веб, чем мы и пользуемся до сих пор. Впоследствии этот механизм были использован как на iOS, так и на WP7.
Контент-провайдеры
В Андроид есть замечательный механизм, основанный на позднем связывании и представляющий собой невероятную помесь AJAX и DML. Называется он ContentProvider.
Выглядит этот механизм как вполне нативный, и мы не смогли устоять перед соблазном его использования. Но, как оказалось в дальнейшем, контент-провайдеры обладают рядом существенных недостатков, сильно замедляющих процесс разработки приложения. Единственное явное достоинство — обмен данными с другими приложениями, нами не использовалось, и, в конце-концов, мы вовсе отказались от контент-провайдеров, как от ненужной прослойки в механизме получения данных из БД.
Заключение
Несмотря на все сложности, с которыми мы столкнулись, нам удалось разработать действительно полезное приложение. Его достоинства оценили как практикующие юристы, так и студенты юридических факультетов. Количество устройств, на которых установлено «Право.ru» для Android, приближается к 100 000, каждый день программа используется до 15 000 раз. Мы прислушиваемся ко всем пожеланиям пользователей и читаем все письма, которые присылают нам на sps@pravo.ru. Каждый новый релиз добавляет программе новый функционал, делая её ещё удобнее и полезнее.