Mark Allison
Software Engineer

Mark Allison is a software engineer with almost 25 years experience. He is passionate about providing the user with the best possible experience. He has developed both server and client side, most commonly Android on the client side, but also for iOS, HTML5, Symbian and J2ME.

Mark writes a technical blog which focuses on Android UI/UX topics, but often covers more general Android development techniques. He regularly speaks at Android developer events, regularly at Droidcon London, but also in such diverse locations as Turkey, Spain, New York, and Brazil.

When not being geeky, Mark likes to unwind by hurling abuse at football referees, specifically those who are unkind to his beloved Watford FC with whom he holds a season ticket. He also has a deep love of the chilli pepper and consumes spicy food (his favourite being Indian) at every opportunity!

Mark is happily married with a grown up step­daughter, and lives in Hertfordshire, UK.

Vector all the things

Vector Drawables were introduced with the Android L Developer preview and with the release of the VectorDrawableCompat support library there is no excuse for not making use of this extremely useful addition to the Drawables toolkit.

Mark Allison, author of https://blog.stylingandroid.com, will offer an overview of how Vector Drawables work and then share with you some examples of how to achieve some really cool animated icons using AnimatedVectorDrawable.

Jorge Juan Barroso Carmona
Android Expert at Karumi and Android GDE

Jorge Barroso is the co-founder and Android developer of Karumi. Karumi is an intentionally small software development studio headquartered in Madrid and specialized in developing lean and stable native applications and working with teams for improve their skills.

Before Karumi, he worked 5 years as a Senior Tech Lead at Tuenti, the leading Spanish social network, and MVNO, part of the Telefonica Group. At Tuenti, Jorge developed a wide variety of strategic products covering J2ME, Blackberry and especially Android.

ROSIE: Clean use case framework

During the past years we have been discussing and iterating over our mobile application architecture at Karumi, and the result of all that work is called Rosie.

Rosie is a framework that helps application development by focusing on three pillars that we consider very important: testability, code scalability and code readability.

This talk is not about promoting Rosie but rather the creation process of this framework, the needs that we needed to cover and how we materialized all the literature present in tons of books and internet articles. This is about problems and solutions.

The (BEST) good practices

After more than 5 years working on Android, I have found a set of common problems that Android teams run into. In this talk we will go through a list of tips & tricks that can help these teams to improve their code and raise the quality bar.

The best practices do not exist, but the good ones do, and you will go home knowing a ton of them.

Tomek Cejner
iOS Software Engineer

Tomek is living two lives. In one life, he's Tomasz Cejner, program writer for San Francisco-based company, he has a social security, he pays his taxes, and he helps carry out garbage at home.

The other life is lived in computers, where he goes by the hacker alias @tomekcejner doing iOS programming for fun, bites JavaScript code, contributing to open source software among other things. Deeply in the heart he wants to program games, but still to no avail.

Asynchronous programming patterns (in Swift)

Asynchronous programming is bread-and-butter for the mobile developer. Virtually no native app works without remote API calls, and ways to achieve asynchronicity are many. Let's travel through this fascinating world of callbacks, futures and more.

While the author is an iOS developer, the topic is platform agnostic, and everyone is welcome.

Alexey Demedetskiy
iOS Software Engineer at Sigma Software

Alexey Demedetskiy - an iOS engineer from Ukraine. He spent more than 5 years mastering software development skills in the area of enterprise and B2B applications.

He is focused on building simple and predictable architectures. His main values in software are short feedback loop and lowest possible cost of changes.

Functional MVP architecture for Swift

Did you ever try to test a single screen of your app? Or you constantly suffer trying to cover UIViewController with tests? You want to keep your architecture clear, but VIPER is too heavy to use? You want reactiveness, but don't want to use huge frameworks?

Trying to answer this questions I have come to simple and beautiful approach to structuring iOS apps. A simple way to abstract your view controllers as a set of presenters. Each presenter is able to present one thing at a time. Several presenters can be built into components, which can be joined in more complex components.

I will describe main advantages of this approach, illustrate it with an example project and compare with modern iOS architectures: VIPER, MVVM, MVC.

Wiebe Elsinga
Lead Developer at Egeniq

