Andrey Breslav JetBrains, Alter
Andrey Breslav
JetBrains, Alter 
Day 1 / 10:30  / Track 1 / RU / Введение в технологию

Empathy in IT: How to use your human nature rationally

We'll discuss how to consider others' and our own emotions to get what we need quicker and easier. We'll cover Marshall Rosenberg's concept of nonviolent communication, basic principles of cognitive behavioral therapy (CBT), and even emotional intelligence.

Denis Nekliudov Lyft/GDE
Denis Nekliudov
Day 2 / 12:00  / Track 1 / RU / Введение в технологию

Scaling architecture at Lyft

The talk covers evolution and revolutions of solutions in the core structure of our codebase and explains current state and what problems it allows to solve at our scale. The audience will learn how to prototype initial app architecture in respect of later scale and what kind of solutions help to produce a sustainable product.

Yonatan Levin
Yonatan Levin 
Day 1 / 17:30  / Track 1 / RU / Для практикующих инженеров

640K ought to be enough for anyone

You will learn how memory management works on Android, learn what is SWAP, GC, Native Allocations and other fancy words. But most important — you will learn how to build a junk free/out of memory application.

Hannes Dorfmann Freeletics
Hannes Dorfmann
Kostiantyn Tarasenko Freeletics
Kostiantyn Tarasenko
Day 1 / 12:00  / Track 1 / EN / Введение в технологию

Testing by design

We are going to discuss how a testing-first architecture such as MVI helps us to write and maintain efficient tests.

 Corey Latislaw The App Business
Corey Latislaw
The App Business 
Day 1 / 19:00  / Track 1 / EN / Введение в технологию

The art of intentionality

Are you living your life on autopilot? This talk will help you break the pattern and give you a framework for being intentional with your life, your career, and your time.

Vitaly Friedman Smashing Magazine
Vitaly Friedman
Smashing Magazine 
Day 2 / 19:00  / Track 1 / RU / Введение в технологию

Smarter mobile interface design patterns

Vitaly will explore better approaches for onboarding and offboarding, authentication patterns and infamous GDPR consent cookie prompts, annoying permission requests and disruptive notifications requests, and other issues. You'll walk away with a toolbox of techniques applicable to any mobile project — be it a native app, PWA or a good ol' responsive website.

John Fox Netflix
John Fox
Day 1 / 17:30  / Track 3 / EN / Введение в технологию

Accessibility for iOS: Doing well by doing good

At Netflix, we care a lot about accessibility both from content and software point of view. Investments in ensuring high-quality accessibility yield multiple benefits from making automated testing possible to ensuring customer happiness.

Eliza Camber Pixplicity
Eliza Camber
Day 2 / 16:00  / Track 3 / EN / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Building your own IoT assistant

We will explore how natural language understanding and processing works, how we can use DialogFlow for this, how we can build a smart home device for the Google Assistant by using Actions on Google and, finally, how we can create our own voice activation by using TensorFlow.

Stepan Goncharov Grab
Stepan Goncharov
Day 1 / 16:00  / Track 1 / RU / Для практикующих инженеров

Gradle pipeline optimisation: Beyond basics

We'll go through build, test and lint stages to see what else we could do to make Gradle as fast as possible.

Evgenii Rtischev Sberbank
Evgenii Rtischev
Day 1 / 16:00  / Track 2 / RU / Для практикующих инженеров

Working with networks effectively

We'll discuss common challenges every developer encounter while dealing with networks and learn how to solve them using existing tools.

Dmitry Movchan Kaspersky Lab
Dmitry Movchan
Kaspersky Lab 
Eugene Matsyuk Kaspersky Lab
Eugene Matsyuk
Kaspersky Lab 
Day 2 / 16:00  / Track 1 / RU / Для практикующих инженеров

How to start writing autotests without losing one's mind

We'll try to give you the very base that allows you to just start writing autotests. There will be all kinds of best practices in one.

Konstantin Tskhovrebov Redmadrobot SPb
Konstantin Tskhovrebov
Redmadrobot SPb 
Day 1 / 14:00  / Track 1 / RU / Для практикующих инженеров

