Когда я был подростком, я увлекся программированием. Участвовал и побеждал в российских олимпиадах по алгоритмическим задачам. Руководил разработкой крупных программных продуктов. Сейчас я преподаю в университете, занимаюсь переводами и журналистикой. Я также создаю свои собственные ИТ-проекты.
Был ли у вас опыт разработки или программирования?
Мой опыт программирования более 20 лет. Я программирую для мобильной платформы Android более 8 лет. Начинал буквально с первых версий этой системы. И продолжаю с интересом следить за развитием технологий на этой платформе и ее развитием. В течение двух десятилетий мне удавалось участвовать во многих различных ИТ-проектах. Получив довольно богатый опыт разработки, понял, что язык программирования не столь важен. Важно понимать принципы надежного программирования и знание базовых алгоритмических решений.
Что было самым сложным аспектом разработки мобильного приложения «Запись клиентов»?
Этот проект был вызовом для меня с самого начала. Это приложение представляет собой целую CRM-систему в кармане. Приложение состоит из более 80 экранов и содержит более 120 различных таблиц в базе данных. Трудно представить, но все это уменьшается всего в 6 МБ. Размер приложения был критическим. Я рассчитываю на аудиторию пользователей из развивающихся стран, где часто возникают проблемы с плохим интернет-соединением, поэтому приложение важно делать максимально маленьким. Кроме того, одним из наиболее сложных технических архитектурных решений была задача обеспечения стабильной работы приложения как с внешней базой данных, расположенной на интернет-серверах, так и с автономной работой приложения без подключения к Интернету.
Назовите несколько ваших любимых приложений и объясните, почему вы их любите.
Мне нравятся маленькие и даже крошечные приложения, созданные для решения лишь одной проблемы. И делающие это виртуозно. Но в ответ на ваш вопрос я все еще назову «Evernote» и «Telegram». Я ими давно пользуюсь и уже успел привыкнуть и полюбить. Мне кажется, что это примеры довольно качественных приложений, сделанных очень профессиональными людьми. Этими приложениями не стыдно руководствоваться как образцами правильных решений.
Как долго вы работаете над этим приложением?
Работа над созданием приложения заняла почти полтора года. Несколько раз приходилось менять философию приложения и, как следствие, полностью перерабатывать пользовательский интерфейс. Не могу сказать, что я полностью удовлетворен текущим результатом, но теперь приложение выглядит достойно и соответствует принципам Material Design — это стандарт разработки интерфейса приложений, продвигаемый Google.
Какие потребности пользователей вы имели в виду при разработке этого приложения?
Есть много людей, предоставляющих различные услуги другим людям. Как правило, они ведут учет встреч с другими людьми или приемов. Задумывая приложение, я хотел создать умного помощника, способного упростить этот процесс и взять на себя выполнение рутинных задач. Это не развлекательное приложение. Оно предназначено, чтобы помочь людям выполнять свою повседневную работу. В отличие от развлекательных или социальных приложений, которые нацелены на то, чтобы задержать пользователя как можно дольше, цель моего приложения — выполнить задачу как можно быстрее.
Как, по вашему мнению, ваше приложение лучше, чем аналогичные приложения на рынке? Пожалуйста, опишите подробно, какие инновации вы предлагаете и чем гордитесь в своем приложении.
Если вы поищете в любом магазине приложений, вы можете найти около десятка приложений, созданных для решения подобных проблем. Однако они делают это совершенно по-другому, у них другая философия, другие алгоритмы и другой дизайн. Используя их, пользователь получает совершенно другой опыт. Я не буду утверждать, что этот опыт хуже или лучше, потому что это просто вопрос вкуса и привычки.
Перед созданием приложения я долго анализировал подобные приложения, составляя длинные списки того, что, по их мнению, было сделано правильно, а что — нет. Мне было интересно погрузиться в мозги других разработчиков и попытаться понять их рассуждения, когда они разрабатывали свои приложения. Не могу сказать, что взял от них лучшее — у меня не было такой задачи. Правильнее было бы сказать, что я пытался предложить свое решение, максимально отличающееся от их.
Какие у вас планы на будущее и какие функции появятся в новых версиях этого приложения?
Основные задачи, над которыми я сейчас работаю, — это адаптация приложения к распространённым языкам и интеграция с популярными коммуникационными и социальными платформами. Также продолжается работа по оптимизации алгоритмов синхронизации данных с серверами. Кроме того, как профессиональный разработчик, я постоянно работаю над кодом приложения, проводя его рефакторинг, упрощая и возвращая так называемый «технический долг».
Предположив, что новые пользователи вашего приложения читают эту страницу, что бы вы хотели у них попросить?
Мне бы очень хотелось получить больше отзывов от людей, которые установили и используют приложение. Для меня важно знать, правильно ли я понял их потребности и нашел ли лучший способ их решить. Мне также важно понять, удобно ли использовать приложение и понятна ли его внутренняя логика.
Я буду рад прочитать любую конструктивную критику, которая поможет сделать приложение лучше. Я также открыт для любых рациональных предложений о том, как улучшить пользовательский опыт. Не могу обещать, что буду реализовывать все запросы на функциональность. В конце концов, важно, чтобы эти возможности были нужны всем пользователям, а не одному. Но в целом я ориентирован на внимательное общение с аудиторией пользователей приложения.
Оригинал интервью Schedule appointments — Interview with the developer of a fantastic app
Блог: appoftheday.downloadastro.com