Адаптивный дизайн приложения под каждого пользователя

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

    А что если уйти еще дальше и помимо контента предоставлять людям персонализированный UI?!

    Теория


    Концепция

    1. Приложение само понимает, чем ты часто пользуешься и выносит часто используемую функциональность на первый экран.
    2. Располагает элементы по степени значимости на странице так, чтобы вам не нужно было бы тянуться большим пальцем до него.
    3. В зависимости от того насколько часто этот элемент используется, его содержание тоже будет сильно отличаться
    4. Так же есть триггеры: пришло пуш уведомление, определенная дата или действие пользователя. Этот триггер имеет свой удельный вес, который присваивается отдельному элементу на короткое время.

    Логика

    Этап калибровки

    Человек пользуется приложением.

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

    Этап плавного внедрения

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

    Этап проверки элемента

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

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

    Практика


    Пример реализации приложения

    Хороший пример это банковские приложения.

    Почему?

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

    Здесь я постараюсь показать на этапе эскизов как я вижу должно быть. Если пост будет интересен, то тогда я уже сделаю демо приложение на iOS.

    Грубый эксиз приложения


    Сценарии

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

    Сценарий 1: Перевожу часто деньги одному и тому же человеку (младший брат, ребенок, жена).

    Мы можем добавить блок с возможностью быстрого перевода именно ему.



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

    2 уровень блока:



    Здесь мы уже можем переводить непосредственно с самой ячейки, нажав на кнопку перевести

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

    3 уровень блока



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

    Сценарий 3 Закрываю кредит после получения зп.

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

    В блоке теперь появляется оплата кредита.

    Сценарий 4 Использую чат с поддержкой

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

    Сценарий 5 Вывожу деньги с расчетного счета на карту

    Срабатывает триггер о поступлении денег р/с и я допустим всегда распределяю их между своими картами:



    Я хотел донести мысль, что пользовательский опыт можно улучшить, пытаясь помочь ему выполнить то, что он хочет как можно быстрей, конечно это будет сложнее для нас как разработчиков, но это будет оценено нашими клиентами. Cкажите, что вы думаете о таком подходе?
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 26

      +2
      Читал статью ожидаю найти реализацию, но это оказались просто мечты.
        +1
        Статья была целью проверить интерес к идеям, чтобы в дальнейшем могу показать демку на айфоне
        +4
        Статистика это наука о прошлом.
        Ищешь ботинки, уже купил, тебя будут доставать рекламой еще 2 месяца. Случайно кликнул баннер о продаже оверлоков бу, потом адаптивный поиск тебе 2 года будет новости об оверлоках подсовывать. Часто ходишь оплачивать коммуналку по заранее известному пути в меню, а приложение оппа и переносит его в другое место, т.к. ты этим часто пользовался + поменялся порядок остальных пунктов и надо переучиваться.
        Не надо решать за пользователя. Дайте возможность выбора.
        Еще в php-nuke, которой уже чуть ли не четверть века была удобнейшая вещь, возможность создать меню со своими пунктами. Куда это пропало? Почему? Зачем?
          +1
          Переносить не надо ничего, все пункты остаются на месте и ты можешь их как прежде найти, просто на главную могут выноситься самые часто используемые элементы
          0
          Возможно, мне просто не везло, либо я очень глупый, но у меня катастрофически горит от большинства попыток сделать приложения более персонализированными и удобными. Возможно, лично для меня есть три основные причины (и отдельный пункт, который меня смущает):

          1) Приложения у разных людей отличаются и меняются — сразу сложнее объяснить кому-то другому (особенно, если он очень плохо взаимодействует с техникой), как что-то сделать. У него исчезают пункты меню, карты зачем-то автоматически перемещаются, всплывают непонятные окна, которых у меня нет. Вместо того, чтобы быстро объяснить, куда и что нажать, уходит много времени на то, чтобы понять, что вообще происходит на экране.
          2) Имхо, приложение почти всегда значительно глупее программиста, который его написал, но оно должно быть хотя бы таким же умным, как и пользователь. Я не представляю, каким мегамозгом должен быть разработчик, который пишет действительно сложное приложение. За последнее время я слишком часто сталкивался с тем, как приложения мешают что-то сделать, а не помогают. Сильно горело от различных служб такси, которые пытаются промотать карту так, чтобы мне было удобнее. Спасибо, но у меня есть пальцы, я могу сам передвинуть карту и изменить масштаб, а вот благодаря помощи от приложения я прикладываю много усилий просто для того, чтобы удержать карту именно так, как нужно мне. Но хороший интерфейс, который позволяет не воевать с приложением, действительно нужен и полезен.
          3) Приложения начинают тормозить. Чем больше улучшений, тем медленнее, почему-то :(

          И последний пункт, который смущает лично меня: разработка станет еще дороже, чем сейчас. И компаниям надо брать откуда-то деньги, что вполне может привести к подорожанию услуг/ухудшению их качества.
            0
            1) Это хорошее замечание, что сложно объяснить. Я об этом думал. Мне кажется приложение не должно быть прям супер мегаконструктором в котором все куда то скачет и меняется. Скорее какая то определенная область в приложении на определенном экране может быть занята под персонализацию и только в этой части и происходят изменения. То есть вся функциональность доступна как и раньше по тем же шагам как и раньше, но самое топовое дополнительно появляется в специальном месте зарезервированном под это. Тогда нет проблем объяснять человеку что-то, ты просто говоришь ему стандартный путь
            2) Да иногда ты просто ненавидишь эти долбанные улучшения, особенно когда тебя заставляют говорить с роботом по телефону. Если сохранять структуру приложения как прежде и выделить всего лишь область для рекомендаций, то думаю будет и вам и мне приятна такая забота
            3) На айфоне обычно если что-то тормозит, то это серверная часть как я вижу, либо кривые руки программиста

            Возможно будет дороже, но мы должны развиваться, когда-то и рекомендаций в интернет магазинах не было
              0
              я постараюсь сделать грубый прототип, без изысканного дизайна с концепциями, которые изложил и с исходным кодом на ios и потом опубликую новую статью
              0

              Тут вопрос насколько качественно будут выявляться паттерны. И, по-моему, нужно обязательно дать пользователю закрепить вручную, а изменять не автоматом, а с апрувом типа "мы заметили, что вы часто/такого-то числа/после поступления… Вы нести на главный экран?"

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

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

                  0
                  Можно лишь приучить его к маленькой изменяющейся области, и в принципе она сама по себе не так уж часто будет изменяться, ведь она подстроилась под его нужды
                  +1

                  А просто дать пользователю самому настраивать главный экран приложени, как скажем… лаунчер.И главное всё сценарии использования уже давно придуманы: ввиде виджетов и кнопок можно будет настроить главный экран приложения под себя(например, как total launcher)… Это же сказка а не жизнь тогда будет!
                  Например я люблю интерфейс в стиле 2000-х когда много-много разных конопок, счётчиков, графов на главном экране… а сейчас почему-то(средний пользователь тупеет, наверное по этому...) все от этого отказываются и приходится юзать старые версии приложений(например браузеру, с которого я пишутот комментарий уже более 2-3лет… он перекачивал на это телефон с моего старого аппарата лишь из-за дизайна UX)....

                    0
                    Ну нас таких любителе все настроить мало, большинству все же подавай что то готовое
                      0

                      Всегда можно сделать интерфейс по умолчанию… тем более модульность хороша и дизайнеру интерфейса приложения…
                      А вообще идеально делать при установке меню выбора интерфейса(базовый или продвинутый) и в настройки убрать переключатель…
                      А ещё с таким модульность интерфейсом можно будет легко создавать новые приложения, как конструктор…
                      Что-то среднее между графическим редактором QML и лаунчером должно в итоге получиться...

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

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

                    Ну и голосовой помощник внутри приложения, или с интерфейсом к siri.
                    Типа «перевести жене 10 штук».
                    А еще после операций, несколько раз произведенных, голосовой помощник может спрашивать, «хотите добавить голосовую команду для этой операции?»
                      0

                      Не стоит позволять сири управлять деньгами. Одно дело заметки писать, да лампочкой моргать, другое дело деньги

                        0
                        Я полагал что мы обсуждаем принципиальные возможности по улучшению юзабилити, а не возможные векторы атаки.
                        Конечно безопасность важна, но это другая история.
                        Кстати, я могу сказать «запусти сбербанк» и это работает, потом отпечаток пальца просит как обычно.
                      +1

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

                        0
                        Согласен на 100 процентов
                        0
                        Насколько я помню, в Microsoft Office версии толи 2000, толи XP была такая фишка — в меню показывались только те пункты, которые пользователь нажимал чаще, а остальные прятались под микрострелку. Учитывая, что тестировщиков у MS было нормально миллионов, они ушли от этой идеи. Вероятно, на то были веские причины.
                        И с другой стороны, если говорить о банковском секторе: зачем усложнять жизнь? Есть же уже привычные «Быстрые платежи» — при оплате ставишь галочку и операция сохраняется в отдельный список, откуда можешь её повторить одним кликом.
                          0

                          С ума сойти. Буквально. Система постоянно (часто) меняет элементы — это же бешенный конь.


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

                            +1

                            Идеальная кастомизация — это отдельный список "часто используемые функции" плюс отдельная "ручная настройка".


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


                            Удобство интерфейса состоит в очень большой степени из привычки.

                              +1
                              мобильные приложения должны быть более персонализированными

                              Соглашусь на 100% с этим высказыванием, но…

                              Приложение само понимает

                              За годы разработки iOS приложений я понял простую истину: приложение должно быть максимально тупым. Соответственно, само приложение ничего понимать не должно. Если вы реализуете данный концепт, то вам будет невообразимо трудно поддерживать/тестировать ваше приложение. Когда механизм даст сбой или вам потребуется его изменить, то вам придется выпускать обновление. А люди не очень любят обновляться. Я бы 100 раз подумал перед тем, как реализовывать вашу концепцию. Придется раздувать штат разработчиков под все платформы, где вы хотите эту «персонализацию» и т.п.

                              помимо контента предоставлять людям персонализированный UI?!

                              Может стоит посмотреть в сторону концепции, где приходящий с бэкэнда контент и есть UI. А персонализированный или нет — это уже дело умелых рук бэкэндщиков.

                              Например, в приложении OZON на главной показывается специальный персонализированный баннер с вашими текущими заказами, если они у вас есть. А если у вас нет текущих заказов — баннер скрывается. Или в клиенте Альфа-Банка на главной показывается телефон личного менеджера для определенных тарифных планов. Чем не персонализация?

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

                              P.S.

                              Так же есть триггеры: пришло пуш уведомление

                              Может все-таки WebSocket использовать вместо пушей? И тестировать и контролировать гораздо проще.
                                0
                                Чего иногда не хватает на телефоне (в приложениях, которыми пользуешься постоянно) — настройки «правша-левша». Основные элементы интерфейса расположены так, чтобы их легко было нажимать большим пальцем правой руки (держа телефон одной рукой). А левшам приходится тянуться.
                                  0
                                  Хорошая мысль

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое