Talks Mobius 2018 Moscow

Eugene Antropov Raiffeisenbank
Eugene Antropov
Day 1 / 12:00  / Track 3 / RU / Introduction to technology

Core Bluetooth is not that scary, or how to improve user experience with little effort

We'll talk how to use Bluetooth LE in Apple systems, about problems in development and how to solve them. This talk will provide an understanding of how to use this technology and what possible limitations it can bring.

Vyacheslav Beltyukov EPAM
Vyacheslav Beltyukov
Day 1 / 18:30  / Track 3 / RU / Introduction to technology

Performance analytics: Why and how?

We're going to talk about how performance analysis can help you understand problems you didn't even know about.

Svyatoslav Scherbina JetBrains
Svyatoslav Scherbina
Day 1 / 15:30  / Track 2 / RU / For practicing engineers

Using Kotlin to share code between Android and iOS

This talk's main topic is how you can use Kotlin to share code between Android and iOS. We will also cover Kotlin platform development trends that make this easy and possible.

Dmitry Vasilyev FunCorp
Dmitry Vasilyev
Day 2 / 10:30  / Track 2 / RU / For practicing engineers

How to cache information in an Android application and not to shoot yourself in the leg

About caching in Android applications overall and about particular implementations.

Fedor Tsymbal MERA
Fedor Tsymbal
Day 2 / 17:00  / Track 3 / EN / Introduction to technology

Project Treble: a lifelong technical debt

Sometimes one mistake in developing the architecture of the product can cost you dearly. There was such mistake in Android OS, and to fix it Google had to invent a new language (HIDL), bindarized HALs, VINTF objects and many other interesting things, as a whole called Project Treble. If you want to know what it it, what's it for, what did it cost Google and how it will influence the developers and end users of Android devices, you should come and listen to the talk.

Igor Savelev Badoo Limited
Igor Savelev
Badoo Limited 
Day 1 / 13:30  / Track 3 / RU / Introduction to technology

Implementing UI in iOS: Better. Faster. And it scales!

Tools and techniques that will boost your UI development process.

Alexander Tobol Odnoklassniki
Alexander Tobol
Ivan Grigoriev Odnoklassniki
Ivan Grigoriev
Day 2 / 13:30  / Track 1 / RU / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

Video streaming and playback over bare sockets and codecs

We'll discuss video streaming and real-time playback, fight delays and CPU utilization, and learn to write our own players.

Alexander Blinov
Alexander Blinov 
Day 1 / 12:00  / Track 1 / RU / For practicing engineers

The lord of the modules

It began with the forging of the Great Modules. Some of them were core modules, the mighty rulers of network and databases. Some of them were feature modules, for within them was bound the strength and will to govern each feature. But they were all of them deceived... for in the land of Mordor, in the fires of Mount Doom, DI and Routing were forged in secret to control the whole application.

Sergey Ryabov Facebook
Sergey Ryabov
Day 2 / 15:30  / Track 2 / RU / For practicing engineers

How to cook a well done MVI for Android

We'll discuss how we can adapt Unidirectional Data Flow for mobile development and how Kotlin and its key features can help us in that. We'll also take a look at examples of typical use cases implementation for this approach.

Alexey Ulyenkov Sberbank
Alexey Ulyenkov
Day 2 / 17:00  / Track 2 / RU / For practicing engineers

One app, 200+ developers: practices and tools

We'll discuss tools and methods of automation, safe code writing, testing and service control — these tools and methods we at Sberbank Online use every day, releasing our project for 40 millions of clients.

Doug Sillars Freelance
Doug Sillars
Day 1 / 10:30  / Track 1 / EN / For practicing engineers

Fast and beautiful: Modern image delivery techniques

We'll examine strategies to send the perfect image to every device, ensuring a fast, beautiful rendering of your content. We'll look at progressive images, placeholder images, lazy loading and other techniques and real world examples that will improve the usability of your site or app.

Paulina Szklarska Droids On Roids
Paulina Szklarska
Droids On Roids 
Day 2 / 12:00  / Track 3 / EN / Introduction to technology

Flutter — how to make a beautiful app in an hour?

Announced at Google I/O '17 Flutter is a new open source library for creating cross-platform mobile applications with beautiful UI. Is it something new? Is it needed? Will this be a future? After this talk you'll be able to face a question — is Flutter something for you?

Evgeny Chormonov Pinect
Evgeny Chormonov
Day 1 / 13:30  / Track 2 / RU / For practicing engineers

Android in terminals and corporate gadgets: Our experience of building COSU architecture

Evgeny will share his experience of building COSU devices, tell about their architecture and limitations of some approaches, and also touch on security measures.

Paul Hudson Hacking with Swift
Paul Hudson
Hacking with Swift 
Day 1 / 15:30  / Track 1 / EN / For practicing engineers

Squeeze your Swift: how to write safer, smarter code by constraining associated types, protocols, generics, and extensions

It might sound counterintuitive, but laying down strict rules for what your code can and can't do helps you work faster. By constraining your associated types, protocols, generics, and extensions, the Swift compiler can help you avoid problems, minimize namespace clutter, and write better code.

Ilya Bogin Yandex
Ilya Bogin
Day 1 / 17:00  / Track 1 / RU / For practicing engineers

Make mobile apps fast again

We'll discuss technical difficulties of monitoring regression of mobile apps performance characteristics and how to build this monitoring into CI. We'll tell how we organized this process for Yandex mobile apps and what challenges we faced.

Nikolay Likhogrud Yandex
Nikolay Likhogrud
Day 2 / 17:00  / Track 1 / RU / For practicing engineers

How modularity changed not only our code, but also the whole process

