Мобайл: дизайн и разработка – Telegram
Мобайл: дизайн и разработка
473 subscribers
8 photos
158 links
Android-разработчик и дизайнер делится своим опытом, полезными инструментами, выжимками статей и докладов.
Download Telegram
Если вы разработчик, и у вас есть идея запустить своё приложение, то можно поступить, как я пару лет назад – набраться мотивации работать, сделать приложение, а потом понять, что оно никому не нужно и вообще такое уже есть. Это очень плохой способ потратить время и силы.
Говорят, что если найти действительно серьезную проблему, досконально изучить свою аудиторию и её потребности, заморочиться с бизнес-моделью (вы же собираетесь зарабатывать на своём приложении, правда?) и суметь правильно преподнести продукт, то шансы на успех сильно повысятся. В этом докладе идет речь обо всех подобных вещах. Посмотрите. Благодаря ему вы не создадите успешный стартап за одну ночь, но оно даёт хорошее представление о том, с чем вам придется столкнуться (и нужно ли оно вам вообще).

Насчёт продуктового дизайна можно писать долго и подробно, так что я поделюсь только парой ресурсов, которые помогут подробнее разобраться в теме – это, к примеру, Школа Дизайна Яндекса 2015 и 2016, замечательная книга The Mom Test (о том, как правильно выстраивать интервью с будущими клиентами), Hooked: How To Build Habit-Forming Products (которую я в силу обстоятельств бросил на середине, но обязательно к ней вернусь, потому что она крутая), и канал @proproduct, в котором много полезного (не реклама, а просто личная рекомендация).

Я считал, что прежде, чем браться за дело, надо много прочитать и изучить. Кто-то говорит, что не стоит тратить на это время – надо брать и делать. Но истина где-то посередине. Много читайте, работайте ещё больше, и успех придет. Со стороны кажется, что приходит он внезапно и по воле случайности, но любой успех – это результат усилий, умноженных на потраченное время. Поэтому всем, кто хочет чего-то добиться, я желаю не только успеха, но также времени и сил для его достижения.
Сегодня в 20:00 начнётся Google I/O 2017, на которой официально представят Android O, вторую версию Google Home и новый VR-шлем с мощной начинкой.
Ждёте?
Google Assistant стал лучше – теперь он распознает изображения, понимает не только голос, но и ввод с клавиатуры, знает больше языков и работает на iPhone. Появилась поддержка проведения транзакций – с помощью голоса можно заказать, например, еду. Вводить адрес или данные карты не нужно – сервис сам подтянет нужные данные из Google аккаунта.
В Google Home добавили функцию бесплатных звонков. А еще он может выводить ответы на экран смартфона или телевизора.
Рассказывают про Google Photos – теперь Google может решить за вас, какими фотографиями делиться и с кем именно. Например, отправить другу фотографии, на которых он есть. Есть возможность даже отправить СМС тем, кто не пользуется сервисом.
Добавили умные общие коллекции. Можно делиться не всем подряд, а, например, фотографиями детей или фотографиями с привязкой к определенной дате. Заманить на сцену настоящих детей не смогли – фичу демонстрируют с помощью фотографий в полный рост.
Photo Books – фотоальбомы из того, что выкладываете в Google Photos. Генерируются автоматически и стоят $10 за книгу с мягкой обложкой и $20 – с твёрдой.
Google Lens – распознавание фотографий – работает не только напрямую через камеру, но и с готовыми фотографиями.
Очередь YouTube.
Обычные видео и live-трансляции в 360° на телевизоре.
SuperChat API – теперь можно задонатить видеоблогеру, и у него может произойти, в общем-то, что угодно. Работников Google обсыпали конфетти и забросали шариками с водой.
Новое в Android

Fluid Experiences:
• Picture-in-picture
• Notification Dots – уведомления при лонг-тапе на иконку. Работает без дополнительных усилий со стороны разработчиков.
• Автозаполнение для форм на уровне системы
• Улучшенное копирование (адрес или телефон копируется целиком)
• Tensor Flow Lite

Vitals – батарея, безопасность, и производительность:
• Google Play Protect — антивирус для магазина приложений
• В 2 раза уменьшено время загрузки смартфона
• Play Console Dashboards – можно выявить проблемы, которые возникают у пользователей, и какого количества людей они касаются.
• Android Studio Profilers

One more thing:
• Google анонсировали партнерство с JetBrains. Kotlin теперь – официально поддерживаемый язык платформы Android.
Android Go – программа поддержки дешёвых смартфонов. Устройства будут в 2018 году.
YouTube Go – приложение для пользователей с медленным или дорогим интернетом. Можно посмотреть, сколько весит видео и решить, стоит ли расходовать трафик.
Оптимизированные прилодения получать фичеринг в Google Play.
AR/VR

Samsung Galaxy S8 и S8 Plus получат поддержку Daydream.
Самостоятельные гарнитуры от HTC и Lenovo – уже в этом году.
Google VPS (VIsual Positioning Service) – ориентация в пространстве с помощью окружающих объектов.
Machine Learning

