Опубликован: 21.01.2010 | Доступ: свободный | Студентов: 1132 / 186 | Оценка: 3.88 / 3.81 | Длительность: 11:48:00
Специальности: Программист
Лекция 5:

Этапы проектирования приложения для мобильного устройства

Аннотация: Анализ предметной области. Разработка пользовательского интерфейса. Разработка модели данных. Развертывание мобильного приложения.

Разработка мобильных приложений, безусловно, имеет много общего с разработкой программного обеспечения для стационарных компьютеров. И разработка мобильных приложений имеет следующие этапы

  1. Анализ предметной области. Выявление функциональных требований к приложению.
  2. Разработка пользовательского интерфейса.
  3. Разработка модели данных.
  4. Развертывание мобильного приложения.

5.1. Анализ предметной области

При разработке мобильного приложения, отсутствие или не правильный анализ предметной области приведет к тому, что сроки сдачи в эксплуатацию программного обеспечения будут сорваны, если конечно состоятся. Далее представлены этапы анализа предметной области мобильного приложения взаимодействующим с сервером, однако, эти этапы соответствуют и автономному приложению за исключением упоминаний о сервере и средствах связи. При проведении анализа предметной области нужно придерживаться последовательности

  1. Четко распишите сценарии использования мобильного приложения. Определите квалификацию пользователей и условия, в которых они будут работать. Определите объемы передаваемых данных, и время, которое будет взаимодействовать пользователь с мобильным устройством. Это внесет ясность то чего ожидает заказчик, а так же через некоторое время вы начнете понимать технические характеристики мобильного устройства и средств связи с сервером.
  2. Учитывая частоту использования устройства и того какова скорость соединения, а так же технические характеристики устройства и возможно стоимости трафика. Решите, как сбалансировать приложение, где хранить и вычислять необходимые данные.
  3. Создайте прототип приложения и проверьте его не на эмуляторах, а на реальных устройствах с реальными объемами данных. В случае потребности, проработайте первый и второй пункт, а потребность возникнет в большей или меньшей степени.
  4. Проанализируйте, и ответьте на следящие вопросы: Удобен ли разработанный интерфейс к условиям работы? Смогут или его быстро освоить будущие пользователи? Подходит ли интерфейс на целевые мобильные устройства? Ответы на эти вопросы должны быть однозначно положительные, если нет, то стоит прояснить не ясные моменты и переработать слабые моменты.
  5. Имея опыт работы с прототипом, определите модель данных, которая будет использоваться, внесите ясность, в то, какие типы данных будут использоваться.
  6. Разрабатывайте программное обеспечение. Используйте проработанный и подтвержденный сценарий использования приложения, и известный интерфейс, и известные типы данных.

При выполнении всех шагов, оставьте за собой возможность гибкого изменения плана разработки программного обеспечения, однако область и сценарии применения в общих чертах меняться не могут, иначе возможна ситуация когда приложение окажется слишком сложным для использования его на мобильном устройстве. Так же следует указать, что у разработчиков имеющих опыт разработки для стационарных компьютеров, может появиться соблазн переносить, возможно, уже имеющийся программный продукт для стационарного компьютера, на мобильное устройство. И это в корне не правильный подход, там, где нет стационарного компьютера, но есть потребность в функционировании информационной системы предприятия. Условия работы сотрудников, скорее всего, будут не определенными, не комфортными, а на ходу. И им не представится возможным и комфортным получение необходимой информации в течение двух или трех минут, как это часто бывает на программах для ПК. Так же укажу что 2-3 минуты это при очень хорошем раскладе дел, чаще требуется больше времени. Это и нормально, ведь человек работая за стационарным компьютером, скорее всего, будет нуждаться в высокой функциональности, обмене информацией различных приложений. Это и приводит к усложнению системы и повышения длительности работы. А человек, который работает с мобильным приложением, находится, где то в проходном и динамичном месте, сфокусировать свое внимание до получение результата на мобильное устройство представляется нормальным не более чем в течении 20-25 секунд. Это время на которое следует ориентироваться с учетом того что устройство потребуется достать из кармана, воспользоваться пером или кнопками управления. Так что перенос, популярной программы с ПК на мобильное устройство, без проработки элементов управления, обеспеченно на провал.

5.2. Разработка пользовательского интерфейса

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

Так что первое требование к пользовательскому интерфейсу

  • Приложение должно не доставлять дискомфорта для людей окружающих пользователя