We'll cover the following questions: on what modules should we divide our application? How should we connect them? When it's time to stop? Which tools can make the process easier? How to arrange all that in order to make creating separate project for each feature comfortable?

Anton Shchukin Badoo
Anton Shchukin
Day 2 / 10:30  / Track 1 / RU / For practicing engineers

Monorepo: The journey back. History of modularization at Badoo

Anton will tell about their iOS team's journey to monorepo and modular application structure, from what it all begun to what they have in the end. It allowed them to scale iOS development and increase individual developer's performance.

Dmitry Mikhailov Yandex
Dmitry Mikhailov
Day 2 / 12:00  / Track 1 / RU / For practicing engineers

Architectural approach to errors handling

Convenient and system implementation of error handling on all levels of an application typically gives developers headaches. Dmitry will share his experience of solving such a problem.

Denis Kirillov Mamba
Denis Kirillov
Day 2 / 13:30  / Track 3 / RU / Introduction to technology

Flux architecture in an iOS project

Denis will tell about challenges one might face when developing an iOS project on the Flux architecture and how to find solutions for those challenges. This talk's aimed at all developers who know basic principles of the Flux architecture.

Alexander Korshak MERA
Alexander Korshak
Day 2 / 10:30  / Track 3 / RU / Introduction to technology

Mobile VR: From idea to release

This talk offers answers to the most popular questions from mobile developers and enthusiasts entering the mobile VR development world.

Anton Keks Codeborne
Anton Keks
Day 1 / 18:30  / Track 1 / RU / Get ready, will burn

Kotlin puzzlers, Vol. 2

This talk will present some of the more interesting nuances of Kotlin syntax or features with the help of small puzzler programs letting the audience guess their behavior. The mystery will then be revealed with an explanation in a fun way.

Nishant Srivastava Soundbrenner
Nishant Srivastava
Day 1 / 12:00  / Track 2 / EN / For practicing engineers

Things I wish I knew when I started building Android libraries — Vol. 2

Building an Android library brings with it quite a few challenges and nuances. You will get to learn about the common pitfalls and how to overcome them by leveraging architecture components, making your Android libraries lifecycle-aware and using the power of Kotlin language to build better SDK.

Danny Preussler
Danny Preussler 
Day 1 / 17:00  / Track 2 / EN / Introduction to technology

Dependency injection with Koin

Koin, a new way of dependency injection for Android. Let's look at the full Koin 1.0 features. Let's look at migration steps. Let's discuss when to use it and maybe when not to.

Mikhail Dudarev Licel Corporation
Mikhail Dudarev
Licel Corporation 
Day 1 / 15:30  / Track 3 / RU / For practicing engineers

Sign me

We'll discuss signature schemes used in Android (Jar Signature, APK Signature 2 и 3!!!, Google Play Signing), their strengths, weaknesses, vulnerabilities — and, of course, test it all out.

Artem Zinnatullin Lyft
Artem Zinnatullin
Day 1 / 13:30  / Track 1 / RU / For practicing engineers

Android builds at Lyft

Deep dive into details of Android monorepo builds at Lyft, infrastructure and tooling around it, and some engineering stories, of course!

Vyacheslav Gilevich Yandex
Vyacheslav Gilevich
Day 2 / 15:30  / Track 3 / RU / For practicing engineers

SceneKit in use

Vyacheslav will tell how to start working with SceneKit, which pitfalls they encountered and how to record video alongside rendering in SceneKit and ARKit working. He will also tell about little-knows features of this engine and how you can use them to implement the most complex visual effects.

Royi Benyossef Samsung NEXT/GDE
Royi Benyossef
Samsung NEXT/GDE 
Day 2 / 13:30  / Track 2 / EN / For practicing engineers

G(PU) force

We'll review past cases where Royi had trouble that originated in the GPU and how you can diagnose and solve similar issues quickly and more effectively in your Android application.

Alexandr Guzenko
Alexandr Guzenko 
Day 2 / 12:00  / Track 2 / RU / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

Android: He protec, but he also attac

Alexander will tell about the basic protection methods, show the technique of hacking which uses method hooking, explain what it is and how to secure yourself against it.

Alexander Mikhaylov Uber
Alexander Mikhaylov
Day 2 / 15:30  / Track 1 / RU / For practicing engineers

Mobile architecture at scale

Alexander will take a look at well-known mobile architectures in terms of a large team's work. What problems Uber had 2 years ago and why they rewrote their application from scratch. What problems arise when hundreds of engineers work in one repository and how some of these problems are solved using RIBs architecture.

Yonatan Levin KolGene
Yonatan Levin
Day 1 / 18:30  / Track 2 / EN / For practicing engineers

Compilers. Dalvik. ART. And everything in between

We will go over all compilation and building process: D8 & R8, we will learn what is Virtual Machine and how ART is different from Dalvik, what is JIT and how AOT replace it and how the modern project put all this together.

Aleksei Savin VK
Aleksei Savin
Day 1 / 17:00  / Track 3 / RU / For practicing engineers

Advanced live streaming

You'll learn how Aleksei and his colleagues created the biggest platform in Russia for broadcasting and watching live streams and which problems they encountered.

Vitaly Friedman Smashing Magazine
Vitaly Friedman
Smashing Magazine 
Day 2 / 18:30  / Track 1 / RU / Introduction to technology

Testing to extremes: Dirty little tricks from the dark corners of mobile UIs

Vitaly will be taking a microscopic examination of common interaction patterns and interface components appearing and tested in mobile interfaces. We'll look into onboarding issues, the infamous hamburger icon, strange carousels, complex data visualization and feature comparison.