MobileOptimized 2018 is the 8th annual tech conference dedicated to mobile development.

Оrganized by SPACE Production together with Android & iOS enthusiasts from GDG Minsk & CocoaHeads Belarus communities.
SOLD OUT

TALKS & SCHEDULE

8:30–9:40
Registration. Welcome coffee
9:40–10:00
Opening speech from organizers & general partner
10:00–10:45

Secrets and Lies
ANDROID TRACK
iOS TRACK
11:35–12:00
Coffee-break
13:35–14:30
Lunch (included in the ticket)
15:55–16:15
Coffee-break
17:55–18:30
Q&A session with Roman Bugaev (Flo), Serge Barysiuk (PandaDoc), Victor Yakovlev (Kino-mo)
Moderator: Andrei Rudsky
19:00–21:00
Afterparty at SPACE (Beer pong, beer & snacks)

OUR SPEAKERS

Android Dev Podcast
Singapore

Android & IoT Google Developer Expert
GitHub Medium
Poland

Kot. Academy creator, co-author of Android Development with Kotlin
Twitter
Germany

Google Developer Expert & independent IT consultant
Twitter LinkedIn GitHub
UK

Mobile Software Engineer @MyDrive Solutions
Twitter Medium GitHub
Netherlands

Android Developer @Booking.com
GitHub Twitter Blog
USA

iOS developer @Logitech
Twitter Blog
UK

Google Assistant Developer, Advocate for Women in Tech
Twitter Instagram GitHub
UK

CTO of Razeware, the company behind raywenderlich.com
Denis has tight relations with Android since ancient times.

He also loves all about Internet of Things and smart assistants.

Many of russian-speaking android devs may know him because of Android Dev Podcast where Denis is co-host.
Marcin Moskala is an experienced Android developer passionate about Kotlin. He is the creator of Kot. Academy and author of the book "Android Development with Kotlin".

He is Kotlin evangelist and the main author on the biggest medium publication about Kotlin: blog.kotlin-academy.com.

He is also the autor of libraries like ActivityStarter, ArcSeekBar, KotlinAndroidViewBinding and PreferenceHolder.

Marcin is active in the programming and open source community and is also passionate about cognitive and data science.
Enrique López Mañas has been working with mobile technologies and learning from them since 2007. He is an avid contributor to the open source community and a FLOSS (Free Libre Open Source Software) kind of guy, being among the top 10 open source Java contributors in Germany.

He is a part of the Google LaunchPad accelerator, where he participates in Google global initiatives to influence hundreds of the best startups from all around the globe. He is also a big data and machine learning aficionado.

In his free time he rides his bike, take pictures, and travels until exhaustion. He also writes literature and enjoys all kinds of arts. He likes to write about himself in third person.
As an active community builder, Kaan has co-organized a lot of developer events in the UK and Turkey such as DevFests, Android Developer Days', Android Study Jams, and has been a distinguished speaker at many international industry events in the US, UK, Czech Republic, UAE, Turkey and Georgia.

Besides being a Google Developer Group (GDG) London co-organizer, he is a Google Top Contributor (TC) and a Google Local Guide.

Kaan is passionate about exploring new technologies and traveling around the world.
Yahya Bayramoğlu is a passionate Android Developer from Turkey and currently working at Booking.com located in Amsterdam/Netherlands.

He has been developing for Android Platform since 2012, and constantly adapt himself with the platform changes and requirements and always follows up the new cool things on industry.
Rob is co-author of iOS Programming Pushing the Limits, and maintainer of the RNCryptor encryption format.

Before coming to Cocoa, he made his living sneaking into Chinese facilities in broad daylight.

Today, he shapes music over Bluetooth for Logitech, explores old ideas in new languages, and tries to figure out how all of this applies to Swift.
Dr. Aygul Zagidullina is a passionate Actions on Google developer. Her work experience includes Google, Todoist, MotaWord.
She holds a PhD in quantum chemistry and prior to Google dedicated 6 years to scientific research at the University of Stuttgart.

Aygul is a very active member of the London digital ecosystem and has been involved in many innovative projects. She is a Google Developer Group (GDG)/ Women Techmakers (WTM) London lead, Google Top Contributor (TC)/ Trusted Tester (TT), and UK STEM Ambassador.

Aygul has been a distinguished speaker at numerous international industry events in the US (at Google HQ), UK, Germany, Ireland, UAE, Greece, Turkey, Poland, Georgia, and Russia.
She was named as one of The NEXT 100 Top Influencers of the European Digital Industry in 2013.
Sam is the CTO of Razeware, the company behind the popular training site raywenderlich.com. He spends his time building the site, creating tutorial videos and doing battle with the internet.