Концепция универсального пользовательского интерфейса не получила развитие в силу - выпускаемые устройства имеют различные размеры и различное предназначение. Так, по своим физическим размерам визуальный пользовательский интерфейс смартфона значительно отличается от интерфейса Pocket PC. В то же время, каждый из этих интерфейсов значительно уже отличается от интерфейса планшетного компьютера. Эти различия вовсе не произвольны и обусловлены тем, какой именно способ ношения устройства предполагается (например, в кармане брюк, кармане пиджака, в рюкзаке или портфеле), и в каких ситуациях оно должно использоваться. Размеры экрана влияют на способы представления информации и на то, какие элементы управления будут использованы. Так же механизма ввода информации отличаются от устройства к устройству, а значит и элементы графического интерфейса, скорее всего тоже окажутся разными. Такие устройства, как смартфоны, снабжены расширенной 12-клавишной клавиатурой, но экранные указатели для них не предусмотрены, тогда как устройства PDA (персональные помощники) в качестве основного механизма ввода оборудуются сенсорным экраном. Достоинства и недостатки устройств с сенсорным экраном приведены в таблице 5.1

Таблица 5.1. Плюсы и минусы мобильных устройств с сенсорными экранами и без них
КПК Смартфоны
Плюсы Сенсорный экран, безусловно, дает более широкие возможности в плане использование элементов интерфейса. И, как правило, создается более удобный и функциональный интерфейс. Жесткий дисплей, безусловно, требует менее требовательный в условиях хранения (дисплей не может быть испорчен монетами или другими мелкими бытовыми вещами).
Минусы Требователен к условиям хранения, необходим персональный чехол для устройства, дабы не повредить сенсорный дисплей. Имеет менее широкие возможности в плане элементов управления, в силу ограниченности механизма взаимодействия.

Справедливости ради необходимо указать что бывают:

  • Устройства с полной клавиатурой и пером, таких несколько больше чем описанных в следующем пункте.
  • Устройства с двумя дисплеями, и двумя клавиатурами, этот вариант встречается реже, пока еще такие устройства в единственных исполнениях.

В подтверждение того что для устройств с сенсорным экраном разработать интерфейс проще, можно привести набор элементов управления .net compact framework в таблице 5.2.

Таблица 5.2. Сравнение элементов управления для устройств с сенсорным экраном и без него в .NET Compact Framework
Windows Standart 6 (без сенсорног экрана) Windows Standart 6 (с сенсорным экраном)

Большое разнообразие устройств, не позволяют создать технологию масштабирования пользовательского интерфейса. Однако существуют рекомендации от различных фирм, которым следует уделить пристальное внимание рекомендациям разработки интерфейса целевого устройства. Если их, конечно, опубликуют соответственно фирмы производители, возможно простое изучение имеющихся программ в стандартной поставке с устройством. Изучение программ из стандартной поставки позволит вам сохранить культуру использования элементов управления в вашем приложении по отношению к тому устройству, на котором предполагается эксплуатация. А так же следует изучить рекомендации компании Microsoft на следующей странице http://msdn.microsoft.com/en-us/library/bb677147.aspx.

Каждая категория устройств характеризуется своим оптимальным набором задач и моделей использования, для которых она предназначена. Мобильные телефоны используются главным образом для того, чтобы вести телефонные разговоры, просматривать ранее введенную информацию и вводить небольшие объемы новой информации, обычно - в виде одной-двух текстовых строк или простых наборов чисел. Интерфейсы устройств категории Pocket PC в состоянии предложить большие возможности дисплея для исследования информации, однако, так как в основном они выпускаются без встроенной клавиатуры, они не приспособлены для ввода текста в свободной форме. Устройства Pocket PC Phone достаточно удобны для ведения телефонных разговоров, но если такое устройство используется пользователем только для этого, то его выбор был неверным.

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

Одна рука или две?

Важной характеристикой вашего мобильного приложения является то, какой способ его использования предполагается - с помощью одной руки или двух? Обычно этот выбор определяется типом оборудования мобильного устройства, на которое ориентировано ваше приложение.

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

Для успешного манипулирования устройством при помощи одной руки очень важно минимизировать количество кнопок, которые необходимо использовать в процессе навигации по приложению. Например, если приложение предлагает пользователю выполнить операцию в пять шагов, то для подобной навигации по пользовательскому интерфейсу должна быть предусмотрена возможность осуществления соответствующих действий путем пятикратного нажатия одной и той же кнопки, если пользователя устраивают значения по умолчанию. Если же это потребует от пользователя нажатия пяти разных кнопок, то он должен будет переводить взгляд между экраном и телефонной клавиатурой. Это очень сильно отвлекает внимание, прерывает ход мыслей и увеличивает вероятность ошибок при вводе. Для повышения эффективности работы не менее важно правильно выбирать значения по умолчанию, чтобы пользователю оставалось только подтверждать их приемлемость.

Уменьшение количества щелчков на кнопках, необходимых для выполнения часто повторяющихся задач, до абсолютного минимума также имеет большое значение; благодаря этому уменьшается вероятность ошибок и сокращается время, которое пользователь должен затратить на выполнение коротких задач, а именно таковые обычно и приходится решать с использованием мобильных устройств.

