8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
MVP - getting business, design and technology together.
Ola Rosińska, Piotrek Stanisławski
Ola Rosińska, Piotrek Stanisławski
Getting started with new product development we often forget that making it work requires more then just a great idea. Big ideas come with huge responsibilities which we not always know how to handle. The dilemma that we’ll be trying to find answer to is how to minimize the risk of the concept overgrowing us?
10:00 - 10:20
Coffee Break
10:20 - 11:05
Android High Performance
Enrique López Mañas
Enrique López Mañas
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).
11:05 - 11:25
Coffee Break
11:25 - 12:10
RxJava for the rest of us
Hugo Visser
Hugo Visser
The Reactive Extensions for the JVM, better known as RxJava, have become a popular tool in Android development over the past years. Many new and existing libraries added support for Rx and “reactive” solutions to existing problems popped up over time. RxJava is both known for it’s power and it’s steep learning curve, so if you aren’t using RxJava already, what are you missing out on? Should you even be using RxJava? In this talk we’ll go over what RxJava is and how you can use it to solve problems in your Android apps, one step at a time. We will discuss how you can prevent shooting yourself in the foot by looking at common mistakes you may make when using RxJava and discussing tips and tricks for keeping your reactive app manageable.
12:10 - 13:15
Lunch Break
13:15 - 14:00
Functional on Android: lambdas, Rx and streams in your app
Eric Kok
Eric Kok
On Android, more and more developers are attracted to the functional programming-style concept of declarative data manipulation using lambdas. Java 8 has a new steams API, but it's limited to Android N. Backports exist, but it's RxJava that's all the rage, with its elegant threading solution. How do we use lambdas, streams and Rx effectively on Android? Orientation changes and background tasks? I propose to stop worrying about the lifecycle and cache your way into a blissful user experience.
14:00 - 14:15
Coffee Break
14:15 - 15:00
The 2016 Android Developer Toolbox
Gautier Mechling
Gautier Mechling
Whether your native Android app is a pet project or has millions of users, you probably need the right tools, during the development, to help you modify persisted data in real time, simulate an slow/unstable HTTP(s) connection, detect bugs as fast as possible, or create mock servers to anticipate the development of a feature. We'll make a demonstration of all the tools we use, in 2016, to write maintainable code and improve our productivity.
15:00 - 15:15
Coffee Break
15:15 - 16:00
How to design your app and not be damned by maintenance team
Anton Minashkin
Anton Minashkin
How to deal with complexity, technical debt and not to fall into depression. Let's discuss the ways, architecture patterns and common mistakes and let's try to find the "silver bullet" of architecture, or at least let's find requirements for it
16:00 - 16:15
Coffee Break
16:15 - 17:00
Elegant?? Unit Testing
Pablo Guardiola
Pablo Guardiola
In this session we will learn the basics of Unit Testing and its importance. We will define what a Unit Test is, what type of Unit Tests there are and then talk about Test Doubles. Finally, we will focus on how to write new tests and improve existing ones by reviewing some Android Github projects. Can you sleep soundly without writing tests? Really???
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia
8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
Networked Society
Marek Wyrwicki, Christer Lindell
Marek Wyrwicki, Christer Lindell
Connectivity is the starting point for new ways of innovating, collaborating and socializing. The Networked Society starts with connections, between devices and things but more importantly it is about the big ideas that become possible and will shape benefits to people. The Networked Society, as we see it, is based on four key elements: People: all of us, using connectivity to live, work and play more freely Things: everything that benefits from being connected is connected – from phones and tablets, to cars and containers, to classrooms and clinics Interactivity: the ways that all these people and things communicate with each other, for example through mobile broadband and cloud Big ideas: game-changing innovations and services that connects what people want and need with things and interactivity and create something entirely new and beneficial to people, business and society Seen in that light, the Networked Society is a global movement. It is positive change driven across borders by people, business, governments and NGOs. The shaping of the Networked Society is a constant collaboration where we aspire to take a key role.
10:00 - 10:20
Coffee Break
10:20 - 11:05
Swift at scale
Tomasz Gebarowski, Wojciech Łukaszuk
Tomasz Gebarowski, Wojciech Łukaszuk
Is Swift ready for large scale business apps? We would like to share our experience on writing one of the most popular mobile banking apps in Poland. The mBank app, that is entirely written in Swift. The problems we faced, lessons learnt, pitfalls and benefits
11:05 - 11:25
Coffee Break
11:25 - 12:10
Make your mobile more mobile
Jacek Rondio, Krzysztof Sasiak, Łukasz Kwieciński, Mariusz Kaźmierczak
Jacek Rondio, Krzysztof Sasiak, Łukasz Kwieciński, Mariusz Kaźmierczak
How car became a rich accessory for the mobile. We will present the wide range of possibilities that arose with the development of technologically advanced head units. From Bluetooth hands-free to advanced companion applications. All based on Mercedes S-class example.
12:10 - 13:15
Lunch Break
13:15 - 14:00
Kotlin, why?
Paweł Byszewski
Paweł Byszewski
Programiści aplikacji Mobilnych na Androida, uwięzieni w czasach Java 1.7 od pewnego czasu eksperymentowali z innymi językami programowania. Żaden nie zdobył do tej pory takiej popularności jak Kotlin. Ale czy faktycznie jest to coś rewolucyjnego? Przecież getery, settery i konstruktory wygenerujemy za pomocą Lomboka. Używając Retrolamby zyskamy wsparcie dla dopełnień. A dodatkowo od niedawna Android ma wsparcie dla Javy 8. Zatem co decyduje o sile Kotlina, które konstrukcje i właściwości języka powodują, że warto zastosować go w swoim projekcie? Jaki wpływ będzie to miało na architekturę aplikacji i wydajność? Kotlin jest tylko ciekawostką czy spowoduje, że będziesz kodował efektywniej? Z tej prezentacji wyniesiesz pełen zestaw informacji pozwalający odpowiedzieć na wszystkie te pytania.
14:00 - 14:15
Coffee Break
14:15 - 15:00
How JRebel for Android Does Performance Testing
Madis Pink
Madis Pink
As developers we often employ unit- and integration testing to catch bugs early during development. But how to detect regressions in performance? Sometimes a small slowdown can go unnoticed for weeks or months until the app becomes unbearably slow and a profiler gets attached. In this talk, we'll take an in-the-trenches look at how we set up a performance testing suite for JRebel for Android. We'll talk about challenges we faced when running the tests on our CI servers. We'll also cover how we pinpoint regressions to a single commit with the help of Elasticsearch and Kibana.
15:00 - 15:15
Coffee Break
15:15 - 16:00
Design that breaks down barriers
Agnieszka Czyżak, Rafał Tulwin
Agnieszka Czyżak, Rafał Tulwin
While having an opportunity to start an enterprise from scratch, humans tend to try out new processes, tools or technology. It is with that state of mind that we embraced “accessibility”. Indeed, as one of the hottest emerging topic in UX Design, “accessibility” methodology was to be integrated in the development of our latest project. Considering both designer’s and developer's point of view, we will talk about how we approached accessibility while making Shuttle - a mobile app for Android and iOS. We will describe step by step our full working process related to “accessibility”, with a strong focus on the importance of interdisciplinary collaboration and end user testing
16:00 - 16:15
Coffee Break
16:15 - 17:00
Crafting Reactive Apps with Realm
Marius Rackwitz
Marius Rackwitz
Realm is a popular database for mobile used already in thousands of apps in the app stores and deployed on over a billion devices. This talk will show you how you can craft reactive applications, especially if you embrace persistence and state as a central part of your application architecture, by using the unique features of this database.
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia
8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
Mobile and application security based on Man-in-the-middle (MITM) vectors
Michał Kucharski
Michał Kucharski
We have that good feeling that if we have AV and Firewall, we are safe and secure in cyber space. Nothing more misleading. If you are targeted, then every access vector will be tailored to compromise your security. These days every kid knows how to bypass wireless network security to get a free internet access. What could happen if a real attacker broke into your network and targeted his payloads into your sensitive data? What about gathering sensitive data from around 50? 100? 500? Mobiles, laptop devices at once? From penetration testing, reverse engineering to intercepting mobile application traffic. How to craft attacks and how to avoid them? Theory and practice.
10:00 - 10:20
Coffee Break
10:20 - 11:05
Modularizing your apps: Framework Oriented Programming
Pedro Piñera Buendía
Pedro Piñera Buendía
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.
11:05 - 11:25
Coffee Break
11:25 - 12:10
Security at your Fingertips - A dive into M&N's new Fingerprint and Keystore APIs.
Frederik Schweiger
Frederik Schweiger
Android Marshmallow (and most recently Android Nougat) have introduced a lot of fresh features and the new permission system is by far not the only new security enhancement. Most of you already use their finger to unlock the smartphone and may have heard about this new fingerprint API - but have you ever played with it? And once we’re there: Do you know about the newly introduced improvements in the Keystore API? No? Then this talk is definitely for you! Still hesitating? Just remember that security and a good user experience is something we cannot know enough about. With just a few simple steps you can learn how to increase the security of your app, making authentication easier and your users happier - all at once. And to be honest: in the end that’s all we want, right?
12:10 - 13:15
Lunch Break
13:15 - 14:00
Espresso, beyond the basics
Inaki Villar
Inaki Villar
More than the typical onView example Espresso offers a complete framework to interact with your UI. Once you start developing your tests you find common issues, in this talk learn tips and tricks on how to deal with the framework and avoid problems like synchronization, permissions, environment test scenarios and much more.
14:00 - 14:15
Coffee Break
14:15 - 15:00
Interacting with your app through command line
Roman Mazur
Roman Mazur
Android command line is a very powerful tool. During this talk, we'll briefly review what Android shell commands can be useful for development, testing, and automation. We'll concentrate on how your application can interact with the command line considering 2 approaches. The first one is based on Android framework tools and the second is the core of Facebook Stetho tool.
15:00 - 15:15
Coffee Break
15:15 - 16:00
Z beaconem przez projekt - od pomysłu do klęski, od klęski do wdrożenia
Bartek Świercz, Paweł Czapnik
Bartek Świercz, Paweł Czapnik
Na podstawie wykonanego i wdrożonego projektu przedstawiamy fakty i mity ze świata beaconów. Przekonacie się, że wdrożenie projektu beaconowego wymaga wielu testów, a otrzymywane wyniki mogą Was nie raz zaskoczyć.
16:00 - 16:15
Coffee Break
16:15 - 17:00
Swift rEvolution
Kostiantyn Koval
Kostiantyn Koval
Swift have huge impact and on how we develop software these days. In thin talk I will explain why everyone needs to learn Swift regardless if you are iOS, android, backend or any software developer. I will cover why Swift is so powerful and popular, how huge impact it has on whole Software development, what you need to do to stay competitive and productive developer and how you can shape Swift they way you want
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia
8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
(Prawdziwe) bezpieczeństwo danych w urządzeniach mobilnych
Michał Mela, Michał Kamiński
Michał Mela, Michał Kamiński
Bezpieczeństwo to temat-rzeka i choć wiele jego aspektów pomoże rozwiązać Ci wujek Google, stan wiedzy internetu na temat bezpieczeństwa danych w urządzeniach mobilnych uznajemy za niesatysfakcjonujący, przesycony starymi i niekompletnymi informacjami. Dlatego opowiemy Ci o praktycznych problemach, z którymi mierzymy się na co dzień, zapewniając najwyższy możliwy poziom zabezpieczeń w mobilnych zastosowaniach płatniczych oraz uchylimy rąbka tajemnicy o najnowszych rozwiązaniach w tym zakresie. Na prezentacji zapoznasz się z aspektami bezpieczeństwa danych w urządzeniach mobilnych od trzech stron:
- kryptografii – o czym należy pamiętać, jak jej (i jakiej) używać
- bezpieczeństwa transportu – co musisz zapewnić i w jaki sposób
- bezpieczeństwa przechowywania – jakie masz możliwości, jakie są ich wady i zalety
10:00 - 10:20
Coffee Break
10:20 - 11:05
Revisiting types in Kotlin
Francisco Estevez
Francisco Estevez
With a domain driven approach, this talk will go through several coding examples and how they can be improved by leveraging the powerful type system in Kotlin with function objects, sealed classes, tuples, and the core collections. We'll review the way your application communicates across layers, and how you can improve your APIs with explicit types.
11:05 - 11:25
Coffee Break
11:25 - 12:10
MVVM with Coordinators & RxSwift
Łukasz Mróz
Łukasz Mróz
Every application needs good architecture. In my talk I will try to show you our architecture that we use in our iOS projects: MVVM with Coordinators & RxSwift. Not only I will talk about basics, but we will quickly start writing the code live, describing what belongs where, controlling the flow using Coordinators, testing everything using Quick/Nimble, and make network requests using Moya
12:10 - 13:15
Lunch Break
13:15 - 14:00
Bonjour Android, it's ZeroConf
Roberto Orgiu
Roberto Orgiu
ZeroConf is a protocol that helps us advertising a service or discovering the available services in our networks. This is how Chromecast works, but why don’t we go deeper? We will dive into the definition of ZeroConf and why the protocol is needed, how it works and what libraries will help us implementing it on Android.
14:00 - 14:15
Coffee Break
14:15 - 15:00
Custom Annotation processors for your production code
Jorge Castillo
Jorge Castillo
The annotation processing tool (APT) was released into the JDK 5, but we did not paid enough attention to it in order to exploit its potential. Today, annotation processors are part of many well known libraries that we use everyday in our professional code. On this talk we will learn how to code our custom annotation processor and to start looking at it as a very useful tool to reduce overhead in our production code. Because many recurrent problems could get solved using annotation processors!
15:00 - 15:15
Coffee Break
15:15 - 16:00
Break the monolith with (B)VIPER Modules. Or how do I start modularising my code for a better (engineering) life.
Nicola Zaghini
Nicola Zaghini
In the software engineering business there is no one fits all solution but when design patterns arise in the community it is important to understand the reasons why they were originated and how to tweak them for our purposes. This talk will explore the VIPER design with top-down approach, deriving the design decisions from quality attributes of a software system including modularity, reusability, testability, single responsibility and more. You will learn the reasons why the design was initially conceived (Clean Architecture by Uncle Bob) then formalised for mobile (by Mutual Mobile) and how to revise it to fit your purposes. Eventually a modified version of the design, friendly called (B)VIPER, will be discussed as improvement for better reuse of modules among different teams.
16:00 - 16:15
Coffee Break
16:15 - 17:00
Appium: Automation for Apps
Dan Cuellar
Dan Cuellar
Basic introduction to automating mobile apps with Appium.
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia
8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
Flying services using mobile phone paired with drone
Krzysztof Kudryński, Błażej Kubiak
Krzysztof Kudryński, Błażej Kubiak
Android mobile phone, a drone, strong passion and a lot of patience. These are all the ingredients you need to start your adventure in the emerging world of flying services. During this presentation we will show you how we started ours. Hovewer funny and amusing, this will be a presentation about serious, high-level technology, unpredictable ideas and insistent scientific struggle to make all the algorithmic meat work on a mobile phone communicating with the flying machine. If you are planning to start a remote post office on the Moon, you cannot miss this presentation.
10:00 - 10:20
Coffee Break
10:20 - 11:05
Taming node_modules at Facebook
Konstantin Raev
Konstantin Raev
Managing Node.js dependencies is a common problem for anyone who does JavaScript development these days. Should you check in node_modules into github or should you rely on shrinkwrap.json? The path of taming node_modules is long for Facebook Engineering, I will talk about a solution that satisfied multiple parties: source control team, engineers who manage dependencies, security team and app developers.
11:05 - 11:25
Coffee Break
11:25 - 12:10
greenDAO 3 and beyond
Markus Junginger
Markus Junginger
greenDAO is the fastest ORM for Android. greenDAO 3 brings annotations and prepares the way for further enhancements like RX support. The author of greenDAO gives deep insights about how to best use ORM to make app development productive and fun. But SQL is not your thing? We also have a sneak peek at a new alternative to greenDAO/SQLite.
12:10 - 13:15
Lunch Break
12:20 - 13:05
MASTERCODER VOL. 3 – NATIONAL PROGRAMMING CONTEST ELIMINATIONS
Master Coder
Master Coder
MasterCoder is a national programming contest organized by Cybercom Poland. It is a competition created by programmers for programmers. This year over 300 participants from Poland joined the unique coding challenge. The challenge includes accomplishing ten different tasks in ten days. It fosters creativity, innovation and enables participants to test their ability to perform under pressure. During the finals we will see 10 best ranked coders who will fight for MasterCoder title and Samsung Galaxy S6, Samsung Gear VR, AirWheel X3, GoPro Hero Session Full HD! The semi-final will include a variety of tasks such as live programming. Join the audience and become a part of real programming battle !!!
13:15 - 14:00
Hacking SiriKit
Esteban Torres
Esteban Torres
iOS talk detailing the benefits that SiriKit exposes and how can developers would greatly benefit from Apple actually opening it up for other users.
- Introduction to SiriKit
- How to implement it
- Pro and Cons of th current implementation
- Hacking it to overuse or abuse it to communicate without TravisCi
14:00 - 14:15
Coffee Break
14:15 - 15:00
The Objective C runtime and Swift dynamism - a 2016 perspective
Roy Marmelstein
Roy Marmelstein
A new talk introducing advanced techniques with the Objective C runtime and assessing their relevance in an increasingly Swifty world.
15:00 - 15:15
Coffee Break
15:15 - 16:00
Getting down to business with Firebase
Saúl Díaz
Saúl Díaz
Firebase goes beyond being just an alternative to building a serverless application. It is a complete solution to control and monitor several aspects of both your product and business. We will discuss how easy is to integrate Firebase with your current application and how it can be used to improve your experience towards your users from a technical standpoint.
16:00 - 16:15
Coffee Break
16:15 - 17:00
MASTERCODER VOL. 3 – NATIONAL PROGRAMMING CONTEST FINALS
Master Coder
Master Coder
MasterCoder is a national programming contest organized by Cybercom Poland. It is a competition created by programmers for programmers. This year over 300 participants from Poland joined the unique coding challenge. The challenge includes accomplishing ten different tasks in ten days. It fosters creativity, innovation and enables participants to test their ability to perform under pressure. During the finals we will see 10 best ranked coders who will fight for MasterCoder title and Samsung Galaxy S6, Samsung Gear VR, AirWheel X3, GoPro Hero Session Full HD! The semi-final will include a variety of tasks such as live programming. Join the audience and become a part of real programming battle !!!
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia
8:00 - 9:00
Registration
9:00 - 9:15
Hello World
9:15 - 10:00
MVP - getting business, design and technology together.
Ola Rosińska, Piotrek Stanisławski Rndity (Aula)
Ola Rosińska, Piotrek Stanisławski Rndity (Aula)
Getting started with new product development we often forget that making it work requires more then just a great idea. Big ideas come with huge responsibilities which we not always know how to handle. The dilemma that we’ll be trying to find answer to is how to minimize the risk of the concept overgrowing us?
Networked Society
Marek Wyrwicki, Christer Lindell Ericpol (A)
Marek Wyrwicki, Christer Lindell Ericpol (A)
Connectivity is the starting point for new ways of innovating, collaborating and socializing. The Networked Society starts with connections, between devices and things but more importantly it is about the big ideas that become possible and will shape benefits to people. The Networked Society, as we see it, is based on four key elements: People: all of us, using connectivity to live, work and play more freely Things: everything that benefits from being connected is connected – from phones and tablets, to cars and containers, to classrooms and clinics Interactivity: the ways that all these people and things communicate with each other, for example through mobile broadband and cloud Big ideas: game-changing innovations and services that connects what people want and need with things and interactivity and create something entirely new and beneficial to people, business and society Seen in that light, the Networked Society is a global movement. It is positive change driven across borders by people, business, governments and NGOs. The shaping of the Networked Society is a constant collaboration where we aspire to take a key role.
Mobile and application security based on Man-in-the-middle (MITM) vectors
Michał Kucharski Mobica (B)
Michał Kucharski Mobica (B)
We have that good feeling that if we have AV and Firewall, we are safe and secure in cyber space. Nothing more misleading. If you are targeted, then every access vector will be tailored to compromise your security. These days every kid knows how to bypass wireless network security to get a free internet access. What could happen if a real attacker broke into your network and targeted his payloads into your sensitive data? What about gathering sensitive data from around 50? 100? 500? Mobiles, laptop devices at once? From penetration testing, reverse engineering to intercepting mobile application traffic. How to craft attacks and how to avoid them? Theory and practice.
(Prawdziwe) bezpieczeństwo danych w urządzeniach mobilnych
Michał Mela, Michał Kamiński SEQR (C)
Michał Mela, Michał Kamiński SEQR (C)
Bezpieczeństwo to temat-rzeka i choć wiele jego aspektów pomoże rozwiązać Ci wujek Google, stan wiedzy internetu na temat bezpieczeństwa danych w urządzeniach mobilnych uznajemy za niesatysfakcjonujący, przesycony starymi i niekompletnymi informacjami. Dlatego opowiemy Ci o praktycznych problemach, z którymi mierzymy się na co dzień, zapewniając najwyższy możliwy poziom zabezpieczeń w mobilnych zastosowaniach płatniczych oraz uchylimy rąbka tajemnicy o najnowszych rozwiązaniach w tym zakresie. Na prezentacji zapoznasz się z aspektami bezpieczeństwa danych w urządzeniach mobilnych od trzech stron:
- kryptografii – o czym należy pamiętać, jak jej (i jakiej) używać
- bezpieczeństwa transportu – co musisz zapewnić i w jaki sposób
- bezpieczeństwa przechowywania – jakie masz możliwości, jakie są ich wady i zalety
Flying services using mobile phone paired with drone
Krzysztof Kudryński, Błażej Kubiak TomTom (D)
Krzysztof Kudryński, Błażej Kubiak TomTom (D)
Android mobile phone, a drone, strong passion and a lot of patience. These are all the ingredients you need to start your adventure in the emerging world of flying services. During this presentation we will show you how we started ours. Hovewer funny and amusing, this will be a presentation about serious, high-level technology, unpredictable ideas and insistent scientific struggle to make all the algorithmic meat work on a mobile phone communicating with the flying machine. If you are planning to start a remote post office on the Moon, you cannot miss this presentation.
10:00 - 10:20
Coffee Break
10:20 - 11:05
Android High Performance
Enrique López Mañas Rndity (Aula)
Enrique López Mañas Rndity (Aula)
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).
Swift at scale
Tomasz Gebarowski, Wojciech Łukaszuk Ericpol (A)
Tomasz Gebarowski, Wojciech Łukaszuk Ericpol (A)
Is Swift ready for large scale business apps? We would like to share our experience on writing one of the most popular mobile banking apps in Poland. The mBank app, that is entirely written in Swift. The problems we faced, lessons learnt, pitfalls and benefits
Modularizing your apps: Framework Oriented Programming
Pedro Piñera Buendía Mobica (B)
Pedro Piñera Buendía Mobica (B)
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.
Revisiting types in Kotlin
Francisco Estevez SEQR (C)
Francisco Estevez SEQR (C)
With a domain driven approach, this talk will go through several coding examples and how they can be improved by leveraging the powerful type system in Kotlin with function objects, sealed classes, tuples, and the core collections. We'll review the way your application communicates across layers, and how you can improve your APIs with explicit types.
Taming node_modules at Facebook
Konstantin Raev TomTom (D)
Konstantin Raev TomTom (D)
Managing Node.js dependencies is a common problem for anyone who does JavaScript development these days. Should you check in node_modules into github or should you rely on shrinkwrap.json? The path of taming node_modules is long for Facebook Engineering, I will talk about a solution that satisfied multiple parties: source control team, engineers who manage dependencies, security team and app developers.
11:05 - 11:25
Coffee Break
11:25 - 12:10
RxJava for the rest of us
Hugo Visser Rndity (Aula)
Hugo Visser Rndity (Aula)
The Reactive Extensions for the JVM, better known as RxJava, have become a popular tool in Android development over the past years. Many new and existing libraries added support for Rx and “reactive” solutions to existing problems popped up over time. RxJava is both known for it’s power and it’s steep learning curve, so if you aren’t using RxJava already, what are you missing out on? Should you even be using RxJava? In this talk we’ll go over what RxJava is and how you can use it to solve problems in your Android apps, one step at a time. We will discuss how you can prevent shooting yourself in the foot by looking at common mistakes you may make when using RxJava and discussing tips and tricks for keeping your reactive app manageable.
Make your mobile more mobile
Jacek Rondio, Krzysztof Sasiak, Łukasz Kwieciński, Mariusz Kaźmierczak Ericpol (A)
Jacek Rondio, Krzysztof Sasiak, Łukasz Kwieciński, Mariusz Kaźmierczak Ericpol (A)
How car became a rich accessory for the mobile. We will present the wide range of possibilities that arose with the development of technologically advanced head units. From Bluetooth hands-free to advanced companion applications. All based on Mercedes S-class example.
Security at your Fingertips - A dive into M&N's new Fingerprint and Keystore APIs.
Frederik Schweiger Mobica (B)
Frederik Schweiger Mobica (B)
Android Marshmallow (and most recently Android Nougat) have introduced a lot of fresh features and the new permission system is by far not the only new security enhancement. Most of you already use their finger to unlock the smartphone and may have heard about this new fingerprint API - but have you ever played with it? And once we’re there: Do you know about the newly introduced improvements in the Keystore API? No? Then this talk is definitely for you! Still hesitating? Just remember that security and a good user experience is something we cannot know enough about. With just a few simple steps you can learn how to increase the security of your app, making authentication easier and your users happier - all at once. And to be honest: in the end that’s all we want, right?
MVVM with Coordinators & RxSwift
Łukasz Mróz SEQR (C)
Łukasz Mróz SEQR (C)
Every application needs good architecture. In my talk I will try to show you our architecture that we use in our iOS projects: MVVM with Coordinators & RxSwift. Not only I will talk about basics, but we will quickly start writing the code live, describing what belongs where, controlling the flow using Coordinators, testing everything using Quick/Nimble, and make network requests using Moya
greenDAO 3 and beyond
Markus Junginger TomTom (D)
Markus Junginger TomTom (D)
greenDAO is the fastest ORM for Android. greenDAO 3 brings annotations and prepares the way for further enhancements like RX support. The author of greenDAO gives deep insights about how to best use ORM to make app development productive and fun. But SQL is not your thing? We also have a sneak peek at a new alternative to greenDAO/SQLite.
12:10 - 13:15
Lunch Break
12:20 - 13:05
MASTERCODER VOL. 3 – NATIONAL PROGRAMMING CONTEST ELIMINATIONS
Master Coder TomTom (D)
Master Coder TomTom (D)
MasterCoder is a national programming contest organized by Cybercom Poland. It is a competition created by programmers for programmers. This year over 300 participants from Poland joined the unique coding challenge. The challenge includes accomplishing ten different tasks in ten days. It fosters creativity, innovation and enables participants to test their ability to perform under pressure. During the finals we will see 10 best ranked coders who will fight for MasterCoder title and Samsung Galaxy S6, Samsung Gear VR, AirWheel X3, GoPro Hero Session Full HD! The semi-final will include a variety of tasks such as live programming. Join the audience and become a part of real programming battle !!!
13:15 - 14:00
Functional on Android: lambdas, Rx and streams in your app
Eric Kok Rndity (Aula)
Eric Kok Rndity (Aula)
On Android, more and more developers are attracted to the functional programming-style concept of declarative data manipulation using lambdas. Java 8 has a new steams API, but it's limited to Android N. Backports exist, but it's RxJava that's all the rage, with its elegant threading solution. How do we use lambdas, streams and Rx effectively on Android? Orientation changes and background tasks? I propose to stop worrying about the lifecycle and cache your way into a blissful user experience.
Kotlin, why?
Paweł Byszewski Ericpol (A)
Paweł Byszewski Ericpol (A)
Programiści aplikacji Mobilnych na Androida, uwięzieni w czasach Java 1.7 od pewnego czasu eksperymentowali z innymi językami programowania. Żaden nie zdobył do tej pory takiej popularności jak Kotlin. Ale czy faktycznie jest to coś rewolucyjnego? Przecież getery, settery i konstruktory wygenerujemy za pomocą Lomboka. Używając Retrolamby zyskamy wsparcie dla dopełnień. A dodatkowo od niedawna Android ma wsparcie dla Javy 8. Zatem co decyduje o sile Kotlina, które konstrukcje i właściwości języka powodują, że warto zastosować go w swoim projekcie? Jaki wpływ będzie to miało na architekturę aplikacji i wydajność? Kotlin jest tylko ciekawostką czy spowoduje, że będziesz kodował efektywniej? Z tej prezentacji wyniesiesz pełen zestaw informacji pozwalający odpowiedzieć na wszystkie te pytania.
Espresso, beyond the basics
Inaki Villar Mobica (B)
Inaki Villar Mobica (B)
More than the typical onView example Espresso offers a complete framework to interact with your UI. Once you start developing your tests you find common issues, in this talk learn tips and tricks on how to deal with the framework and avoid problems like synchronization, permissions, environment test scenarios and much more.
Bonjour Android, it's ZeroConf
Roberto Orgiu SEQR (C)
Roberto Orgiu SEQR (C)
ZeroConf is a protocol that helps us advertising a service or discovering the available services in our networks. This is how Chromecast works, but why don’t we go deeper? We will dive into the definition of ZeroConf and why the protocol is needed, how it works and what libraries will help us implementing it on Android.
Hacking SiriKit
Esteban Torres TomTom (D)
Esteban Torres TomTom (D)
iOS talk detailing the benefits that SiriKit exposes and how can developers would greatly benefit from Apple actually opening it up for other users.
- Introduction to SiriKit
- How to implement it
- Pro and Cons of th current implementation
- Hacking it to overuse or abuse it to communicate without TravisCi
14:00 - 14:15
Coffee Break
14:15 - 15:00
The 2016 Android Developer Toolbox
Gautier Mechling Rndity (Aula)
Gautier Mechling Rndity (Aula)
Whether your native Android app is a pet project or has millions of users, you probably need the right tools, during the development, to help you modify persisted data in real time, simulate an slow/unstable HTTP(s) connection, detect bugs as fast as possible, or create mock servers to anticipate the development of a feature. We'll make a demonstration of all the tools we use, in 2016, to write maintainable code and improve our productivity.
How JRebel for Android Does Performance Testing
Madis Pink Ericpol (A)
Madis Pink Ericpol (A)
As developers we often employ unit- and integration testing to catch bugs early during development. But how to detect regressions in performance? Sometimes a small slowdown can go unnoticed for weeks or months until the app becomes unbearably slow and a profiler gets attached. In this talk, we'll take an in-the-trenches look at how we set up a performance testing suite for JRebel for Android. We'll talk about challenges we faced when running the tests on our CI servers. We'll also cover how we pinpoint regressions to a single commit with the help of Elasticsearch and Kibana.
Interacting with your app through command line
Roman Mazur Mobica (B)
Roman Mazur Mobica (B)
Android command line is a very powerful tool. During this talk, we'll briefly review what Android shell commands can be useful for development, testing, and automation. We'll concentrate on how your application can interact with the command line considering 2 approaches. The first one is based on Android framework tools and the second is the core of Facebook Stetho tool.
Custom Annotation processors for your production code
Jorge Castillo SEQR (C)
Jorge Castillo SEQR (C)
The annotation processing tool (APT) was released into the JDK 5, but we did not paid enough attention to it in order to exploit its potential. Today, annotation processors are part of many well known libraries that we use everyday in our professional code. On this talk we will learn how to code our custom annotation processor and to start looking at it as a very useful tool to reduce overhead in our production code. Because many recurrent problems could get solved using annotation processors!
The Objective C runtime and Swift dynamism - a 2016 perspective
Roy Marmelstein TomTom (D)
Roy Marmelstein TomTom (D)
A new talk introducing advanced techniques with the Objective C runtime and assessing their relevance in an increasingly Swifty world.
15:00 - 15:15
Coffee Break
15:15 - 16:00
How to design your app and not be damned by maintenance team
Anton Minashkin Rndity (Aula)
Anton Minashkin Rndity (Aula)
How to deal with complexity, technical debt and not to fall into depression. Let's discuss the ways, architecture patterns and common mistakes and let's try to find the "silver bullet" of architecture, or at least let's find requirements for it
Design that breaks down barriers
Agnieszka Czyżak, Rafał Tulwin Ericpol (A)
Agnieszka Czyżak, Rafał Tulwin Ericpol (A)
While having an opportunity to start an enterprise from scratch, humans tend to try out new processes, tools or technology. It is with that state of mind that we embraced “accessibility”. Indeed, as one of the hottest emerging topic in UX Design, “accessibility” methodology was to be integrated in the development of our latest project. Considering both designer’s and developer's point of view, we will talk about how we approached accessibility while making Shuttle - a mobile app for Android and iOS. We will describe step by step our full working process related to “accessibility”, with a strong focus on the importance of interdisciplinary collaboration and end user testing
Z beaconem przez projekt - od pomysłu do klęski, od klęski do wdrożenia
Bartek Świercz, Paweł Czapnik Mobica (B)
Bartek Świercz, Paweł Czapnik Mobica (B)
Na podstawie wykonanego i wdrożonego projektu przedstawiamy fakty i mity ze świata beaconów. Przekonacie się, że wdrożenie projektu beaconowego wymaga wielu testów, a otrzymywane wyniki mogą Was nie raz zaskoczyć.
Break the monolith with (B)VIPER Modules. Or how do I start modularising my code for a better (engineering) life.
Nicola Zaghini SEQR (C)
Nicola Zaghini SEQR (C)
In the software engineering business there is no one fits all solution but when design patterns arise in the community it is important to understand the reasons why they were originated and how to tweak them for our purposes. This talk will explore the VIPER design with top-down approach, deriving the design decisions from quality attributes of a software system including modularity, reusability, testability, single responsibility and more. You will learn the reasons why the design was initially conceived (Clean Architecture by Uncle Bob) then formalised for mobile (by Mutual Mobile) and how to revise it to fit your purposes. Eventually a modified version of the design, friendly called (B)VIPER, will be discussed as improvement for better reuse of modules among different teams.
Getting down to business with Firebase
Saúl Díaz TomTom (D)
Saúl Díaz TomTom (D)
Firebase goes beyond being just an alternative to building a serverless application. It is a complete solution to control and monitor several aspects of both your product and business. We will discuss how easy is to integrate Firebase with your current application and how it can be used to improve your experience towards your users from a technical standpoint.
16:00 - 16:15
Coffee Break
16:15 - 17:00
Elegant?? Unit Testing
Pablo Guardiola Rndity (Aula)
Pablo Guardiola Rndity (Aula)
In this session we will learn the basics of Unit Testing and its importance. We will define what a Unit Test is, what type of Unit Tests there are and then talk about Test Doubles. Finally, we will focus on how to write new tests and improve existing ones by reviewing some Android Github projects. Can you sleep soundly without writing tests? Really???
Crafting Reactive Apps with Realm
Marius Rackwitz Ericpol (A)
Marius Rackwitz Ericpol (A)
Realm is a popular database for mobile used already in thousands of apps in the app stores and deployed on over a billion devices. This talk will show you how you can craft reactive applications, especially if you embrace persistence and state as a central part of your application architecture, by using the unique features of this database.
Swift rEvolution
Kostiantyn Koval Mobica (B)
Kostiantyn Koval Mobica (B)
Swift have huge impact and on how we develop software these days. In thin talk I will explain why everyone needs to learn Swift regardless if you are iOS, android, backend or any software developer. I will cover why Swift is so powerful and popular, how huge impact it has on whole Software development, what you need to do to stay competitive and productive developer and how you can shape Swift they way you want
Appium: Automation for Apps
Dan Cuellar SEQR (C)
Dan Cuellar SEQR (C)
Basic introduction to automating mobile apps with Appium.
MASTERCODER VOL. 3 – NATIONAL PROGRAMMING CONTEST FINALS
Master Coder TomTom (D)
Master Coder TomTom (D)
MasterCoder is a national programming contest organized by Cybercom Poland. It is a competition created by programmers for programmers. This year over 300 participants from Poland joined the unique coding challenge. The challenge includes accomplishing ten different tasks in ten days. It fosters creativity, innovation and enables participants to test their ability to perform under pressure. During the finals we will see 10 best ranked coders who will fight for MasterCoder title and Samsung Galaxy S6, Samsung Gear VR, AirWheel X3, GoPro Hero Session Full HD! The semi-final will include a variety of tasks such as live programming. Join the audience and become a part of real programming battle !!!
17:00 - 17:10
No Coffee Break
17:10 - 17:40
Finally meeting
18:15 - 23:59
AfterParty in All Star Klubokawiarnia