Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
Хорошим примером подобного рода исследовательского подхода к обработке информации может служить просмотр Web-ресурсов на настольном компьютере. Обычные сетевые соединения с высокой пропускной способностью обеспечивают загрузку больших объемов информации на локальные носители. Это дает возможность загружать больше информации, чем требуется непосредственно в данный момент, просто на тот случай, если предложенная пользователю дополнительная информация может ему пригодиться. В результате загрузки пользователь, как правило, получает документ, насыщенный большим количеством ссылок на самую разнообразную информацию, которая, как предполагается, может предоставлять для него интерес. В процессе ознакомления с содержимым таких документов пользователи обычно переходят к другим, дополнительно указанным документам и часто открывают одновременно несколько окон, чтобы иметь возможность быстро переключаться между документами для нахождения нужной информации. С подобной ситуацией, например, сталкивался каждый, кто использовал Web для поиска вариантов приобретения авиабилетов со скидкой. В этом случае пользователь открывает сразу несколько окон, соответствующих Web-сайтам различных компаний-перевозчиков, в каждом из которых можно получить информацию о тарифах в зависимости от дат вылета и прилета. Из окон браузеров эту информацию часто копируют в электронные письма или другие документы. Если пользователь сталкивается с информационно-насыщенной Web-страницей с множеством ссылок, то предугадать его дальнейшие действия довольно-таки трудно.
Щелкнет ли пользователь на ссылке?
Введет ли он новый адрес в адресной строке браузера?
Будет ли пользователь копировать некоторую информацию из Web-страницы в другой документ?
Запустит ли он программу электронной почты или службу мгновенного обмена сообщениями?
Количество возможных вариантов практически ничем не ограничивается, и поэтому в типичных случаях деятельность такого пользователя носит исследовательский характер.
Аналогичная схема использования характерна и для таких многофункциональных клиентских приложений, устанавливаемых на персональных компьютерах, как приложения электронной почты, электронные таблицы или такие приложения, предназначенные для создания содержимого, как текстовые процессоры и графические редакторы, а также инструментальные средства разработчика. Пользователи часто и совершенно произвольным образом "переключаются между задачами", чтобы получить нужную им информацию из различных источников и объединить ее, как того требуют текущие обстоятельства. Пользователь, готовящий текстовый документ, постоянно возвращается к его отдельным частям, изменяя состав содержимого и схему его компоновки, пересматривая текст и свободно переходя от одного места к другому в рамках документа. Пользователи могут переключаться на другие приложения для получения требуемой информации и копирования ее в документы, с которыми они работают. Пользовательский интерфейс, предлагаемый электронными таблицами, имеет еще более ярко выраженное исследовательское назначение, предоставляя в распоряжение пользователя огромное табличное пространство, позволяющее вводить, изменять и анализировать данные, рисовать диаграммы и решать различные задачи с использованием сценариев "что если". Инструментальные средства разработки приложений по самой своей природе являются инструментами исследовательской деятельности, предоставляя разработчику возможность быстро перемещаться в пределах документа для исследования разрабатываемого им кода и структуры пользовательского интерфейса, просмотра определений и преобразования кода, а также поиска справочных материалов, имеющих отношение к решаемым разработчиком задачам. В силу самой своей сути отладка программных кодов включает в себя элементы исследования, эксперимента и анализа.
Наилучшие приложения для настольных компьютеров предоставляют пользователям возможность всестороннего исследования информации. В отличие от этого лучшие образцы мобильных приложений обеспечивают пользователям возможность быстрой и эффективной фокусировки внимания на конкретных видах информации и услугах, позволяя при этом обходиться лишь минимальным количеством навигационных элементов управления или вообще без таковых.
Работа одного и того же пользователя с локальными документами на мобильных устройствах и настольных компьютерах происходит по-разному. Во многих случаях полезно иметь возможность использовать мобильные устройства для просмотра и незначительной правки текстовых документов, созданных на настольных компьютерах, однако мобильные устройства почти никогда не применяются для создания и подготовки документов. Ничуть не рискуя быть опровергнутым, можно побиться об заклад, что 90 процентов содержимого всех документов создается на настольных компьютерах, тогда как на устройствах эти документы главным образом лишь читаются.
Кроме приложений, используемых для путешествий по безбрежным пространствам Internet и обработки документов, существуют также пользовательские приложения. На настольных компьютерах можно встретить множество самых различных приложений подобного рода — специфические профессиональные приложения, коммуникационные и аналитические приложения, приложения для ввода и учета данных и так далее. Для всех таких приложений доступны их мобильные аналоги. Между приложениями этой категории, которые предназначены для использования на настольных компьютерах и мобильных устройствах, существуют те же различия в отношении "исследовательского или целевого" характера их использования, которые мы выше уже обсуждали. Чтобы быть полезными, приложения для мобильных устройств должны обеспечивать пользователям возможность большей концентрации на выполнении узкоспециализированных задач, чем это обеспечивается версиями этих же приложений для настольных компьютеров, которые ориентируются на более ярко выраженный "исследовательский" характер работы. Можно считать, что мобильные приложения просто предлагают иное представление данных и процессов по сравнению с аналогичными вариантами приложений, ориентированных на настольные компьютеры. В обоих случаях данные и процессы остаются одними и теми же, но способ их представления изменяется с учетом того, чтобы обеспечить как можно более быстрый доступ к ключевым элементам, которые могут понадобиться пользователю, работающему в мобильных условиях.
Распространенная ошибка разработчиков при переносе на мобильные устройства приложений, предназначенных для настольных компьютеров, заключается в том, что они пытаются сделать это, буквально "втискивая" приложение в устройство без внесения в него каких-либо существенных изменений. Если вспомнить обсуждавшиеся выше различия в способах использования приложений на настольных компьютерах и мобильных устройствах, то станет понятным, что такой подход просто не способен привести к получению удовлетворительных результатов.
Вторая распространенная ошибка состоит в том, что от приложения и его интерфейса постепенно отсекают некоторые их части до тех пор, пока приложение не сможет выполняться на мобильном устройстве. Близки к этому и попытки переноса на мобильное устройство крупного пользовательского интерфейса по частям путем его разбиения на ряд вложенных диалогов, которые удается отобразить на небольшом экране. В результате такого подхода вместо рационально продуманной версии приложения для мобильного устройства обычно получают лишь некое усеченное подобие приложения для настольных компьютеров, отличающееся меньшими функциональными возможностями. В этом отношении главным вопросом, на который необходимо дать ответ, является следующий: "Каким должно быть представление данных и процессов приложения, чтобы оно наилучшим образом удовлетворяло запросам тех, кто пользуется мобильными устройствами?" Получив ответ на этот вопрос, вы можете приступить к созданию пользовательского интерфейса с нуля.
Очень важно тщательно продумывать сценарии возможных действий пользователя при работе в мобильных условиях и специально оптимизировать решение соответствующих задач таким образом, чтобы они выполнялись эффективнее, чем на настольном компьютере. Не менее важен анализ того, какие части приложения не являются критическими для его мобильного варианта. Впоследствии об этих частях можно будет позаботиться лишь во вторую очередь или даже вообще отказаться от них. В обслуживании потребностей пользователя ваше приложение должно вести себя подобно линзе типа "рыбий глаз", предоставляя возможность "широкого обзора", но при этом оставаясь нацеленным на решение наиболее важных для пользователя задач.
Более пристальный взгляд на мобильные Web-браузерыИнтересным примером многофункциональных клиентских приложений, выполняющихся на мобильных устройствах, являются мобильные Web-браузеры. Целесообразно сравнить между собой мобильные Web-браузеры и их настольные аналоги, чтобы выяснить, в чем состоит суть различий между ними. Благодаря этому мы получим в свое распоряжение неплохие метафоры для анализа того, как будут вести себя приложения для настольных компьютеров при их переносе на мобильные устройства и какие изменения необходимо в них внести, чтобы работать с ними в мобильных условиях было действительно удобно