When he's not working, you'll find him backstage in a theatre, or entertaining crowds of people with his trombone.
SHOW MORE SPEAKERS
Twitter
Russia

Android Team Lead @Surf
Blog Twitter GitHub
Hungary

iOS developer @Supercharge.io
LinkedIn
Belarus

Head of Mobile Engineering / iOS Engineer @Verv
LinkedIn GitHub
Poland

Senior Software Engineer / Tech Lead @DataArt Inc.
Twitter LinkedIn
Belarus

Mobile Tech Lead @Yandex
LinkedIn
Russia

Senior Android Developer @Vyng
LinkedIn
Belarus

Lead iOS Engineer @Apalon
GitHub
Belarus

iOS Developer @Gismart
Facebook
Belarus

Сo-founder & CEO @Onde
LinkedIn
Belarus

CTO @Flo
Belarus

Product Manager @Kino-mo (HyperVSN)
LinkedIn
Belarus


Founder & CTO @PandaDoc
Three and a half year experienced Android engineer. Took part in more than ten projects with the total audience of more than ten million users.

My team was the first who implemented Instant App in production in Russia. There are only 50 apps designed by using this technology, and our apps are among them.

Big fan of travelling, sharing knowledges, and building clean and flexible solutions.
Bruno is an iOS developer from Brazil, living in Budapest for a couple years now.

He develops native apps for Supercharge and he is passionate about futuristic tech, always trying to see ahead of the curve.

He also started researching about augmented reality on mobile devices and how this can be improved to deliver a solid experience.
Vitali Ramanouski has been developing for iOS Platform since 2010. Took part in more than a dozen projects with the total audience of more than 60 million users.

Developed mobile apps on Objective-C and Swift with looking for best practices in other directions. Now he is a Head of Mobile department with almost thirty of Mobile developers and QA engineers.

Combines empathy, leadership and diligence. Is passionate about growth of good engineering culture.
Started iOS develpoment back in 2010, participated in a countless amount of projects in different roles and companies.

Tech lead in a team of 6 iOS developers. Has a rare skill of thinking before writing a code.
Mobile tech lead at Yandex, 15 years of development experience.
Dmitry is a fan of clean code, scalable solutions and easily maintainable architecture.
Started programming from school, becuase it's fun!

Got Master degrees in Computes Science and Software Engineering when understood that nowadays it is important to be a team player and to write code in a way that it will be understandable and modifiable.

Google Developer Group Lead in Russia, love to get knowledge and share experience.

Developed backend apps on Java then decided to be closer to users and dove into Android development: school journal, banking app.

Now Artur makes ringtones memorable at Vyng.
iOS enthusiast, engineer. Work-life balance supporter. Likes black humor and reflection about meaning of life. Sometime writes articles about something.
In 2016 Dmitry graduated from BSUIR. Having started with the development of games on Cocos 2D and Unity, he has been working with iOS for about 4 years. At the moment Dmitry works for Gismart, developing music entertainment and educational apps & games for iOS.
Dreamer, entrepreneur, kiteboarder, free diver, BJJ blue belt and life explorer. Love physics and space stuff. Enjoy discovering new things in life. Сo-founder and CEO of Onde.
Distinguished and hands-on Technical Architect with deep experience in software development.
Leader of several local developers communities in Belarus.
8+ years of experience in product management. Different companies: from start-ups to Wargaming.
Various domains: CRM, e-commerce, game-dev, engineering companies. B2B & B2C.
Follow us for the updates!

PROGRAMME COMMITTEE

iOS Developer
Engineer @ Facebook
Engineer / Team Lead with about 10+ years experience
Lead Android Developer, Android & Kotlin evangelist
Android developer, passionate about technology
Software Engineer & IoT Project Lead
BKUG Community Organizer
ANDREI RUDSKY
Software Engineer from Bieraście, Paleśsie. CocoaHeads BY
ANTHONY MARCHENKO
Co-leader of "CocoaHeads Belarus" community. Amateur hockey player. Book Reviewer. Speaking too much.
DMITRY KURILO
Engineered MSQRD for iOS. Now works on AR (AR Studio, Camera Effects Platform) @ Facebook London.
ILYA LARYIONAU
Heart belongs to Apple platforms and Swift programming language. Dreams about strong and efficient cross-platform mobile development. One of the hobbies is programming. Every day reads and smokes different articles about mobile development. Co-leader of "CocoaHeads Belarus" community.
KIRILL ROZOV
I like to share experience in Android & Kotlin for everybody that whant to know something new or have question that need answers. Active member of GDG Minsk & BKUG communities.
PAVEL SHCHAHELSKI
Co-leader of "GDG Minsk " community and "Android Academy Minsk". Likes doing cool and challenging stuff! Traveller.
ALINA DOLGIKH
Alina is a professional event manager mostly in tech domain (conferences, meetups and hackathons). She loves helping people to establish new connections, grow community, spread the word about their ideas and new technologies. As a hobby-project she's organizing WTM Minsk meetups.
DERSIM DAVAOD
Love computer science, iOS platform, programming, maths, *nix and photography. Relaxing for me is coding and keeping up to date with technology. A man without Facebook.
Kotlin Coroutines in action
Kotlin Coroutines fascinate from its early beta. They are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.