Рассказали про школьника, который в 17 лет разработал систему для диагностики рака груди.
Google for Jobs – вакансии в поисковой выдаче, приправленные Machine Learning. Будут рекомендоваться на основе навыков пользователя. В течение нескольких недей появятся в США, а потом и в других странах.
На этом всё, но Google проведут ещё много докладов в ближайшие пару дней. Стоящими и интересными обязательно поделюсь здесь.
В этом году Google сделали многое, чтобы облегчить работу с данными и жизненным циклом.

Теперь у нас есть:
ViewModel – сущность, которая связывает Activity или Fragment с бизнес-логикой и живёт отдельно от их жизненного цикла
LiveData – по сути, это Observable, которая знает об изменениях жизненного цикла.
LifecycleOwner и другие способы облегчить работу с жизненным циклом в различных компонентах.
Room – мощная обертка для SQLite, которая на первый взгляд выглядит удобнее, чем Realm, Firebase и другие способы хранить данные. Кстати, она может находить ошибки в SQL-запросах во время компиляции, что должно значительно облегчить жизнь разработчикам. А ещё она, в отличие от того же Realm, поддерживает RxJava 2.

Послушать подробнее про все эти штуки можно в этом докладе:
https://www.youtube.com/watch?v=FrteWKKVyzI

То же самое, но за 5 минут:
https://www.youtube.com/watch?v=vOJCrbr144o

Про работу с lifecycle:
https://www.youtube.com/watch?v=bEKNi1JOrNs

Если вы предпочитаете читать, вот пара статей на Medium:
- Подробная статья с размышлениями и большим количеством кода.
- И более короткий обзор, в котором есть сравнение новых инструментов с AsyncTask и Loader.

А ещё примеры от Google на Github:
https://github.com/googlesamples/android-architecture-components
Android Studio обновилась до версии 3.0.

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

В ConstraintLayout теперь есть барьеры – линии, за которые не могут выходить определённые элементы интерфейса.

Появился новый тип ресурсов – @sample. Вместо Lorem Ipsum в предпросмотр лейаута теперь можно подставить JSON с реальными данными.

Обновились профайлеры для CPU, памяти и сети. Хотите просматривать отдельные HTTP-запросы? Пожалуйста, и никакой Stetho не нужен.

Конечно, это далеко не все изменения. Посмотрите видео, чтобы узнать об адаптивных иконках, шрифтах в XML, новых фичах эмулятора и других улучшениях.
Новое в Support Library

Основные изменения коснулись текста и графики.

Шрифты теперь можно скачивать сразу в Android Studio и задавать в XML. За работу со шрифтами отвечает Font Provider. Он скачивает шрифты, кэширует их и раздаёт приложениям, которые хотят их использовать. Для разработчиков доступна библиотека шрифтов Google Fonts.

EmojiCompatLibrary поможет с отрисовкой новых emoji, которые недоступны на ранних версиях системы. Появились TextView, EditText и Button с поддержкой Emoji.

У TextView появился автоподбор размера текста в зависимости от границ его контейнера.

Анимация теперь обладает физикой. Появились SpringAnimation и FlingAnimation – анимации, завязанные на реальном поведении объектов при взаимодействии с ними.

26 версия библиотеки работает с API 14 и выше – поддержка Gingerbread и Honeycomb была прекращена.

Обновление также коснулось векторных ресурсов, хранения настроек, Android Wear и Android TV.

Полный список изменений:
https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-beta1
Наверное, лучшее введение в реактивное программирование. Когда я решил в нём разобраться, именно после этой статьи произошел a-ha moment, и всё стало на свои места.
Примеры написаны на JS, но суть будет понятна, даже если вы не знаете этот язык.

https://gist.github.com/staltz/868e7e9bc2a7b8c1f754
Небольшая (8 минут) статья про психологию в дизайне.

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

Если вы предпочитаете видео, посмотрите лекцию Школы дизайна Яндекса на эту тему.
Подписчик (@micolucis) делится своим переводом case study по редизайну iOS-приложения Apple Music. Внутри много интересных решений и красивых визуальных деталей.
Вышла бета-версия Firebase Performance Monitoring – инструмента для сбора метрик, касающихся производительности iOS и Android приложений. С его помощью можно отследить, сколько времени у пользователей занимают те или иные действия (например, запуск приложения или загрузка картинки), как долго выполняются HTTP-запросы и какие коды ошибок приходят в ответ, Все метрики разбиты по странам, устройствам, версиям приложения и операционным системам.

https://firebase.googleblog.com/2017/05/introducing-firebase-performance.html
Слепой разработчик рассказывает и показывает, как сделать ваши приложения доступнее для инвалидов. Это не так сложно, как может казаться, хоть и требует определенных усилий.

https://www.raizlabs.com/dev/2017/05/android-accessibility/