Статьи

Разработка, разработка и создание прототипа приложения для Android: часть 1

Если вы мечтаете создать следующую большую вещь в приложениях для Android, то я не собираюсь лгать: вы получили свою работу за вас!

Вам нужно всего лишь быстро взглянуть на магазин Google Play, чтобы увидеть, что почти все приложения, о которых вы можете подумать, уже созданы — обычно несколько раз и с разной степенью успеха.

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

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

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

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

Во второй части вы овладеете некоторыми мощными, продуманными методами, включая создание каркасов и создание прототипов. К концу второй части вы создадите цифровой прототип, который вы сможете установить и протестировать на своем смартфоне, планшете или эмуляторе Android.

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

Поскольку (якобы) мы приближаемся к лету, я собираюсь разработать приложение, которое поможет людям планировать и бронировать лучшие летние каникулы со всеми своими друзьями.

Итак, у нас есть идея — что нам нужно сделать в первую очередь?

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

Хорошая уловка для понимания сути того, о чем на самом деле ваше приложение, — это написать заявление о продукте. Это одно предложение, в котором сообщается о том, что представляет собой ваше приложение, что оно делает и почему необходимо, чтобы пользователь загружал Google Play и загружал ваше приложение прямо сейчас . Может показаться, что вы представляете свое приложение потенциальному пользователю, и у вас есть только одно предложение, чтобы донести свое сообщение.

После долгих размышлений я выбрал следующее заявление о продукте:

Приложение, которое снимает стресс при планировании и бронировании лучших летних каникул.

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

Возможно, вы захотите написать свое заявление о товаре в заметке

Следующий большой вопрос, который нужно решить: для кого именно я строю эту штуку?

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

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

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

Один простой, но эффективный способ сосредоточиться на вашей аудитории — создать персону пользователя .

Пользователь persona — это отдельный пользователь, который представляет собой тип человека, на которого вы ориентируетесь. Какими характеристиками обладал бы этот человек? Хотя точные характеристики будут различаться в зависимости от типа приложения, которое вы имеете в виду, вы можете начать с ответа на следующие вопросы:

  • Сколько лет вашей персоне? Это может быть точный возраст или возрастная группа, например, люди старше 60 лет или молодые люди.
  • Где они живут? Это может быть конкретная страна или город, или тип места, например, у моря или в большом городе.
  • У них есть дети?
  • Каковы их хобби?
  • У них есть работа? И если так, что это?
  • Они в настоящее время в образовании?
  • Какой их любимый тип приложения?
  • Каков их наименее любимый тип приложения?
  • Какие факторы мотивируют их для загрузки приложения?
  • Они когда-нибудь платят за мобильные приложения?
  • Насколько они опытны с мобильными приложениями? Они опытный пользователь или новичок?
  • Насколько они опытны с технологиями в целом?

Давайте создадим личность пользователя для нашего приложения для путешествий. Для достижения наилучших результатов, это помогает думать о вашей персоне как о реальном человеке. Возможно, вы даже захотите дать своему пользователю имя, и это именно то, что я собираюсь сделать: познакомьтесь с Сашей!

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

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

Я собираюсь добавить следующие характеристики моей персоне:

  • Саша несколько раз была за границей, но только со своей семьей.
  • Это первый раз, когда она запланировала свой собственный отпуск.
  • Саша может быть достаточно организованной, когда захочет, но так как она впервые участвует в планировании и бронировании отпуска, она определенно будет благодарна за помощь!

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

Вот некоторые, которые приходят мне на ум:

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

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

Если вы боретесь за вдохновение, перейдите в магазин Google Play и загрузите несколько примеров приложений для Android, которые охватывают аналогичный контент или имеют ту же целевую аудиторию, что и ваше приложение.

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