Besides being a Google Developer Expert for Android, Wiebe Elsinga is a Lead Developer at Egeniq in The Netherlands.

He has a passion for UX and design. He regularly speaks at Mobile Developer conferences, or is giving workshops. And let’s not forget a co-founder/organizer of the GDG Dutch Android User Group.


Do you know what it takes to have a good mobile User eXperience?

Are you adding the features to make your Android application taste like more?

Are your users happy?

Wiebe Elsinga will share his experience on good and bad UX, hoping to show you how to become a better developer and/or designer.

Krzysztof Gawronek
IT Manager (Podmaster) at PayU

Has spent last 10 years in the IT industry, including 4 years in the Payments business working, often simultaneously, as a developer, architect and manager.

At PayU Krzysztof is responsible for teams working on a front layer of the system, which includes API, web pages and mobile SDK.

Mobile payments – PayU subjective review (Mobile payments according to PayU)

As mobile gains more and more of a market share, m-payments become the apple of the payments providers’ eye.

But how to translate payments capabilities into mobile devices? Should it be a native app or maybe a web application? Or maybe, as in most cases, there is no one-size-fits-all solution?

I will present pros and cons of different solutions, based on my experience at PayU, and give some insight about what may happen in the nearest future.

David González
Android Software Engineer at Novoda

David works at Novoda, and has been using the Android platform since 2009. He's actively involved in the Android community, and co-organises Londroid (London Android User Group).

He enjoys public speaking and loves sharing his experiences through conferences, blog posts and open source libraries.

At Novoda, David helps startups and companies produce highly desirable and quality products, by following agile methodologies; a skilled development process; and always going the extra mile.

Android Architecture Blueprints
The Android framework offers a lot of flexibility when it comes to defining how to organize and architect an Android app. This freedom, whilst very valuable, can also result in apps with large classes, inconsistent naming and architectures (or lack of) that can make testing, maintaining and extending difficult. There are many different options, following different patterns and embracing different programming paradigms.

