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

Прежде, чем перейти к примерам, давайте уясним одну простую истину:

Material Design - это корпоративный стиль корпорации Google. Подражать ему так же глупо, как, например, производителю лапши быстрого приготовления пытаться подрожать бренду “Ferrari”.

Гайдлайн Material Design, кроме самого Google, также распространяется на продукты компаний-партнеров, в основном, на приложения для платформы Android. У всех остальных, кто не имеет отношение к корпорации Google и платформе Android, интерес к Material Design должен быть сугубо познавательным.

Корпоративный веб-сайт требует более осмысленный подход, чем просто сказать “хочу вот так”. Если сайт - это лицо бренда в сети, то оно должно иметь индивидуальные черты и визуально соответствовать общему образу компании.

Material Design еще не достиг пика своего развития и на сегодняшних день существует не так много сайтов, которые не только выполнены в полном соответствии с предписаниями брендбука от Google, но и гармонично интегрированы в собственный визуальный брендинг. Тем не менее нам удалось найти несколько удачных примеров сайтов в стиле Material Design.

Примеры сайтов в стиле Material Design

Сайт Kiosk Browser не только выполнен в стиле Material Design, но и неплохо оптимизирован для мобильных устройств.

Очень удачное решение, в котором гармонично сочетаются детали и конструкции из гайдлайна Material Design (тени, кнопки, flat design, цвета и JS эффекты) и корпоративный стиль группы международных школ ISoE.

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

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

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

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

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

Ну и, конечно, не будем забывать о первоисточнике. Интерфейс сервиса Google Alerts недавно обновился до Material Design, что существенно улучшило его визуальные характеристики и usability.

От автора: в 2014 Google опубликовали спецификацию Material Design, визуального языка, цель которого свести вместе устоявшиеся принципы дизайна, бесшовный пользовательский опыт на различных платформах и устройствах, а также технологические и научные инновации.

Если вы используете Bower в качестве менеджера, для установки MDL в папку bower_components можно набрать следующую команду: bower install material-design-lite –save

Если же вы используете npm, для установки MDL в папку node_modules необходимо вбить следующую команду: npm install material-design-lite –save

Google рекомендует использовать CSS и JS файлы, расположенные на CDN. Данный метод мы и использовали в демо. Прежде всего, в шапке head HTML документа необходимо подключить CSS файл MDL, иконки Material Design и стили проекта, в которых можно будет вносить собственные изменения:

< link rel = "stylesheet"

href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css" >

< link rel = "stylesheet"

href = "https://fonts.googleapis.com/icon?family=Material+Icons" >

< link rel = "stylesheet" href = "css/styles.css" >

Типографика в Material Design Lite

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

Noto также поддерживает «плотные» скрипты типа китайского, японского и корейского, а также «высокие» скрипты типа языков юго-восточной Азии и ближнего востока, т.е. арабский, хинди и т.д. Чтобы подключить шрифт Roboto в свой проект, добавьте тег link в верхушку head HTML документа:

< link rel = "stylesheet"

href = "http://fonts.googleapis.com/css?family=Roboto:400,100,500,300italic,500italic,700italic,900,300" >

Для латинских, греческих и кириллических символов спецификация материального дизайна рекомендует типографский масштаб 12, 14, 16, 20 и 34. Применить типографские принципы MDL можно, добавив набор специальных классов в разметку. К примеру, .mdl-typography—display-2 для h1 и.mdl-typography—display-1 для

Сделает шрифт размером 45px и 34px соответственно:

Title

Sub-title

< h1 class = "mdl-typography--display-2" > Title < / h1 >

< p class = "mdl-typography--display-1" >

Sub - title

< / p >

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

Как выбрать цвет для вашего проекта в MDL

Взгляните на файл MDL библиотеки material.indigo-pink.min.css. Название файла отсылает нас к цветовой палитре Material Design в стилях. В цветовой палитре по умолчанию используется цвет indigo в качестве основного, а розовый как акцентный. Но вы ни в коем случае не ограничиваетесь этими цветами. Ниже представлены рекомендации материального дизайна о том, как разработать собственную цветовую палитру и как использовать ее в MDL.

Принципы по подбору цвета в Material Design

Материальный дизайн любит сочетать яркие и приглушенные цвета, тени и подсветки: «Цвет должен быть неожиданным и ярким
Спецификация Google Material Design»

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

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

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

Как настроить цветовую палитру по умолчанию в Material Design Lite

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

Задать URL к файлу стилей MDL в атрибуте href ссылки link в шапке header вашего HTML документа.

Заменить indigo и pink на свои первичный и акцентный цвета соответственно.

К примеру, вы выбрали бирюзовый как основной, а желтый как акцентный цвета в палитре. Ниже показано, как будет выглядеть URL к MDL стилям на CDN:

< link rel = "stylesheet"

href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.teal-amber.min.css" >

Вот и все! Если же вы храните скомпилированные и минифицированные MDL файлы на своем сервере, тогда вам поможет сайт MDL. Там вы найдете Customize and Preview tool, с помощью которого можно выбрать основной и акцентный цвета на интерактивном колесе палитры. Затем можно загрузить CSS файл с выбранной темой и вставить его напрямую в проект:

В HTML демо к этой статье используется палитра по умолчанию indigo-pink, но вы вольны экспериментировать с различными цветами одним из двух способов.

MDL компонент слой

MDL предлагает множество широко используемых веб-компонентов, среди которых слои, кнопки, карточки, переключатели и т.д. Начните создавать структура вашего HTML шаблона с помощью слоев Material Design Lite. MDL слой распространяется на весь контейнер с классами.mdl-layout .mdl-js-layout. Начните с кода ниже, вставьте его сразу после открывающего тега body:

Для создания слоев в MDL используется CSS flexbox. Тег с классом.mdl-layout является flex контейнером со свойством flex-direction property: column. Слой состоит из следующих подкомпонентов:

Слой навигации

Как использовать вкладки для навигации

Создать меню можно одним из следующих способов:

Прозрачный хедер

Фиксированная боковая панель без хедера

Фиксированный хедер

Фиксированные хедер и боковая панель

Прокручивающийся хедер

Каскадный хедер

Можете свободно посмотреть все вышеперечисленные опции в разделе MDL navigation, а также поэкспериментировать с каждой из них в своем проекте.

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

Чтобы быстро создать хедер с вкладками вам понадобится: Добавить еще два класса к контейнеру, который мы создали ранее — .mdl-layout—fixed-header и.mdl-layout—fixed-tabs.

< div class = "mdl-layout

Mdl-js-layout mdl-layout--fixed-header

Mdl-layout--fixed-tabs" >

< / div >

Обратите внимание на то, как MDL использует CSS классы из пространства имен BEM.

Your Title Tab 1 Tab 2

< header class = "mdl-layout__header" >

< div class = "mdl-layout__header-row" >

< ! -- Title -- >

< span class = "mdl-layout-title" > Your Title < / span >

< / div >

< ! -- Tabs -- >

< div class = "mdl-layout__tab-bar mdl-js-ripple-effect" >

< a href = "#fixed-tab-1" class = "mdl-layout__tab is-active" > Tab 1 < / a >

< a href = "#fixed-tab-2" class = "mdl-layout__tab" > Tab 2 < / a >

< / div >

< / header >

И осталось добавить соответствующие панели с контентом:

content panel 1 content panel 2

< main class = "mdl-layout__content" >

< ! -- Panel 1 -- >

< section class = "mdl-layout__tab-panel is-active" id = "fixed-tab-1" >

< div class = "page-content" >

< ! -- контентпанели1 -- >

content panel 1

< / div >

< / section >

< ! -- Panel 2 -- >

< section class = "mdl-layout__tab-panel" id = "fixed-tab-2" >

< div class = "page-content" >

< ! -- контентпанели2 -- >

content panel 2

< / div >

< / section >

< / main >

У панели с id=»fixed-tab-1″ задан класс.is-active, она будет отображаться по умолчанию.

Как разместить дополнительный контент в боковой панели

В демо также используется секция drawer. Drawer это боковая панель, которую можно прятать или показывать по клику на кнопку. Также можно сделать так, чтобы панель была открыта и фиксирована, чтобы ее контент всегда был виден.