Если общее время сеанса работы с устройством составляет примерно 20 секунд, то сократить лишний пяток секунд только за счет предоставления простой и эффективной модели навигации - совсем неплохо.

При работе над проектами, предполагающими манипулирование устройством при помощи одной руки, необходимо уделять большое внимание метафоре представления навигационных средств на целевом мобильном телефоне. Так, метафора диалоговых окон, имеющих вкладки, для навигации по приложению с помощью одной руки обычно не используется, поскольку на большинстве таких устройств, для отображения всех вкладок не хватает места.

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

Другим существенным фактором навигации в пределах приложения является то, каким пользователи видят все устройство в целом. В процессе использования смартфонов их пользователи склонны воспринимать устройство как "одно приложение" в большей степени, чем пользователи Pocket PC или Tablet PC. На смартфонах концепция запуска приложений или переключения между ними отражена слабо; вместо этого пользователь представляет себе все происходящее как переключение между различными экранами устройства. Вследствие такого размытия границ приложения важность следования привычным моделям навигации в подобных ситуациях еще более возрастает. В общем случае можно полагать, что чем меньше размеры устройства, тем в большей степени пользователь будет воспринимать его как единое приложение и поэтому рассчитывать на единообразное поведение всех средств навигации, используемых на этом устройстве.

В отличие от смартфонов устройства Pocket PC ориентированы на то, что ими будут манипулировать двумя руками. Одна рука держит устройство, тогда как второй рукой осуществляют навигацию и выбор нужного варианта. Если приложение предназначено для выполнения на устройствах типа Pocket PC, оборудованных сенсорным экраном и пером в качестве средств ввода, то проект целесообразно сориентировать на оптимальное использование форм-факторов механизмов ввода и вывода. Как ранее уже отмечалось, выбор устройства может определяться тем, создание какой пользовательской среды вы хотите обеспечить своим приложением.

Работая с устройствами, в которых применяется сенсорный экран, необходимо тщательно продумывать размещение элементов пользовательского интерфейса. Необходимо позаботиться о том, чтобы пользователь, работающий пером, не закрывал важные участки экрана, когда его рука скользит над экраном в процессе выбора предлагаемых вариантов; в случае смартфонов такой проблемы не существует, поскольку оперирование только одной рукой гарантирует, что экран всегда остается на виду. В отличие от пользовательских интерфейсов смартфонов метафора вкладок часто служит весьма удобной моделью пользовательского интерфейса для приложений Pocket PC, поскольку размеры экрана в этом случае достаточно велики для того, чтобы отобразить на них навигационные вкладки, а сенсорная природа экрана обеспечивает возможность быстрого перехода с одной вкладки на другую.

Вы должны решить, должно ли ваше приложение быть управляемым одной рукой или двумя. Иногда выбор оборудования определен заранее, в других случаях этот выбор является частью проекта разработки программного обеспечения. Как бы то ни было, выбор устройства диктует и выбор вами "одноручного" или "двуручного" варианта приложения. Очень важно, чтобы вы явно формулировали это решение и делали его обязательным целевым фактором, который надо учитывать при проектировании и тестировании пользовательского интерфейса.

В результате внимательного исследования возможности создания универсального интерфейса, ясно, что универсальный интерфейс не достижим. Но вполне вероятно, что потребуется установить на устройства, имеющие различные цели приложения с одним назначением, а значит, потребуется разрабатывать приложение с почти единой логикой, но разными интерфейсами, которые желательно автоматически адаптировать во время установки. Так же следует понимать, что с изменением интерфейса, вероятно, частично изменится и логика программы, но все же общие наработки останутся. И иметь представление то, как вы будет адаптировать ваше приложение в случае, необходимости инсталляции его на другие устройства. Поэтому всегда настраивайтесь на специализацию интерфейса типа устройства, области применения и людей которые будут с приложением работать. В подтверждение сказанному можно привести исследования Марике де Моойи из Нидерландов. Потребители, обладая достаточным уровнем доходов, тянутся к одним и тем же технологичным вещам. Однако используют их по-разному, в зависимости от того, в какой стране они живут и к какой культуре принадлежат Исследование также показало, что культурные традиции оказывают влияние на Web и прочие пользовательские интерфейсы. WuKong, прототип КПК/телефона, разработанный компанией Sony Ericsson. Являясь полностью китайской версией, созданной для китайских пользователей, не только использует китайские иероглифы, но и оперирует отличительными фундаментальными метафорами - не документами, приложениями и папками, а людьми, отношениями и знаниями, причем под знаниями понимается лучший опыт (сценарии действий) вкупе с традиционной мудростью. Локализация, включающая перевод на местный язык, и адаптация под конкретный тип устройств необходима, но этого может, оказывается недостаточно.

Безусловно, графический интерфейс мобильного приложения, требует большего внимания, и одна из следующих лекций будет посвящена этому вопросу полностью.