Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 752 сообщений
Cообщения с меткой

ux - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

Большой список Telegram-каналов для дизайнеров, менеджеров продуктов и аналитиков

Понедельник, 09 Октября 2017 г. 19:50 (ссылка)

Внимание! Дальше идет большая подборка (~100) качественных телеграм-каналов, которая постоянно пополняется. Две вещи: 1) мы действительно любиим и читаем эти каналы, пользуясь ботом-агрегатором @junction_bot; 2) если вы автор телеграм-канала и хотите, чтобы он попал в список, обязательно прочитайте FAQ в конце поста, после чего добавьте свою информацию в google-табличку. — Здесь и далее прим. ред.

Читать дальше →

https://habrahabr.ru/post/339472/

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] [Перевод] Как усилить команду дизайнеров при помощи толкового писателя

Суббота, 07 Октября 2017 г. 15:19 (ссылка)

Шесть доводов почему писатель (райтер, writer) — это турбонаддув для дизайна (от специалиста по UX в Dropbox).



image




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



В своем выступлении “Design in Tech 2017 " (Дизайн в технологиях 2017) Джон Маэда сказал: «Слова действительно важны, потому что графика иногда не содержит никакого смысла.» Fast Co Design продолжили эту мысль в статье под названием «Забудьте о коде: Манера письма это главный навык дизайнера».



Звучит просто, верно? Чтобы быть великим дизайнером, нужно знать, как писать. Ничего страшного. Ты пишешь все время. Электронная почта, спецификации, твиты — ничего сверхъестественного.



Я писатель и бывший учитель английского языка и я считаю, что писать трудно. Тяжело учиться писать и тяжело этому научить. Вот почему на Амазоне более 500,000 книг о написании текстов!



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



Так что же делать команде дизайнеров?
Читать дальше ->

https://habrahabr.ru/post/339362/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] [Перевод] Круглее круга: оптические эффекты при проектировании интерфейсов

Среда, 04 Октября 2017 г. 12:12 (ссылка)

Какой «круг»воспринимается как самый «круглый»?



image



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



Как создать визуально пропорциональные иконки, правильно расположить объекты разных форм и выполнить идеальное скругление углов. В посте представлено более 50 изображений.
Читать дальше ->

https://habrahabr.ru/post/338780/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] [Перевод] Переосмысление drag&drop

Понедельник, 02 Октября 2017 г. 12:57 (ссылка)




MagisterLudi


сегодня в 12:57

Дизайн





[Перевод] Переосмысление drag&drop







  • Перевод




Берем что-то всем давно известное и делаем это удобным и красивым



image

Представляем вашему вниманию react-beautiful-dnd



Функция перетаскивания (drag&drop) — это интуитивный способ перемещения и переупорядочивания элементов. В Atlassian недавно выпустили react-beautiful-dnd, которая делает перетаскивание (drag&drop) внутри списков в вебе красивыми, естественными и доступными.



Тактильное чувство



Основный принцип дизайна react-beautiful-dnd заключается в осязании (physicality): хочется, чтобы у пользователей было ощущение будто они передвигают физические объекты. Это лучше всего продемонстрировать контрастными примерами — поэтому давайте рассмотрим некоторые стандартные принципы использования этой техники, и посмотрим как можно их улучшить.



image



Cортировка элементов по группам.



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



Движение



image



Традиционно принятое постоянное движение.



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



image



Более естественное движение.



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



Знать, когда перемещать



Вполне естественно для действий функции перемещения базироваться на позиции, с которой начали перетаскивать объект.



image



Действие, основанное на позиции выбранного варианта.



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



image



Действие, основанное на центре притяжения.



В react-beautiful-dnd действия перетаскиваемых элементов основаны на центре притяжения — независимо от того, откуда пользователь берет элемент. К действиям перетаскиваемых объектов применимы те же правила, что и к набору гирь. Ниже приведены некоторые правила, которые используются даже с подвижными элементами при естественном перетаскивании:




  • Список перетаскивается, когда центральное положение перетаскиваемого элемента переходит через одну из границ списка

  • Элемент, который находится в покое, должен уйти с пути перетаскиваемого элемента, когда положение центра перетаскиваемого элемента уходит за край элемента, находящегося в покое. Другими словами: как только положение центра элемента (А) выходит за край другого элемента (Б), Б сдвигается в сторону.





Доступность



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



Уважение к браузеру



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



Тщательно продуманная анимация



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



Увеличить интерактивность



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



Выпадение



Когда вы отпускаете перетаскиваемый элемент, его движение основано на физике(спасибо react-motion). Это приводит к тому, что когда элемент падает он кажется более весомым и ощутимым.



Уходим с дороги



Предметы, которые уходят с пути перетаскиваемого элемента, делают это с помощью CSS-перехода, а не физики. Это позволяет увеличить производительность за счет того, что GPU обрабатывает движения. CSS animation curve была разработана, чтобы сделать этот процесс возможным.



Из чего она состоит:




  • Период подготовки, чтобы имитировать естественное время отклика

  • Небольшая фаза на то, чтобы элемент успел переместиться

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





image



Animation curve, используемая в момент перемещения.



Хорошая совместимость



Неаккуратные клики и блокировка нажатия клавиш.



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



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



Управление фокусом



React-beautiful-dnd упорно трудится, чтобы убедиться, что он не влияет на обычные вкладки потока документов. Например, если вы добавляете теги привязки, то пользователь по-прежнему сможет перейти непосредственно к привязке, а не к элементу, к которому осуществляли привязку. Мы добавляем tab-index к определяемым элементам, чтобы убедиться, что даже если вы не добавляете что-либо к тому, что обычно является интерактивным элементом, (например, div), то пользователь все равно сможет получить доступ к нему с помощью своей клавиатуры, чтобы перетащить его куда-либо.



Не для всех



Есть множество библиотек, которые позволяют осуществлять действия функции перетаскивания внутри React. Наиболее примечательной из них является замечательная react-dnd. Она проделывает невероятную работу по обеспечению огромным набором примитивов функции перетаскивания, которые особенно хорошо работают с HTML5, несмотря на то что HTML5 мало с чем совместим. React-beautiful-dnd это абстракция высокого уровня, построенная специально для вертикальных и горизонтальных списков. С таким подмножеством функциональности react-beautiful-dnd предлагает действенный, красивый и естественный опыт использования функции перетаскивания. Однако, react-beautiful-dnd не обеспечивает широтой возможностей, предоставляемых react-dnd. Таким образом, эта библиотека может быть не для вас, все зависит от того в каких целях вы собираетесь её использовать.



Проектирование



Чистый, мощный API



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



Производительность



React-beautiful-dnd спроектирована быть чрезвычайно производительной — это часть её ДНК. Она основана на предыдущих исследованиях производительности реакции, которые можно прочитать здесь и здесь. React-beautiful-dnd предназначена для выполнения минимального количества исполнений, необходимых для каждой задачи.



Ключевые аспекты




  • Используйте связанные компоненты с хранением промежуточных значений в памяти, чтобы убедиться, что единственные компоненты, которые исполняются это те компоненты, что должны исполняться - благодаря react-redux, reselect и memoize-one.

  • Все задержки движения прерываются requestAnimationFrame - благодаря raf-schd

  • Хранение промежуточных значений в памяти используется повсеместно — благодаря memoize-one

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

  • Неосновная анимация выполняется на GPU





image



Минимальное количество обновлений реакций.



image



Минимальное количество браузерных изображений.



Проверено



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



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



Типизированно



Эта кодовая база типизирована с flowtype для повышения внутренней согласованности и устойчивости кода. Она также предоставляет историю документации разработчика о том, как работает API.



Заключение



Мы думаем, что интернет станет гораздо более красивым и доступным местом, благодаря react-beautiful-dnd. Для получения дополнительной информации и примеров перейдите в архив.



Огромное спасибо всем в Atlassian, кто сделал это возможным.



Обновление#1



Поддержка react-beautiful-dnd была невероятной! Большое спасибо. Мы уже добавили некоторые новые функции, такие как перемещение по-горизонтали.



image



Горизонтальное перетаскивание.



image



Горизонтальное перемещение в контексте доски объявлений.



Было много запросов на поддержку сенсора (это позволило бы react-beautiful-dnd работать на мобильных и планшетных устройствах). Это всегда было в планах и мы уже очень скоро начнем над этим работать! Библиотека еще совсем новая.