Вот несколько функций, которые я набросал:

  • Возможность забронировать все, что может понадобиться пользователю для поездки, от билетов на самолет, поезд и автобус до бронирования гостиниц и даже разных вещей, таких как бронирование столика в этом местном ресторане, который имеет особенно хорошие отзывы на TripAdvisor.
  • Читайте отзывы, оставленные другими пользователями, и оставляйте свои отзывы.
  • Пользователь определяет свой бюджет заранее, и приложение впоследствии фильтрует все свои предложения на основе этого бюджета.
  • Будь спонтанным! Планирование отпуска должно быть увлекательным, так почему бы не оставить все на произвол судьбы, прикрепив виртуальную булавку к виртуальной карте?
  • Итак, планирование отпуска должно быть веселым, но это может быть и тяжелая работа, особенно если это первая поездка, которую вы когда-либо бронировали. Наше приложение должно предоставить контрольный список всего, что пользователь должен забронировать и организовать, чтобы спланировать идеальный отпуск.
  • Функциональность социальных сетей, позволяющая пользователям завидовать всем своим друзьям и членам семьи, публикуя фотографии и обновления статуса о том, как весело они проводят время в отпуске.
  • Журнал путешествий для тех пользователей, которые хотят поделиться не только простыми фотографиями и обновлениями статуса.
  • Поскольку моя целевая аудитория — молодые люди, это может быть первый случай, когда многие из них несут ответственность за бронирование своего отпуска. Они могут по достоинству оценить некоторые общие советы, предназначенные для начинающих путешественников, например, как подать заявление на получение паспорта или какие вещи вы можете и не можете носить с собой в ручной клади.
  • Обратный отсчет, чтобы пользователи могли отслеживать недели, день, часы и минуты до наступления выходного дня.

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

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

Итак, как мы решаем, какие функции живут, а какие умирают?

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

Персона вашего пользователя и варианты использования также должны играть роль в определении того, какие функции вы включаете в версию 1.0 (и в последующих выпусках). Какие особенности больше всего понравятся Саше?

Перечитав пользовательскую персону, варианты использования и описание продукта, я остановился на следующих функциях:

  • Бронирование проезда и проживания. Это абсолютно необходимо — если Саша хотя бы не организует транспорт и место для сна, то она никуда не денется .
  • Установка бюджета. Саша финансирует всю поездку из-за своего студенческого кредита, поэтому установление бюджета является главным приоритетом для нашего сознательного студента.
  • Вставить виртуальную булавку в виртуальную карту. Саша — молодая студентка, которая хочет забронировать летнее приключение со всеми своими друзьями, поэтому мысль о том, чтобы сделать что-то немного сумасшедшее и спонтанное, может понравиться ей. Кроме того, помните наш случай использования, когда Саша тусуется со своими друзьями, и все они обманывают друг друга о том, как весело они будут этим летом? Это идеальная возможность для Саши по-настоящему раскрутиться, загрузив наше приложение и вставив виртуальную булавку в виртуальную карту.
  • Контрольный список. Поскольку Саша впервые участвует в планировании своего собственного отпуска, наличие четкого контрольного списка для проработки сделало бы все это гораздо менее пугающим.

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

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

Для моего приложения для путешествий основными задачами являются:

  1. Бронирование поездки.
  2. Просмотр сведений о любых поездках, которые пользователь уже запланировал.

Обычно вы представляете экраны с формами и выражаете навигацию с помощью линий или стрелок.

Пример быстрой блок-схемы

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

Затем составьте список всех экранов, которые вам нужно создать, на основе вашей потоковой диаграммы.

Вот мой список экранов, а также краткий обзор того, что я планирую включить в каждый экран:

  • Домашний экран. Этот экран содержит меню любых поездок, которые пользователь уже запланировал через наше приложение. Пользователь может нажать любой элемент в этом меню, чтобы просмотреть контрольный список для этой конкретной поездки. Кроме того, они могут дать «Запланируйте новое приключение!» ссылку крана.
  • Карта. Этот экран содержит карту и виртуальный значок. Пользователь может нажать на часть карты или, если он чувствует себя спонтанно, он может схватить виртуальную булавку, закрыть глаза и оставить все это на произвол судьбы.
  • Выберите город. После того, как пользователь выбрал страну, которую он хочет посетить, на этом экране предлагаются города, в которых он может захотеть остаться. Этот экран также содержит слайдер, где пользователь может сообщить приложению, с каким бюджетом он работает.
  • Контрольный список. Этот экран содержит контрольный список для пользователя, чтобы работать через. При нажатии любого элемента в этом списке запускается экран, на котором пользователь может выполнить эту задачу, в том числе:
  • Книжный транспорт.
  • Забронировать отель.

Теперь пришло время объединить нашу блок-схему и список экранов в карту экрана, которая выражает навигационные отношения между всеми этими экранами.

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

Экранная карта нашего туристического приложения

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

Вообще говоря, чем меньше шагов, тем лучше пользовательский опыт. Эта карта — прекрасная возможность определить места, где вы можете уменьшить количество экранов, по которым пользователь должен перемещаться. Это может включать удаление экранов, объединение экранов, изменение порядка экранов или определение мест, где было бы целесообразно добавить навигационный «ярлык», чтобы пользователь мог перейти прямо с экрана A на экран E.

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

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