Основным вопросом, на который вы должны дать ответ, является вопрос о том, каким образом ваше мобильное приложение будет связано с другими приложениями. Мобильное приложение может быть создано как независимое приложение, как часть набора специализированных приложений, установленных на устройстве, или же как переносимая часть крупной распределенной системы.
Независимые приложения
Простая игровая или вычислительная программа может быть выполнена в виде независимого приложения. Независимые приложения характеризуются отсутствием взаимодействия с другими приложениями и предоставляют пользователям лишь ограниченный набор средств, к которым возможен быстрый доступ. Если ваше приложение попадает в эту категорию, то определить сферу его применения будет сравнительно просто. Однако даже в этом случае могут потребоваться некоторые уточнения. Например, калькулятор, позволяющий быстро складывать, вычитать, умножать и делить числа, и калькулятор, предназначенный для решения алгебраических уравнений и построения графиков, должны фокусироваться на совершенно разных вещах. Можно предположить, что модели пользовательских интерфейсов и навигации в этих приложениях должны значительно различаться между собой. В каждом из этих случаев пользователям хотелось бы иметь возможность решать за 20 секунд совершенно непохожие задачи, а это требует расстановки различных акцентов в процессе проектирования приложений. Даже в случае небольших независимых приложений вопрос о сфере их применения не теряет своей актуальности.
Наборы взаимосвязанных приложений, установленных на устройстве
Большинство приложений, заслуживающих интереса, взаимодействуют с другими системами. В некоторых случаях вместо варианта, предусматривающего создание одного крупного многоцелевого приложения, можно выбрать вариант создания набора приложений, установленных на одном устройстве, которые осуществляют совместный доступ к локальной базе данных. Каждое приложение может быть ориентировано на решение отдельного круга задач и разрабатываться так, чтобы наилучшим образом обеспечить достижение соответствующих целей. При построении набора приложений, которые будут совместно работать с разделяемыми данными, важно как можно точнее определить, что именно каждое приложение должно делать, а что не должно. Хорошим примером разделения функций между отдельными приложениями может служить набор офисных приложений. Типичное программное обеспечение офисного набора включает в себя текстовый процессор, программу для выполнения расчетов (электронные таблицы), а также программное обеспечение для подготовки презентационных материалов и обеспечения связи. Указанные программы могут взаимодействовать между собой множеством способов и разделять общие данные и компоненты, но сомнения в отношении того, какое из приложений больше всего подходит для решения той или иной задачи, возникают лишь в очень редких случаях. Кое-кому может показаться, что отдельные офисные приложения сами по себе являются слишком сложными, чтобы каждое из них можно было считать ориентированным на решение узкого круга задач, однако представьте, что бы произошло, если бы все они были объединены в одно огромное "суперприложение". Результат напоминал бы собой некий конгломерат. Залог создания успешных мобильных приложений — минимизация их размеров и специализация выполняемых ими функций
Во многих случаях, когда имеется вполне определенный набор задач, которые должны выполняться на мобильном устройстве, целесообразно предусмотреть для каждой из них отдельное приложение, а не создавать один программный гигант, подобный кухонному комбайну, совмещающему в себе функции раковины, устройства для нарезки салатов и жаровни для приготовления барбекю. Навигация в пределах таких составных приложений чрезвычайно усложняется, а их сопровождение становится затруднительным.