Обновление#2



Мы выпустили поддержку для перемещаемых элементов между списками react-beautiful-dnd. Я написал блог. “Естественное движение клавиатуры между списками", в котором говорится о том, как мы пришли к тому, чтобы создать это обновление таким образом, чтобы оно ощущалось естественным.



image



Перетаскивание между списками.






EDISON Software профессионально занимается разработкой софта для крупных заказчиков (например, система управления городским освещением или электронная система медицинского осмотра) и мы стараемся, чтоб внешний вид у продуктов был максимально удобен для пользователя, а «технический долг» у UX-дизайнеров сокращался. Вот подборка полезных статей по Usability:





Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/339086/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Дайджест интересных материалов для мобильного разработчика #223 (25 сентября — 1 октября)

Воскресенье, 01 Октября 2017 г. 16:16 (ссылка)




EverydayTools


сегодня в 16:16

Разработка





Дайджест интересных материалов для мобильного разработчика #223 (25 сентября — 1 октября)










    Подводим итоги очередной недели мобильным дайджестом. В нем мы рассказываем про разработку прибыльной игры школьниками, про iOS-релизы в Badoo, про новые правила App Store и победителей Google Play, иллюзии скорости и движения, анонимность и многое другое.












    Разработка прибыльной Android игры двумя школьниками + Продолжение

    В данной статье хочу рассказать вам об опыте разработки одной простенькой игры под Android, которая многократно окупилась еще на стадии разработки!






    Процесс релиза iOS-приложений в Badoo

    Меня зовут Михаил Булгаков, и я работаю в команде релиз-инженеров Badoo. В этом посте я расскажу о том, как происходят релизы iOS-приложений с момента «У меня есть готовый бинарь» до момента «После нас хоть потоп», и, конечно, как это делаем мы в Badoo.




    Как работает Android, часть 3

    В этой статье я расскажу о компонентах, из которых состоят приложения под Android, и об идеях, которые стоят за этой архитектурой.



    Дайджест доступен и в виде рассылки. Подписаться вы можете тут (у нас уже 2000+ подписчиков!).



    iOS



    (+24) Больше сюрпризов от Apple: обновленные правила размещения на App Store

    (+13) iOS+Kotlin. Что можно сделать сейчас

    (+8) Опционалы в Swift

    Podlodka #26: реактивный стиль программирования

    Stack AR: первая игра на основе ARKit, возглавившая топ App Store

    Полный разбор дизайна iOS 11: Apple все еще внимательны к деталям?

    image Первое React Native приложение: от «Hello World» до App Store

    image Отладка Swift с LLDB

    image Как уйти из колледжа и стать iOS-фрилансером

    image Управление разными средами в Swift-проекте

    image Руководство по ARKit для новичков

    image Чистая Swift архитектура

    image В Xcode 9 цвета можно добавлять в каталог ассетов

    image Измерение времени компиляции в Xcode 9

    image React Native Game Center: интеграция Game Center в React Native

    image ButtonProgressBar: прогресс бар в кнопке

    image Detect.Location: история посещения мест по фотографиям

    image LifetimeTracker: отслеживание ключевых проблем прямо во время разработки



    Android



    (+11) Делаем MitM с помощью openssl на Android

    (+11) Библиотека Reamp: обезболивающее для ваших Android-приложений

    (+11) Реактивные приложения с Model-View-Intent. Часть 2: View и Intent

    (+8) 30 новых ресурсов для android-разработчика (лето 2017)

    (+4) CSV-библиотека Adaptive Table Layout

    Лучшие приложения Google Play за пять лет

    image Android Dev Подкаст. Выпуск 43. Обзор Devfest Siberia 2017

    Победители Google Play Indie Games Festival

    Создание макета в ConstraintLayout: нормативы, барьеры и цепочки

    В Android O изменился файл хранения паролей от от wi-fi сетей

    Как парсить XML на Android

    image RxJava: делаем креш-логи лучше

    image Многопотоковый рендеринг на Android с Litho и Infer

    image Flutter: от дизайна до приложения

    image Использование шрифтов с Support Library 26

    image Android Architecture Components: тестирование ViewModel LiveData

    image Наслаждение тулбаром

    image Воссоздаем “Бутылочку” на Android

    image Используем buildSrc для кастомной логики сборок Gradle

    image Как улучшить быстродействие Android Studio на машине с малым объемом памяти

    image Frames: готовое приложение с обоями

    image Tutorial View: простая организация туториалов

    image Croller: круглый контрол



    Разработка



    (+89) Иллюзия движения

    (+72) Иллюзия скорости

    (+21) Как мы за неделю создали чат-бота и подружили его с веб-приложением

    (+19) Learnopengl. Урок 3.3 — Класс 3D-модели

    (+15) Oblique frustum. Внутри скошенной пирамиды видимости

    (+11) Зачем в 2017 году писать свой движок для мобильных игр?

    (+10) Как Алексей Моисеенков дошел до Prisma и пошел дальше

    (+9) Как довести первый проект до конца. Часть 2. Мифы, ошибки и провалы

    (+8) «Нормальный у нас такой UX. UX? Не до этого нам, у нас тут сроки поджимают!» Снимаем мантию — моя интерпретация

    (+6) Как сделать gif-анимацию для Behance и Dribbble?

    Почему WebAssembly значительно изменит веб

    Как обучаются и растут junior-разработчики в BBC

    Inkdrop: как я создал редактор, зарабатывающий $1300 в месяц

    Jovo: open source фреймворк для разработки кроссплатформенных голосовых приложений

    “А что, так можно было?”: Рейтинг разработчиков будет пересмотрен

    Как tbh превратило анонимность во благо

    Мобильное Облако Mail.Ru внедрило технологии компьютерного зрения

    image Mission-driven интерфейс

    image Мобильная типографика

    image Как получить работу в продуктовом или UX дизайне без портфолио

    image Вопросы и ответы по Code Review

    image Лучший кодинг через тестирование

    image Понимаем Progressive Web App: стоят ли они всей шумихи?

    image Как неинтуитивный пользовательский интерфейс может создать превосходный пользовательский опыт

    image 19 альтернатив Parse в 2017 году



    Аналитика, маркетинг и монетизация



    (+4) Мобильные приложения: что такое предпраздничный сезон-2017 и как заработать на нем максимум?

    Игры жанра match3: как разработать такую игру и сделать её лучше

    Tune проводит увольнения

    Топ рекламных платформ для привлечения установок

    Фрод со сбросом DeviceID: новая угроза в мобильном маркетинге

    image Три стадии мобильного маркетинга

    image Аналитика против атрибуции — Работа с несоответствием установок



    Устройства, IoT, AI



    (+20) Тайм-менеджмент для кинестетиков

    «Путь будущего»: бывший главный инженер Uber создал религию ИИ

    LG представила смартфон с отпугивателем комаров

    Amazon выпускает новые колонки и умные часы

    Какие языки вам стоит изучить для Data Science?

    image Microsoft запускает новые инструменты машинного обучения



    <- Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.


    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/339082/

    Комментарии (0)КомментироватьВ цитатник или сообщество
    akry

    Юзабилити города

    Пятница, 22 Сентября 2017 г. 22:37 (ссылка)


     



    Плесну в огонь дискуссий о битве удобства и красоты в городском пространстве.



     



    На КДПВ иллюстрация из книги Стивена Круга «Веб-дизайн: не заставляйте меня думать!». Как видят идеальный сайт директор, программист, дизайнер и маркетолог. Каждое из представлений красиво и выгодно по-своему, и каждый из акторов приведёт кучу аргументов в его пользу. А мы похихикаем, потому что ну очевидно же, ребята сделали сайты под себя, не спросив нас — конечных пользователей. То же происходит сейчас в городе.

    Читать далее...
    Метки:   Комментарии (2)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    [Перевод - recovery mode ] «Невидимый дизайн»: проектируем вместе с машинами

    Пятница, 22 Сентября 2017 г. 14:29 (ссылка)




    netologyru


    сегодня в 14:29

    Дизайн





    «Невидимый дизайн»: проектируем вместе с машинами











    Ирина Черепанова и Татьяна Жукова из проекта uKit AI, обучающего нейросеть редизайну сайтов, перевели колонку менеджера команд продуктового дизайнер из Airbnb Амбер Картрайт о том, как умные технологии позволяют улучшать известные продукты.



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







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



    Математика и наука — невидимые силы, которые всё больше раскрывают себя и влияют на наши жизни.


    Возьмём пример из прошлого: английский джентльмен прогуливается по саду в начале 18-го века и наблюдает, как яблоко падает с дерева. Он задаётся вопросом, почему оно не упало в сторону или не отскочило вверх от земли. Как это возможно? Какие силы задействованы? Какова их природа? В равной ли степени данное явление распространяется на мелкие предметы вроде яблок и на крупные вроде повозок? Сэр Исаак Ньютон разбирался с этими вопросами на протяжении более 20 лет и вывел закон всемирного тяготения. Он смог описать невидимую силу, которая ощутимо воздействует на нашу повседневную жизнь.



    Недавно, просматривая ленту Facebook, я заметила, что нескольким моим друзьям понравилась компания, которая предлагала в режиме онлайн спроектировать и заказать индивидуальные рамки для постеров и холстов. Я задумалась обо всех тех необрамленных работах, которые лежали у меня в кладовке, и кликнула посмотреть, что предлагают. Почему я заинтересовалась этой рекомендацией? Что привлекло моё внимание? Какого рода информацию они использовали, чтобы персонализировать этот пост? Невидимые силы науки и математики, задействованные здесь, — это алгоритмы соцсети. Рекламное программное обеспечение — это всего лишь зародышевое состояние тех возможностей, которые несет мощь машинного обучения в ближайшие 5–10 лет.



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


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



    В прошлом году мы с продуктовой командой обсуждали модель машинного обучения для нового инструмента ценообразования, который хотели предложить владельцам жилья. Мы пытались создать модель, которая бы отвечала на вопрос: «Какой будет цена аренды в определенный момент в будущем?» Поиск ответа не был тривиальной задачей. Я старалась не отставать, пока мой напарник по обработке данных описывал регрессионную модель, которую они строили.



    Он показывал наброски и бросался умными словами, и хотя я могла уловить идею, терминология была непривычной мне как дизайнеру. После этого я попросила его набросать схему модели и обсудить все детали еще раз. Этот разговор стал для меня откровением. Когда он заговорил на знакомом мне языке — проиллюстрировав данные на схемах и диаграммах — я мгновенно поняла модель и её цели. В тот момент у меня «загорелась лампочка». Я поняла, какую ценность машина представляет для продукта и как использовать полученную информацию в проектировании пользовательского взаимодействия.



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





    Умная модель регрессии цен и её визуализация: модель состоит из трёх частей, варьирующихся в зависимости от предложения хозяина и рыночного спроса.



    Я поняла, что опыт, полученный из этой беседы, можно экстраполировать на наши команды. Это обсуждение было лишь крошечной частью большой истории; частью, сравнимой с моментом, когда мы делаем первые наброски экранов в записной книжке. Я поняла, что история продукта не сводится к экранам, которые пользователи могут увидеть и потрогать. Она также описывает, что происходит «за кулисами».



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



    Понимание продукта увеличивает потенциал команды. Общее знание позволяет инновациям не просто двигаться вперёд, а идти семимильными шагами.



    Визуализация ролей, которые машины и статистические данные играют в изучении, — первая часть «невидимого дизайна».


    Когда у нас сложилось понимание, что мы проектируем и как это должно работать, мы начинаем создавать продукт, при этом каждый использует свой арсенал инструментов. У плотника есть молоток. У фотографа — камера. У продуктового дизайнера — эскиз. У разработчика — код. Интересно, что только у последнего, нашего напарника по цеху, есть инструмент, способный обучаться, изменяться и развиваться со временем.



    «Невидимый дизайн» добавляет данные и алгоритмические решения в начальные этапы проектирования — вайрфреймы и сценарии поведения — привнося многомерность в, как правило, плоский и статичный этап создания продукта.



    Возьмём для примера советы по ценообразованию для владельцев жилья на Airbnb. Это была первая итерация нашего продукта «Умные цены»: рекомендации по ценообразованию на новогодних праздниках. Из данных о прошлом сезоне зимних отпусков мы знали, что обычно люди меньше путешествуют в последние две недели декабря, и наблюдали резкий скачок поездок ближе к Новому году. И хотели сообщить нашему сообществу арендодателей, что если снизить цены в определенный момент, можно привлечь больше постояльцев.  



    Из модели данных мы выяснили, что рынки различаются друг от друга в зависимости от мёртвых сезонов. Им нужны были разные посылы и визуализации: например, в Сиднее период простоя начинается в ноябре, а в Майами мёртвого сезона вообще нет из-за постоянного спроса.



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





    Пример: динамика рынка вызывает показ нужных вариаций модулей и сообщений



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



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


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



    На протяжении многих лет я работала в агентстве, где команды существовали в отрыве друг от друга: дизайнеры в одном отделе, разработчики в другом. Когда я пришла в Airbnb, дела обстояли аналогичным образом. На 100+ разработчиков приходилось всего лишь десять дизайнеров. Колоссальная диспропорция. Но штат расширялся, и вице-президент сформировал руководящую группу, которая состояла из дизайн-менеджера (это я), руководителя продукта, руководителя отдела статистики, а также технического и финансового менеджеров. Мой взгляд на мир начал меняться. Я участвовала в обсуждениях, к которым я до этого не привлекалась, и мы принимали совместные решения, учитывая задачи и потребности команд, которые мы представляли. Я узнала, как устроены другие «миры», и как можно выгодно использовать знания и умения своих коллег для улучшения продукта.



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


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



    Функция «Умные цены», когда алгоритмическая модель советовала владельцам квартир, какую цену аренды лучше выставить для конкретного дня, — пример того, как состав команды помог развитию продукта.



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



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



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


    На выходе мы получили сверхуспешный в плане удовлетворения пользовательских и информационных потребностей продукт: арендодатели получили больше механизмов контроля — смогли выставлять минимальные и максимальные цены, а также выбирать желаемую частоту приёма гостей. Ниже вы можете проследить эволюцию первой версии продукта «Подсказки цен» (Pricing Tips) до нашей текущей функции «Умные Цены» (Smart Pricing).







    «Подсказки цен» были простой интерпретацией модели — корректируешь цену и видишь, с какой вероятностью твою квартиру арендуют. Если владелец жилья активировал подсказки цен на месяц, нельзя было гибко настроить верхний порог для сумм, кроме как вручную выставлять свою цену для каждого конкретного дня. Наша самая последняя версия «Умные Цены» позволяет выставить подсказки на период до четырех месяцев и имеет более тонкие настройки минимальных и максимальных расценок, тем самым предоставляя средства контроля и функционал, который владельцы жилья считают полезным.



    Многим арендодателям «Умные Цены» пришлись по вкусу, и это результат того, что представители разных отделов были включены в работу, устраивали необходимые обсуждения, когда того требовали обстоятельства.



    Эти мысли — лишь пролог к беседам о «невидимом дизайне». Я продолжу исследовать и писать о своих открытиях — о понимании задач и путей их решения, об использовании инструментов и анализе результатов — по мере того как я буду дальше продвигаться по стезе продуктового дизайна. Чтобы ознакомиться с тем, как на практике развивается «невидимый дизайн», — смотрите детальный разбор пользовательского сценария функциональности «Умные цены», который я презентовала на конференции IxDA в Хельсинки в начале этого года.



    О курсах Нетологии



    1. Бесплатные программы по UI/UX и дизайну:





    2. Программа «Big Data: основы работы с большими массивами данных»



    Для кого: инженеры, программисты, аналитики, маркетологи, дизайнеры — все, кто только начинает вникать в технологию Big Data.



    Формат занятий: онлайн

    Подробности по ссылке ->


    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/338478/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    [Перевод] 10 вещей, которые ненавидят UX-писатели

    Четверг, 21 Сентября 2017 г. 15:47 (ссылка)

    https://habrahabr.ru/post/338416/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    Дизайн-система Acronis. Часть первая. Единая библиотека компонентов

    Среда, 20 Сентября 2017 г. 10:34 (ссылка)




    Nikishkin


    сегодня в 10:34

    Дизайн





    Дизайн-система Acronis. Часть первая. Единая библиотека компонентов














      Меня зовут Сергей, я работаю старшим дизайнером в компании Acronis. В отделе дизайна продуктов для бизнеса я отвечаю за разработку и внедрение единой библиотеки компонентов.



      Так как у нас много продуктов и сервисов, а дизайн в этих продуктах и сервисах сильно отличается, мы решили его унифицировать и привести к единому UI. Зачем? Все просто: такой подход дает возможность оптимизировать работу отдела, сосредоточить дизайнеров на UX, ускорить процесс разработки и запуск новых продуктов, снизить нагрузку на отделы тестирования и значительно сократить количество багов на стороне front-end. В этой статье я расскажу о нашем опыте, остановлюсь на инструментах и покажу, как устроена библиотека изнутри.



      Здравствуйте. Я ваш куратор в игре «Актуальный UI-кит»



      Долгое время роль библиотеки играл собранный в Иллюстраторе PDF файл с палитрой цветов, скудным набором элементов и большими планами на будущее в виде 70-ти пустых страниц. Для того, чтобы найти какой-нибудь уже существующий элемент, приходилось постоянно дергать других дизайнеров или лопатить чужие исходники, а потом сверять актуальность с реализованным элементом на одном из тестовых стендов. Пик отчаяния наступал в тот момент, когда на тестовом стенде искомый элемент выглядел несколько иначе и вел себя не совсем так, как было запланировано в макетах. Получалась достаточно стандартная ситуация: дизайнеры тянули одеяло в свою сторону, мотивируя свои решения авторитетным «Хочу, чтобы так!», а разработчики пытались прикрываться мало значимым «Но ведь технические ограничения?!». Такой подход, закономерно, приводил к не самым лучшим результатам по обе стороны баррикад и его нужно было менять. Забегая вперед, скажу, что сейчас большинство сложных UI решений мы принимаем коллегиально и стараемся искать компромисс между красотой и технологичностью. Итак:



      Основные проблемы, которые требовали решения




      • Централизованная библиотека UI элементов

      • Версионность файлов и контроль за изменениями

      • Единый и понятный workflow

      • Базовый набор инструментов для работы

      • Взаимодействие с разработчиками



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







      Abstract отвечает за контроль версий и историю изменений мастер-файла библиотеки. Craft используется как библиотека для палитры цветов и замена нативному color инспектору. Lingo отвечает за хранение, подключение и обновление компонентов библиотеки в Sketch файлах.



      Такая схема уже сейчас позволяет легко поддерживать библиотеку в актуальном состоянии, контролировать изменения и, что наиболее важно, быстро доставлять обновления дизайнерам. При этом, доступ к мастер-файлу библиотеки имеет только Owner, а остальные участники процесса получают элементы в виде символов и составных компонентов из Lingo. Для доступа к Angular компонентам мы подняли на каждой машине песочницу, чтобы дизайнеры с помощью «npm start» в консоли могли быстро запустить node server и работать с кодом.



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





      Abstract



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







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







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





      Craft



      На данный момент мы используем Craft как библиотеку для цветовой палитры и замену нативному color инспектору. Под рукой не только все цвета, но и названия переменных. Благодаря такому подходу удалось решить еще одну важную проблему. Дизайнеры перестали “пипетить”, а разработчики перестали резонно негодовать, почему в двух макетах у одного и того же элемента отличаются значения цвета. Кто работает в Sketch и использует несколько мониторов знает, что на каждом подключенном мониторе один и тот же цвет взятый пипеткой, в большинстве случаев, будет иметь разный HEX.









      Lingo



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







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







      Так же, в Lingo можно хранить составные компоненты в виде папок со слоями или артборды целиком. Для нас эта возможность особенно актуальна, так как мы сознательно не делаем компоненты с большим количеством оверрайдов из-за сложностей в поддержке и кастомизации.







      Несмотря на то, что в Sketch 47 будут библиотеки символов которые уже доступны в бета-версии (работают, кстати, круто), мы не спешим уходить с Lingo из-за его возможностей и большей гибкости в работе.





      Плагины



      Централизованно мы используем три плагина:



      Первый — Shared Text Styles для работы с текстовыми стилями. Позволяет экспортить текстовые стили в JSON, добавлять стили в новый Sketch документ и апдейтить уже подгруженные.



      Второй — Relabel button для работы с кнопками. Одна из лучших реализаций плагинов такого рода, на мой взгляд. Достаточно правильно настроить привязки элементов внутри символа.







      Третий — Acronis data. Так как мы достаточно много работаем с таблицами и большими массивами данных, я собрал плагин, который генерирует специализированные значения для этих таблиц (offering items, agents name, schedule options, machines и т.д.). Плагин работает на основе dummy data и подтягивает значения из JSON. Перед тем, как собирать кастомное решение, была неудачная попытка подружить единый JSON с Craft, но увы. Как оказалось, Craft не умеет в исходную разметку документа и показывает поля не по порядку.











      Иконки



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



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





      Angular 4 компоненты



      Неважно, насколько прокачана и удобна библиотека пока она существует исключительно в виде Sketch файла. Если в браузере компонент выглядит не так, как в макетах, библиотека уже неактуальна, а исходники устарели и не соответствуют действительности. Благодаря Сергею Сабурову, Кириллу Севёлову и всей команде мониторинга, наши компоненты плавно перетекают в код и работают именно так, как запланировано. Несмотря на то, что часть новых продуктов и сервисов мы уже начали собирать с помощью текущих компонентов, еще не все front-end команды готовы внедрять и использовать эти компоненты у себя. Где-то фронт написан на Ext JS, где-то используется Vue и быстрый переход с одного фреймворка или библиотеки на другой технически невозможен по ряду причин. О том, почему в компании выбрали именно Angular, подробно поговорим в следующей статье. А пока давайте вернемся к библиотеке и посмотрим, как устроены компоненты.



      У каждого компонента есть набор свойств. Свойства позволяют управлять состоянием компонента, его внешним видом и функциональностью. Так выглядит стандартный инпут в Sketch библиотеке:







      А вот так в коде:









      Чтобы изменить размер и внешний вид инпута достаточно в свойствах указать



      [size] = "'sm'"


      Теперь давайте посмотрим на более сложный пример:







      Два типа дропдаунов. В первом случае — это список из значений, во втором к списку значений добавляется строка поиска. Переключимся на код:







      С помощью #selectChild получаем вложенный компонент для активного значения поля, через (select) подписываемся на событие текущего компонента, а с помощью директивы *ngFor проходим по массиву из значений и выводим их в выпадающем списке. Чтобы включить строку поиска и возможность искать по списку, во втором примере включаем свойство [search]. Как я говорил выше, более подробно об Angular и работе компонентов на front-end стороне мы расскажем в следующей статье. Stay tuned!





      Дизайнеры и код



      Одна из наших амбициозных и долгосрочных задач — перенести дизайн из Sketch в браузер, чтобы дизайнер мог передавать в разработку не статичные исходники или прототипы, собранные в сторонних приложениях, а готовый код. До того момента, как появились Angular компоненты, для сложных прототипов я продвигал Framer, каждую неделю готовил лекции, рассказывал о принципах и тонкостях работы с Coffee Script. Несмотря на потраченные усилия Framer не прижился по нескольким причинам:




      • Низкий порог входа только на начальном этапе

      • Высокий порог входа, если нужно сделать что-то сложнее перелистывания экранов

      • Песочница. Код нельзя передать разработчикам

      • Неоправданно долго



      От Framer мы полностью не отказались и изредка собираем в нем шоты для Dribbble. Забиваем гвозди микроскопом, да.









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





      Заключение



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



      Кстати, мы всегда рады опытным дизайнерам. Если вы такой, напишите мне на почту: sergey.nikishkin@acronis.com



      Список ссылок





      Original source: habrahabr.ru (comments, light).

      https://habrahabr.ru/post/338246/

      Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
      rss_rss_hh_new

      [Перевод] Твой софт никому не нужен. Или почему разработка ПО требует свежего подхода

      Суббота, 16 Сентября 2017 г. 11:19 (ссылка)

      https://habrahabr.ru/post/338054/

      Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

      Следующие 30  »

      <ux - Самое интересное в блогах

      Страницы: [1] 2 3 ..
      .. 10

      LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
      О проекте: помощь|контакты|разместить рекламу|версия для pda