Talks Mobius 2018 Piter

Felix Krause Google
Felix Krause
Day 1 / 10:30  / Track 1 / EN / Introduction to technology

Trusting iOS SDKs

We'll talk about the risks of depending on external code, and how an attacker can easily inject malicious code in software you bundle within your app.

Andrey Breslav JetBrains
Andrey Breslav
Day 1 / 17:25  / Track 1 / RU / For practicing engineers

On the shoulders of giants: languages Kotlin learned from

We’ll discuss how some ideas we borrowed from other languages while developing Kotlin have changed in our interpretation and how nowadays other famous languages started learning from our experience.

Fernando Cejas IBM
Fernando Cejas
Day 2 / 14:45  / Track 1 / EN / Introduction to technology

What mom never told you about multithreading

We'll learn about different ways to handle, manage and master multithreading on mobile platforms.

Alexey Demedeckiy Sigma Software
Alexey Demedeckiy
Sigma Software 
Day 2 / 13:10  / Track 1 / RU / For practicing engineers

Data-driven UI: unlimited power

We’ll talk about building and testing data-driven UI components, and show you how to create animations, navigation between screens and interactive gestures using data-driven methods.

Yuliya Kaleda
Yuliya Kaleda 
Day 2 / 10:30  / Track 3 / EN / Introduction to technology

Add some reality to your app with ArCore

We'll discuss AR main principles, 3D modeling, object rendering and provide some practical tips on how to build AR focused apps.

Yonatan Levin KolGene
Yonatan Levin
Day 2 / 17:30  / Track 1 / RU / Introduction to technology

The epic battle: iOS vs. Android

Let's prove together which platform has better developers!

Denis Nekliudov Lyft/GDE
Denis Nekliudov
Day 2 / 11:50  / Track 1 / RU / For practicing engineers

Decreasing build time: Kapt and other adventures

How to turn your monolithic project into a fast, independent and easily expendable one: Gradle, Dagger, architecture.

Ewa Ludwiczak Allegro
Ewa Ludwiczak
Aleksander Grzyb Allegro
Aleksander Grzyb
Day 1 / 13:10  / Track 3 / EN / Introduction to technology

Layers of testing in iOS applications

Let's make a journey through different layers of tests in an iOS app, starting with advanced code static analysis, continuing with mutation, snapshot and functional tests, along with continuous delivery, A/B tests and usability tests.

Nikolay Ashanin EPAM
Nikolay Ashanin
Day 1 / 14:45  / Track 2 / RU / For practicing engineers

"Recognizing Private Ryan": offline face recognition on a mobile device

We'll discuss if it's possible to find out a girl's name without personal acquaintance using face recognition, how to solve this task on a mobile device, as well as the chances to release such an application.

Martin Mitrevski Netcetera
Martin Mitrevski
Day 1 / 11:50  / Track 3 / EN / Introduction to technology

Building voice responsive apps on iOS

We'll see how we can tackle the challenging task of understanding what users say. We'll train an agent with Google's Dialogflow and build an iOS app that will do speech recognition on the device.

Anton Dudakov Яндекс
Anton Dudakov
Day 1 / 14:45  / Track 1 / RU / For practicing engineers

Birth, life and death, or What happens to your app in Android

We'll discuss, how Android runs itself and how it runs apps; who, why and how calls methods of app's components and so forth. This talk will help Android developers better understand system's behavior in order to build more predictable apps.

Artur Vasilov Яндекс
Artur Vasilov
Day 1 / 13:10  / Track 2 / RU / For practicing engineers

A hard-fought road to JobScheduler and back

We’ll discuss mistakes in Android code, and see how we can switch to JobScheduler as painless as possible.

Yonatan Levin KolGene
Yonatan Levin
Day 1 / 16:05  / Track 1 / RU / Introduction to technology

Services: to live with and without

We'll explore what has changed, what changes you as a developer require to make to leave in a new world of Android background restrictions and why da hell this is important.

Dmitry Trimonov Яндекс
Dmitry Trimonov
Day 2 / 16:10  / Track 2 / RU / For practicing engineers

Augmented reality in Yandex Maps

This talk is devoted to the nuances of Yandex Maps' solution: the coordinate system calibration, real-world entities projection to the mobile screen, animations and so forth. We’ll pay particular attention to the interaction of between ARKit, CoreLocation, and SceneKit.

Artur Badretdinov Vyng
Artur Badretdinov
Day 1 / 11:50  / Track 1 / RU / Introduction to technology

Profiling via examples: looking for a bottleneck

We’ll “dissect” an app that works not fast enough using a couple of tools, making optimizations on-the-way and tracking the results of every optimization made. We’ll look at a couple of tools that let us track the way an app works from one building to another.

Kirill Popov Odnoklassniki
Kirill Popov
Day 1 / 14:45  / Track 3 / RU / For practicing engineers

Upload in Odnoklassniki social network

