6 причин, почему НЕ СТОИТ разрабатывать Андроид приложение по iOS дизайну

Многие заказчики просят нас портировать их существующие iOS приложения на Андроид. Зачастую они пренебрегают необходимостью нативного пользовательского интерфейса для Андроид. В этой статье мы хотели бы поделиться серьезными аргументами, почему не стоит использовать iOS интерфейс при разработке Андроид приложения.

Предисловие

«Кирилл, скинул тебе письмо. Сделай оценку.» Зачастую именно так начинаются у нас новые Android-проекты. Перед началом работы я делаю примерную оценку времени, которое понадобится на выполнение задачи. Эта оценка необходима клиенту, чтобы он приблизительно представлял, сколько времени и денег потратит на проект. Для этого он отправляет нам текстовое описание своей фантазии, которую мы будем воплощать в жизнь, и дизайн, то есть, картинки того, как он видит свое приложение. И вот здесь обычно происходит следующей диалог:

— А вот тут у нас лежит дизайн.

— Но тут дизайн только для iOS, а где дизайн для Android?

— Сделайте приложение по одному дизайну.

*глубокий вздох, исполненный сожаления и отчаяния*

Почему это плохо

Вот здесь бы я мог развернуться! Вот тут я мог бы сделать описание стилей различных систем, привести цитаты из стайл-гайдов (документы, в которых описывается как нужно писать программы под ту или иную платформу), провести сравнительный анализ компонентов Android и iOS… Но я хочу ограничиться парой простых примеров.

Пример 1: Паззл

Представьте, что вы заказали через Интернет два крутых паззла. И вот вам приходят две большущие коробки. На обеих изображены удивительной красоты картины, которые так и говорят вам: «Собери меня, собери меня!». Вы открываете сначала одну, потом другую коробку. Водопад разноцветных картинок проливается на пол. Ну что же, выберем одну из головоломок и начнем собирать.

Фух, неделя выпала из жизни, но теперь у нас на полу красуется настоящее произведение искусства! Хорошо, а теперь садимся за вторую головоломку. Вы начинаете составлять паззл, но в процессе этого увлекательного действа понимаете, что деталей не хватает. Похоже вы их где-то потеряли. Заказывать недостающие части у вас желания нет, все-таки это лишние деньги, а вы уже и так заплатили немаленькую сумму, но картину все-таки закончить хочется. Не беда! Давайте вытащим несколько похожих кусочков из первой картинки и вставим ее во вторую. Не входит? Ну это уже не проблема, где-то на полках, вот уже какой месяц, пылится без дела молоток…

Пример 2: Дом

Место действия: офис небольшой строительной фирмы, которая возводит частные коттеджи. За столом сидит заказчик и исполнитель.

— Здравствуйте.

— Добрый день.

— Я уже заказывал у вашей фирмы дом. Вы отлично справились с заказом, и я хотел бы продолжить с вами работать.

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

— Да, так и есть. Теперь я хочу заказать у вас точно такой же дом, только из кирпича.

— Отлично, наши специалисты адаптируют ваш старый дизайн к новому материалу и месту, мы подберем лучшие материалы и лучших работников, которые строят дома уже более десяти лет.

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

— Деревянный дом из кирпича? Но вы же понимаете, что кирпич и дерево  – это разные материалы. У них разный цвет, разная текстура. Форма у кирпича и бревна тоже разная. Соответственно, и выглядеть они будут по-разному.

— Что Вы мне голову морочите? Там дом, и тут дом. Какая разница из чего они сделаны.

— Нет, разница есть. Понимаете, различные …

— Так, вы профессионал или нет?! Я хочу деревянный дом из кирпича! Вы можете это сделать или нет? Если нет, то я найду тех, кто может!

— Да, конечно, можем. Вася, Вася! Вот тебе проект на оценку. И вот дизайн. Да, строим кирпичный. Нет, дизайн только для дерева. И чтобы дом выглядел, как будто его сделали из сруба!

Мораль сей басни такова

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

Почему так происходит?

Итак, почему же мы все-таки делаем Android приложения по iOS дизайну? Причин этому печальному явлению несколько, рассмотрим каждую из них:

  1. Нет денег. У человека может быть богатая фантазия, неудержимое воображение, море идей и энергии, но вот денег не особо много. «А дай-ка я сэкономлю на дизайне. Пусть он у меня будет только один, а приложения напишут под две/три платформы!». Соответственно, еще более запущенный случай, когда к нам обращается не сам клиент, а посредник. В таких случаях, приходится экономить еще больше. В общем, мало денег, чтобы еще один дизайн рисовать.
  2. Android дизайн не нужен. «У меня уже есть приложение на iOS, портируйте его на Android. Дизайн? Ну вы что, не видите, какой в приложении дизайн? Сделайте что-нибудь похожее». Или еще лучше: «Вот дизайн, – видим скриншоты сайта, – сделайте мне приложение». В принципе, очень похоже на первый пункт.
  3. Один дизайн, чтобы править всеми. «Конечно же, моим будущим миллионам пользователей будет удобно, если во всех версиях моей программы будет одинаковый интерфейс».
  4. Android: свобода, равенство, братство. На iOS, если ваше приложение не соответствует официальным стайл-гайдам, то его просто не опубликуют в App Store. В Google Play такого ограничения, к сожалению, нет. Поэтому дизайнеры работают в свободном стиле, а клиенты особо над этим не парятся. И только у пользователей текут кровавые слезы, когда они видят очередной «шедевр» дизайнерского мастерства.

Вот такие незамысловатые причины толкают людей на то, чтобы не делать отдельный дизайн для Android-версии. Теперь посмотрим, к чему это может привести.

К чему это приводит

  1. Волшебных гномиков нет! Действительно, дизайнеру вам платить не придется, но ведь кому-то эту работу делать нужно. Очевидно, что делать ее будет Android-разработчик. Теперь посмотрим, как это будет происходить. Android-девелопер смотрит на iOS дизайн: «Так, что-то похожее есть у нас на платформе. А это что такое? Интересно, а если я этот элемент заменю на вот такой Android-элемент, заказчик не будет против? Или скажет, что это все фигня, верните как было?» Собственно, как мы видим, отсутствие дизайна существенно прибавляет работы программисту. А точнее, программист делает работу дизайнера. Так как программист дизайнером не является, то качество этой работы зачастую может не удовлетворять клиента. Что же получаем в результате? Плохого дизайнера за цену хорошего программиста. Вы действительно этого хотите?
  2. Волшебных гномиков нет, я сказал! Вариант, похожий на первый, только еще более запущенный. Если в первом варианте у программиста есть хотя бы примерный дизайн с составными частями, из которых его можно сделать, то во втором случае у программиста нет даже этого. То есть дизайн скорее всего будет еще меньше соответствовать ожиданиям клиента, а время, потраченное разработчиком, увеличится еще больше.
  3. Благими намерениями… Это просто эталонная иллюстрация крылатой фразы: «Благими намерениями вымощена дорога в ад». Вроде как, идея неплоха: пользователь установил приложение, например, на iOS, потом думает: «Да ну этот iOS с его огораживанием, пойду лучше на Android. Там есть преферанс с частушницами, и можно приложения не из Google Play ставить!» Покупает себе человек Android, ставит себе ТО САМОЕ приложение – и опа! Тот же самый интерфейс, что он видел на iOS. Слезы умиления катятся по щекам… Занавес!

    Ну что же, выглядит неплохо. «Какого же черта ты тогда придираешься?» – спросите вы. Да, для 0,001% людей от общего числа пользователей на Android’е, которые перешли с iOS и используют это приложение, это, возможно, будет удобно. Возможно, потому, что приложение все равно не будет выглядеть точно также. Помните про строительные блоки? Они другие. Но для остальных 99,999% это приложение будет выглядеть странно и вести себя непонятно как. А то, что люди не понимают, они не используют.

  4. Большой брат не одобряет. У приложения с iOS-подобным дизайном существенно меньше шансов попасть в список топов Google Play. Например, в категории «Выбор редакции» одним из критериев отбора приложений является их соответствие Android стайл-гайдам для дизайна. А список топов Google Play – это самый быстрый и надежный способ, чтобы как можно больше людей узнало о вашем приложении. И это действительно важно. Так как у вас может быть самая что ни на есть гениально-инновационно-удивительная программа, но если о ней никто не знает, то смысла во всей ее гениальности, инновационности и удивительности нет. Оценить все это будет некому.

Итог

Подведем итог. Если вы будете делать Android приложение на iOS дизайне, то денег вы на этом не сэкономите, а, вероятно, отдадите их еще больше. И, скорее всего, внешний вид приложения не будет соответствовать вашим ожиданиям. Пользователям это тоже никакого удовольствия не принесет, потому что приложение будет выглядеть и действовать не так, как они привыкли. А в дополнение ко всему — критики Google Play никогда не поставят приложению высоких оценок, что затруднит его попадание в топ. А теперь задайте себе вопрос: «Мне точно нужен деревянный дом из кирпича?»