Конференции Heisenbug и Mobius посвящены разным темам (тестирование и мобильная разработка), но у них есть кое-что общее. Во-первых, обе пройдут в Москве на этой неделе: Heisenbug 5-6 декабря, Mobius 7-8 декабря. А во-вторых, у каждой из них будет открытая трансляция на YouTube, куда попадут доклады первого дня из первого зала.
Что именно можно будет увидеть и где именно это смотреть? Под катом — описания докладов, попавших в открытые трансляции, и заветные ссылки.
Если вы мобильщик, можете сразу перейти к части про Mobius.
Heisenbug
Перейти на страницу бесплатной трансляции можно по этой кнопке:
А что именно в ней будет? Вот эти доклады. Выступления зарубежных спикеров будут на английском языке, поэтому описания в их случае тоже англоязычные:
10:00 Открытие
10:30 Ingo Philipp — Will a bot steal your spot in software testing?
Stephen Hawking, Bill Gates, and Elon Musk have one thing in common (besides wealth): they’re all terrified of the so-called AI apocalypse, a hypothetical scenario where intelligent machines become our overlords and exterminate mankind. Will AI also take over software testing? Ingo's answer to this question comes in three parts.
In part (A) he will explore the hype around AI to explain why we are even asking this question. In part (B) we will explore how to define (artificial) intelligence to make sure that you understand answer to this question. In part © Ingo will dive deeper into software testing to finally answer this question.
Комментарий программного комитета:
Человек из отрасли, тесно связанной с AI/ML, расскажет всю правду о том, чем Machine Learning грозит обычному тестировщику.
12:00 Adam Carmi — AI and Testing: Tips from the Trenches
AI is changing our world. It is being employed in all types of applications and increasingly impacts the way we build and test software. However, although machine learning has been around for decades, very little real-world experience is publicly available on how to test AI based systems.
In this talk, Adam will share practical AI testing tips from our years of experience building an AI-powered service at Applitools. We will cover common approaches to implementing AI: from hand-coded algorithms to classic machine learning and deep learning, and review their applicability to solving different types of problems and the challenges involved. Speaker will share practical tips for testing AI-based features including how to determine if accuracy is a sufficient quality measure for a statistical model, how to avoid degrading the overall quality of a system when improving the accuracy of a specific model, why and how to "canary test" your candidate models in production, and many others. Lastly, we'll explore areas where you can easily utilize AI to reduce your automated test maintenance overhead.
Комментарий программного комитета:
AI сейчас звучит из каждого утюга, тем не менее успешных примеров, когда это действительно работает, в тестированиии не так уж и много. Адам поделится практическими шагами и советами, которые он набрал за годы разработки сервиса, успешно применяющего AI для решения задач визуального тестирования.
Кстати, у Адама мы недавно как раз взяли интервью.
14:00 Ирина Рубченко — Автоматизация отдела автоматизации
Вам знакома ситуация, когда для автоматизации веб-приложения нужно написать 1000+ тест-кейсов и E2E-тестов по ним? Регресс занимает больше 3 дней и на написание тест-кейсов не остается времени. Представьте, что есть команда, которой удалось избавиться от этой боли. Ирина расскажет, как можно полностью автоматизировать процесс написания тест-кейсов и E2E-тестов для веб-приложения с высоконагруженным интерфейсом.
Комментарий программного комитета:
Труд всему голова. Ирина расскажет, как можно сделать ручной труд более полезным с помощью системы автоматической генерации тестов, на основе мануального тестирования.
16:00 Роман Поборчий — Как оценить качество работы поиска
У вас огромный интернет-магазин и пользователи всё время норовят найти в нём какой-то товар? Или у вас огромная база знаний, и вся компания надеется найти в ней ответы на свои вопросы? Пользователи жалуются, что не находят нужную информацию, тем временем главный разработчик шаманит и исправляет запрос. Но при этом ломаются тысячи других, потому что, о ужас, там всё взаимосвязано.
Мы обсудим, как построить систему контроля качества, которая проверяет, что поиск не испортился. Это довольно дорогое удовольствие, поэтому мы также рассмотрим все низко висящие фрукты: как с минимальными усилиями получить приемлемую первую версию.
Комментарий программного комитета:
Доклад будет интересен инженерам разных специализаций, кому интересно узнать истории из тестирования поиска.
17:30 Анатолий Коровин — Тестирование IoT-проекта. Where is my garbage collector?
Анатолий расскажет про опыт разработки/тестирования проекта не совсем обычного с точки зрения предметной области. Нужно было разработать систему контроля вывоза мусора в городе и его последующей «переработки» на полигоне.
Для этого пришлось оборудовать мусорные баки датчиками наполнения и GPS/GPRS-модемами. А мусоровозы снабдили GPS-трэкерами, RFID-считывателями и камерами фото-фиксации. На полигонах в свою очередь были установлены весовые станции для взвешивания грузовиков на въезде и выезде с полигона, и система распознавания номеров автомобилей.
В итоге получился IoT из целой кучи датчиков и устройств, данные с которых собирают в Kafka-топики и обрабатывают микросервисным бэкендом на спринге.
В процессе разработки было поймано довольно много граблей, касающихся работы с данными различных девайсов, о которых спикер и планирует рассказать. Так же будет немного информации про довольно интересную историю — построение имитационной модели для тестирования.
Комментарий программного комитета:
Ваш робот-пылесос думает, как восстать? Анатолий расскажет удивительную историю о том, как умные баки и мусоровозы встали на борьбу с мусором под чутким руководством микросервисного бэкенда.
19:00 Виталий Фридман — Designing and building with privacy in mind
Запросы на использование cookie-файлов или установку приложения, push-уведомления, автоматически запускающиеся видео и назойливые всплывающие окошки. Каждый раз, как мы заходим на новый сайт, это превращается в борьбу с надоедливыми рекламными сообщениями, что так и сыплются на нас. Если вы когда-нибудь замечали, как продукт, чье название вы однажды ввели в поисковую строку, начинает то и дело всплывать во всех ваших соцсетях всего через пару часов, знайте — вот она, истинная мощь сбора данных и ретаргетинга. Но необязательно обрекать на это своих пользователей.
Доклад Виталия будет посвящен UX-паттернам, методикам, стратегиям и важным решениям, которым стоит уделить внимание при проектировании и разработке сайтов и приложений с учетом требований конфиденциальности. Из доклада вы вынесете набор полезных методик, антипримеров и пару советов, как сделать сайт/приложение, отвечающее требованиям GDPR и соблюдающее право пользователя на частную жизнь.
Комментарий программного комитета:
GDPR. Зажигательно. Сладко. Вы задумывались, как правильно понять, не нарушает ли ваше приложение права ваших пользователей? Хотите услышать интересные случаи? Заходите к Виталию.
Mobius
Кнопка перехода на страницу бесплатной трансляции:
09:45 Открытие
10:30 Ben Sandofsky & Sebastiaan de With — A Spectre postmortem
Spectre debuted as the #1 paid app in the App Store and held that position for nearly a week. It was built by two people, with zero marketing budget. This talk covers the early product development, the conception of its visual design, the technical challenges in computational photography, and code reuse with our flagship app Halide. This talk is for anyone interested in advanced graphics processing or the process behind indie product development.
Комментарий программного комитета:
В iPhone всегда была отличная камера, и стандартное iOS-приложение для нее в принципе закрывает большинство потребностей пользователей. Однако в AppStore множество сторонних приложений для камеры, которые зачастую используют нестандартные подходы, чтобы получить от камеры гораздо больше, чем предоставляет SDK. Авторы приложения Spectre расскажут с какими проблемами они столкнулись при реализации длинной выдержки в iOS-камере, как тестировали свой алгоритм и причем здесь Machine Learning.
12:00 Антон Щукин — Разработка производительного чата. Опыт Badoo
Чат в Badoo построен на основе фреймворка Chatto собственной разработки и используется в четырех приложениях, поддерживает свыше десятка типов сообщений и два поля ввода. Его основа была заложена 4 года назад и с тех пор не подвергалась значительным изменениям.
Антон расскажет про опыт создания высокопроизводительного чата, в том числе, построение pipeline для работы с UICollectionView, работу с полями ввода и клавиатурой, выбор архитектуры для поддержки разных типов сообщений. Также спикер поделится советами по работе с текстом, изображениями, гифками, видео и картами в чате.
Комментарий программного комитета:
Антон занимается разработкой и поддержкой мессенджера в Badoo на основе фреймворка Chatto, поэтому он может поведать про то, как избежать типичных костылей и сделать мессенджер правильно.
14:00 Йонатан Левин — Как стать разработчиком, которого хочет в свою команду каждый?
У вас есть четкое представление о революционной фиче, которая может помочь бизнесу, привлечь больше пользователей, и превратить это в следующий Unicorn. Как только вы готовы продвинуть свою идею, менеджер по продукции предлагает вам реализовать спецификацию по какой-то другой фиче — разрабатывайте ее. Звучит знакомо? Вы хотите оказывать какое-то влияние. Вы хотите быть услышанным — не просто следовать за остальным стадом.
Йонатан поделится уроками по Impact Driven Development, которые он освоил пока работал со стартапами и формировал команды. Мы поговорим о том, как грамотно направить свой творческий потенциал, страсть и желание перемен. Как трансформировать свое развитие и воплотить новые идеи в жизнь.
Комментарий программного комитета:
Задумывались ли вы, что отличает рядового разработчика от выдающегося? Если вы думаете, что это исключительно знание фреймворка или способность наизусть перечислить методы класса Object, то этот доклад сможет дать вам другой взгляд на вещи. В современном мире выигрывает не RxJava, а фича, решающая бизнес-задачи. Не Kotlin, а приложение, которое быстро запускается. Не Даггер 2, а удобный интерфейс. И делают такие решения не product-менеджеры, а команды, неотъемлемой частью которых являетесь вы. И вы можете придумать следующую фичу или улучшение. А как для этого нужно думать — об этом доклад Йонатана.
16:00 Александр Сорокин — Как происходит рендеринг экрана сообщений ВКонтакте
Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView?
В докладе Александр расскажет о:
- подходах, используемых VK для ускорения отрисовки экрана сообщений;
- настройке кэширования RecyclerView;
- нестандартных решениях и костылях.
Этот доклад не о чем-то конкретно, а о том, что VK делает (либо хочет сделать), чтобы уменьшить лаги отрисовки.
Комментарий программного комитета:
Александр Сорокин расскажет, как добиться плавной работы RecyclerView, какие способы для этого есть, вроде переиспользования ViewHolder, настройки кеша и разработки собственных CustomView. Опыт Александра будет основываться на работе отрисовки экрана сообщений в VK, в котором необходимо показывать огромное количество информации, и без тормозов UI.
17:30 Сергей Рябов — Litho: Best Practices for building efficient UI
В этом году на Google I/O объявил о работе над декларативным UI-фреймворком Jetpack Compose. Следом Apple на WWDC презентовал SwiftUI для iOS. Декларативный UI в одночасье поймал волну хайпа.
Наверняка вы знаете, что в целом этот подход в Android не нов — DSL-оберток над обычными вьюшками существует достаточно. Но что, если настоящий декларативный UI — это не будущее с ожиданием стабильности Compose, а вполне себе настоящее? Сергей расскажет вам о Litho — UI-фреймворке от Facebook, который отвечает за быстрый рендеринг тяжелого UI в топовых приложения с миллиардами загрузок.
Мы поговорим о том, как его использовать, что происходит под капотом, и ответим на вопрос: действительно ли с UI можно работать только из одного потока?
Комментарий программного комитета:
Cookbook по Litho из первых рук. Сергей работает в команде Litho и готов поделиться всеми секретами применения этого фреймворка для построения эффективного и производительного UI.
19:00 Виталий Фридман — How to win friends and influence people, on mobile
Согласие на использование GDPR cookie-файлов, пуш-уведомления, запросы на установку приложения, автоматическое воспроизведение видео и назойливые всплывающие окна. Каждый раз, когда мы заходим на новый сайт, это выглядит как борьба с раздражающими маркетинговыми сообщениями, которые беспрерывно атакуют нас. Однако чаще всего эти решения используются без учета общей картины. Они подходят для краткосрочной конверсии, но вредят при удержании пользователя. Как нам собрать их? В этом докладе Виталий рассмотрит паттерны мобильного дизайна, технологии, стратегии и важные решения, которые нужно учитывать при разработке и создании веб-сайтов и приложений, которые заботятся о клиентах и увеличивают конверсию. Вы уйдете с необходимым инструментарием применимых методов, парочкой аргументов для ваших менеджеров и надежными примерами, которые разоблачают распространенные мифы о мобильных платформах.
Комментарий программного комитета:
Приватность — горячая тема последних нескольких лет. Регуляция использования данных в разных регионах планеты принимает форму законов, а значит, наши решения обязаны их адаптировать. Но и без них лучшие решения те, что учитывают этот аспект. Виталий покажет о чем нужно думать, и как проектировать интерфейс мобильных приложений таким образом, чтобы пользователь не имел ни малейшего сомнения в ваших лучших намерениях относительно конфиденциальных данных.
Больше докладов
В бесплатную трансляцию обеих конференций попали доклады только первого дня и первого зала. Если хочется большего, то пока еще доступны билеты на онлайн-трансляцию:
- Heisenbug — вот здесь можно посмотреть программу, а здесь — взять онлайн-билет;
- Mobius — расписание докладов и билеты.