Nikita Abramenkov
179
Блоги

Двухмерные слайдеры для трёхмерных пользователей

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

Поделиться

В избранное

В избранном

Выбор подопытного для эксперимента

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

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

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

Цель эксперимента

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

Основная гипотеза

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

От скетча к прототипу

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

Тестирование

На разных этапах прототип проходил тестирование на небольшой группе людей численностью около 30 человек. В группу входили люди с разной технической подготовкой, уровнем образования, разных полов и возрастов. Основной задачей для тест-группы была установка конкретного времени срабатывания будильника, а именно 11:45 AM. Измеряемым параметром всегда было время, за которое тестируемый решает поставленную задачу.

Ссылка на прототип: https://framer.cloud/NMykZ

Тестируемые, встретившиеся с прототипом впервые:

1) Совершенно не справились с задачей: 0-5%

2) Потребовалось от 5 до 10 секунд для решения: 30-35%

3) Потребовалось от 3 до 5 секунд для решения: 45-50%

4) Потребовалось менее 3 секунд для решения: 5-10%

Повторное тестирование:

1) Совершенно не справились с задачей: 0-5%

2) Потребовалось от 5 до 10 секунд для решения: 0-5%

3) Потребовалось от 3 до 5 секунд для решения: 0-5%

4) Потребовалось менее 3 секунд для решения: 80-85%

Обратная связь

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

Выводы

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

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

{ "author_name": "Nikita Abramenkov", "author_type": "self", "tags": [], "comments": 0, "likes": 3, "favorites": 5, "is_advertisement": false, "section_name": "blog", "id": "32180", "is_wide": "" }
{ "is_needs_advanced_access": false }

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

Популярные

По порядку

0

Прямой эфир

Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } } ]