Из чего же сделаны наши аппы?
Разобравшись со своим предназначением и найдя новых Друзей в лице клиентов, мы задаемся вопросом: «А что за прилаги — и вообще: как я их буду делать? И чем они отличаются друг от друга?»
Вопрос верный, справедливый.
Обо всем по порядку.
Что такое «прилага»?
Тут все более-менее ясно. Слава КПСС.
Какие они бывают?
Все просто, как три капкейка: соцсети, продактивити-тулы, бизнес-аппы, игры, финтес-трекеры… СТОП.
Это я не о том. Потому что это их классификация по функционалу. У нас с вами ситуация несколько иная.
Приложения бывают нескольких видов (терминологию я предлагаю свою).
• Self-Contained Apps
В вольном переводе — мобильное приложение, основной функционал которого, как и данные пользователя, живет внутри него самого.
Что это значит: приложение либо работает с пользовательскими данными, которые пользователь самолично в него внес, либо с данными, зашитыми внутрь.
Пример: Калькулятор, Заметки, Часы, карта Метро, некоторые простые игры, фото- и файл-менеджеры, конвертеры величин и т.п.
Важно понимать, что self-contained apps живут на вашем устройстве и никак не общаются с внешними серверами, либо обращаются к общедоступным серверам по стандартным протоколам обмена данных (API). Все остальное — другой тип.
- Плюсы:
+ для приложения не надо строить серверную инфраструктуру, в которой будут храниться данные и с которой приложение будет обмениваться данными;
+ максимально бюджетная разработка;
+ ваши данные — на вашем устройстве, а не в «облаке». - Минусы:
- данные извне загружаются через обновление приложения — либо при помощи USB;
- подходит далеко не для каждого бизнеса;
- потерял устройство — прощайте, данные. - Вывод: ограниченность в обмене данных отнюдь не говорит о том, что сей вид приложений вымирает. Подобные прилаги нынче взяты на вооружение в мультимедиа-системах в новых машинах низкого и среднего сегмента рынка, например. В дорогих авто это уже «не торт». Там покупателям за чистую монету впаривают приблуды Connected Car по цены б/у «Лады Девятки», но они обновляются через интернет, что в этом типе неприемлемо.
• Server-Based Apps
Как мне кажется, достаточно сказать, что к этому племени относятся Фейсбуки, Инстаграмчики, «Злобные птички», Вконтакты (о да, данные в них живут в iCloud или в Goolge). Список по аналогии продолжите сами.
Как ответственный автор, я должен написать кей-фичи этого типа добра. Запоминайте: если данные хранятся не локально, а на сервере в «облаке», и в прилагу надо логиниться — она server-based app.
Надо ли говорить, что подавляющее большинство ваших новых Друзей закажут вам прилагу именно этого типа?
- Плюсы:
+ доступность данных на всех устройствах, где вы авторизовались;
+ возможность доступа через web app (если есть);
+ бэкап пользовательских данных в «облаке»;
+ удаленное хранилище данных на сервере с версионностью и бэкапом;
+ и много всего другого, о чем вы уже и сами догадались. - Минусы:
- если криворукий девелопер не удосужился сделать offline mode в приложении (кэширование и локальное хранение данных), то, отъезжая на 60 км от Москвы, вы лишитесь этого приложения, пока не залезете на крышу дачной фазенды в поисках значка 3G | LTE;
- если вы хранили интимные фото в iCloud и его хакнули — вы, возможно, уже стали звездой на страницах журнала «Флирт»;
- если умер сервер или весь проект закрыли, то данных ваших больше нет, а мир никогда больше не станет прежним. - Вывод: это самый популярный тип мобильных приложений. Что же касается нашего брата, то: каким образом приложение общается с сервером, нас не касается — что хорошо! Но разобраться, в каком именно виде хранятся данные, все же стоит. Потому что иногда девелоперы «включают дурака», говоря, что «это очень долго». При этом, если посмотреть и увидеть, что нужные вам данные не приходят, то ваше право легально пнуть криворучку никто не осудит.
• Web Apps
Gmail или Google Inbox в Safari на макбуке представляете? Тогда вы знаете все об этом типе приложений.
Если вы являетесь бывшим веб-дизайнером и вам предложили такой проект — тибе павэзло, дарагой! Всем, кто этого не делал, скажу следующее. Помните, при дизайне web app надо отчетливо понимать, что половина времени уйдет на дизайн скринов, а вторая половина — на стейты (состояния тех или иных элементов на экране при определенных действиях пользователя типа hover) и дизайн контролов.
- Плюсы:
+ модно, стильно, современно;
+ дружит со всеми типа компьютеров и их браузеров;
+ отсутствие необходимости хранить данные на локальной машине;
+ доступ из любой точки мира (из Китая и подобных «закрытых» стран — по VPN);
+ апдейт системы происходит на сервере, а не на устройстве пользователя = пользователь получает апдейт всего аппа при перезагрузке скрина! Здорово, правда? А еще A/B-тестирование так легко проводить — просто сказка! - Минусы:
- нет интернета — нет и работы;
- если пользователь является адептом Windows XP и IE 7, то… Ну, вы все правильно поняли. =)) - Вывод: обычно web app является либо основной, либо второстепенной средой выпаса дорогого пользователя. Все зависит от бизнес-модели, но то, что придется иметь дело с web app, вам должно быть очевидно.
• Desktop Apps
Думаю, что все их видели, хотя бы единожды включив компьютер. =))
По ним, кстати, тоже есть гайдлайны. И иногда сначала делают web-based apps, а затем пилят клиент и для десктопа. Из относительно удачной реализации стоит отметить Slack.
- Плюсы:
+ традиционно;
+ ретроградно;
+ «православно»;
+ enterprise-friendly. - Минусы:
- все мы любим продукты от Microsoft, а они любят desktop apps (это я про юзабилити и индусов);
- их тоже надо мэйнтейнить, а еще заставлять пользователя их апдейтить, что задача не из легких, особенно с ворованным софтом;
- их можно утащить с торрента;
- неимоверно сложная система монетизации по подписке (привет, Adobe Creative Cloud!);
- подвержены вирусам, коням и прочим паразитам. - Вывод: если бюджет компании уже позволяет, а клиенты сильно просят, то тогда Друг приходит к вам. А Друг обычно из боооольшой лавки типа Adobe, Apple, Adobe, AutoCad, 1C и тому подобных.
• А что же еще?
Думай, думай!
…
Подсказка: что так любит Тимми Кук, кроме радуги?
Ага, в точку. Часы. Дорогие. Умные. «Залатые, брат!» Сказать тут можно многое, но лучше сначала себе их купить, прочитать гайдлайны и понять, как, зачем и почему их счастливый обладатель все бросит и поставит на свои часы именно ваше приложение. Рынок и спецы на нем пока ломают голову, пытаясь объять и понять ценности людей — и вообще, зачем они, пользователи, будут заморачиваться приложениями еще и на часах. Но самые бойкие пионеры уже запилили что-то для Apple Watch. Ну, хотя бы просто потому, что «надо быть в тренде».
Платформы для часов сейчас три: Apple Watch, Android Wear и Peeble. Подизайнить ради фана, конечно же, стоит, но пока лично мне не довелось облагородить этот мир очередным шедевром по одной простой причине: «никто не предлагал».
- Плюсы:
+ модно;
+ стиль;
+ современно;
+ молодежно;
+ потенциально удобно (у Pebble вполне). - Минусы:
- кроме Pebble, все остальные «выпивают» батарейку за день;
- придется крепко подумать, что же такого полезного можно дать людям, чтобы они пожертвовали батарейкой;
- минимальный функционал приложения;
- без связи со смартфоном нет возможности хранить адекватный объем данных (Apple Watch пока еще сыроваты, непонятно, как использовать их внутренний объем);
- проблемы с перебоями в подключении часов и смартфона;
- защита данных слишком плохая, поэтому хранить хоть сколько-нибудь ценные данные на часах нельзя. - Вывод: если по фану — наверное, здорово. Если серьезно — расскажите как оно, напишу репорт о вас!
• За кадром
За кадром я специально оставил устройства с кнопочными интерфейсами, так как они изначально стоят особняком и требуют отдельного разговора.
Теперь, дорогие мои, вы знаете, чем, казалось бы, одинаковые для пользователя приложения отличаются изнутри. О чем это нам говорит? О том, что вы сходу будете знать, с чем вам и вашему Клиенту придется иметь дело.
Чтобы лучше понять основу любого приложения, вам просто необходимо узнать о Боли Пользователя.
В эфире тема: Проблема, решение и функционал.