Android Architecture Blueprints (https://github.com/googlesamples/android-architecture) is meant to demonstrate possible ways to help with these common problems. In this project we offer the same application implemented using different architectural concepts and tools.

This talk will go though the motivations, findings and numbers extracted from these various approaches which will help choosing which one works best for you and your team.

Kevlin Henney
An independent consultant, speaker

Kevlin Henney is an independent consultant, speaker, writer and trainer. His software development interests are in patterns, programming, practice and process.

He has been a columnist for various magazines and websites. He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series, and editor of 97 Things Every Programmer Should Know.

The Programmer

Somewhere in the heart of a development process, essential to the very being of a product's existence, are the people who write, consider and wrestle with code. What motivates and demotivates them? What are the intellectual challenges and rewards? What are the skills they have and need and cognitive biases and environment they work with and against?

This talk considers the act of programming and those who do it and want to get better at it, from the perspective of development process to craft, from architecture to code.

Rizwan Javaid
UX Designer at Closed Loop

Rizwan is a UX Designer at Closed Loop in Roseville, CA. He creates intuitive, persuasive, and profitable user experiences for the Fortune 500.

His passion lies in solving design problems while keeping the goals of the business and the user in the forefront. He loves sharing his knowledge with others to help them be the best they can.

Rizwan is the creator of the UX Alphabet app, a handy reference app of UX concepts. When he isn't designing, he is usually at home drawing dinosaurs and cars, dinosaurs in cars, and other combinations of dinosaurs and cars with his twin boys.

You too can be a sketching machine

The power of sketching lies in using sketching to ideate, iterate, and communicate our ideas. It is time to gain the confidence you need to sketch in person or in front of a group. By harnessing the power of sketching we all can become sketching machines.

Sketching is a crucial skill that spans all job titles. It helps with brainstorming ideas, iterating through concepts, and communicating our ideas to others. Whether working individually or in a group, our ability to sketch helps take the abstract ideas out of heads and into the real world. If you’re not comfortable sketching then there is little chance that your ideas will stick with you, your team members, and even your clients.

Don’t worry—the confidence you need to put your pen to paper and start to sketch is close at hand! With the addition of a few simple approaches to your daily routine, you too can harness the power of sketching and become a sketching machine. Come prepared to do fun sketching activities so you can experience the power of sketching firsthand.

Felix Leupold
iOS engineer at Facebook

Felix is an iOS engineer at Facebook. He has been focused on the iOS implementation of end-to-end encrypted messages for Messenger and feels very passionate about software security and architecture.

Before joining Facebook, he got his Master of Science in IT Systems Engineering at Hasso Plattner Institute with a focus on internet security and user centered design.

Felix is a competitive sailor and currently lives in London.

End-to-end encrypted conversations in Facebook Messenger

Earlier this summer, Facebook Messenger started rolling out a feature called "secret conversations". In these conversations, all messages are end-to-end encrypted between two devices and can be chosen to self-destruct after a given time.

Under the hood, secret conversations are implemented using the libSignal protocol designed by OpenWhisper Systems.

In this talk, we will give an overview on the mobile security architecture of secret conversations and will share our insights into the engineering challenges that we encountered while developing the product.

Enrique López Mañas
Google Developer Expert

Enrique López Mañas is a Google Developer Expert, and Freelance Mobile Engineer normally based in Munich, Germany (although is hard to catch him up there for more than a few weeks in a row).

He is the co-author of "Android High Performance" book by Packt Publishing. He develops software and writes about it for money and fun. He spends his free time developing OpenSource code, writing articles, learning languages or taking photographies.

He loves nature, beer, traveling, and talking about him in third person.

Android High Performance

Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right.

This session will show you how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. An introduction to state–of-the-art Android techniques and the importance of performance in an Android application will be introduced, and later we will slowly walk through the Android SDK tools regularly used to debug and profile Android applications, learn about some advanced topics such as building layouts, multithreading, networking, security and battery life (one of the biggest bottleneck in applications).

Iga Mościchowska
User experience designer, researcher and coach

Iga Mościchowska - interaction designer and user researcher with over 8 years of experience, currently helping companies to develop UX skills and build UX awareness in their organisations, working as a coach, facilitator and consultant.

Co-author of a bestselling Polish book about the role of research in user experience and product design (Badania jako podstawa projektowania user experience, 2015, PWN).

She founded one of the top UX agencies in Poland, where she managed a team of 10 passionate and competent UX designers and researchers, working for great clients from Poland, Europe and US, like eBay Classifieds, Tauron, KGHM Polska Miedź S.A., NC+, Opera Software, Vattenfall.

She's a lecturer on two top Polish universities, teaching postgraduate students in the field of interaction design, usability and user research. She's also an academic director and author of a program of User Experience & Product Design studies on AGH University of Science and Technology. She trained over 25 IT and product teams in user centered design (IBM, Capgemini, eurobank, Interia.pl, Red Sky, COI) and she's a Google Launchpad expert coaching startups.

She's been a speaker at over 15 conferences, both Polish and international. She’s the president of local branch of CHI Polska association and co-host of UX Wroclaw barcamps.

She's also an initiator and co-host of Warsztaty UX - the most practical UX workshops. She was an initiatior and co-author of uxbite.com blog, where she wrote over 50 articles about usability, design and UX research. In the meantime, she's also a mother of two, learning how to build airplanes, cars and robots with LEGO.

Meet your user

Creating great user experience requires meeting the actual user. Quite often it's an eye-opening experience and a tough lesson of empathy.

User research is a basis of any interaction design process (human centered design, lean startup, design thinking, you name it!). Yet many companies choose UX research as the first thing to go, when faced with tight deadlines and budgets.

How knowing the user can help your project, how to make the research available and low-cost and how to make it work in the mobile world? Let's figure it out!

Carolina Pietyra
Head of Interactive at advertising agency Opus B

Carolina is Head of Interactive at advertising agency Opus B. For over 10 years, she’s focusing on UX and share the idea of designing relevant products that truly matches user’s needs.

Carolina worked previously at VML Poland, IRR and in a media house as digital media manager.

Since 2012 she’s leading the development of digital publishing at Opus B and working on innovative solutions which will give readers better exeperience than those we know today.

Digital publishing is all about mobile. How to deliver best UX and engage users even more?

Main topics:

1. What is Digital Publishing, why it’s not only about magazines and why mobile is so significant in digital publishing development?

2. Deliver best experience and features on a tiny screen. Digital Publishing from the user’s perspective

3. Mobile technology issues – when you need to look beyond DPS specifications

4. Adobe tools and the future of Digital Publishing (DPS vs AEM Mobile).

Pedro Piñera Buendia
iOS Developer at SoundCloud

Pedro is an iOS Developer at SoundCloud. Open source lover and runner in his free time.

He loves coding and contributing with his own libraries. In his spare time, Pedro is starting his own project, GitDo. Open to learning new concepts and paradigms, of late he is interested in architectures like VIPER, and reactive programming.

Framework Oriented Programming

Have you ever tried to reuse code from your mobile apps and you haven’t been able to? Did you start using frameworks only when Apple suggested it for Watch Extensions?

With more platforms coming out, there's a clear need of bundling logic that can be reused and shared in multiple platforms. Frameworks will help us with that and will benefit our application code bases in many ways.

Learn how to do it, with or without dependency manager involved, recommendations and some caveats you must keep in mind. Start building your own Foundation frameworks, reusable, well designed, and with single responsibilities.

Guilherme Prudente
iOS Developer at Miquido

Software engineer meets iOS development. Interested in making complex things simple. Firm believer of the humane approach in the IT work environment (aka talking to people), with great interest in team building, knowledge sharing and committing to the delivery of truly good products.

When not pulling his hair out over why the code is not perfect (or "clean"), he is lifting weights, looking for a dungeon master and dank memes(!).


If you ever tried to work with the CoreBluetooth framework, you will know there are quite a few roadblocks you may find.

During this talk, I will share some of the ones we ran into, how we reacted to some limitations such as dealing with Bluetooth Classic without having a MFi certification, the advertising data caching mechanism, state restoration, reconnection and some others.

Piotr Slesarew
Android Developer at Grid Dynamics

I am a professional and ambitious software engineer with over five years of experience in designing and implementing advanced Java Android applications.

I am an Agile thinker and an active practitioner of Scrum/Kanban methodologies. I am passionate about Android and mobile technologies and I pride myself in advocating clean coding and robust unit testing.

With excellent problem-solving and interpersonal skills I am seeking a challenging position where I can enhance my craft and contribute my experience.

Robust unit testing in Android

Talk will:

- provide examples how to write better code for unit tests in Android and examples what to unit test in Android apps in proper way

- describe clean architecture in android world and why it is helping with unit testing

- show useful libraries for writing unit tests

Mirosław Stanek
Head of Mobile development in Azimo

Mirosław Stanek - Head of Mobile development in Azimo - money transfer platform for remittance market.

Mobile development passionate, Android and iOS programmer in day to day work. Clean code architect and performance keeper.

After hours tweeting (@froger_mcs), blogging (frogermcs.github.io) and sharing open source with mobile development community. Big fan of IoT hackathons, geek.

The story of Android app architecture

Each app has his own story - from proof of concept or idea, going through very first MVP versions developed by one coder, ending with full valuable platform maintained by bigger teams.

Building successful product means that we constantly need to react on changes and new requirements. Develop new features, maintain and fix current codebase. Adjust code architecture to bigger team and being still understandable for newcomers.

And this is our story - about looking for balance between fast and reliable, transforming house of cards into castle. About solving the real issues with abstract patterns, architectures and tools. About practical profits from Dagger 2, MVP (and other code architectures), different ways of testing and automations.

John Sundell
Mobile Team Lead at Spotify

John has been developing apps & games for iOS since the early days of the SDK. These days, he's working as a lead iOS developer at Spotify - where he is both writing a lot of code - but also leading the development of the company's component-driven UI framework.

John is also a huge fan of Swift, doing a lot of open source work (for example the Unbox & Wrap JSON tools) and making games using it.

Make Swift & JSON friends

Swift makes our code safer & more expressive, but due to its static nature - working with JSON using it can be quite challenging.

During this talk, John will show you how you can make Swift & JSON friends, and how you can leverage Swift's advanced type inference capabilities to make your JSON parsing easy, fast and safe.

Maciej Szwed
Head of Design at Miquido

Creative and full of ideas Miquido’s art director with 7 years of experience. Specialized in User Experience, prototyping, motion design and video animation.

Well-organized team player and leader of a team of 5 people with hunger for knowledge and self-development.

Passionate about snowboard & motorcycles.

Introduction to motion design in mobile apps

Everything in an app is a sequence and presenting it as a story where one thing leads to another makes it easier to understand them. It’s about helping users to provide visual cues to inform them where they are and what's the results of their actions.

Motion can draw attention to a specific area or distract from it, making the interaction more comprehensible.

This talk will go through the basic rules and patterns of motion design in mobile apps.

César Valiente
Android Engineer at Microsoft, Wunderlist Team

César Valiente is currently working at Microsoft, in the Wunderlist Team, the makers of the famous and awarded multi-platform productivity app, as Android Engineer. His current focus is on making Wunderlist for Android better, working on the core of the app improving the current code base.

César is recognized by Google as Android Google Developer Expert (GDE). He is a community guy and FLOSS lover and advocate.

He actively supports GDG communities and local meet-ups, giving talks, helping organizing events, sharing knowledge, etc. As an avid speaker, he has spoken in some of the most important mobile/Android related conferences in Europe.

Refactoring Wunderlist for Android. -Episode I. The Presentation Layer-

In this talk, we will go through an overview of how Wunderlist was built and how we are now refactoring the code base to make it better, more decoupled, more testable, easier to extend, and easier to maintain.

In this 1st chapter of refactoring Wunderlist, we will go through the MVP pattern used to decouple the different elements of the view, and I will show also the different approaches we have taken for fetching data, till the one we've finally chosen, using reactive programming.

Pim Van Oerle
Technical Manager at Skyscanner

Pim Van Oerle is a Technical Manager at Skyscanner, working in the Growth Tribe across a wide set of product areas.

Recently, he was part of the team that successfully built bots and voice systems for Facebook Messenger, Skype and Amazon Alexa.

A little more conversation, a little less action

This year has seen the hype cycle of ‘bots’ and messaging go into hyper drive. After working on bots and voice search for around 18 months, Skyscanner has led the way with early launches on Alexa, Facebook and now Skype, with much more work to do.

In this talk, Pim will explain the reasons for investing in messaging and bots, and how it sits alongside apps and web as a platform for the future.

Anastasiia Voitova
iOS developer at Stanfy

Software engineer, iOS developer at Stanfy. Anastasiia is building iOS applications for several years, participating in full lifecycle: from gathering business demands and cost estimation, through UX prototyping to developing and long-term supporting. Often builds both client and server sides and shares her knowledge with community from both sides of barricades.

Speaker at many local and European conferences, active member of CocoaHeads Ukraine community. Contributor of open-source crypto library Themis (https://github.com/cossacklabs/themis).

Physically lives in Kyiv, Ukraine, spends her time online twiting as @vixentael.

Building user-centric security model in iOS applications

Mobile's role is both very dangerous and very important in system security. We will talk about how mobiles change traditional security layouts and dictate client-server relationships. How to protect the most precious and sacred thing - the user's data.

We will see how to build security system, that does not fail when application keys are exposed; when servers are hacked; security that lasts as long as unique user's crypto keys (or passwords) are safe. We will learn about thin transparent security layers system and its applicability in client-server systems. Putting secrets known by the user to be a source of trust is the ultimate way for the app to become "thin" in relation to the security model, thus lowering the risks and developer pain.

Tomasz Wesołowski
CEO & Co-founder at 2040.io

He has spent the last 15 years in the internet-industry as a entrepreneur, advisor, and board member of several companies.

Founder and managing director of Empathy Internet Software House, Managing Partner of Grupa Unity (after M&A process with Contium and Internet Designers). Co-founder and ex board member of PROFEO - the community for professionals. Founder of Techcamp - technological barcamp meetings, co-founder of Ecommerce director's club and founder of Akademia Empathy (which has been promoting ecommerce knowledge through educational conferences).

Interested in user experience and ways of how artificial intelligence will change our lives.

Better apps with conversation

Will bots replace apps? After a short story about bots and conversations I will tell a few words about our experiences in creating our own conversational platform for mobile, and what are advantages and disadvantages of this approach.

Then we’ll try to figure out what do you need to remember when designing a conversation for mobile, and I will show some examples and best practices of doing it.

Finally I will talk about differences between Android and iOS in terms of gathering user context and getting that data to improve our conversational app.