In this talk Marcin will show how to use Kotlin Coroutines and what makes them so special and so efficient. He will also discuss if they are an alternative to RxJava.
Thoughtful Refactoring
Developers often struggle finding a moment to refactor their projects or don't know what to start from and which direction to go. In order to keep your project in a good shape and don't drown in old and creepy solutions from the previous century you need to find a way to refactor on the go.
Google Ecosystem for Apps. Total integration
If you are a developer of Android apps there are a lot of different products of Google that related to it and we can share our app with new users through that products and services. Part of the products are available for developers since early versions of Android but some of them will be opened just at the end of this year.
We will discuss pushes, interactive search results in Google and Google Assistant, inside device launcher and "Share" menu, custom actions in an address book, handling system intents, launcher widgets, shortcuts, self-made Action on Google for Google Assistant, an app for wearables, an app for TV.
Architectural approach to errors handling
Error handling is a fairly underestimated topic in mobile development, but its impact on applications' reliability and cost of support is really huge. Making error handling convenient and consistent throughout the all of the app's layers is a typical headache for developers. But there is a solution!

The talk is intended for you to learn:
* How to create a complete error handling system that is user-friendly and developer-friendly;
* how error handling can fit organically into an application architecture;
* how to get the most out of the mistakes, quickly track them and effectively respond to them;
* and how modern swift helps to elegantly implement such error processing.
Building Features by Independent Dagger Components
Modularization has become a huge topic recently within Android Community, and we have a lot of sources to look into nowadays. But what are the limitations? How can you provide scaleable dependencies? How can you keep your dependencies small enough to keep initializations lazy? How can you isolate modules and make them completely unaware of the project and each other?

In this talk, you will learn a simple way about how to set up your dependencies within multi-module project by Dagger and a concept that can help you to make them decoupled completely. Both approaches will let you have lazy initialization of Application scope objects depending on which feature they are necessary for. During the talk, you will also discover what are the limitations of decoupling and the reasons behind it.
Machine Learning on Mobile: a primer
Machine learning is incredibly powerful, and with the introduction of Core ML on iOS and ML Kit on Android, finally becoming usable on mobile devices. But what exactly is 'machine learning'.
In this talk you'll hear about the basics of machine learning—the fact that at its simplest level it's just trivial mathematical functions. We'll build up our own models in the talk, using principles from high school mathematics, demonstrating that machine learning isn't as complex as it may seem.
We'll then look at how to work with more advanced models, including convolutional neural networks (CNNs) and how they work in iOS with Core ML.
At the end of the talk you will have a better understanding of exactly what 'machine learning' is, along with some practical knowledge of how to use machine learning in their own apps.
Building for the Google Assistant: Voice First vs. Screen First
Learn to build for voice first so you can easily surprise and delight your users on hundreds of millions of devices through the Google Assistant. Let's be honest: it's quite easy to be tempted to take an existing visual-based experience and simply convert it to voice.
In this talk, we'll cover five key ways voice-first development differs from screen-first development. You'll learn how to create engaging experiences for voice, the next major disruption in computing. By the end of this session, you should have a better understanding of what types of use cases transfer well to voice interactions and why.
GRPC for Android. Not by REST alone (RU)
We live in a client-server world. Network layer designing is one of the most important career projects for every software engineer. However, we often limit ourselves to the opportunities that REST provides.
In the talk, Eugene will go through the original solution developed by Google — GRPC. It's a brand new, very fast and flexible RPC framework. This framework solves a number of structural issues and makes a network logic much easier to implement. One more thing: Have you ever dreamt of streaming? Of bidirectional streaming to be more exact? If the answer is «yes», see you on the talk.
Firebase Cloud Firestore: Deep Dive
Firebase offers two cloud-based, client-accessible database solutions that support realtime data syncing. In this workshop, we'll focus on Could Firestore, Firebase's new database solution. Cloud Firestore is an efficient, low-latency database solution for mobile apps that is optimized for speed, security, and offline use. As part of this workshop, we'll build an app using Cloud Firestore focusing on realtime updates, expressive querying, and offline support. The workshop participants will learn how to read and write data to Firestore from an Android app, listen to changes in Firestore data in realtime, use Firebase Authentication and security rules to secure Firestore data, and write complex Firestore queries.
TensorFlow for Mobile Developers
There is a lot of Hype with ML and AI lately, and TensorFlow is the framework of choice from Google. But as a Mobile Developer you might have asked yourself, how can I benefit from it?
In this talk, you will learn your first steps into the fascinating ML world for mobile. During this talk I will show how to set up TensorFlow for Android, and how to perform some initial operations with it:
* Classifying example
* Detection example
* Analyzing example