We'll discuss how we solved the task of speeding up our upload manager and what we got as a result.

Konrad Feiler
Konrad Feiler 
Day 1 / 16:05  / Track 3 / EN / For practicing engineers

How to fit a million stars into an iPhone

Motivated by a fascinating dataset, we will learn about performance and memory optimization in Swift.

Michał Kałużny NWTN Berlin
Michał Kałużny
NWTN Berlin 
Day 2 / 11:50  / Track 2 / EN / For practicing engineers

Reverse engineering mobile apps: how, why, and what now?

We'll discuss how some attack vectors are exploited, how you can secure your app against them, and what pitfalls you’ll encounter when trying to make your app as impenetrable as possible.

Denis Kirillov Mamba
Denis Kirillov
Konstantin Yurichev Mamba
Konstantin Yurichev
Day 2 / 11:50  / Track 3 / RU / Introduction to technology

How to cook your app in Playgrounds

We'll dwell on how we started to develop our company’s key service according to the PDD methodology, what results we got, as well as how to repeat it without leaving your home.

Ivan Alyakskin  EPAM Systems
Ivan Alyakskin
EPAM Systems 
Day 2 / 16:10  / Track 3 / RU / For practicing engineers

Microservice architecture for Android multimedia device

Tips and tricks to make code work fast and be easy to read. We'll talk about performance optimizations, from Linux kernel calls to Android Framework.

Alexey Shpirko Avito
Alexey Shpirko
Day 2 / 16:10  / Track 1 / RU / Introduction to technology

Mobile apps releases in Avito

We'll look at mobile release process details in Avito and discuss, how to gather in one place a number of features many people are working on and so forth. Join this talk to learn more!

Victor Lapin Advantum
Victor Lapin
Day 2 / 14:45  / Track 3 / RU / Introduction to technology

Introduction to AOSP, or Android building that takes all night

We'll discuss what AOSP is, what it consists of, why it is not the same as Google Android and how you can build ready firmware for a particular device.

Ivan Vavilov Redmadrobot
Ivan Vavilov
Day 2 / 10:30  / Track 2 / RU / For practicing engineers

Dependency manager is not just cURL

We'll discuss the internals of well-known dependency managers, the problems you can face while setting up dependencies, and analyze the algorithms of dependency graph resolution, touching upon such questions as centralization, versioning, and security.

Vladimir Ivanov EPAM Systems
Vladimir Ivanov
EPAM Systems 
Day 1 / 11:50  / Track 2 / RU / Introduction to technology

Forget RxJava: Kotlin coroutine is all you need

We'll look at pros and cons of both RxJava and Kotlin coroutines, and see when coroutines are more convenient, and when you are doomed without Rx. We'll also consider how unit testing differs between two approaches and how they can live together in a project.

Kirill Borisov Яндекс
Kirill Borisov
Day 2 / 13:10  / Track 3 / RU / For practicing engineers

Total recall: Autofill Framework and Account Transfer API

We'll start with the basics of using these tools, revealing the pitfalls you can fall into. Also, we'll share our own experience of these tools' implementation.

Evgeny Suvorov Avito
Evgeny Suvorov
Day 2 / 10:30  / Track 1 / RU / For practicing engineers

Multi-module architecture of a project

Using Avito iOS and Android as an example, we’ll look the approaches towards projects’ modularization, the changes of the building time depending on the modularization stage, the ways to change the progress of projects’ modularization, along with Application Health Check.

Roman Yatsina Revolut
Roman Yatsina
Ivan Vazhnov Revolut
Ivan Vazhnov
Day 1 / 13:10  / Track 1 / RU / For practicing engineers

Multiplatform architecture with Kotlin for iOS and Android

You'll learn how to mix Clean Architecture with Kotlin Multiplatform Projects, how to write a business logic of an application once and for all platforms and what restrictions this approach will impose.

Vladimir Tebloev Сбербанк-Технологии
Vladimir Tebloev
Day 2 / 14:45  / Track 2 / RU / For practicing engineers

Actor models: a fresh look at an old approach

You'll learn what an actor model is and how it can help us in mobile development. We'll touch on lightweight asynchronous streams, Kotlin coroutines and the fundamental nature of this approach while building fast and responsive systems.

Konstantin Volkov Revolut
Konstantin Volkov
Day 1 / 16:05  / Track 2 / RU / Introduction to technology

A/B testing we're gonna love

We’ll discuss the concept of A/B testing and look at the examples of its implementation in various companies. You’ll learn to choose the right time to run an A/B test, assess and present its results.

Kirill Zuev CFT
Kirill Zuev
Artem Logutov CFT
Artem Logutov
Day 2 / 14:45  / Track 2 / RU / For practicing engineers

Fintech lessons: the basics of mobile app security

We'll talk about our efforts in keeping our applications, API and data transfer safe. Biometrics, Keychain, SSL-pinning, lost devices and more will be discussed in details.