Your Title

< div class = "mdl-layout__drawer" >

< span class = "mdl-layout-title" > Your Title < / span >

< / div >

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

Сетка в Material Design Lite

MDL использует 12-ти колоночную сетку для настольных компьютеров, 8-ми колоночную сетку для планшетов (до 800px) и 4-х колоночную для экранов мобильных устройств (до 500px). Сделать контейнер сеткой можно, добавив класс.mdl-grid:

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

Такого результата можно добиться, если обернуть каждую секцию в разные.mdl-grid элементы, а отдельной секции добавить пользовательский класс с CSS max-width: 960px.

< div class = "mdl-grid intro-section" >

< ! -- контентненавесьэкран-- >

< / div >

Intro-section { max-width: 960px; }

Intro - section {

max - width : 960px ;

Также если вы хотите избавиться от внешних отступов margin между колонок сетки, в MDL есть замечательный класс, который необходимо добавить к контейнеру колонок — .mdl-grid—no-spacing:

< div class = "mdl-grid mdl-grid--no-spacing" >

< ! -- контент-- >

< / div >

Вы получите что-то типа:

< div class = "content-grid mdl-grid" >

< div class = "mdl-cell" >

< ! -- контент-- >

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

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

Запрет интерактивных ссылок в результатах поиска по картинкам

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

Инструкции

  • При запросе вашего изображения проверяйте заголовок HTTP Referer .
  • Если запрос исходит из домена Google, отправляйте ответ с кодом HTTP 200 (OK) или 204 (No Content).
  • Google по-прежнему сможет обнаруживать картинку при сканировании страницы, но в результатах поиска будет показываться уменьшенное изображение, созданное во время сканирования. К такому запрету можно прибегнуть в любой момент, причем повторная обработка изображений на сайте не понадобится. Это не считается маскировкой и не повлечет применение санкций.

    Сделайте сайт удобным для пользователей

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

    • Помните, что важен контекст. Убедитесь, что ваш визуальный контент соответствует теме, которой посвящена страница. Желательно использовать только те изображения, которые дополняют по смыслу остальное содержание. Крайне не рекомендуется демонстрировать на странице текст с изображениями, если контент ни того, ни другого типа не является оригинальным.
    • С умом подходите к размещению. По возможности размещайте изображения рядом с текстом, который они иллюстрируют. Иногда ключевое изображение имеет смысл поместить в верхней части страницы.
    • Не размещайте важный текст непосредственно на картинках. Старайтесь не использовать текст на изображениях, так как в таком виде он доступен не всем пользователям. В первую очередь это касается таких важных текстовых элементов, как заголовки страниц и пункты меню. Помимо прочего, текст на изображениях не распознают инструменты, применяемые для перевода страниц на другие языки. Чтобы обеспечить максимальное удобство восприятия и поиска своего контента, добавляйте текст на страницу только в разметке HTML, а также не забывайте вводить описания к картинкам в атрибутах alt.
    • Создавайте хорошие, информативные сайты. Содержание страницы в целом не менее важно при поиске в Google Картинках, чем собственно визуальный контент, поскольку позволяет эффективнее его обрабатывать. Например, в качестве описаний к такому контенту могут быть использованы фрагменты текста с определенной страницы. Также Google учитывает качество представленной на сайте информации при ранжировании изображений.
    • Создавайте сайты, оптимизированные для мобильных устройств. Пользователи чаще выполняют поиск в Google Картинках с мобильных устройств, чем с компьютеров. Поэтому важно сделать свой сайт удобным для просмотра на устройствах любых типов и размеров . Проверка удобства просмотра на мобильных устройствах поможет узнать, правильно ли показываются при этом страницы и нет ли на них ошибок.
    • Тщательно прорабатывайте структуру URL для своих изображений. Помимо названий файлов, Google при обработке визуального контента учитывает пути в URL. Постарайтесь выработать логическую схему для URL изображений.
    Уделите внимание заголовку и описанию страницы

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

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

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

    Добавьте структурированные данные

    Если вы добавите структурированные данные, ваши изображения будут показываться в Google Картинках в виде расширенных результатов (в частности, они будут снабжены хорошо заметными значками). Это позволит пользователям получать более полное представление о вашем сайте, благодаря чему его будут посещать наиболее заинтересованные из них. Структурированные данные поддерживаются для контента следующих типов:

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

    Добавьте качественные фотографии

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

    Правильно разместите изображения среди текста и подберите для них содержательные заголовки, названия файлов и подписи

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

    Название файла может выполнять ту же функцию, что и заголовки с подписями. Поэтому sobaka.jpg в качестве названия предпочтительнее, чем IMG00023.JPG .

    Добавьте описания изображений в атрибуты alt

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

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

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

    Используйте файлы Sitemap для изображений

    Изображения являются важным источником информации о контенте сайта в целом. Вы можете указать дополнительные сведения об изображениях и предоставить Google адреса тех из них, которые иначе нельзя было бы обнаружить, в файле Sitemap .

    Файлы Sitemap для изображений, в отличие от обычных файлов такого типа, могут содержать URL из других доменов. Это позволяет веб-мастерам использовать для размещения графических файлов СДК (сети доставки контента). Рекомендуем проверить доменное имя СДК в Search Console, чтобы мы могли уведомлять вас о выявленных ошибках сканирования.

    Поддерживаемые графические форматы

    В Google Картинках поддерживаются следующие форматы: BMP, GIF, JPEG, PNG, WebP, SVG и встроенные изображения .

    Встроенные изображения представляют собой набор байтов графических данных в теге . Пример кода для такого изображения:

    image data… ">

    Вместо image data следует подставить строку в кодировке Base64.

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

    Адаптивные изображения

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

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

    Использование тега

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

    Пример

    Использование тега

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

    Оптимизируйте изображения для Безопасного поиска

    Безопасный поиск – это функция, с помощью которой в результатах поиска Google блокируется или разрешается показ изображений, видео и сайтов с контентом сексуального характера. Чтобы соответствующие настройки применялись надлежащим образом, вам нужно предоставлять Google информацию о типе контента ваших изображений.

    Разместите изображения, предназначенные только для взрослых, по отдельному адресу

    Если на вашем сайте есть визуальный контент, предназначенный для просмотра исключительно взрослыми, мы настоятельно рекомендуем разместить его отдельно. Пример: http//www.example.com/adult/image.jpg.

    Добавьте метаданные на страницы с контентом для взрослых

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

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

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

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

    И напоследок

    Была ли эта статья полезна?

    Как можно улучшить эту статью?

    • Tutorial
    “Это унылое диалоговое окно действительно нужно?”

    В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


    Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

    Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

    При чем тут Кеннеди?

    Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% - они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.



    Результат в первую очередь коснулся веба, но затронул и некоторые мобильные продукты. В то же время шла отдельная работа над дизайном Android - Holo, который пришел на смену не слишком эстетически приятным интерфейсам старой Android.
    Но оставалась одна проблема: Holo по-прежнему отличался от Project Kennedy.


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

    В 2014 году на конференции I/O была представлена новая дизайн-система, подход, который получил название Material Design. Новая дизайн-система позволяет создавать консистентный пользовательский опыт на всех экранах: десктоп, смартфон, планшеты, часы, телевизоры, машины. Для Android-приложений Material Design представляет собой эволюцию визуального языка Holo и дизайн-гайдлайнов. Во многих смыслах это более гибкая система, которая создавалась с учетом того, что пользоваться ей будут другие дизайнеры - Google был лишь первым пользователем.

    Material Design позволяет более объективно подходить к принятию дизайн-решений: как что-то выглядит, как что-то работает, как осуществляется анимация и так далее. Она задает разумные рамки, но не излишние ограничения.

    4 принципа Material Design

    Material Design зиждется на четырех основных принципах:
  • Тактильные поверхности. В Material Design интерфейс складывается из осязаемых слоёв так называемой «цифровой бумаги». Эти слои расположены на разной высоте и отбрасывают тени друг на друга, что помогает пользователям лучше понимать анатомию интерфейса и принцип взаимодействия с ним.
  • Полиграфический дизайн. Если считать слои кусками «цифровой бумаги», то в том, что касается «цифровых чернил» (всего того, что изображается на «цифровой бумаге»), используется подход из традиционного графического дизайна: например, журнального и плакатного.
  • Осмысленная анимация. В реальном мире предметы не возникают из ниоткуда и не исчезают в никуда - такое бывает только в кино. Поэтому в Material Design мы всё время думаем о том, как с помощью анимации в слоях и в «цифровых чернилах» давать пользователям подсказки о работе интерфейса.
  • Адаптивный дизайн. Речь идет о том, как мы применяем предыдущие три концепции на разных устройствах с разными разрешениями и размерами экранов.
  • Итак, будем двигаться по порядку.

    Тактильные поверхности

    Начнём с тактильных поверхностей. Это те самые кусочки «цифровой бумаги», которые в отличие от обычной бумаги обладают сверхспособностями - умеют растягиваться, соединяться и менять свою форму. В остальном же ведут себя в полном соответствии с законами физики и законодательством РФ. Поверхность

    Что такое поверхность? В основе своей это “контейнер” с тенью и ничего больше. Но и этого вполне достаточно, чтобы отличить один объект от другого и показать, как они расположены друг относительно друга. Философия Material Design стремится к простоте и “чистому” дизайну.

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

    Глубина

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

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

    Важно заметить, что у глубины есть “дно”. Предполагается, что она ограничена толщиной самого мобильного устройства. То есть, если на смартфоне это сантиметр от стекла до задней стенки, а у вас в интерфейсе есть кредитная карточка, то её нельзя просто перевернуть - она упрётся в стекло и заднюю стенку.

    NB!
  • Глубина должна иметь смысл. Задавайте себе вопрос: «Почему так, а не иначе?» Если ответа нет, имеет смысл поискать другое решение.
  • Позаботьтесь о логистике. Плавающие кнопки, тулбары и диалоговые окна находятся на определенной высоте. Иногда им нужно перемещаться по оси Z, чтобы избегать столкновений, когда что-то происходит. С этой вот хореографией нужно быть предельно внимательным.
  • Не надо насиловать кнопку. Плавающая кнопка - очень характерный элемент. Многие считают, что стоит добавить её в интерфейс: так это сразу становится Material Design. Но она должна использоваться только для ключевого действия в вашем приложении. Если вам нужно закрыть какое-то окошко или подтвердить действие, то не нужно использовать плавающую кнопку. Для этого есть другие элементы.
  • Не все должно быть на карточке. Если у какого-то объекта есть много форм и он содержит в себе много разного контента, то карточка подходит. А если нет, то, может, лучше сделать это обычным текстом или текстовым списком?
  • Это унылое диалоговое окно действительно нужно? Дизайнеры Google постарались, чтобы сделать диалоговые окна получше, но всё равно для большинства задач больше подходят Bottom Sheets. Есть еще Snackbars. Диалоговые окна нужны только чтобы задать вопрос пользователю.
  • Используйте раскрытие списков. Это недооценённый паттерн, но он вполне себе Material и хорошо решает задачу.
  • Полиграфический дизайн

    Раз поверхности в Material Design мы называем «цифровой бумагой», то всё, что на ней размещается - текст, изображения, пиктограммы - нанесены «цифровыми чернилами». И Material Design использует классические принципы полиграфического дизайна в оформлении интерфейсов.

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


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

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

    Размер шрифта

    На сайте google.com/design/spec есть стандартная палитра шрифтов, которую можно смело использовать. В палитре используется шрифт Roboto, но его можно заменять своим фирменным шрифтом, чтобы поддержать бренд. Важно всё внимательно протестировать, так как на разных устройствах рендеринг шрифтов может работать по-разному. Обычно OTF шрифты работают лучше, чем TTF.

    Контрастная типографика

    Еще один принцип из мира полиграфии, который хорошо уживается в Material Design, это контрастная типографика - действительно заметный контраст между размерами шрифта заголовка и наборного текста. Это красиво и хорошо выделяет главное.

    Модульная сетка и направляющие

    Теперь к расположению контента на экране. В полиграфическом дизайне используются модульные сетки, в экранном дизайне это больше базовые сетки с очень маленькими модулями. Так, в Material Design используется сетка с шагом в 8dp. DP - это density-independent pixel, единица во многом аналогичная единице point в iOS.

    Но главная отличительная черта размещения контента в соответствии с принципами Material Design - расположение ключевых направляющих. Они задают отступы от краёв экрана, структурируя информацию и управляя взглядом пользователя. Если вы знакомы с дизайном многостраничных изданий или читали Чихольда , то наверняка многое знаете о сетке и полях и понимаете, откуда тут растут ноги.

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

    Геометрическая иконографика

    Если говорить про иконографику, то простые иконки использовались в Android уже на протяжении какого-то времени, но в Material Design они стали еще проще и дружелюбней. На неофициальном ресурсе materialdesignicons.com дизайнеры могут найти пиктограммы для своих целей и по возможности внести свой вклад.Цвет

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

    Основной используется для больших областей вроде action bar, а в его более тёмную вариацию красится status bar. Более яркий акцентный цвет используется точечно в элементах управления, кнопках, полосках, индикаторах и т.д. Акцентный цвет призван привлекать внимание пользователя к ключевым элементам, таким как плавающая кнопка.

    Насколько много цвета применять? Акценты ставятся точечно, в небольшом количестве. Для раскрашивания остальной части интерфейса есть простое базовое правило. Когда текста много, например, это список почты, стоит оставить app bar стандартного размера и покрасить его, чтобы позволить пользователю сосредоточиться на содержимом. Если контента не так много, например, детальный просмотр отдельного элемента, фото или калькулятор, то это отличная возможность для применения больших цветных плашек - 2х или 3х высоты app bar.

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

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

    Красивые фото

    И наконец, как и в печатном дизайне, в Material Design поощряется использование фотографии и иллюстраций во всей красе. Картинки в основном размещаются без рамок, часто «навылет». Даже status bar специально делается прозрачным, чтобы не мешать. При этом каждая капля «цифровых чернил» на экране имеет функцию, почти ничего нет просто для украшения.

    NB!
  • Брендируйте с удовольствием. Google находится в более выгодном положении с тем, что может использовать яркие цвета в качестве фирменных, но это не стоит воспринимать как проблему. Цвета можно выбрать из корпоративного брендбука и вообще использовать логотип.
  • Не забывайте отступы и “давайте воздуха”. Базовая сетка в 8dp и отступ слева в 72dp - практически правило. Пусть контенту будет хорошо и свободно.
  • Выразительные фото делают погоду. Фотографии и иллюстрации в качестве выразительных средств - наш выбор.
  • Осмысленная анимация

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

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

    Пример 2. Событие в календаре после нажатия отрывается от поверхности, превращается в отдельный слой «бумаги», начинает трансформироваться и раскрывается в виде подробной информации о событии.

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

    Асимметрия

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

    Реакция

    Другой очень важный принцип анимации в Material Design - реакция на действия пользователя. Там, где это возможно, эпицентром изменений в интерфейсе должно быть прикосновение к экрану устройства. Например, волна, которая появляется и идёт от точки касания пальцем. Этот эффект без проблем реализуется в Android L.

    Микроанимации

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

    Четкость и резкость

    И последний, ключевой принцип анимации: движение должно быть быстрым и чётким. В отличие от банального ускорения в начале и замедления в конце кривая анимации в Material Design более натуральная и интересная. Объекты быстрее реагируют и достигают целевого состояния, резче возвращаются назад, но чуть дольше идут к состоянию покоя в конце. В результате пользователю нужно меньше ждать (это меньше раздражает). При этом там, где объект уже вышел из сферы интересов пользователей, он позволяет себе вести себя более естественно.

    NB!
  • Не оставляйте анимацию напоследок. Не стоит оставлять анимацию на самый конец - она может служить ключевым фактором пользовательского опыта, и её нужно продумывать заранее.
  • Знайте меру. Слишком много анимации - тоже плохо. Держите себя в руках и помните, что она должна быть осмысленной.
  • Адаптивный дизайн

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

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

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

    Идеи по организации пространства и отступам для разных экранов можно подсмотреть на сайте google.com/design/spec в разделе Whiteframes. Это отличное место, чтобы начать, понять общий смысл и затем продолжить собственные эксперименты.Направляющие

    Направляющие задают нам отступы для «чернил» на отдельных листах «бумаги». На смартфоне у нас один лист и один хороший отступ слева, а на планшете их два и в обоих случаях есть отступ. Важно, что для этих двух форм-факторов отступ будет разным. На планшете это 80dp, а на смартфоне - 72dp. Отступы от краёв экрана также разные.Размеры

    Рекомендуется брать кратные пропорции для всех элементов. В частности - выбирать размер app bar значительно удобнее, если делать его кратным: 1х, 2х, 3х. На смартфонах и планшетах этот размер разный, но приложение без проблем адаптируется.Блоки

    Мышление блоками вообще может быть полезным. Если задать такую вот модульную сетку из блоков, кратных 8dp, то получится отличный визуальный ритм и принимать решения будет удобнее. Зайдите на сайт с вайтфреймами и посмотрите материалы.Toolbar

    Action bar - одна из самых важных частей интерфейса. В нём размещается заголовок, кнопки действий и навигация. В Android Lollipop action bar превратился из скованной полоски сверху в полноценный виджет - функциональный и красивый блок управления приложением. Это стало возможным благодаря тому, что теперь в тулбар можно поместить много функциональных элементов, о которых раньше и мечтать не приходилось:
    - поля ввода, формы;
    - плавающая кнопка основного действия;
    - тулбар скрыт выдвинутой навигацией, но и здесь мы видим вполне функциональный виджет;
    - тулбаром удобно управлять при необходимости.NB!
  • Далеко не всегда нужен navigation drawer. Google очень часто использует выдвижную навигацию в своих приложениях, поэтому вы можете видеть её в разных примерах. Но у Google очень много задач, которые можно решить с её помощью: разместить помощь, настройки, логин/логаут, информацию о пользователе и так далее. Если у вас похожие задачи, то всё OK, а если вы делаете простой инструмент, то не стоит.
  • Cмелее и остроумнее с тулбарами. Возможность менять размер тулбара динамически, делать его двойного и тройного размера - это очень круто и удобно. Большинство дизайнеров боится с этим связываться и выбирают один размер раз и навсегда, но тут можно и стоит быть смелее.
  • Не надо делать из нижнего угла гетто для плавающей кнопки. Плавающая кнопка может быть где угодно: снизу, сверху, справа, слева. Конечно, в углу до неё может быть удобно дотягиваться, но это не единственный вариант. Кнопка может перемещаться с места на место в зависимости от задач.
  • И смартфоны, и планшеты; и вертикально, и горизонтально. Линейка Android-устройств велика, и это не упрощает жизнь разработчикам. Но правда в том, что у пользователей действительно есть все эти устройства, которые они поворачивают и так и этак (даже если речь идет о смартфонах). Этот момент надо отрабатывать.

  • Это Material Design. Не бойтесь экспериментировать и ошибаться: не стоит зацикливаться на копировании существующих решений. Пробуйте!

    Теги: Добавить метки

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

                        В вертикальном только 50-70% экрана используется


                        • На этом экране довольно много текста.

                          Это много текста? Что же Твиттер с людьми то сделал…

    Что такое material design? Это разработанный компанией Google набор стилей и графики, а также руководств и правил для соблюдения этих стилей. Впервые material design был показан на конференции для разработчиков, Google I/O , летом 2014 года. В основе стиля формат «карточек» и «блоков» – простых и лаконичных форм и графических элементов, а также общая простота и свежесть дизайна – спокойные, неяркие цвета, отсутствие объема, мелких деталей и детализации в целом. Первый «выход в свет» для material design состоялся вместе с запуском сервиса Google Now, а официально стиль стал основой для операционной системы Android совсем недавно, в версии 5.0, известной также как Android Lollipop.

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

    Material design – аргументы ЗА

    Первый и самый важный аргумент в пользу нового стиля, на мой взгляд, – его исполнение. Не хочу вновь показаться ненавистником техники и подхода Apple, но в данном случае это не страшно, ведь я выражаю лишь свою точку зрения. Так вот, на мой взгляд, обновление iOS до седьмой версии и обновление Android до пятой версии – это, как говорится, две большие разницы.

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

    Шторка уведомлений, вызываемая сверху, и панель управления, она вызывается снизу – наглядные примеры бесполезного «апгрейда» в iOS7. Первое так и не сделали понятнее – все уведомления кучкуются в кашу и их слишком много, второе сделали наполовину, переключатели позволяют производить включение/выключение интерфейсов, но не переходить к их настройке и выбору сетей

    Android 5.0 обновился также очень серьезно в плане графики по сравнению с 4.x именно в связи с переводом операционной системы на material design. И, на первый взгляд, изменения здесь похожи на те, что происходили в iOS – окончательная смена стиля на плоский, более светлое в целом оформление, внешняя простота. Но дальше начинаются отличия. В Android 5.0 интерфейс более целостный как раз благодаря material design – все выполнено в одном спокойном стиле, ничего не выбивается и не выглядит пестро или чрезмерно ярко. Основной принцип material design исключает приоритет графических эффектов в интерфейсе перед его практичностью? и это очень здорово.

    Если подводить итог первому аргументу – material design смотрится уже сейчас очень целостно, это именно то, чего так не хватало операционной системе от Google и КО – целостности и общности. Когда, открывая каждую отдельную программу, будь то контакты, браузер, почтовый клиент или что-то другое, вы видите одинаковую анимацию, одинаковую палитру цветов и просто узнаваемые элементы. За счет этого в новой ОС легче освоиться и с ней просто приятно работать.

    Второй аргумент – если вы уже пользовались смартфоном на Lollipop или видели скриншоты, то наверняка заметили, что зрительно интерфейс укрупнился. Укрупнение интерфейса идет в сенсорных устройствах давно. Если сравнить первые версии Android с «тогдашним» Windows Mobile – очевидно, что Android был крупнее и проще, на экране помещалось меньше информации, но и управлять смартфоном было удобнее. В material design некоторые элементы заменены на «карточки», чуть увеличены шрифты, размеры значков и строк, интерфейс в целом стал крупнее. Мне это нравится, наверное, потому что я старею, шутки шутками, но чем старше, тем меньше желания вглядываться в «милипизерные» иконки и элементы, даже при условии хорошего зрения. Кстати, вот почему мне не нравится iPhone 5 и все, что меньше. Компактность компактностью, но даже на экране с диагональю 4.5"" хочется видеть нормальных размеров элементы, а не изучать его с лупой. Это банально удобнее во многих ситуациях, особенно при работе со смартфоном на ходу, например. Поэтому общее укрупнение интерфейса в Android 5.0 на основе material design мне кажется хорошим шагом.

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

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

    Material design – аргументы ПРОТИВ

    Впрочем, третий аргумент в пользу material design одновременно является и аргументом против. Да, Google молодцы, что не стали бросать разработчиков и предоставили им исчерпывающее руководство по правильному применению нового языка дизайна, но о пользователях в данном случае, скажем так, подумать не получилось. Программы, написанные по всем правилам material design или измененные внешне по руководству Google, будут смотреться очень гармонично в Android 5.0 и не очень – в более ранних версиях системы. И наоборот – все приложения, не выполняющие правила material design, на смартфоне с Android Lollipop будут выглядеть несколько инородно. А таких программ в ближайшие полгода окажется немало, рискну предположить. Все-таки, далеко не каждый разработчик востребованной программы, особенно если она сложная и требует постоянных обновлений и улучшений, бросит все дела и начнет переводить ее в material design.

    Наглядный пример старого дизайна в очень актуальной программе – WhatsApp. Как долго приложение не будут переводить в md? Хороший вопрос

    Получится, что часть разработчиков сейчас действительно бросят все дела и переведут свои программы в material design, а другие – нет. А еще в Google Play есть программы и в более старом, скажем так, дизайне, но также иногда необходимые в работе. В итоге оказывается, что одного желания Google (бесспорно, правильного!) привести Android к общему виду недостаточно, нужно что-то делать с сотнями тысяч программ. Вопрос – что?

    Уважаемые читатели, а как вы относитесь к идее Google привести все свои сервисы и приложения к общему виду, используя в качестве основы material design?