Reactive errors, or Retry dialog in one line of code

Konstantin will tell how designing a solution for the standard task brought about an unexpected solution, revealed the essence of the reactive approach and simplified a whole lot of issues connected to this one.

Andy Dyer Zalando
Andy Dyer
Day 1 / 16:00  / Track 3 / EN / Готовьтесь, будет подгорать

AppCraft: Faster than a speeding release train

Learn how Zalando is combining GraphQL query generation, server-driven UI, and reactive programming patterns to iterate more quickly on its flagship mobile apps.

Alexander Krasikov VK
Alexander Krasikov
Day 2 / 12:00  / Track 3 / RU / Для практикующих инженеров

Audio session in IOS: How to synchronize audio streams

VK mobile app has several sections dealing with audio input/output. Alexander will tell about problems appearing with new items being added to this list and how synchronization of these clients work in the app now.

Mikhail Emeljanov CFT
Mikhail Emeljanov
Day 2 / 10:30  / Track 2 / RU / Введение в технологию

DDD in mobile development

We'll show how we at CFT employ DDD, using our flagship Android product as an example. We'll cover the following topics: bad and good implementation practices; how we identify use cases from the task itself; how one can solve a task even if UI and API are not ready yet; advantages of DDD in the case of business changing a task often; DDD's scalability capabilities, etc.

Libranner Santos Ray Wenderlich
Libranner Santos
Ray Wenderlich 
Day 2 / 17:30  / Track 3 / EN / Введение в технологию

Mastering Auto Layout for iOS applications

We will cover some interesting topics about how Auto Layout works, and techniques we can use to debug issues related to it. Then we will see some of the best practices you can use while working with Auto Layout.

Vyacheslav Tarasov Expload
Vyacheslav Tarasov
Day 1 / 17:30  / Track 2 / RU / Готовьтесь, будет подгорать

Peace and harmony: Android and neural networks

We'll discuss on-device CNN launch on Android devices, testing on smartphones, current SDKs, possibility of model conversion for different SDKs, pre- and post-processing of images.

Kirill Rozov EPAM
Kirill Rozov
Day 2 / 17:30  / Track 2 / RU / Для практикующих инженеров

Coroutining Android apps

Because of the hype around coroutines, it's easy to make lots of mistakes and drive your own project in the corner, getting countless bugs. Kirill, however, knows how to avoid this.

Anton Davydov EPAM
Anton Davydov
Day 2 / 14:00  / Track 3 / RU / Для практикующих инженеров

Everything about collaborative access in mobile apps

We'll discuss how to avoid messages like "The document is locked for editing by another user" or "You now have merge conflicts in your working copy" in your app and step towards decentralized internet.

Dmitry Sidorenko RoboQA
Dmitry Sidorenko
Day 2 / 10:30  / Track 1 / RU / Введение в технологию

Automated testing of mobile apps in the cloud

We'll discuss organizing automated testing of mobile apps with the use of cloud technologies, covering several important questions.

Filip Babić Five Agency
Filip Babić
Five Agency 
Day 1 / 14:00  / Track 2 / EN / Для практикующих инженеров

Deep diving into the Kotlin Coroutines API

In this talk, we'll go over the Kotlin Coroutines API in depth, see what the underlying structures and mechanisms are, and how you can build your own extensions to these mechanisms.

Vladislav Alexeev Avito
Vladislav Alexeev
Day 1 / 14:00  / Track 3 / RU / Для практикующих инженеров

50 hours in an hour: Scaling autotests in iOS

Vladislav will cover main challenges in writing and launching UI tests, scaling on one computer and on assembly machines farm. He will touch upon test stability, infrastructure instability, ways of solving the appearing problems.

Pavel Strelchenko
Pavel Strelchenko 
Day 2 / 12:00  / Track 2 / RU / Для практикующих инженеров

Fantastic plugins and where to find them

Pavel will prove that every developer certainly can write their own plugin.

