Day 1Day 2

AndroidRoom Sweet Tooth

iOSRoom Apple Pie

UI/UXRoom Shiny Diamonds

Everything MobileRoom OKE Poland

08:00 09:00

Registration

09:00 09:15

Welcome

09:15 10:00

Keynote: What’s Flutter and why should you do try it now?

What’s that Flutter everybody in mobile development is talking about these days? Another new thing that will be forgotten by this time next year or a true revolution in
mobile apps development? Is it really worth my time?

In this talk I’m going to introduce you to Flutter, Google’s mobile app SDK for crafting high-quality native interfaces for iOS and Android in record time.
Flutter works with existing code, is used by developers and organizations around the world, and is a free and open source.

O.K., I recognize that was the commercial pitch… but I am going way further that commercial pitch. I am going to show you the features that make Flutter one of
the most pleasant and productive development platforms I’ve seen, I am going to show you how you can use Flutter to create beautiful UI with fewer lines of code and
minimal boilerplate. And I will also show the points where Flutter needs improvement, and what the Flutter team and community is doing to address them.

Horacio GonzalezTechnical Evangelist at OVH

10:00 10:15

Coffee break

10:15 11:00

What mom never told you about multi-threading (mobile edition)

When we were little kids, surely there were many taboo topics our moms never mentioned. There is actually a big chance one of those is multi-threading.

That is why in this talk we are going to walk together through the different alternatives we have nowadays in order to handle, manage and master multi-threading on mobile platforms.

Our focus will be mainly Android but all the content and techniques exposed here can be also used within other platforms for software engineering threading problem solving.

Jump in!

Fernando CejasDevelopers Advocate at IBM

Understanding the Standard Library

Although the Swift compiler is written C++, Swift's standard library is written in Swift and makes for a treasure trove of ideas, techniques, and optimizations.

In this session I'll walk you through several code examples taken straight from the Swift standard library, explaining how they work and how you can apply the same techniques to your own code.

Paul HudsonAuthor at Hacking With Swift

Lessons Learned Building a Product for Mobile

Mobile is a growing market and has different needs than desktop. In this talk, Sam will dive into things that he and his team found out while doing research for new products and how they dealt with some of the expectations and challenges of the platform.

People in the audience will learn how big the mobile opportunity is, how users expect different things and how to deal with that, the limitations of the platform and more.

Samuel BeekProduct Manager at WeTransfer

Fintech for millennials & early adopters: why the UI/UX + AI is game-changing

Expect practical UI/UX examples, applied AI use cases, pitfalls to avoid and how others got it right to date.

In our run towards a cashless experience learning to speak the customer's language dictates how fast the adoption will go. Join if you're interested to remove complexity, explore instant success and get a look into how AI is changing the dynamics of fintech.

Alexandra PetrusProduct Manager Fintech and Co-Founder at Bucharest AI

11:00 11:15

Coffee break

11:15 12:00

Taming WebSocket with Scarlet

Despite being a well-established standard for bi-directional persistent connection between client and server, WebSocket is complicated to set up on Android.

When Tinder migrated to WebSocket for its real-time chat experience, they developed Scarlet: an extensible Kotlin library inspired by Retrofit that eliminates the boilerplate code required to handle data serialization and specify when to connect and retry.

After this talk, you'll be able to configure Scarlet using many of its plugins and integrate any WebSocket API in 10 minutes.

Zhixuan LaiSoftware Engineer at Tinder

Actor based approach in practice for Swift developers (Level dev/pro)

Actor based programming is an alternative way to write your code in a way it is by design asynchronous-friendly to write and test. Proposed in 70's, recently receives more and more popularity in many different programming areas.

If you ever heard about actors but wasn't sure about benefit of using it in iOS apps, this presentation is for you! But don't worry if you are unfamiliar with actors; I will guide you through main concepts and demonstrate practical approach to implement it in Swift.

Bartosz PolaczykSenior iOS Developer at Grand Parade

Mobile device as a gate to Machine Learning world

The phone as a gateway to the ML world. As smaller siblings, mobile devices are not strong enough to participate in Machine Learning competition, but they are not useless. While they cannot produce useful models with enough performance, they can still be consumers of and data sources for your ML algorithms.

So, how to utilize your mobile device in the data flow of systems using ML? What can you do if you need a small device, but your mobile is too weak?

Miłosz KaszyńskiMachine Learning Developer at OKE Poland

12:00 12:15

Coffee break

12:15 13:00

wow. very vector. such love

Mark Allison (author of https://blog.stylingandroid.com) has a deep love of VectorDrawable. He has spoken at conferences about how to construct and Animate them in his talk entitled “Vector All The Things”.

In this all-new talk, Mark will look at some of the features which have been added to VectorDrawable and its sibling AnimatedVectorDrawable since they first appeared in Android Lollipop 5.0 (API 21). There will be a dive in to fill windings which can cause some baffling rendering oddities, yet can be quite simple to fix once you recognise that fill windings are the cause; There will also be a look at the recently added gradient support; And, of course, there will be plenty of tricks and tips to help with your creation of fabulous VectorDrawables and amazing Animations.

Mark AllisonGDE at Android and Kotlin

Beware of the legacy! The one you inherit and the one you create

In this talk, we’re going to take a look at what problems we face when working with a legacy code base.

We’ll explore and evaluate strategies that help you make changes with confidence and steps you can take to make the person who works with your legacy code not hate you!
We show you tricks and tools so that you can find hidden dead code and references and will look at ways how you can work more efficiently with a grown codebase.

Carola NitzSenior Software Engineer at VideoLabs

Data-Driven intuition

Intuition. It's a crucial ability that often helps guide us when we make design choices. But what if our intuition — the gut feeling we have when it comes to deciding whether a choice is the right one or not — can be improved by using data and research?

This talk cover how using tools like analytics and usability testing can help us to more accurately identify user problems and create proven designs that keep real people at the centre of the experience.

Temi AdeniyiHead of Design at Blinkist

Machine learning on your mobile phone

We live in the amazing world where everything is changing so quickly. Machine learning in one trend which speeds up these changes.

Do you remember Maslow Pyramid? The first layer is physiological needs (food, water, warmth, rest), the second one is safety needs (security, safety) and so on. But there is a new (modern) pyramid, where first two layers: battery life and access to wifi. Turned out the to run a machine learning model on the phone is more energy saver compared to send data outside (connection via internet required more energy, especially if you have a poor connection).

The second piece here, when you send your data outside your mobile phone, that means, that you… send data outside :). Snowden tells something more about this.

This is why running a ml model on your mobile phone sounds like a good idea. The next question is how to do it? Most machine learning algorithms (so far) has been implemented in Python or R, both looks like a bit weird for mobile technology. If you want to learn how to manage this, please come to the presentation.

Vladimir AlekseichenkoFounder & Trainer at DataWorkshop

13:00 14:00

Lunch break

14:00 14:45

Think and solve for ‘User Expectations’

Knowing 'user expectations' is vital when creating and/or improving your app/product.

But how can you start thinking and solving for does 'user expectations'? How does design thinking fill in all of this?
And what does this mean for me as UX designer or Developer?

Wiebe Elsinga will explain how to think and solve for ‘User Expectations' and share his experience.

Wiebe ElsingaLead Developer at Egeniq

The iOS Developer’s Introduction to Vapor (3)

Server-side Swift has been around for a couple of years and as time goes by the maturity of putting Swift on the server grows. With this talk, I will give an introduction to one of the most popular server-side Swift frameworks called Vapor, which recently released a new major version.

I will talk a bit about how I ended up doing server-side Swift development after working with iOS for years and I’ll look at the potential synergy between Vapor and iOS. This talk requires no prior knowledge to server-side Swift.

Steffen D. SommerLead Vapor Developer at Nodes

Ecology of UX

Scott Weiss, VP Product Design at Babbel, discusses the many ways how Babbel learns from its users, spanning analytics, surveys, customer service data, usability research, and other methods. Interwoven through this story is how UX and ecology are related, using the example of the reintroduction of wolves to Yellowstone.

Scott WeissVP Product Design at Babbel

Build a fast checkout experience with Google Pay

Accepting payments online should be easy to implement and handy to use.

Come and learn how the Google Pay API can improve your payment flow and increase conversions for your business and marketplaces. And if you want to see for yourself how uncomplicated it is to start allowing your customers to pay with Google Pay, make sure to stay with us until the final part of the talk and join us for a live integration of the API.

Filip StanisPartner Developer Advocate at Google

14:45 15:00

Coffee break

15:00 15:45

Building assistive apps with App Actions

In 2017, Google announced app predictions: 5 apps that are suggested to you on the App Drawer with a 60% prediction rate.

This year, they are taking it to the next level: trying to predict the action that you are going to make at a specific time, depending on the context you're currently in and by analyzing your usage patterns based on machine learning algorithms that run locally on your phone. Those actions can be, for example, continue listening to Spotify if you plug in your headphones or call your best friend on Friday nights.

In this talk, I'll show how developers can take advantage of this concept by declaring the actions that your app does so Google can index it and suggest it to your users at the right time. I'll end by explaining that a building block of App Actions - Built-in Intents, can be then used to create a Conversational Action for the Google Assistant.

Elaine Dias BatistaTeam Leader at SFEIR

ModelDiff state based UI rendering in iOS

When a model can have equality it can be compared. When a list of models can be compared, we can produce diffSet. These diffSet can be applied to the existing UI elements (UITableView and CollectionView) with little effort.

The practical use case can be an efficient use of memory and UI reuse. However, the bigger side is every code that doesn't interact with the UI can be written in a pure functional programming paradigm (without side effects, shared state). Extending a level beyond, simple equality is not merely enough for models with children which themselves are comparable. To overcome this nested equality and nested diffing we can use protocols and come up with a nested diffSet. This can be used for Sections/Rows.

The talk will cover explaining the naive algorithm and the intent behind nested diffing on model layer. The talk will present a generic list controller that takes these diffedState and renders with animation. And I will also present some functional inspiration behind the design of ModelDiff state based app development.

Bj KandelSenior iOS Engineer at Zalando

Adidas, a brand truly tapped into pop culture

Adidas has been a cultural symbol since the 60’s and 70’s. Their journey through the years feels like a continuous dialogue, shaping pop culture while nurturing itself to evolve as a brand.

In my talk, I'll share with you the journey of Adidas transformation over the last years and my role while working as the lead interactive Art Director at Sid Lee for the global account of Adidas Originals.

I'll include some examples from Adidas over the years as we analyse how they've adapted their communication approach to keep relevant the conversation with their audience.

Finally, I'll sum up that journey talking about the importance of finding your own voice to stand out on a competitive market.

Amilcar Guevara TorijaCreative Director at AKQA

Love & Peace (of Mind): The Unexpected Paths to Better Leadership

Our client’s idea is stupid. I don’t want to do it. Someone has erased my code. This S#&@* doesn’t make any sense. I’m tired. I hate my job! Have you ever heard any of these? Had a feeling your teammate wants to flip a table, they are under the weather, demotivated, sad, or even kind of burned out? People around you, or you as a leader, can no longer handle the steam and it starts influencing their sleeping habits, or a general quality of life?

During this talk, we would try to find out together:
- how to lead from both head and heart
- what connects team building and love
- what compassionate leadership is
- how to use mindfulness at work
→ and how to embrace those in your everyday professional life - especially when leading a team - to feel better and achieve more together.

PS. This talk is not only for managers and “owners” of stuff. All team members are more than welcome to come onboard.

Anna GawlikowskaProject Manager at Miquido

15:45 16:00

Coffee break

16:00 16:45

The curious case of Android button

We interact with buttons every day to get coffee, order pizza, or start a new Gradle build. They may look simple, and straightforward, but they have a fundamental role in our environment: create a sense of power.

We all love to feel empowered and we all hate being frustrated by bad design. Your users know this as well, they want to feel immediately rewarded when they interact with your UI, and they will quickly drop your app if they get annoyed.

At Yelp, we get tens of millions button clicks a day. At that kind of scale, every pixel matters. We tune every single aspect of our buttons to make them simple and powerful but adjusting every single shadow cast, click animation, or color layer can be tricky. In this talk, we will provide a deep dive into the Android framework and the Support Library to understand how buttons are rendered.

Nicola CortiAndroid Software Engineer at Yelp

The Lost Art of System Design

App architecture is a topic that is very commonly discussed in our mobile developer communities, and for good reason - defining a solid architecture that’s both flexible enough to support changes and experimentation, and stable enough to make our code easy to maintain, can be really difficult.

However, most conversations around app architecture tend to be focused on design patterns and letter combinations such as MVC, MVVM and MVP. In this talk, John will take a step further, and take a look at how system design can be a really powerful tool to create well-rounded architectures for apps of any size and complexity.

John SundellAuthor at Swift by Sundell

Application Security in Agile Mobile Development

Securing mobile application was never an easy task, and it got even harder in Agile development, where there is a need to rapid development and quality assurance. No, that's actually not true. With Agile, it got much easier if you know how to take advantage of it, where to seek help and how to plug security automation into Continuous Integration and Continuous Delivery pipelines.

That's precisely the myth I want to debunk - security is expensive, but it doesn't need to be that cumbersome if you approach it pragmatically. If you're looking for best practices, learning resources and tools that can help you ensure higher safety of your mobile applications, then this presentation is for you!

Dawid BałutHead of Security at TestArmy

21:00

Party time!