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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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!

Read more
Denis Neklyudov Lyft
Denis Neklyudov
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.

Read more
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.

Read more
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.

Read more
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.

Read more
Anton Dudakov SberDevices
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.

Read more
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.

Read more
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.

Read more
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.

Read more
Artur Badretdinov Squire
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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!

Read more
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.

Read 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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more
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.

Read more