Outline виджет

Outline виджет — Изображение №1 — Интерфейсы на Dprofile

Началось все с того, что в 2022 году многим жителям моей страны пришлось задуматься о покупке VPN сервиса, чтобы оставаться в месте с цивилизованным миром. В связи с чем я познакомился с севисом Outline. Outline —​​​​​​​ очень простое приложение с функционалом: добавить сервер и вкл/выкл. Казалось бы что может быть проще и удобнее. Но немного попользовавшись приложением я понял, что не так все однозначно...



Запрос на функционал


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


В недоумениях от отсутствия решения очевидной проблемы, я решил проверить много ли таких как я, кому нужен такой виджет. Нашел на реддите пост моего хоуми по несчастью и таких же людей в комментах. Там люди хотят добавить вообще одну кнопку в shortcuts (iOS) и в quick settings panel (Android). Полностью согласен с ними, но виджет это более универсальное решения с большими возможностями.

Outline виджет — Изображение №2 — Интерфейсы на Dprofile

Ну и собственно поняв что запрос есть, я решил разработать данный виджет и отравить его ребятам из Jigsaw (создатели Outline), в надежде (хоть и сомнительной), что они займутся этим вопросом.






Процесс


Я никогда не разрабатывал виджеты и поэтому мне было необходимо изучить различные требования и best practice для их разработки как для iOS, так и для Android.


Ниже представлены основные интерфейсные требования для iOS:


Может кому пригодиться ( ͡ᵔ ͜ʖ ͡ᵔ)​​​​​​​

Outline виджет — Изображение №3 — Интерфейсы на Dprofile

При таком варианте виджета нужно сохранять margins в 16 points от края





Outline виджет — Изображение №4 — Интерфейсы на Dprofile

А при таком варианте нужно сохранять margins в 12 points






Outline виджет — Изображение №5 — Интерфейсы на Dprofile

Необходимо сохранить пропорцию радиусов внешней и внутренней рамки






Outline виджет — Изображение №6 — Интерфейсы на Dprofile

Логотип всегда должен располагаться в правом верхнем углу и быть размером не больше контейнера 16х16. (Логотип может вообще отсутствовать, главное не лепить его куда попало)





Результат


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

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

Это был интересный опыт. Жду оффера от Jigsaw ( ͡ᵔ ͜ʖ ͡ᵔ)​​​​​​​

Оценить

Добавить в коллекции...

От автора