На данный момент мобильные телефоны всё чаще используются не только для потребления контента, но и для создания.
И перед разработчиками встаёт и вопрос — как разместить интерфейс большого приложения на маленьком экранчике мобильника?
![image](https://habrastorage.org/r/w780q1/webt/uv/1o/ls/uv1olsprgpskljfq6ykammqnyge.jpeg)
Под катом рассказ о решении проблемы сложного интерфейса для музыкальных приложений. Приложение делалось для платформы VK Mini Apps, но, возможно, общие принципы подойдут и для других платфом.
Музыкальные редакторы — это комплексные программы с большим количеством графики. Даже простейшая «В лесу родилась ёлочка» состоит из нескольких дорожек для барабанов, баса, пиано, а каждая из дорожек содержит сотни нот.
Это всё нужно как-то разместить на экране, причём все элементы должны быть доступны для редактирования.
UI обычно выглядит так:
![image](https://habrastorage.org/r/w780q1/webt/it/tr/ny/ittrnyk8-y9xr6zr390vtbmayie.jpeg)
Сами принципы UX/UI для музыкальных программ не менялись много лет. Вот так они выглядели 30 лет назад:
![image](https://habrastorage.org/r/w780q1/webt/mm/fj/py/mmfjpyyajmh8f_tvmksocrkauqi.jpeg)
— по сути, добавилось больше цветов и кнопок.
Как развивались мобильные интерфейсы?
По стандартному экстенсивному пути.
Брался интерфейс десктопного приложения и уменьшался в размерах, а функционал безжалостно обрезался.
Вот пример мобильной версии FL Studio (эта одна из лучших DAW):
![image](https://habrastorage.org/r/w1560/webt/1t/qv/yh/1tqvyhjimxi6n6oqvtal3hzzfc4.png)
— кнопки мелковаты чтоб нажать пальцем, элементы не умещаются на экране и частично спрятаны в выпадающие меню, а картинки треков слишком мелкие чтоб что-то разглядеть.
Трудности переноса интерфейса на маленькие экраны
Чтоб была понятней глубина проблемы, рассмотрим обычный 10-полосный эквалайзер.
Большинство используют его даже не зная что это такое. Например, вот эквалайзер встроенный в сервис Яндекс Музыка:
![image](https://habrastorage.org/r/w1560/webt/df/ku/ai/dfkuaiecigfsdeywd9xsvu2zcsk.png)
для удобного нажатия пальцем кнопки и скроллбары должны быть не менее 1см размером. В эквалайзере 10 скроллбаров, т.е. его общая ширина должна быть 10см.
Но это больше чем ширина мобильных телефонов! И это только один контрол из многих.
Получается что нужно либо делать всё мелкое и неудобно для нажатия, либо делать видимым только небольшую часть контролов, а остальные выбросить или спрятать в выпадающие меню и т.п.
Существуют ли подходы, помогающие делать комплексные, но удобные интерфейсы для небольших экранов?
Конечно.
Это карты. Причём не только в мобильниках, но и на десктопе.
![image](https://habrastorage.org/r/w780q1/webt/5w/7w/8j/5w7w8jeug0m9dwdcjmwclzluwvk.jpeg)
Карты используют масштаб и слои видимости для элементов. Показывают миллионы интерактивных объектов на маленьком экранчике.
Большинство пользуется ими интуитивно, что подтверждает полезность такого подохода к UX/UI.
Было принято решение расположить треки слоями друг над другом и добавить масштабирование всего пианоролла вместе с контролами.
В статике выглядит как и другие приложения из музыкальной области:
![image](https://habrastorage.org/r/w1560/webt/p_/v-/uu/p_v-uumwka-qdjinoi85dhmqyak.png)
Но в динамике видно, что его поведение сильно отличается:
Открыть видео работы с приложением
Проект из видео можно открыть во ВКонтакте чтоб протестировать:
Итого
применения подхода с масштабированием UI позволило разместить большое количество элементов на маленьком экране.
И перед разработчиками встаёт и вопрос — как разместить интерфейс большого приложения на маленьком экранчике мобильника?
![image](https://habrastorage.org/webt/uv/1o/ls/uv1olsprgpskljfq6ykammqnyge.jpeg)
Под катом рассказ о решении проблемы сложного интерфейса для музыкальных приложений. Приложение делалось для платформы VK Mini Apps, но, возможно, общие принципы подойдут и для других платфом.
История интерфейсов музыкальных редакторов
Музыкальные редакторы — это комплексные программы с большим количеством графики. Даже простейшая «В лесу родилась ёлочка» состоит из нескольких дорожек для барабанов, баса, пиано, а каждая из дорожек содержит сотни нот.
Это всё нужно как-то разместить на экране, причём все элементы должны быть доступны для редактирования.
UI обычно выглядит так:
![image](https://habrastorage.org/webt/it/tr/ny/ittrnyk8-y9xr6zr390vtbmayie.jpeg)
Сами принципы UX/UI для музыкальных программ не менялись много лет. Вот так они выглядели 30 лет назад:
![image](https://habrastorage.org/webt/mm/fj/py/mmfjpyyajmh8f_tvmksocrkauqi.jpeg)
— по сути, добавилось больше цветов и кнопок.
Как развивались мобильные интерфейсы?
По стандартному экстенсивному пути.
Брался интерфейс десктопного приложения и уменьшался в размерах, а функционал безжалостно обрезался.
Вот пример мобильной версии FL Studio (эта одна из лучших DAW):
![image](https://habrastorage.org/webt/1t/qv/yh/1tqvyhjimxi6n6oqvtal3hzzfc4.png)
— кнопки мелковаты чтоб нажать пальцем, элементы не умещаются на экране и частично спрятаны в выпадающие меню, а картинки треков слишком мелкие чтоб что-то разглядеть.
Трудности переноса интерфейса на маленькие экраны
Чтоб была понятней глубина проблемы, рассмотрим обычный 10-полосный эквалайзер.
Большинство используют его даже не зная что это такое. Например, вот эквалайзер встроенный в сервис Яндекс Музыка:
![image](https://habrastorage.org/webt/df/ku/ai/dfkuaiecigfsdeywd9xsvu2zcsk.png)
для удобного нажатия пальцем кнопки и скроллбары должны быть не менее 1см размером. В эквалайзере 10 скроллбаров, т.е. его общая ширина должна быть 10см.
Но это больше чем ширина мобильных телефонов! И это только один контрол из многих.
Получается что нужно либо делать всё мелкое и неудобно для нажатия, либо делать видимым только небольшую часть контролов, а остальные выбросить или спрятать в выпадающие меню и т.п.
Поиск решения
Существуют ли подходы, помогающие делать комплексные, но удобные интерфейсы для небольших экранов?
Конечно.
Это карты. Причём не только в мобильниках, но и на десктопе.
![image](https://habrastorage.org/webt/5w/7w/8j/5w7w8jeug0m9dwdcjmwclzluwvk.jpeg)
Карты используют масштаб и слои видимости для элементов. Показывают миллионы интерактивных объектов на маленьком экранчике.
Большинство пользуется ими интуитивно, что подтверждает полезность такого подохода к UX/UI.
Пример решения
Было принято решение расположить треки слоями друг над другом и добавить масштабирование всего пианоролла вместе с контролами.
В статике выглядит как и другие приложения из музыкальной области:
![image](https://habrastorage.org/webt/p_/v-/uu/p_v-uumwka-qdjinoi85dhmqyak.png)
Но в динамике видно, что его поведение сильно отличается:
Открыть видео работы с приложением
Проект из видео можно открыть во ВКонтакте чтоб протестировать:
- открыть в приложении
- работает и на телефонах, и внутри сообщений ленты ВКонтакте
Итого
применения подхода с масштабированием UI позволило разместить большое количество элементов на маленьком экране.
- все элементы находятся «под рукой» и быстродоступны
- пользователь имеет возможность увидеть весь проект целиком, а не по частям умещающимся на маленьком экране