Unofficial list of talks on Mobilization 2017

As one of organizer of Mobilization 2017 I have access to unofficial list of talks for 2017 (around 90% is confirm). If you would like by a ticket please visit:

Tensorflow for Mobile Developers

here 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

EnriqueLopez Manas

Cebulowe testy na iOS

If you are curious how we test iOS mobile applications in Allegro, this lecture is suited for you. We think of app testing right after opening Xcode, creating user interface and writing final implementation. Depending on different development stages, we test different subjects with different tools. Feel invited to learn our story about following stages of testing, starting from unit, through snapshot and functional testing. True story based on developer’s and tester’s experience.


GraphQL vs REST

Introduction to GraphQL as the innovational way of thinking about data. Broad GraphQL vs REST comparison led by real life examples of working with each of the two concepts. Based on my article shared by GraphQL’s Twitter:


Functional approach to Android architecture using Kotlin

Modern languages with functional colors are mainstream lately. Kotlin is arising as one of the most powerful ones, and developers around the world are using it for personal and professional projects. It’s time for Android devs to look forward and benefit from this fact, and start designing more advanced architectures based on the features provided by the language. On this talk, I will showcase a Kotlin approach (plus a sample project) to learn how to move all our side effects in the edges of our system, and implement a functional oriented architecture for our Android apps based on purity. Testing will also take part on the talk. I will also showcase a functional programing lib we are working on in the spanish community, called kategory: If you feel OOP is just not enough and want to make a huge step forward, come to this talk. You will not regret!


Coroutines in Kotlin for Android

Coroutines are the new feature of the Kotlin language in its version 1.1. They allow you to write seamingly blocking synchronous code that is really non-bocking asynchronous. In this talk, I will present the concept of coroutines and explain how Kotlin proposes coroutines as a tool to be built upon rather than a standard to be forcibly used. I will show the low level primitives and the main coroutine library. I will then propose a live coding that shows the primitives and high level usage of coroutines in Kotlin and that demonstrates they can be used in the backend as well as UI development of and Android application.


Database handling with Room

Room is the new library from Google to speed up the database work and remove a lot of boilerplate. We will see and introduction to this library and how to structure your application to get the most of it.


Don’t fear SQL: A better way to store and handle data with SQLBrite && SQLDelight

For many people, SQL can be intimidating when writing mobile apps. To avoid its complexity, various libraries started to implement techniques such as Object-Relational Mapping. They ease basic operations on complex objects, but come with a set of downsides such as decreased performance and the learning curve of a new library. Square’s libraries SQLBrite and SQLDelight improve data manipulation by embracing all the powerful capabilities of SQLite while removing common frictions like runtime crashes, boilerplate code, and type-unsafe APIs. In this talk I’ll present the reactive mindset behind SQLBrite and the code-generation capabilities of SQLDelight. When combined, these two libraries will help you architect and code safer and faster with queries autocompletion, code reuse, and much more.


Android Architecture Components Considered Harmful

Applications architecture is a broad and important topic in software development, which has been neglected by official guidelines for Android for a very long time. In spite of that, the interest in architecture among the members of Android community has been growing steadily over the years. Official guidelines and tools slowly caught up with the community interests, which culminated in a recent announcement of a set of libraries called Android Architecture Components by Google developers. While the motivation behind Android Architecture Components is clear, the relation between these libraries and application architecture is not so evident. Furthermore, the way these components address the issues that Android developers experienced over the years hides a new set of potential issues and gotchas under the hood. In this session we will attempt to understand what software architecture is and what it isn’t, and discuss several potential pitfalls associated with Android Architecture Components.



In this talk we’ll explore architectural patterns you can use to organise applications that don’t always require a server to function properly.


Make your app instant

Instant Apps is a bridge between seamless web experience not requiring installation and truly native user experience with material design and navigation. It absorbs the benefits of both worlds. As Google’s early access partner, got access to Instant Apps API and tools in their early experimental stage. I was leading Instant Apps project for the last 8 months at and would love to share the experience. Building Instant Apps required a lot of work on the architecture side, modularization and reducing the app size. In my talk I will touch the following points: — Instant Apps types — Architecture changes — Size and feature constraints — Pain points and lessons learned — Ways to slim down the app and bring it down to 4 MB — Benefits


Speech Analysis techniques