I will also show a model to develop a Mobile App with a Model and integration TensorFlow (from Zero to App), showcase demos in Android, iOS and Raspberry and showing as well some Real Use Cases.
Secrets and Lies
Security though obscurity is no security…sort of. Obfuscation is fragile and a never ending battle, but sometimes the only tool for the job. In this session you'll learn what attacks your app is facing, and how to use cryptography, obfuscation, and steganography to protect your users and business.
Firebase: Realtime Database vs Cloud Firestore
Firebase offers two cloud-based, client-accessible database solutions that support realtime data syncing:

"Realtime Database" is Firebase's original database. It's an efficient, low-latency solution for mobile apps that require synced states across clients in realtime.

"Cloud Firestore" is Firebase's new flagship database for mobile app development. It improves on the successes of the Realtime Database with a new, more intuitive data model. Cloud Firestore also features richer, faster queries and scales better than the Realtime Database.

In this session, we'll compare these two options in detail and try to understand which one works better for the specific use cases. We'll also look into the case of having an existing project using Realtime Database and whether such a project should be migrated to Cloud Firestore.
The future is here: ARKit 2.0
Remember when you saw Tom Cruise on the movie Minory Report for the first time? Well, now get ready to watch a Brazilian version of Tom Cruise presenting how the hottest iOS framework available will change the way users interact with technology. Live coding? Got it. High tech? Yep. Tom Cruise? Maybe On the latest WWDC we've all seen some of the amazing things ARKit framework can do and the possibilities are infinite.
Most of the things that we see on our social media feed are completely feasible and actually easy to do within a couple of minutes, and this presentation was prepared to continue with the introduction Bruno has already started on previous conferences. Obviously, some introduction won't hurt, but the focus here will be to reproduce and understand how these amazing things we see people demo-ing works.
UI profiling in examples (RU)
You developed a feature, tested it yourseld - everything works well. You send it to the internal testing, your managers... And they say it is slow!
We ran into the exact same situation and digged into the tools that may be used to make your Android app work on 60 frames per second.
In the presentaion, Artur will tell you about:
* how android renders views and why does it matter for you (DisplayLists, Choreographer, VSync, Render Thread - things that will be covered)
* how to understand that you have a problem (GPU profiling, SysTrace)
* how to get metrics about the current rendering speed (fps) of your app ( dumpsys gfxinfo, Systrace, HierarchyViewer)
* some of our mistakes we made, how we found them and how we fixed them (overlaying Controllers (analog of Ftagments), incorrect usage of RecyclerView with NestedScrollView
* how to easily find GPU overdraw and fix it (using GPU overdraw in dev settings and export view layers in HierarchyViewer or Scalpel to show you the ways to improve)
* how to be sure that the problem doesn't regress (Android Vitals, dumpsys gfxinfo).
Application as composition
Talk about the technical design and the essence of modularity. You'll heard about the composable blocks, levels of dependencies and the nature of instances creation. All with Swift examples related to the topical work with services, model and UI.
Advanced Interface Builder
I want to show Interface Builder like convenient instrument for iOS Developers to build flexible and simple UI visually. I want to present and show in practice some ways to adopt constraints in XIB for specific device screen size without additional code. I will tell about my own experience which will be very useful for everyone who chose this instrument to often usage. This presentation is like "Hints & Tricks for using IB".
How not to die after you've made ten various games in two months
Dmitry will tell you about architectural techniques that were used to unify the creation and further work with music educational "question-answer" games.
How to manage 500 apps having 4 devs. The story of Onde
Early on we decided that a ride-hailing tech should be available to anyone. And that would mean a lot of apps. So we realized we need to unify and automate everything to the extreme. We spent years building a system on these principles:
1. Unify design
2. Unify and reuse code
3. Automate builds, releases, updates and uploads.
That worked and we want to share our story.

GENERAL PARTNER

Verv is one of the most-downloaded Health & Fitness app developers with over 60 million users globally. It seeks to lead people to healthier lifestyle choices by providing simple and personalized solutions that help yield the best possible results.

PARTNERS

VIDEO PARTNER

MEDIA PARTNERS

SOME PICTURES FROM MOBILEOPTIMIZED 2017

See 439 more on our Facebook page

A VIDEO FROM MOBILEOPTIMIZED 2017

See 31 more on our YouTube channel
Can you read my code?
by Ivan Morgillo, Android Engineer @ Clue, Germany

"When I wrote this, only God and I understood what I was doing. Now, God only knows."


WELCOME TO BELARUS

About Belarus

Belarus has a strong IT cluster of international companies. It is worth to mention EPAM, World of Tanks, Fitbit, PandaDoc, MSQRD, Juno, etc.

30 days visa-free

About Minsk

Minsk is the 11th most populous city in Europe. It is a very safe and green city with great cuisine.

Hotel Discount

If you need a hotel, after purchasing a conference ticket, contact the organizers and get a discount on Willing hotel.
If you fly to Minsk airport from any country except Russia & your stay will last up to 30 days (including arrival & departure dates), the visa will be stamped to you free of charge at Minsk airport!

This concerns 74 countries' citizens.

If your country is in the list, you don't need an invitation to enter the country. You'll only need a valid passport (it must be valid 6 months after your trip to Belarus), a return ticket and medical insurance that must be purchased at Minsk airport upon arrival (before passport control), it costs a couple of euros, the insurances from your countries might be not valid for our passport control.

If your country is not in this list, we can prepare an invitation for you.

PRODUCED BY

MobileOptimized Code of Conduct
All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct. Organisers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.

MobileOptimized is a community conference intended for networking and collaboration in the developer community. Our goal is to create the best event. We want every participant to be able to focus their full attention on talks and networking. This is impossible to do if you are being harassed, stalked, or discriminated against.


Need Help?

Contact the organizer at lera@eventspace.by.


Harassment

MobileOptimized does not tolerate harassment in any form.

Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Participants asked to stop any harassing behavior are expected to comply immediately.

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

If a participant engages in harassing behavior, the conference organisers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff can be identified by their badges.

Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

We expect participants to follow these rules at conference and workshop venues and conference-related social events.


Social Rules

An important part of removing obstacles to a great event is having a small set of social rules. The Recurse Center's manual does a great job defining these, so we've forked parts for this section.

No feigning surprise

The first rule means you shouldn't act surprised when people say they don't know something. This applies to both technical things ("What?! I can't believe you don't know what the stack is!") and non-technical things ("You don't know who RMS is?!"). Feigning surprise has absolutely no social or educational benefit: When people feign surprise, it's usually to make them feel better about themselves and others feel worse. And even when that's not the intention, it's almost always the effect. As you've probably already guessed, this rule is tightly coupled to our belief in the importance of people feeling comfortable saying "I don't know" and "I don't understand."

No back-seat driving

If you overhear people working through a problem, you shouldn't intermittently lob advice across the room. This can lead to the "too many cooks" problem, but more important, it can be rude and disruptive to half-participate in a conversation. This isn't to say you shouldn't help, offer advice, or join conversations. On the contrary, we encourage all those things. Rather, it just means that when you want to help out or work with others, you should fully engage and not just butt in sporadically.

No subtle -isms

Our last social rule bans subtle racism, sexism, homophobia, transphobia, and other kinds of bias. This one is different from the rest, because it covers a class of behaviors instead of one very specific pattern.

Subtle -isms are small things that make others feel unwelcome, things that we all sometimes do by mistake. For example, saying "It's so easy my grandmother could do it" is a subtle -ism. Like the other three social rules, this one is often accidentally broken. Like the other three, it's not a big deal to mess up – you just apologize and move on.

If you see a subtle -ism at MobileOptimized, you can point it out to the relevant person, either publicly or privately, or you can ask one of the organizers to say something. After this, we ask that all further discussion move off of public channels. If you are a third party, and you don't see what could be biased about the comment that was made, feel free to talk to the organizers. Please don't say, "Comment X wasn't homophobic!" Similarly, please don't pile on to someone who made a mistake. The "subtle" in "subtle -isms" means that it's probably not obvious to everyone right away what was wrong with the comment.