Данная глава должна подготовить необходимую для этого почву и приучить вас мыслить категориями "мобильности". От умения рассуждать с учетом специфики устройств зависит очень многое, поскольку это самым радикальным образом повлияет на ваш подход к проектированию приложений. Создание неординарных мобильных приложений требует хорошего понимания того, какие именно ключевые характеристики делают то или иное приложение действительно замечательным. В этой главе даются ответы на такие вопросы: "Чем именно отличается использование приложений для мобильных устройств от использования приложений для настольных компьютеров?" и "Каковы наиболее важные отличительные характеристики хороших мобильных приложений?"
Вооружившись этими знаниями, вы сможете сосредоточиться на изучении способов преодоления тех трудностей, с которыми чаще всего приходится сталкиваться при разработке программного обеспечения для мобильных устройств.
Распространенные схемы использования мобильных устройств
Наиболее существенные различия между приложениями для мобильных устройств и приложениями для настольных компьютеров обусловлены, вероятно, тем, каким именно образом люди их используют. Представьте, что вы сидите за компьютером — и что вы при этом делаете? Если вы относитесь к самой многочисленной категории пользователей, то используете компьютер в основном для следующих видов работы: просмотр ресурсов в Web, работа с документами (обработка текстовых документов, электронных таблиц, рисунков и тому подобного) и общение (электронная почта, мгновенный обмен сообщениями и так далее). В типичных случаях все эти виды деятельности носят долговременный, исследовательский характер, и пользователь периодически переходит от одного из этих основных занятий к другому. Если вы разработчик (и можно побиться об заклад, что это действительно так, иначе зачем вам читать эту книгу?), то можете дополнить этот список разработкой программного обеспечения, которая, несомненно, также относится к видам деятельности, растянутым во времени и требующим проведения исследований. Если же вы используете компьютер для игр, то должны знать, что многие из самых интересных игр требуют от игроков активного исследования сложных виртуальных миров и взаимодействия с ними, что также поглощает много времени и заставляет пользователя тщательно продумывать каждый свой шаг.
В большинстве случаев способы использования настольного и мобильного вариантов одного и того же приложения отличаются между собой, хотя и дополняют друг друга. Как правило, работа пользователя с мобильным приложением носит характер кратковременных сеансов взаимодействия, которое либо прерывается извне, либо само вызывает прерывание сеанса. Обычно пользователь либо реагирует на попытку прервать его работу, либо использует устройство для немедленной передачи запроса определенному лицу или процессу. Прекрасной иллюстрацией этого может служить типичная практика использования современных мобильных телефонов. Когда вы совершаете телефонный звонок или отправляете текстовое SMS-сообщение, ваш абонент получает сигнал прерывания; если же звонят или посылают SMS-сообщением вам, то прерывается ваша работа. Эта же модель использования переносится и на любое другое приложение, выполняющееся на мобильных устройствах. Мобильное приложение может считаться удачно разработанным лишь в том случае, если пользоваться им столь же просто и естественно, как связываться с кем-то по телефону или обмениваться SMS-сообщениями.
Кроме того, приложениям для мобильных устройств присуща ярко выраженная специализация, обеспечивающая максимально удобный доступ пользователя к ограниченному набору определенных возможностей, что и отличает устройства от той универсальной исследовательской среды, создание которой характерно для успешных приложений, выполняющихся на настольных вычислительных машинах. Поскольку управление мобильными устройствами чаще всего осуществляется одной рукой или с помощью небольшого экрана с перьевым устройством ввода, очень важно обеспечить пользователя возможностями оперативной идентификации и быстрого нахождения нужной ему информации или средств. Возможность быстрой навигации в пределах немногочисленного набора ключевых средств является важным показателем качества разработки мобильного приложения.
Долговременные и кратковременные виды деятельности
Работа за настольными компьютерами, как правило, ведется на протяжении длительных рабочих сеансов. Самыми обычными являются часовые сеансы, однако нередко они затягиваются на несколько часов. В процессе длительной работы формируются и разрабатываются идеи, а сама работа носит итеративный характер со свойственными ему возвратами к уже пройденным этапам. Поэтому большее значение имеет не сокращение длительности подготовки к работе, а предоставление пользователю богатого набора разнообразных средств, которые могут ему понадобиться в процессе исследования и обработки соответствующей информации.