приложение flow что это
Microsoft Flow: что это и зачем?
Подпишитесь, чтобы получать новые статьи
Для пользователей Office 365 в 2016 году был официально запущен открытый бета-тест нового в то время продукта от компании Microsoft «Microsoft Flow». В данной статье мы попробуем поближе познакомиться с сервисом, который призван автоматизировать наши рутинные задачи и облегчить жизнь и работу сотрудников компании.
Microsoft Flow – облачный сервис от компании Microsoft, который позволяет автоматизировать рабочие процессы между приложениями, службами и online-сервисами. Эти процессы можно использовать для сбора данных, синхронизации файлов, получения уведомлений и других целей.
На данный момент реализована поддержка более 200 различных сторонних сервисов и служб таких гигантов как Google, Dropbox, Slack, WordPress, а также различных социальных сервисов: Blogger, Instagram, Twitter, Youtube, Facebook, Vimeo и тд. Конечно же, помимо этого доступна простая интеграция с приложениями Office 365.
Для упрощения использования MS Flow компания Microsoft предоставила нам большое число стандартных шаблонов для различных приложений и событий, которые мы можем использовать, просто заполнив набор необходимых параметров. Также пользователи могут сами создавать шаблоны в конструкторе и публиковать их для использования другими пользователями.
Рассмотрим примеры популярных сценариев:
Мы можем собирать письма по определенным критериям (тема, отправитель и тд), статистику по этим письмам, например, в Excel на OneDrive для дальнейшего анализа с помощью средств MS Office.
Можно отслеживать посты в социальных сетях Facebook, Twitter, Instagram по ключевым словам (например, упоминание компании/продукта). Затем настроить получение уведомлений по таким событиям, собирать данные и мнения людей для дальнейшего анализа.
С помощью MS Flow мы можем настроить синхронизацию данных между файловыми хранилищами OneDrive, Dropbox, GoogleDrive и тд. Например, собирать все актуальные версии файлов с серверов заказчика у себя в OneDrive и не думать о проблемах с версионностью.
Теперь давайте рассмотрим подробнее несколько простых сценариев, демонстрирующих нам, что для использования «Microsoft Flow» не нужно быть разработчиком или ИТ-специалистом, достаточно всего лишь иметь учетную запись Microsoft Office 365.
К примеру, мы хотим отслеживать твиты, в которых упоминается название нашего продукта или компании, и создавать в Dynamics CRM Интерес (Лид) для автора твита. Для этих целей есть уже готовый шаблон, поэтому нам не придется тратить время на дополнительные настройки или создание с нуля.
Как видно, конструктор на основе шаблонов предлагает очень обширные и гибкие возможности для бизнеса, но что делать если для бизнес-целей нет подходящего шаблона?
Для этого используется система триггеров (прим.: триггер – событие, при наступлении которого начнется выполнение процесса). Продемонстрируем на простом примере: мы хотим получать сообщения на почту при создании интереса в Microsoft Dynamics 365 (CRM).
2. Для данного сервиса предусмотрено несколько триггеров, которые могут срабатывать на создание, обновление, удаление записи. Выбираем триггер создания записи “When a record is created”, затем выбираем организацию, для которой создается процесс, название сущности (объекта системы), на создание которой будет реагировать наш триггер и нажимаем “+ New step”.
3. Как видно, конструктор предлагает нам много возможностей для тонкой настройки процесса, добавления дополнительных условий и действий.
В данном случае мы добавим действие “Add an action”. У нас на выбор есть огромное количество всевозможных видов действий: отправка sms, выполнение запроса к SQL-серверу, сбор данных и запись в файл, получение информации о погоде, создание поста в соц. сетях, работа с календарем, контактами и тд.
Сейчас выберем действие “Send an email” для решения нашей тривиальной задачи.
4. Заполним обязательные параметры. При необходимости список параметров можно развернуть для более тонкой настройки почтового сообщения. Обратим внимание на такую прекрасную вещь, как динамический контент. Мы можем вытащить данные из полей создаваемой записи и использовать в нашем почтовом сообщении. Например, возьмем поле “Имя” и добавим его в тело сообщения, после обработки сообщения на этом месте выведется Имя Интереса из системы.
Как мы видим сервис предлагает нам множество возможностей и большинство из них доступно бесплатно. Есть также возможность приобрести премиум аккаунт, который добавляет возможность работать с дополнительными сервисами. Однако в большинстве случаев бесплатного аккаунта достаточно для решения большинства рутинных задач и сокращения трудозатрат сотрудников на подобные задачи.
В данной статье мы рассмотрели только малую часть потенциала, скрываемого под названием «Microsoft Flow», и надеюсь у вас появилось желание попробовать данный сервис в своих повседневных бизнес-задачах, ведь как гласит лозунг этого сервиса «Work less, do more»!
Пример использования Microsoft Flow или Как подарить жене цветы
Постановка задачи
Иногда задачи для программиста возникают из обыденной жизни. Это был один из таких случаев. Мне хотелось дарить жене цветы время от времени, скажем раз в месяц. Но при этом я не хотел делать это в какую-то конкретную дату, например, в первый день месяца. Тогда это уже не было бы сюрпризом. Мне хотелось рандомизации. К примеру, следующий раз, когда я дарю цветы, должен быть через месяц после предыдущего раза, плюс/минус пара дней.
Ну, можно сохранять информацию о событиях в каком-нибудь Интернет-хранилище (например Mlab). В этом случае все экземпляры моего приложения будут работать с одной и той же информацией, что позволит им быть синхронизированными между собой. Тем не менее, мне потребуется установить эти приложения на все мои компьютеры. Кроме того, я использую Windows на компьютерах и Android на смартфоне, так что мне придется писать несколько различных приложений, если я действительно хочу получать свои уведомления везде. Как преодолеть эту проблему? С помощью Web, конечно же.
Если я создам Web-приложение, я смогу использовать его практически на любом устройстве. Замечательно! Но все же не достаточно замечательно. Позвольте мне объяснить мою точку зрения. Хотя не так трудно написать Web-приложение, решающее мою проблему, тем не менее в этом случае мне придется заботиться о множестве вещей. Нужно думать о хостинге, о хранилище данных, о хранении кода, … И зачем? Практически вся требуемая функциональность уже реализована в современных Web-календарях, таких как Google Calendar. Он может создавать события, делать их повторяющимися, посылать мне уведомления об их наступлении, и т.п. Единственно чего там нет, так это требуемой мне рандомизации. Не было бы здорово, если бы я мог просто добавить эту возможность, и использовать все остальные уже имеющиеся возможности?
Когда я думал об этой проблеме, я наткнулся на сайт IFTTT.com. Идея этого сайта проста, но продуктивна. Если что-то происходит, он что-то делает. Я знаю, это звучит странно, поэтому позвольте привести ряд примеров. Если я получил электронное письмо от определенного человека, пошли мне SMS. Если мой любимый автор опубликовал новую статью в своем блоге, сообщи мне об этом в Slack. Или если пришло время определенного события в Google Calendar, пошли мне письмо. Надеюсь, теперь понятно, к чему я веду. Этот сервис может следить за определенными событиями (они называются триггерами) и выполнять некоторые действия, когда эти события произошли. IFTTT поддерживает огромное количество возможных триггеров и действий. Я мог бы отслеживать мои события в Google Calendar, и когда определенное событие происходит, я бы посылал себе письмо, удалял старое событие и добавлял новое на более позднее время. Здорово! Именно то, что требуется! Но не совсем.
Прежде всего, IFTTT допускает только одно действие на триггер. Это не такая уж большая проблема, т.к. можно создать несколько апплетов с идентичными триггерами (апплетом называется комбинация триггера и действия в IFTTT). Один будет слать мне письмо, другой — удалять старое событие, третий — создавать новое событие. Но есть и более серьезное препятствие. Для нового события мне нужно создавать время срабатывания с рандомизацией. И я не нашел, как это сделать в IFTTT. Это означает, что данный сервис не может решить мою задачу. Но, может быть в Интернет есть другие подобные сервисы? Да, есть.
Следующим сайтом, который я рассматривал, был Zapier. Здесь мы можем использовать несколько действий на один триггер, что хорошо. Но это доступно только за деньги, что не так хорошо. Я не играл с Zapier достаточно долго, но у меня сложилось впечатление, что он также не дает возможности для требуемой мне рандомизации. Хотя тут я могу и ошибаться. В любом случае, я перешел к следующему кандидату.
Это был Microsoft Flow. Данный сервис позволяет мне отслеживать 750 срабатываний триггера в месяц бесплатно. Это более чем достаточно для моих нужд. Более того, он имеет поддержку выражений, среди которых есть и функция rand()! Это именно то, что нужно. Теперь позвольте мне показать, как решить описанную задачу с помощью Microsoft Flow.
Решение
Сначала нужно создать новый поток (flow). Потоком называется комбинация триггера и действий. Чтобы сделать это, зарегистрируйтесь на сайте и в главном меню щелкните на My flows, а затем на Create from blank:
Щелкните на кнопке Create from blank:
Вас попросят выбрать триггер. Введите «calendar» в поле поиска и выберите Google Calendar:
В списке доступных триггеров для Google Calendar выберите When an event starts:
Здесь вас могут попросить разрешить доступ со стороны Microsoft Flow к Google Calendar от вашего лица.
Теперь триггер готов. Его единственным параметром является календарь:
Да, в Google Calendar вы можете создать несколько календарей. Каждое событие принадлежит к одному из календарей, и вам нужно выбрать календарь, чьи события будут запускать ваши действия.
Нет ничего плохого в том, что создать новый календарь и класть в него все события, по которым должны срабатывать ваши действия. Но если не все события в календаре должны обрабатываться, вы можете использовать фильтрацию. Нажмите New step и затем Add a condition:
Это создаст для вас фильтр. Теперь нужно решить, как именно мы хотим фильтровать события. К примеру, я хочу обрабатывать только те события, которые содержат текст «[RANDOM]» в поле “местоположение”. Чтобы выполнить это, щелкните на поле ввода Choose value. Microsoft Flow покажет вам список возможных значений, с которыми вы можете работать:
Щелкните на Event List Event Location. И заполните остальные поля соответствующими значениями:
Обратите внимание на ссылку Edit in advanced mode. Она очень полезна. Если щелкнуть на нее, вы получите представление того же условия в виде текстового выражения:
Это очень поможет, когда придет время писать ваши собственные выражения.
Теперь можно добавлять действия для наших событий. В ветке If yes вашего фильтра щелкните на ссылку Add an action. Здесь я создам действие, которое будет посылать мне уведомление о событии на Gmail:
Как вы можете видеть, можно использовать данные из вашего события чтобы заполнить поля Subject, Body и другие свойства этого действия.
Теперь у нас есть уведомления. Пришло время удалить старое событие в календаре и создать новое на более позднее время. С помощью ссылки Add an action создайте действие Delete an event для Google Calendar:
Следует сказать, что вполне возможно просто изменить событие в календаре вместо того, чтобы удалять старое и создавать новое. Но здесь я буду все же придерживаться последнего варианта, чтобы показать вам еще одну возможность Microsoft Flow. Пусть я хочу, чтобы создание нового события в календаре происходило не после удаления старого, а параллельно с этим. Наведите мышку на стрелку между действиями Send email и Delete an event. На экране появится знак «плюс». Щелкните на нем и выберите Add a parallel branch → Add an action в контекстном меню:
Теперь мы можем добавить параллельное действие Create an event из Google Calendar. Для этого действия мы возьмем заголовок, описание и местоположение из нашего исходного события. Единственная вещь, которую осталось сделать — это установить время начала и окончания нового события:
Теперь мы подходим к действительно интересной части. Нам нужно как-то добавить случайное число дней ко времени старта текущего события. Эту новую дату мы будем использовать в качестве начала создаваемого события. Например, я хочу добавить 30 дней плюс/минус 2 дня. Документацию по доступным функциям можно найти здесь. Признаюсь, это не очень простое чтение. У меня было много вопросов, особенно о том, как извлечь время начала из исходного события, чтобы его можно было использовать в функциях. Определенную помощь можно получить от нашего фильтра. Помните ссылку Edit in advanced mode:
Щелчок на ней показывает соответствующее выражение:
Это дало мне некоторую подсказку в написании моих выражений. Теперь щелкните на поле Start time события Create an event и выберите вкладку Expression:
В поле ввода запишите следующее выражение:
и нажмите кнопку Ok. Данное выражение в точности решает нашу задачу: добавляет 30 дней плюс/минус 2 дня ко времени начала исходного события. Но что, если мне нужна некоторая гибкость? Что, если я хочу иметь несколько типов событий? Для событий первого типа я буду увеличивать время начала на 30 дней плюс/минус 2 дня, для событий второго типа — на 14 дней плюс/минус 3 дня, и т.д. Каким образом возможно достичь этого?
Вот один из способов. Помните, что мы храним строку «[RANDOM]» в поле “местоположение” наших событий? Теперь запишем в это поле дополнительную информацию. Его содержимым будет текст в формате «[RANDOM],NN,MM», где NN — две цифры и MM — также две цифры. Будем увеличивать время наступления события на NN дней плюс/минус MM дней. При использовании этого формата, я могу быть уверен, что символы в позициях 9 и 10 (начиная с 0) строки будут представлять NN, а символы в позициях 12 и 13 — MM. А вот выражение, использующее этот новый формат хранения информации для увеличения времени начала события:
Оно использует функцию substring для выделения нужных частей из строки, и функцию int для преобразования их к целочисленному виду.
Здорово! Мы почти достигли нашей цели. Осталось только установить время окончания нового события. И здесь мы встречаем наше последнее препятствие. Нужно, чтобы время окончания события равнялось времени его начала плюс 15 минут. Microsoft Flow поддерживает функцию addMinutes, и можно было бы написать выражение типа:
Однако по природе функции rand, в результате мы получим значение, никак не связанное со значением для времени начала события. Вместо этого было бы хорошо иметь переменную ‘nextStart’, которая бы хранила значение нашего выражения. Тогда можно было бы использовать ее значение для времени начала события, и использовать
для времени его окончания. И знаете что? Microsoft Flow поддерживает переменные. Сперва мы должны инициализировать ее. Наведите мышь на стрелку между триггером и фильтром. Щелкните на знаке “плюс” и выберите Add action:
Введите в поле поиска текст «Variables» и выберите Initialize variable:
Задайте имя переменной ‘nextStart’ и тип «String». Microsoft Flow не имеет отдельного типа для дат и времени, он везде использует строки.
Теперь нужно установить значение для этой переменной. Этого нельзя сделать прямо здесь, поскольку еще не известно, правильное ли это событие. Только после фильтра мы можем быть в этом уверены. Поэтому добавим другое действие типа Set variable после отправки почтового уведомления:
Здесь установим значение созданной переменной в наше длинное выражение. Остается только переиспользовать эту переменную в выражениях для времени начала и окончания события. Ссылаться на переменную в выражении можно так:
Поэтому выражение для времени окончания события будет иметь вид:
Заключение
Вот и конец истории. Нужно только сохранить поток, и Microsoft Flow запустит его для нас.
Надеюсь, эта статья будет полезна для вас. Для меня Microsoft Flow оказался замечательным инструментом автоматизации задач.
User flow: как создаются популярные приложения и сайты
Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений.
На базе своего опыта в сфере информационных технологий и экспертизы компании хочу поделиться своим видением и подходом к применению одного из инструментов проектирования дизайна – user flow. Почему его используют и почему он является ценным помощником для дизайнера? Как может выглядеть user flow и как его создать?
Что такое user flow?
Ситуация: Вы нашли новое приложение, которое обещает делать именно то, что вы хотите, и вы нетерпеливо нажимаете кнопку загрузки. Через мгновение приложение запускается, и вы готовы приступить к работе. Но сначала вам приходится зарегистрировать учетную запись, затем дать приложению разрешение на доступ к вашему местоположению и отправлять вам push-уведомления, после этого необходимо пролистать весь туториал, соглашение об использовании персональных данных и т.д. Горькая правда заключается в том, что пользователь при таком взаимодействии скорее закроет и удалит приложение, каким бы функциональным оно ни было. Вот почему так важно оптимизировать путь пользователя в приложении с помощью user flow.
User flow – это визуальное представление последовательности действий, которые пользователь выполняет для достижения своей цели. Может охватывать как какую-то отдельную функцию, так и полностью весь продукт.
Чтобы составить последовательность, необходимо провести исследование и ответить на три базовых вопроса:
User flow – это история о пользователе
User flow позволяет взглянуть на взаимодействие пользователя и приложения глазами пользователя.
Если полноценные сайты предоставляют достаточно места для творчества, то разработка мобильных приложений всегда заставляет искать баланс между функциональностью и удобством использования. С одной стороны, пользователи должны легко получать доступ к наиболее важным функциям с главного экрана приложения без множества дополнительных шагов, легко нажимая на большие кнопки. С другой стороны, когда мы говорим о приложениях, речь идет не только о кнопках.
Допустим, вы создаете приложение для музыкального плеера. С одной стороны, вы хотите, чтобы пользователь мог воспроизводить свои любимые песни одним касанием. С другой стороны, им нужен способ определять избранные треки, искать новую музыку (возможно, в нескольких местах), контролировать громкость и настраивать эквалайзер, сортировать музыку, шаффлить список, читать биографию исполнителя, делать покупки и иметь под рукой все остальные функции плеера. Пользователю захочется делиться рекомендациями и плейлистами в соцсетях и видеть, что слушают их друзья.
Если пользователь сёрфит в интернет-магазине во время прослушивания плейлиста и решает пропустить текущий трек, ему не нужно закрывать магазин и переходить обратно через несколько шагов меню — доступ к этой кнопке пропуска должен находиться на том же экране.
Создать максимально функциональное приложение не так сложно, но собрать все это в наиболее привлекательном и комфортном для пользователя виде – гораздо более сложная задача. Если компания-разработчик не справилась с ней и не создала приложение интуитивным, то оно так и останется лежать невостребованным в сторах. Пользователю всегда легче загрузить более понятное приложение, чем тратить время на чтение мануалов и туториалов или без конца бродить по нему в поисках смысла.
Роль дизайнера
Представьте, что вы работаете над продуктом в одной команде, где есть Project Manager, Backend- и Web-разработчики. Предположим, есть даже какое-то техническое задание от заказчика, которое написано достаточно подробно и добротно. Осталось просто взять и сделать продукт.
Что же должен сделать дизайнер? Если судить по ожидаемому результату – нарисовать все нужные экраны так, чтобы конечный продукт был удобным и красивым, и отдать разработчикам.
В целом – да. Но есть подводная часть айсберга. Там скрыто множество вещей, о которых мало кто задумывается. Все мы любим удобные и интуитивно понятные интерфейсы, любим, когда все работает логично и результат любого взаимодействия предсказуем. И чтобы все это было, нужно тщательно проработать каждую деталь.
Как раз для этого нужен user flow – он поможет определить пути достижения пользователями цели, вычислить позитивные и негативные сценарии на выбранном пути достижения цели наших потенциальных пользователей. Он дает возможность понять, все ли процессы в продукте имеют логическое завершение и выстроены эффективно, так, чтобы пользователь тратил минимум времени для достижения цели.
Важно: чем больше проблема и чем больше функций, тем больше сценариев необходимо проработать.
Таким образом, user flow помогает исключить распространенную ошибку, когда создают список требуемых функций и на основе них просто проектируют интерфейсы. Такой подход, разумеется, возможен. Но это может привести к тому, что сценарии взаимодействия с интерфейсом заставят пользователя проходить слишком много шагов для выполнения простых операций.
Ценность для продуктовой команды
User flow помогает на верхнем уровне согласовывать с заказчиком сценарии для работы продукта или функционала. Особенно тогда, когда у заказчиков нет конкретных и детализированных требований (когда они сами плохо понимают, чего они хотят). В этом случае user flow может дать какое-то направление для заказчиков, и они уже подскажут, в каких местах они хотели бы изменить логику, предоставив свою обратную связь – либо в виде комментария, либо самостоятельно скорректировав текущую схему. Несмотря на то что создание user flow кажется сложным и длительным по времени процессом, он помогает исключить множества ошибок при разработке продукта. С его помощью, как говорится, «медленно запрягают, но быстро едут».
Для PM на основании user flow удобно заводить задачи для разработчиков – достаточно очевидно и прозрачно, какие изменения необходимо внести в текущую логику или какие новые функции будут добавлены.
Тестировщики могут готовить use cases (тесты) и чек-листы, поскольку они в удобном формате демонстрируют пользовательские сценарии.
User flow очень полезен для команды, особенно когда состав команды достаточно большой – не нужно каждому отдельно объяснять логику работы. Таким образом, user flow вовлекает в процесс проектирования заказчика, мотивирует команду, направляет весь рабочие процессы в единое русло, поскольку каждый член команды видит картинку в целом.
Ценность для заказчика
Пользователь – это почти всегда тот, кто покупает или пользуется продуктом или услугой или потенциально готов это сделать. От того, насколько комфортно выстроен этот процесс, зависит его лояльность пользователя. Каким бы способом он ни приобретал продукт или услугу – в офисе, по звонку, с выездом специалиста на дом, через сайт, через приложение – путь приобретения и пользования должен быть максимально простым.
Что касается сайтов и мобильных приложений, user flow – это то, как пользователь будет перемещаться по контенту (тексту, картинкам, аудио, видео). User flow включает в себя определение приоритетов в требованиях к контенту, барьеров в навигации и поиск наиболее быстрых и безболезненных маршрутов к целевому действию. По сути user flow непосредственно связан с воронкой конверсии, и IT-компания, использующая user flow, автоматически разрабатывает эффективную воронку конверсии или оптимизирует существующую воронку.
Итогом оказанной ему помощи в достижению цели, воплощенной в дизайне благодаря user flow, является счастливый и заинтересованный пользователь. А счастливый и заинтересованный пользователь означает большее количество проведенного времени в приложении или на сайте, более низкие показатели отказов, повышенные коэффициенты конверсии и улучшенный пользовательский опыт работы.
Таким образом, user flow напрямую влияет на успех сайта или мобильного приложения и прибыль заказчика. В центре дизайна становится пользователь, и это полностью совпадает с принципом клиентоориентированности бизнеса.
Как всё выглядит?
Я нигде не видел четко прописанного стандарта, в соответствии с которым происходит проектирование user flow. Представление user flow может быть разным и зависит от того, насколько детально надо все проработать. Важно достичь вашей цели как дизайнера – чтобы заказчик и продуктовая команда понимали, каким образом пользователь получит доступ к той или иной функции, где они будут находиться и как они будут работать.
User flow может быть представлен в виде комбинаций из:
Пусть нашим пользователем будет молодая мама, цель которой – купить многофункциональный кухонный комбайн. Один из сценариев последовательности шагов может выглядеть следующим образом:
Task flow
Task flow – это простое представление того, что пользователь делает на каждом шаге для выполнения цели или задачи. По сути это классическая блок-схема, определяющая эту последовательность.
В данной схеме не отражены условности и прочие вопросы, которые необходимо проработать. А что будет, если по результатам поиска ничего не нашлось? А что будет, если оплата не прошла? Здесь представлены лишь общие этапы, которые могут предполагать множество действий: например, поиск может быть расширенным с множеством фильтров, путь оплаты зависит от выбора инструмента оплаты и т.д.
Для составления схемы можно пользоваться списком необходимых и достаточных элементов из классических блок-схем, представленных на картинке, или использовать стандарт BPMN – он ориентирован как на технических специалистов, так и на бизнес-пользователей.
Wire flow (lo-fi)
Wire flow – это объединение блок-схемы и wireframes. Wireframe – это низкодетализированный набросок дизайна экрана, упор в котором делается не на визуальную составляющую, а на расположение элементов, структуру и содержание экрана.
В wire flow вместо элементов блок-схемы представлены схематичные макеты экранов, с которыми взаимодействует пользователь на пути достижения цели. Не нужно зацикливаться на визуальных деталях и отрисовывать каждую кнопку и иконку. Чаще всего акцент делается на элементах навигации в дизайне каждой отдельной страницы.
Wire flows особенно удобны при создании мобильных экранов: относительно небольшие размеры мобильных экранов легко используются для замены более абстрактных элементов блок-схем. Wire flows комфортны для формирования и уточнения технического задания, но едва ли подходят для этапа тестирования.
Пример такой схемы:
Screen flow (hi-fi)
Здесь речь идет о детально проработанных экранах, которые понятны как пользователям, так и разработчикам. Обычно делается акцент на элементах навигации и некоторых нюансах поведения. Его можно использовать как регламентирующий документ для утверждения дизайна макетов.
Screen flow можно по сути назвать прототипом, если ему добавить интерактивность. Его особенностью является высокая точность или идеальное пиксельное соответствие: в нем учитывается физический размер экрана и представляются все визуальные и типографические детали продукта. Элементы screen flow – это фактически макеты экранов готового приложения.
Заказчик приложения может быть приятно удивлен скоростью разработки, когда вы покажете ему screen flow, и может подумать, что разработка близка к завершению. Мы, как правило, заранее сообщаем заказчику, что за screen flow не стоит никакого кода, но наличие screen flow дает заказчику гарантию, что за отлично подготовленными UX и UI последует не менее идеальный код.
Пример screen flow:
Ниже представлен вариант, как может в совокупности выглядеть гибрид классических блок-схем, схематичных изображений и финальных макетов.
Как вы понимаете, самым затратным по времени является самый проработанный – screen flow. Именно он выглядит как рабочее приложение и готов к интерактивному прототипированию, тестированию, новым итерациям, утверждению и передаче разработчикам. Для командного проектирования user flow существует множество инструментов автоматизации, среди которых Overflow, Miro, Flowmapp и другие.
Таким образом, user flow, охватывая весь продукт, систематизирует и структурирует процесс его создания, максимально ориентирует продуктовую команду на потребности пользователя и на их единое понимание, позволяет создать предельно понятный и интуитивный продукт с помощью анализа пользовательских сценариев. Всё это не только существенно ускоряет скорость разработки, но и углубляет взаимодействие с заказчиком. User flow заставляет IT-компанию всегда думать о бизнес-требованиях заказчика, чтобы создавать приложение более эффективным и успешным, чем это возможно в рамках выделенного бюджета и времени без применения user flow.