Schedule

  • Tuesday 18th April 2017
    Tuesday
    8:30 - 09:00
    Registration, Tea and Coffee
    Conference registration will take place in the Binks Building. Let us know you're here, pick up your goody bag and make sure you get a good seat.
    09:00 - 09:15
    Welcome and Introductions
    Steve Westgarth
    An introduction to the conference and what to expect over the 3 days.
    09:15 - 10:00
    Putting Android and iOS on the Same Wavelength
    Paul Cowles
    For products available on the Web, iOS and Android, there have been a variety of approaches over the years aimed at reducing development time and the duplication of work. In this talk, we will look at accelerating cross platform development with serverless microservices, specifically those deployed on AWS Lambda. We will cover the motivations, developer experience, benefits, and drawbacks to this approach. We will also cover the continuous integration and delivery, as well as what we feel are the most exciting aspects for future application of these services.
    10:00 - 10:45
    Insights into the Current State of Mobile Development
    Dennis Pilarinos
    Don’t reinvent the wheel where you don’t need to! We’ve gathered data from thousands mobile development teams around the world to learn the real way teams are building their iOS and Android apps. In this talk, we’ll examine the current state of mobile development by mapping the trends found across thousands of apps to see how they’re built, which tools are used, and the anatomy of the team developing Android and iOS apps.
    10:45 - 11:15
    Break
    Tea and Coffee Break
    11:15 - 12:00
    Android Testing and Support Library - The Nitty Gritty
    Zan Markan
    8 years since Android’s been released we finally have a proper Google-supported solution for testing in the Testing Support Library. We’ll go through the various stages of it, explore it’s (not so) hidden features and learn how to use it to build better apps. We will cover things such as (breaking the) test Rules, (outrunning the) test Runners and how to make most of tools such as Espresso & the Cloud Test Lab.
    11:15 - 12:00
    Swift On The Server - Be Your Own Backend Developer
    Abizer Nasir
    With Swift now available on Linux, the ability to write software on the server means that app backends can now be written in the same language as their iOS native front ends. In October, Apple announced the formation of the Server API Work Group to provide a standard Swift API to server functions. This talk will cover the basics of writing server side code in Swift and the closer integration with iOS native apps that this allows.
    12:00 - 12:45
    Reactive Programming on Android - Why and How
    Sasa Sekulic
    Reactive is becoming more and more used on Android, but is it right for you? This talk sheds some light on why reactive programming is becoming so popular and what are the pros and cons of using it. Sasa will also explore the framework options, possible architectures and compare it all to the normal Android framework.
    12:00 - 12:45
    Inside Autolayout
    Martin Pilkington
    Auto Layout can sometimes seem like a black box, performing magic to create layouts, which can make it hard to understand, use, and debug your layouts. This talk will help demystify Auto Layout, showing you how calculations are performed, and how things such as priorities work.
    12:45 - 13:30
    Lunch
    13:30 - 14:15
    The end of the app developer
    Mylo Kaye
    Apple is making it easier and easier for anyone to become an app developer. Launching ‘Swift Playground’ this year for kids can be seen as them pulling the rug from beneath all the great app developers in the world. Now, even kids can code. Udemy can tech you Android development, you can learn in one week what app developers have spent years perfecting. ‘The end of the app developer’ explores where the app development world is heading, what we should be worried about as app developers and what we can do to stay relevant. Is this the end of the app developer as we know it?
    13:30 - 14:15
    Sending Rich and Interactive Messages With iMessage App Extensions
    Hung Truong
    Messaging apps are huge and getting huger. With WhatsApp, WeChat and Facebook Messenger users in the millions or billions, it’s clear that messaging is not a fad. So how can a developer take advantage of this growth? Starting a new messaging app is probably out of the question. Thankfully, Apple has introduced iMessage app extensions in iOS 10. Learn how to use iMessage to let your users send rich, interactive messages, and learn how to take advantage of the network effects that iMessage app extensions allow.
    14:15 - 15:00
    Introduction to Amazon Web Services for Mobile Developers
    Abhishek Mishra
    This talk is aimed at both iOS and Android developers who want to get an overview of the Amazon Web services ecosystem. It will provide a high-level view of some of the key AWS services including EC2, S3, DynamoDB, and Cognito. The making of a simple cross-platform mobile app will be discussed in the session that saves pictures to DynamoDB and uses Amazon Cognito for identity management. Source code for both the iOS and Android version of the App will be available to download. The talk will be presented by Abhishek Mishra, who is a London based consultant specialising in the cloud computing and mobility space. His clients include Barclays, Centrica, Expedia, and Sky, He is the author of several books including: iPhone and iPad App 24 Hour Trainer, Swift iOS – 24 Hour Trainer, and AWS for Mobile developers.
    14:15 - 15:00
    Creating Cross Platform Apps with ionic 2
    Indermohan Singh
    This talk will focus on how Ionic fits into the Hybrid Stack and the Architecture of an Ionic 2 Application. An emphasis will be placed upon when to develop Hybrid Applications and how to use various Ionic 2 UI Component’s in development. This will include using Ionic’s Push/Pop Navigation system, using the native capabilities of the device and also using Ionic native and Cordova Plugins, the theming system of Ionic 2 and utilising Ionic CLI.
    15:00 - 15:30
    Break
    15:30 - 16:30
    How to Minimize Power Consumption and Maximize Performance
    Rick Schwartz
    As mobile apps get more advanced and move into areas like virtual reality and 360 video, performance, system latency and thermal behavior become even more important. Battery life is the most important thing to consumers, yet most apps waste power because they do not manage the processor, cellular radio and Wi-Fi network properly. Many apps on Google Play also have performance issues that are easy to address using free software. Learn how to determine whether your app has power or performance problems in only 60 seconds. This session will also teach you how to resolve common power and performance-related problems, so your app performs at its best. You’ll also learn the following: - How to quickly test your app’s performance in 25 key areas - Does your app throttle the CPU and lower its performance? If it does, learn simple solutions to this problem. - Learn a more accurate way to read the frame rate an any OpenGL ES app - Determine whether your app has performance bottlenecks - Find and fix a common problem most VR apps have - See how your app compares to the category-leading apps in Google Play - Run a 60 second test to determine whether your app consumes too much power - Instrument your code to pinpoint the causes of power spikes - Determine exactly how many CPU cycles different processes consume - Learn solutions to the 5 most common power-related problems - Determine whether your app uses the cellular radio and network in an efficient manner Learn how much data your app, its analytics and ads consume - Find out how much power can you save when your port code to run on a DSP? - Learn Best Practices for connectivity and power measurement - Automate power testing
    15:30 - 16:30
    Get More Done By Doing Less - Tools
    Chris Wilson
    The Open Source movement has fuelled the rapid evolution of tools and dropped them into the hands of every developer pretty much free of charge. Whether you’re a freelancer, small development studio or multi national corporation there are tools out there to help improve your workflow. In this talk we’ll take a look at a number of tools and techniques to help you save some time and get back to the fun stuff.
    16:30 - 17:30
    Rules of Design for Developers
    Lasse Koskela
    Some of us are spoiled with a team of rockstar programmers featuring world-class designers. Some of us are not so lucky and will have to make do with what we’ve got – a bunch of programmers pretending to be multitalented visual artists or UI designers. There is a lot of design literature available on topics such as interface design, typography, and graphic design but it’s largely ambiguous and somewhat difficult to get a grip of. This talk aims to save those unlucky teams who are struggling with little to no access to professional designers by presenting the (tongue-in-cheek) Rules of Design for Developers! They are rules that make sense even to a simple programmer like myself – rules of thumb that most often lead to a pretty good outcome.
    17:30
    End of day
  • Wednesday 19th April 2017
    Wednesday
    09:00 - 09:15
    Tea and Coffee
    09:15 - 10:00
    Surprise Talk!
    To Be Announced
    10:00 - 10:45
    How to build & market App Store hits as an indie developer
    Sarp Erdag
    This talk will explore how to build and market global App Store hits as self funded, indie developer. The talk will look at both the technologies and the product development and marketing strategies Apperto have used to build products and gain traction within the App Store.
    10:45 - 11:15
    Break
    11:15 - 11:55
    Security and Privacy in iOS Development
    Gem Barrett
    Data breaches are regularly in the news nowadays, and security and privacy issues are more important than ever. Apple’s high-profile stance on this has helped them gain even more consumer trust in their products. As iOS Developers aiming to maintain that trust, we can’t afford to ignore the security implications of the decisions we make about our apps. But how do you make sure that your app does the best for its users, is as secure as possible and still works as you intended? This talk will go through the basics of threat modelling to identify vulnerabilities in your app, the security APIs provided by Apple, and overall best practices for the privacy of users.
    11:15 - 11:55
    Visual Consistency and Why it Is Important - How do you achieve this in a large codebase?
    Rahul Dandamudi
    The talk will focus primarily on concepts of how you can use Themes, Styles in your code base to have consistent UI across the application and why it is important for any app to have a consistent UI. The talk will also focus on how we can use these techniques in refactoring huge code bases and what we have recently done at Instagram to achieve this. I will be showing snippets of code through out the talk.
    12:00 - 12:45
    The Keys to User Onboarding
    Chris Price
    Have you ever loaded an app on your phone, not had a clue what to do with it, and chucked it? That’s what other users will do to your app if you don’t get onboarding right. This talk covers the best ways to turn new users of your app into enthusiastic experts without boring them to death (another way to get your app chucked off their phone).
    12:00 - 12:45
    Android Appliction Security, The Right Way
    Dario Incalza
    In this talk you will discover the typical attack surfaces of an Android application. We cover the importance of code protection, implementing secure coding practices, strong crypto implementations, executing in a secure environment and hardening network communications. You will walk away with best practices and common pitfalls to create secure applications.
    12:45 - 13:25
    Lunch
    13:30 - 14:10
    I Just Hacked Your App
    Marcos Placona
    Android security is nowhere near where it should be. I have been able to hack and get sensitive information from a few different apps and I’m just an amateur hacker at best. Whether it’s because we are exposing information when making HTTP requests to our backend servers or because we’re simply storing things we shouldn’t in our apps, it’s easy to forget mobile devices aren’t as safe as we think they are. In this session we will explore a number of ways an Android app can be exploited and most importantly methods that we can use to avoid these attacks. We will finish by looking at common techniques that will help you protect sensitive information within your application by adding tampering detection and making sure every external communication request is made securely.
    13:30 - 14:10
    Protocol Orientated Coordinators
    Niels Van Hoorn
    As View Controllers have the tendency to become massive over time, we’re looking for patterns to move responsibilities to other objects. Using Coordinators is one way to handle this problem. In this live coding session we we explore a protocol oriented way of implementing coordinators, using some new features of Swift 3. Because this session will be performed completely in Swift Playgrounds on an iPad, it will also show that, while Playgrounds are fun to play around with, they are definitely more then a toy.
    14:15 - 15:00
    Developing Media Streaming Apps for TV the Easiest Way
    Mario Viviani
    Mobile development is not just about mobile devices anymore: Android scaled up from mobile devices to the TV screen, and developers have now the occasion to start building for a brand new use case: the 10-foot experience. In this session, we cover what's needed to bring your Android app to the living room: we’ll dive into all the tools required to create high performing Media Streaming apps and understand how to take advantage of the big TV screen while using new UI/UX patterns for app navigation through the remote, and how to run your first Android App for TV on Amazon Fire TV.
    14:15 - 15:00
    Setting sale for Adventure - Making Playtime Island
    Ross Butler
    The majority of organisations engaged in software development these days utilise some form of Agile practice however the details can vary between organisations and even between teams within the same organisation. Here, we cover how Agile practices and processes were employed by the BBC Children’s Apps Team to deliver value to the audience over the course of the development of CBeebies Playtime Island.
    15:00 - 15:30
    Break
    15:30 - 16:30
    Lightning Talks
    5 minute talks from a collection of guest speakers
    16:30 - 17:30
    Firebase: From Zero to Hero?
    Laurence Moroney
    Developer Advocate at Google working on Firebase and Google Maps. I’m a regular on the Google Developers YouTube channels with videos on mobile development, and host of the popular ‘Coffee with a Googler’ show. Author of more computer programming books than I can count! In my spare time I’m a published Sci-Fi Author, produced screenwriter, and also writing the official continuation comics of the Stargate TV series for MGM. Ergo: I’m a geek.
    17:30
    End of day
  • Thursday 20th April 2017
    Thursday
    09:00 - 09:15
    Tea and Coffee
    09:15 - 10:00
    With great power comes great responsibility - Mobile Development and the Law
    Heather Burns
    Consumers who use location-based services and mobile apps have a right to assume that their privacy will be respected and their data will be responsibly curated. To meet those expectations, developers must create a responsible and legally compliant development process. This talk will teach you how to build a healthy workflow for developing with location data by using best practice frameworks and providing users with privacy-friendly options. You will also gain insight into your legal compliance requirements under UK and EU laws, and we will discuss the shifting data protection and privacy landscape in light of Brexit.
    10:00 - 10:45
    Android Design 101
    Andre Tacuyan
    Android Design 101: An overview of design patterns and principles for Android mobile devices. I’ll have a quick introduction to Material Design, compare Android and iOS design philosophies, and give a summary of some Android design do’s and don’t’s. I’ll also show some quick examples of my previous work on both platforms.
    10:00 - 10:45
    Implementing Full Text Search
    Lasse Koskela
    “Search” is one of those things that our users take for granted but is surprisingly difficult to get right. In this talk we’ll dig into the essential concepts in implementing a proper full-text search on the device without server-side or cloud-based Search APIs, highlighting the challenges such as sorting by relevancy, term and column boosting, stemming and lemmatisation, and the brutality of compound words. Along the way we’ll look at implementing full-text search with an embedded search engine as well as with SQLite, and touch on integrating your data with Core Spotlight’s index on iOS.
    10:45 - 11:15
    Break
    11:15 - 12:00
    CloudKit for fun and profit
    Paul Ardeleanu
    Introduced in 2014, CloudKit should have been by now the go-to framework for device sync and document persistence. However, it seems to float somewhere between obscurity and scant interest from developers. In this talk, Paul will revisit the core concepts behind CloudKit APIs, including CloudKit.js, and the new CloudKit Web Services, and how this can have a positive impact on user privacy and your business model.
    11:15 - 12:00
    State of security of Android banking apps in Poland
    Tomasz Zieliński
    In the 2nd half of 2016 we reviewed 20 Android banking applications, released and maintained by banks operating in Poland. We found a number of problems, ranging from minor errors in APK packaging, through data loading via insecure connection, lack of certificate pinning, exported activities, debug code present in apps, leak of session token, up to session takeover and user data exposure. Presentation will cover observed vulnerabilities. I will also tell you about the process of contacting bank’s security departments and responsible disclosing of sensitive information. If time allows, we will investigate implications of using 3rd party services like Crashlytics or Facebook SDK.
    12:00 - 12:45
    Static Analysis for iOS
    Dulma Churchill
    At Facebook, new code is being produced and shipped fast in a big code base shared by hundreds of engineers. Thus, we use a number of techniques to ensure good quality of code in this environment, such as unit and end-to-end tests and static analysis. Static analysis is a technique able to detect software errors statically, before a product is actually shipped, and without running the code. In this talk we describe the Infer Static Analyzer, an open source tool developed at Facebook that can find complex bugs such as Null Dereferences and Memory Leaks. It can also run fast in the CI, so that we can catch and fix bugs before code gets committed.
    12:00 - 12:45
    Tests ensure the quality of your code, but what ensures the quality of your tests?
    Xavier Gouchet
    This talk will introduce the concepts of Mutation Testing, applied to Android. It will describes the theory behind this new tool, and give a few examples on how it can help write better tests.
    12:45 - 13:30
    Special Guest
    Information coming soon
    13:30
    End of conference