Iurii Medvedev Emirates Airline
Iurii Medvedev
Emirates Airline 
Day 1 / 12:00  / Track 3 / RU / Для практикующих инженеров

Restructuring mobile development in an enterprise

We'll discuss how to restructure CI/CD processes in a large enterprise in a short time and with least possible trouble.

Ilya Matveev JetBrains
Ilya Matveev
Day 2 / 17:30  / Track 1 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Multiplatform projects in Kotlin 1.3

This talk deals with the concept of multiplatform projects in Kotlin in and of itself as well as changes in this concept since 1.3.

Alexander Shalamov EPAM
Alexander Shalamov
Day 2 / 16:00  / Track 2 / RU / Для практикующих инженеров

Beyond Xcode

This talk deals with how iOS applications are being built and how after that kernel uploads them to the memory.

Dmitrii Ivanov ING
Dmitrii Ivanov
Day 1 / 12:00  / Track 2 / RU / Для практикующих инженеров

Native data serialisation in iOS

We will talk about all the diversity of native iOS APIs for data serialisation (NSCoding, NSKeyedArchiver, Codable), compare them and discuss some non-trivial use cases.

Aleksandr Sorokin VK
Aleksandr Sorokin
Day 2 / 14:00  / Track 1 / RU / Для практикующих инженеров

Implementing messages cache in VK

This talk is about implementing messages cache in VK and fighting with SQLite.

Maurice Gavin Toothpic
Maurice Gavin
Day 2 / 14:00  / Track 2 / EN / Для практикующих инженеров

Tools for protecting your users' data

The tools you need to secure your Android app.

Day 2 / 11:35  / Track 1 / RU /

Николай Иготти — Сессия вопросов и ответов с Kotlin/Native team lead: как использовать Kotlin в мобильной разработке под iOS

Day 2 / 13:18  / Track 1 / RU /

Валентин Мошкин — IT-cобытия Сибири

Day 2 / 15:05  / Track 1 / RU /

Андрей Смоляк, Денис Черепанов — Вырастить своих или взять готовых?

Day 1 / 13:18  / Track 1 / RU /

Леонид Васин — История одного хакатона, или Как одолеть техдолг?

Day 1 / 18:35  / Track 1 / RU /

Розыгрыш призов

Day 1 / 15:18  / Track 1 / RU /

Александр Ларионов — Разработка ленты новостей и рекомендаций. Практический подход в реализации сложных производительных UI-интерфейсов

Day 1 / 11:35  / Track 1 / RU /

Арсен Тер-Оганесян — Кросс-функциональность в продуктовых командах

Day 2 / 15:31  / Track 1 / RU /

Александр Сибриков — Разбираем популярные заблуждения и ошибки при настройке аналитики, или Как помириться с маркетологом

Лаборатория Касперского
Лаборатория Касперского
Day 1 / 15:31  / Track 1 / RU /

Виктор Яблоков — Kaspersky mobile products development metrics

Day 2 / 13:31  / Track 1 / RU /

Йонатан Левин — Бытие СТО

Day 1 / 15:44  / Track 1 / RU /

Дмитрий Стешин — Повышаем КПД мобильных разработчиков

Day 2 / 11:47  / Track 1 / RU /

Дмитрий Жучков — Карьера разработчика, заблуждения

Day 2 / 18:35  / Track 1 / RU /

Розыгрыш призов

Day 2 / 15:44  / Track 1 / RU /

Алексей Цветков-Омеличев — Разработка раздела сообщений в приложении ВКонтакте, подход к работе, используемые технологии, нюансы взаимодействия с другими разделами приложения

Day 2 / 17:18  / Track 1 / RU /

Вячеслав Бельтюков — Что мы делаем, когда не красим кнопки

Day 1 / 13:05  / Track 1 / RU /

Владимир Теблоев — Как защищать свой код, когда ваша команда стала большой и вы потихоньку превратились в платформу

Day 2 / 17:05  / Track 1 / RU /

Константин Касьяненко — Automation testing. Полезные фишки XCUITest