• Лекция Яндекса: Advanced UI, часть вторая

      Это вторая часть лекции Дмитрия Свирихина — разработчика из команды мобильной Яндекс.Почты.

      — Мы с вами продолжаем рассматривать типичные проблемы Android-разработчика и способы их решения. Мы уже рассмотрели, как решить проблему неконсистентности UI у нас в приложении, проблемы, которые могут возникнуть при взаимодействии с клавиатурой, и проблемы потери state, а также узнали, как мы можем эффективно применять кастомные view. Всю вторую часть мы посвятим ещё одной проблеме — она называется «недостаточная интерактивность». Посмотрим, как мы можем сделать наше приложение более интерактивным и понятным для пользователя.


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

      Читать дальше →
      • +31
      • 2,5k
      • 2
    • Мастер-класс «Почему Стив Джобс любил шрифты» (Алексей Каптерев)

      • Tutorial


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




      Шутка, написанная гарнитурой Times, на 10 % смешнее той, что написана гарнитурой Arial. Почему? Чёрт знает. Лучшее объяснение, которое я видел: юмор ассоциируется с агрессией, с остротой, с остроумием — а Times выглядит более острым, чем Arial.


      Ещё один любопытный эксперимент, в котором участвовало 45 тыс. человек. Заходишь на сайт, тебе показывают статью Дэвида Дойча, британского физика. В статье автор пишет, что сегодня очень трудно внезапно умереть. Например, от инфекционного заболевания или в уличной драке. Лет сто назад это случалось намного чаще. Главный вывод статьи — сейчас мир безопасен как никогда. В среднем, конечно, ведь где-то постоянно идут локальные военные конфликты.

      Читать дальше →
    • Дайджест продуктового дизайна, ноябрь 2017

        Уже семь лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-октябрь 2017.

        Дайджест продуктового дизайна, ноябрь 2017
        Читать дальше →
      • Selenium Manager: история одного интерфейса

          Привет, Хабр!

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

          Не раз и не два меня просили рассказать о нём подробнее.

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


          Читать дальше →
          • +46
          • 7,5k
          • 4
        • Алгоритмы антиалиасинга в реальном времени

          • Перевод
          image

          Алиасинг (aliasing) — это, возможно, наиболее фундаментальный и самый широко обсуждаемый артефакт 3D-рендеринга всех времён. Однако в игровом сообществе его часто недопонимают. В этой статье я подробно расскажу о теме сглаживания (антиалиасинга, anti-aliasing, AA) в реальном времени, особенно о том, что касается игр, и в то же время буду излагать всё достаточно простым языком.

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

          Эту программу можно скачать здесь.

          Прежде чем начать, позвольте мне сказать несколько слов о производительности: поскольку она является самым важным аспектом графики реального времени, мы в основном сосредоточимся на том, почему и как сегодня реализуется антиалиасинг. Я упомяну характеристики производительности, но строгая оценка всех представленных в этой статье способов антиалиасинга во разнообразных случаях реального использования будет слишком широкой темой для поста.
          Читать дальше →
        • Лекция Яндекса: Advanced UI, часть первая

            Мы опубликуем несколько лекций Школы мобильной разработки 2017 года. Эта школа — часть проекта Яндекса «Мобилизация». Здесь можно найти видеокурсы, составленные по итогам «Мобилизации» прошлого года.

            Лекцию «Advanced UI» прочитал Дмитрий Свирихин — разработчик из команды мобильной Яндекс.Почты. Дмитрий объясняет, как при разработке интерфейса Android-приложения решать самые распространённые проблемы.


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

            Читать дальше →
            • +29
            • 4,3k
            • 4
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

            Подробнее
            Реклама
          • Эффект дизеринга в трёхмерной игре

            • Перевод
            image

            Создатель Papers, Please Лукас Поуп работает над новым трёхмерным проектом Return of the Obra Dinn, в котором пытается с помощью эффекта дизеринга воссоздать в игре ощущение старинной книги.

            Для начала краткое объяснение: Obra Dinn выполняет внутренний рендеринг всего в 8-битной палитре в градациях серого, а затем на этапе постобработки преобразует конечные выходные данные в 1-битные значения. Преобразование из 8-битного в 1-битный цвет выполняется сравнением каждого пикселя исходного изображения с соответствующей точкой в тайловом паттерне дизеринга. Если значение пикселя изображения больше значения точки паттерна дизеринга, то выходному биту присваивается значение 1, в противном случае оно равно 0. Выходные данные упрощаются до 1-битных значений, а глаз зрителя объединяет пиксели, аппроксимируя из них больше битов.
            Читать дальше →
          • Рисователь биомов: наполняем содержанием огромный мир

            • Перевод

            Как преобразовать карту высот с верхней картинки в лес с нижней?

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

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

            Если посмотреть на типичную игру с открытым миром, то можно увидеть в действии принцип Парето — 20% контента составляют основной путь игрока, а 80% — это фон. Основной путь игрока должен отличаться высоким качеством и художественным содержанием, потому что игроки проведут на нём бо́льшую часть времени. Фоны, в том числе обширные леса или пустыни вокруг главных городов, не требуют такого внимания к деталям. Эти 80% представляют собой отличную цель для умных инструментов размещения содержимого, которые слегка жертвуют качеством и художественным оформлением в пользу скорости и простоты создания контента.
            Читать дальше →
            • +30
            • 7,7k
            • 3
          • Инди-разработчик начал техподдержку по телефону, и вот что получилось

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

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

            Телефонный номер я указал только в разделе помощи японской версии сайта, потому что сам живу в Японии и это японский номер. Может в будущем попробую указать телефон и в англоязычной версии, если он заработает с каким-нибудь международным телефонным сервисом вроде Skype.
            Читать дальше →
          • Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

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

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

              Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет-магазине через чат-бот?

              Кто все эти люди, которые заказывают разработку ботов для своих магазинов?


              Типичный чат-бот магазина Vasya Limited:
              >> автоматизирует поток водопад заявок из 5 человек в день,
              >> сливает 4 из 5 заявок, кровью добытых через Яндекс-Директ,
              >> если повезет, человек найдет номер телефона и позвонит,
              >> но, вероятней всего, «Эээ, куда жать?», а потом закроет и уйдет гуглить дальше.

              Чем занят владелец, когда продажи «автоматизированы»:
              >> вносит заказы в excel-таблицу
              >> заполняет почтовые бланки на посылках
              >> стоит в очереди на почте с кучей посылок (каждый день!)
              >> вносит трек номера в excel-таблицу, затем рассылает клиентам

              Может, хватит на ровном месте встраивать «технологии» туда, где действительно нужен человек, в то время как люди загружены рутиной для роботов?
              Читать дальше →
            Самое читаемое