The evolution of user interfaces in mobile apps continues with the most natural way of expressing the user’s wishes — their voice. Understanding what the users say is not an easy task. In this talk, we will see several speech analysis techniques used to help us in this challenging task, from Apple’s brand new Core ML and SiriKit, to Google’s, along with some well known Natural Language Processing algorithms like the TF-IDF.


Lenses and Prisms in Swift

The concept of functional Lens has become pretty popular in functional programming circles, and there are already good contributions for applying lenses to other, traditionally imperative/OO contexts. I’d like to offer a more in depth view on why lenses can be useful in Swift, and also talk about an associated concept called Prism. Let’s consider some practical problems and confront an idiomatic/imperative approach to the one based on lenses and prisms.


Unmaintainable code — iOS developer perspective

Is code duplication the root of all evil? Should I always write a generic code? How to make others life harder? A subjective journey through common iOS anti-patterns, not so best practices and code smells from the perspective of an experienced Software Engineer. Based on +10 years of commercial experienced, thousands of code reviews, made with a dose of pragmatism.


Using Android Things to detect & exterminate Reptilians

Whether you believe it or not, the Reptilians are everywhere, and we have never been ready to face them so far. We WERE NOT ready… But this will finally change, now that Android Things has been released. Trust me, they didn’t want to see that happen. Together, we will discover Android Things and see how we can create a moving machine capable of detecting Reptilians (with touch/skin temperature sensors, and machine learning), but also capable of exterminating them (btw, I would appreciate if the staff could lend me a flame-thrower, it would make a great demo). How? Using a Raspberry Pi, an Arduino, and discovering+using some specific Android Things APIs, such as gpio, pwm, i2c, spi, uart, allowing us to interact with physical components. Come see the power of Android Things.


How to combine Swift/Kotlin with C/C++

The appearance of Swift and Kotlin is a great change in mobile world. There is a number of advantages to using them. Still, one thing didn’t change: as embedded programmers, in order to provide better performance, reduce battery utilisation, etc. we sometimes need to operate on lower level. During the speech, I will provide you with ready-to-use tools that will let you utilise a huge codebase of C and C++ in your project and discuss differences between them.


Augmented Reality in the iOS World. What’s in there for us?

Augmented Reality in the iOS world (what’s there for us, not only from Apple)


Awesome native apps with NativeScript and Angular!

Developing native iOS (and Android apps) can be very time consuming and expensive. What if you could build native apps with one code base and web techniques? Well, you can with NativeScript! In this introduction, I’ll explain what NativeScript is and how it compares to other platforms. And in a live demo, I will show you how easy it is to get started and to make use of native capabilities.


Bluetooth Low Energy on Android: Top Tips for the Tricky Bits

Now that 90% of Android consumer devices and 100% of Android Things devices run software that supports Bluetooth Low Energy (BLE), it’s the perfect time for Android developers to dive into the Internet of Things and start building companion apps or custom smart devices. Unfortunately, Android’s Bluetooth stack has a well-deserved reputation for being difficult to work with. Join me for a journey through battle-tested strategies and code that will provide you with a roadmap for navigating the nasty parts. No prior experience with BLE is required; a gentle introduction is included.


Don’t loose your users because of endless quality issues

Getting someone to download your app is hard enough. Don’t scare them away with constant crashes, bad behaviors and errors which make your app unusable. During my presentation, I’ll go over techniques, habits and tools to keep your iOS app in tip top shape.


Cebulowe testy na iOS

If you are curious how we test iOS mobile applications in Allegro, this lecture is suited for you. We think of app testing right after opening Xcode, creating user interface and writing final implementation. Depending on different development stages, we test different subjects with different tools. Feel invited to learn our story about following stages of testing, starting from unit, through snapshot and functional testing. True story based on developer’s and tester’s experience.

Ewa Ludwiczak

Introduction to React Native

React Native has been a hot topic for some time now. Many people claim that it is revolution in mobile development, others treat it as another multi platform solution which will never replace the “real” native development. So… What is it then? In this talk I’ll share my experience as iOS developer who got into React Native development and has many different feeling regarding the topic.

Eliasz Sawicki

Breaking Bug

Breaking Bug is a post-mortem about how we handled in Chicisimo a bug which went largely undetected and of unknown scale. We will explain how it did affect us, and which techniques and tools did we use to: 1. Investigate what was going on. 2. Properly diagnose and narrow it to the affected part in the app. 3. Analyze its impact and affected people. 4. Finally isolate it and fix it. In the end we will give some conclusions about how was the real cost of fixing it, and in which ways the process gave us insight and helped us to understand and improve our quality processes.



Choose between this pattern is constant subject for discussions and fights. In the same time anyone perceives them differently. Is there any way out of this ideological problems? Let’s talk about MVC, MVP and MVVM pragmatically. Let’s answer “Why?” and “What are the consequences?”.


Building CI pipeline based on TeamCity & Docker in Android Team

Nowadays, there are a lot of hosted CI solutions that offer quick integration with our repositories and need just few clicks to finish initial setup. Other services, coming with enhanced functionality, but requiring a server to maintain are often not given a try. First problems occur when we start coping with long compilation time and limited resources, especially during instrumented tests running on the Android Emulator. Here TeamCity comes with a rescue. With simplified setup (using Docker) and few tricks, reducing time for possible management, we do not need to hire a DevOps engineer.

Paweł Gajda

Android Things 101

In this talk Raul will explain the basic concepts of Android Things (Android for IoT), explain how to setup the development environment for it and show how easy is to work with the different peripherals. For this, he’ll use the most popular Dev Kit for Android Things: A Raspberry Pi with a Rainbow HAT (which has lots of sensors, input and output devices).


Realm database in real life

I’d like to present my actual case where I used Realm platform, both frontend (iOS) and backend (AWS cloud).

Marcin Zbijowski

RxSwift: Deep Cuts

In the last few years reactive programming ideas have taken the iOS community by storm. Now that the dust has settled, we’re more and more often coming across the most confusing, obscure and unreadable code we’ve possibly ever seen. The libraries like RxSwift bring the great power, but how to bear the burden of the great responsibility? I’ll try to answer this question in my talk, drawing on experience of everyday use of RxSwift in a non-trivial app. Deep diving into implementation details and overview of battle-tested patterns will guide us along the way.

Krzysztof Siejkowski

Building iOS Apps at Scale

Working with a large code base in a large distributed team involves a lot of challenges. You need to deal with complex workflows, slow build times, communications across different timezones, etc. In this talk, Yusei will share how development teams can tackle these issues and speed up daily development. This talk will also cover the following topics: — Workflow automation with Fastlane — Code review with Danger and SwiftLint — Collecting and visualizing code metrics with InfluxDB and Grafana — Build time reduction — Code modularization

Yusei Nishiyama

I didn’t know the browser could do that!

The times when a browser simply had to parse and show some markup are long gone. These days they are full of interesting api’s exposing various information and behaviour to web developers. This talk will walk you through a few of these api’s (speech, speech recognition, battery, location, …), some of which you might know, some maybe not. I will show a quick example of what some of these api’s can do, and how to use them.


Predict impending doom with IoT and ReactNative

In short few slides i’ll show you how to program an ESP32 microcontroller using JavaScript, create air quality sensor, and how to communicate with it using Bluetooth LE and ReactNative application.


Zero to hero in UI testing

(or how to build a scalable testing suite). In this talk we’ll discuss the problems around UI testing — why is it hard to write such tests, how to get started, how to make them part of your CI system. We’ll present a recipe for building a scalable framework that makes writing UI tests a pleasure. Most of the common “gotcha-s” will be solved along the way, as well as giving a few best practices. Once the foundations are laid out, a whole new set of scaling problems arises, so we’ll talk about possible solutions for them. Whether you still don’t have any UI tests in your project, or you already have a good suite built, this talk will give you some useful tips & ideas.


Making Scriptable iOS App

I will discuss how we can provide a Javascript interface to an app’s core functionailty, and how this can help during development time, as well as providing advanced users with increased powers.


Optimizing Android apps for desktop mode with Samsung DeX

With the launch of the Samsung Galaxy S8 and S8+, Samsung has introduced the next generation of smartphones, with new and innovative features. One of these features is the availability of Samsung DeX that extends the functionality of a mobile device to the desktop environment. Developers will learn how to optimize their Android apps for the next generation of Samsung Devices with enhanced interactions, desktop mode capabilities, and an overall amplified in-app experience. Developers will also learn how to leverage Samsung Knox to add security features to their Samsung DeX apps.