Tracks

TYPE: [Clear Filter]
Room: [Clear Filter]
Monday, 10th Apr

Keynote

10:00 - 10:15
Welcome: Community Addiction
      15 Minutes session
    Registration
    10:15 - 11:00
    First, Do No Harm

      Annyce Davis
      45 Minutes session
    Developing Android applications is a powerful way to connect people with the information they need the most. Apps are for living your life: daily commutes, traveling abroad, handling your money, communicating with family, and much more! This places the responsibility of engineering top-notch software squarely in the laps of us developers. Unlike doctors, we were not required to take an oath or pledge when becoming Android Developers. However, we can still learn much from the principles behind the phrase, “First, do no harm.” In this talk, we will discuss over a dozen tools that are at your disposal as a developer which can enable you to provide high quality applications to your users. Thus allowing you to first, do no harm!
    17:30 - 18:30
    Why Android Will Get the Next Billion People Onlinee

      Nathan Eagle
      1 hour session
    More than 4 billion of the roughly 7 billion people on Earth now have the ability to get online, thanks in large part to the rise of Android. Yet, there are 1.3 billion smartphone users living in emerging market countries like India or Indonesia who are limited by the relative high cost of mobile data. 500 MB of data costs a user in India 17 hours of minimum-wage work in India. In the United States, the same amount of data costs only 3.5 hours worth of minimum-wage-work. But, the hunger for Internet access and smartphones is not slowing down. By 2020, emerging markets will have more than 2.5 billion smartphone users and the demand for Internet access will increase by 500%. In his closing keynote, Nathan will address the importance of Internet access via smartphones and the powerful role that Android development plays in getting the next billion online, He will ultimately aim to inspire Android developers in Boston to create technologies that will change the future of the world’s economies.

    General

    09:00 - 10:00
    Registration
        1 hour session
      Registration
      11:00 - 12:00
      Android Auto - Drive your car, use your phone and don't hurt anybody

        Phil Shadlyn
        1 hour session
      Curious about Android Auto? Announced at Google I/O 2014, Android Auto is Google’s attempt to bring Android to the car, with controls and a user interface optimized for driving. The first cars with Auto support were released in the summer of 2015 and Google has now opened up Android Auto to everyone with the recent release of the Android Auto app, giving developers a unique opportunity to reach a whole new set of users. The goal of this session is to get you started developing great apps for this emerging platform. We’ll talk about how to: Extend your existing audio or messaging app to be compatible with an Android Auto head unit; Use Android Auto to play music, compose and read messages and respond to user voice actions; Develop and test your apps with the Desktop Head Unit; Make sense of the Android Auto design guidelines and usability requirements that are in place for Auto apps;Distribute your Auto app through Google Play. Join us as we walk through real-life examples and see just how easy it is to get started with Android Auto!
      11:00 - 12:00
      Understanding Your User: Deep Dive into Firebase Analytics

        Nitya Narasimhan
        1 hour session
      With 2.2M apps in the Google Play store, Android developers now have to compete for awareness, engagement and retention of users, for their apps. Traditionally, this has involved using multiple toolkits and managing the complexity of costs and interactions across them. With Firebase Analytics, the process is unified (single toolkit), cost-effective (unlimited & free) and comprehensive (standard & custom events) — not to mention easy to use. In this talk, we will take a look at how easy it is to integrate Firebase Analytics and use the resulting insights to not just understand user behaviors, but also to improve user experience and engagement (with data-driven UX decisions) and to better monetize those interactions. The first half of the talk will focus on the Firebase Analytics API (front-end) and its usage (with code) to capture user events and establish relevant contexts. The second half of the talk will focus on the Firebase Analytics Dashboard (back-end) and its usage to filter, track and visualize user behaviors in individual and collective contexts. Finally, we will explore popular scenarios requiring behavior analytics and walk through how these can be implemented using the APIs and Dashboard provided by Firebase Analytics. The talk will conclude with pointers to resources, and a brief review of other Firebase features that enable (or are enabled by) Analytics.
      12:00 - 13:30
      Lunch
          1 hour 30 minutes session

        13:30 - 14:30
        Android Studio is Wicked Pissah

          Mark Scheel
          1 hour session
        Do you like apples? After 40 minutes of high octane Android Studio we’ll check in on that. Get your frappe, grab your submarine sandwich, order a coffee milk and strap in. We’ll highlight amazing time saving features in Android Studio during this session. We’ll see tips and tricks culled from pairing with some of the best Android engineers in the business, shipping code to millions of users. We’ll highlight testing and performance along the way. It’s gonna be wicked pissa, so bring your laptop so you can play along in real time.
        13:30 - 14:30
        Impress your user's inner child!

          Eliza Camberogiannis
          1 hour session
        Tying up the users to your app is the most important and yet one of the most puzzling parts. Users will already have a strong impression about your app the first 30”; Yes, including splash screens or empty lists and loading indicators, that are pretty much impossible to avoid in most of the apps. So all we need is some stardust, say the ‘abracadabra’ 3 times, and the boring splash screen or the empty screen will transform to something entertaining and interesting that will impress our users! Wait… what?! How do I do this? A great place to start is learning to leverage Android’s animation SDKs 😉
        14:30 - 15:30
        Bonjour, Monde: Optimizing Localization

          Phil Corriveau
          1 hour session
        Is there an easier way to support other languages? How will your app’s UI support much longer strings or even right-to-left languages? How can you maintain Play Store copy and screenshots in multiple languages? In this talk we’ll cover how to best to structure your app in order to make future localization easier and discuss common pitfalls to avoid. Learn how to account for special characters, how to allow mirroring for right-to-left languages, and how to use tools like Android Studio’s Translations Editor and Fastlane to save time and headaches when supporting other languages both in your app and in the Play Store.
        14:30 - 15:30
        The Web: Don't call this a comeback

          Mike Hartington
          1 hour session
        The web, yes that web, is making a comeback. As native development has been the main deployment target for startups and large companies, the web has been improving. Blurring the lines between Web and Native, Progressive Web Apps offer the same deep integration as a native app with the ease of developing and deploying web apps.
        15:30 - 16:30
        Kotlin: Uncovered

          Victoria Gonda
          1 hour session
        Kotlin does a lot for us in the way of reducing boilerplate. But what is it really doing? We will be inspecting some decompiled Kotlin to discover how it does its job. By looking underneath at how it handles data classes, lambdas, and delegation, we can better understand how the language executes what we write. If you’re curious about the language, or already using it in production, you should walk away from this investigation with a deeper understanding of Kotlin, and some tools for continued exploration.
        15:30 - 16:30
        App Shortcuts in Android 7.1

          Caren Chang
          1 hour session
        In Android Nougat 7.1 the ability to create app shortcuts was introduced. Implementing shortcuts into your app helps guide users to specific parts of the app. If implemented correctly, it can help simplify the way users interact with your app, thus providing a delightful user interface experience. In this talk we will see an example of how to create app shortcuts. We will also talk about the different kinds of shortcuts you can create (static and dynamic) and how to chose which one to implement. Lastly, we’ll talk about how to create a proper back stack of activities once the user launches the app through a shortcut. By the end of the talk attendees should have a clear understanding of how to help increase user engagement by making it easier for users to use their app.
        16:30 - 17:30
        Becoming a Better Battery Citizen

          Eric Brynsvold
          1 hour session
        In the 8 years since the release of the first commercial Android device, we’ve seen screen resolutions go from thousands of pixels to millions, cameras from 3MP to 13MP, and cores from 1 to 8 – but battery life is staying the same or even getting worse! This makes it even more important to be a good battery citizen and leave some juice for your users’ other apps (they do use apps other than yours, right?) In this session, we will explore the different battery tools and resources available for profiling – like Trepn Power Profiler and Battery Historian – and use them to identify common battery pain points in your app. We’ll also cover best practices for power-sensitive development so you can prevent battery drain problems from the beginning.
        16:30 - 17:30
        Building a Multi-User Todo App with React Native, Swagger, and Couchbase Mobile

          Hod Greeley
          1 hour session
        React Native lets you build cross-platform mobile apps using only JavaScript. Couchbase Mobile enables storing data offline and syncing across devices. In this talk we’ll show how to build a “todo” list application that makes use of both. We’ll do this using a JavaScript client built automatically by Swagger. Swagger is a powerful API framework that generates documentation, creates sandboxes, and can generate client SDKs in 40 languages. Attendees will leave with practical knowledge of how to build a complete “offline first” cross-platform mobile experience.
        Tuesday, 11th Apr

        General

        09:00 - 09:30
        Breakkfast
            1 hour session
          Breakfast
          10:15 - 11:15
          Practical RxJava with an Air Cannon

            Nicholas DiPatri
            1 hour session
          I will demonstrate how RxJava can solve a common problem when using remote APIs in Android: ‘callback hell’. We may find our code riddled with nested branching and anonymous inner classes as a solution to complex API interactions. For example: ‘First initialize this API if not done already, then get this model object. If it exists, make these additional calls, but if it fails, make this other call instead.. Do this as many times as necessary to get all objects.. oh, and order me a pizza’ (just kidding about the pizza). This is a real-world Android example using an IoT Particle Photon shooting projectiles across the room with compressed air! (not kidding). RxJava can solve ‘callback hell’ and I’ll show you how!
          10:15 - 10:45
          Stability, Analytics and Deployment with Fabric and fastlane

            Todd Burner
            30 mins session
          Google’s developer tools Fabric and fastlane offer simple ways to integrate necessary modern mobile app tools into your project. We will cover the most recent updates to the most popular crash reporting tool, Crashlytics and also explore new ways to automate deployment and beta testing with fastlane. By combining these tools you’ll be able to save 100s of hours in crash reproduction and deployment time.
          10:15 - 11:15
          Through the looking-glass eyes of an Android

            Adrián Catalan
            1 hour session
          Ever wondered what your Android sees? how does it perceive(or not) the outside world? it would be really nice for our phones to see as we see and if they’re not yet capable, why not teach them? the way to do it is using Machine Learning, a (kind of) new trend that’s here to stay, and with so many different areas to explore is up to us to pick one we find interesting. Well, my take is on computer vision, so buckle up and join me in this journey, let’s review options for computer vision on mobile, explore different examples and walkthrough the basics of several vision APIs.
          10:45 - 11:15
          What's new in Firebase

            Doug Stevenson
            30 mins session
          Firebase had an exciting year since its launch as a unified mobile development platform at Google I/O 2016. Join this session to learn about what’s new with Firebase that helps you better build, grow, and monetize your app. In particular, get ready to find out how app developers are ditching their backend servers with the help of the Google Cloud!
          11:15 - 12:00
          Cool ConstraintLayout

            Huyen Tue Dao
            45 Minutes session
          ConstraintLayout is the newest layout on the Android platform. While it’s often compared directly with RelativeLayout in terms of functionality and performance. However, it actually possesses many features and ways of building layouts, even if you don’t count the shiny new features. But since it’s so new, you may not have heard of all of them yet. In this session we will look at some examples of cool things that you can do with ConstraintLayout to more easily build complex layouts and transitions, focusing on features unique to ConstraintLayout.
          11:15 - 12:00
          'It’s an Inside Job' - Building Debug Feature

            Sam Edwards
            45 Minutes session
          Manipulate and interrogate your app on the fly to save time, and your sanity. Stop running one-off Gradle builds, and start compiling debug-only features right into your APK. You have complete control in debug builds, so learn how to use that to your advantage. I’ll show you how you can: 1) Change configurations on the fly. 2) Validate background work through custom logging and exporting features. 3) Manipulate locally stored data and SharedPreferences. 4) Simulate push notifications.5) And more. This pattern has been extremely helpful with the development and testing of Capital One Wallet. I’ll share examples of how we’ve leveraged this pattern and provide advice on what features created the most value.
          11:15 - 12:00
          Moving Mountains: The Art of Changing Large Software Systems in Place

            Jason Sendros-Keshka
            45 Minutes session
          Learn about the process of replacing critical pieces of infrastructure without disturbing engineers or users.
          12:00 - 12:30
          Lunch
              30 mins session
            Lunch
            12:30 - 13:30
            Codelab: Build it with Firebase

              Doug Stevenson + TAs
              1 hour session
            Follow along in this codelab to build a chat app that uses several Firebase features working in tandem. Bring your laptop that’s ready for Android development (Android Studio 2.3+ and a device or emulator for testing)!
            13:30 - 14:30
            Just Android Things…

              Dave Smith
              1 hour session
            Android Things is a platform that brings the power of Android development to embedded and IoT devices. Android developers can use the Android SDK, Google services, and development tools they are familiar with to get up and running quickly. In this talk, you will learn why Android Things exists, where it is supported, and how to get started with development.
            13:30 - 14:30
            Getting Clean, Keeping Lean

              Joe Birch
              1 hour session
            Whilst crafting products, it’s common for developers to find difficult to ship products and fast whilst also creating a codebase that allows you to easily do so. Whilst at the beginning of a project lifecycle you are free and able to move quick, it’s the technical debt build up that will make it hard for both you and future developers to move fast and maintain your codebase. Clean Architecture allows you to create a codebase that is both easy to maintain and extend, whilst also opening up the ability to thoroughly test each layer of your codebase. Following Clean Architecture has made me discover the advantages that it can bring our projects. Coupled with the following of SOLID principles, codebases can not only become cleaner and well tested, but they can move in a direction that allows us move fast whilst remaining easy to work with at the same time. In this talk, we’ll be looking at what clean architecture is, why we should bring it on board and how we won’t be looking back.
            14:30 - 15:30
            `Rxify`— a simple spell for complex RxJava operators

              Garima Jain
              1 hour session
            This talk is about the operators which upon reading the document look daunting at first but if you get a grasp of them, they can be quite useful in almost all the apps you code. RxJava is your friend, it will make your life easier. With RxJava many complex tasks can be accomplished easily and without errors. As the title says, Rxify – you just need to cast the spells and all your work will be done. From hitting the cache-first to performing retries, just cast the spells and you are good to go. This talk is mainly aimed for people who have at least some knowledge of RxJava, but after listening to this talk even beginners would want to learn to `Rxify` their apps.
            14:30 - 15:30
            Roasting Google APIs on a Firebase to create Uberritos

              Ishan Khanna
              1 hour session
            This talk will help developers learn how to create an Uber like app within hours and zero lines of backend code, leveraging the capabilities of Firebase – a realtime database in the cloud as a data provider and Google Maps, Places and Directions APIs as a case study for the sample app.
            14:30 - 15:30
            How TripAdvisor uses Android CI with cloud testing and automated Google Play deployment

              Paul Reilly
              1 hour session
            Discover how the TripAdvisor CI infrastructure improves the productivity of our engineers by allowing them to implement a feature, test it, open up a pull request, and move on to another task. If issues are discovered during the CI builds, engineers can address them and update the pull request to repeat the process. If all the builds pass, the engineer can be confident that functionality in other areas of the product has not broken and can safely merge to master. If engineers had to run all the existing tests locally before merging to master, it would currently take over 10 hours. 10 hours is a long time to tie up CPU and memory resources on a developer’s machine. Learn how TripAdvisors uses tools like fastlane supply, HockeyApp, Robolectric, and GenyMotion to continuously deployed master, prerelease and release branches!
            14:30 - 15:30
            How TripAdvisor uses Android CI with cloud testing and automated Google Play deployment

              Paul Reilly
              1 hour session
            Discover how the TripAdvisor CI infrastructure improves the productivity of our engineers by allowing them to implement a feature, test it, open up a pull request, and move on to another task. If issues are discovered during the CI builds, engineers can address them and update the pull request to repeat the process. If all the builds pass, the engineer can be confident that functionality in other areas of the product has not broken and can safely merge to master. If engineers had to run all the existing tests locally before merging to master, it would currently take over 10 hours. 10 hours is a long time to tie up CPU and memory resources on a developer’s machine. Learn how TripAdvisors uses tools like fastlane supply, HockeyApp, Robolectric, and GenyMotion to continuously deployed master, prerelease and release branches!
            15:30 - 16:30
            Don't reset --hard: Strategies for Tackling Large Refactors

              Siena Aguayo
              1 hour session
            How many times have you started an ambitious refactor only to get lost and end up doing a git reset –hard? Android libraries are updated constantly, sometimes with breaking changes, and it can be tough to keep up. Maybe you want to try several new technologies at once as part of your refactor. This talk will teach you some techniques for refactoring your code in a way that makes you not get so overwhelmed that you have to start over.
            15:30 - 16:30
            'Real World' not 'Hello World' Android native development

              Siamak Ashrafi
              1 hour session
            The current way native mobile development is taught is at best incomplete and at worst completely misinformative. This session will be presenting a more holistic way of building for native mobile Android. We begin by showing the the highest quality resources to learn (free). Then the session discusses what most mobile developers wish they knew before they started. The best architecture, design patterns, libraries, tools, tips, tricks and common mistakes to avoid before writing the first line of code. We follow with a review of how major companies develop mobile apps internally by exploring their open source projects and current publications regarding their latest advancements in native Android mobile development. We conclude by reviewing the extensive research and key insights behind using analytics to drive distribution and monetization. Slides: https://goo.gl/dPDskh
            15:30 - 16:30
            Don’t be ashamed of your gradle.build files anymore

              Madis Pink
              1 hour session
            Nobody really knows when, why or how build scripts inevitably end up as a huge mess. Nor why there’s always just the one person on the team knows how not to break it (You know, the build guy). The only thing we can be sure about is that at one time or another everyone has or is experiencing it with their projects. We’ve already heard how you can keep your app architecture clean with various MV* patterns, but it’s all too easy to neglect your build files. Is there anything that can be done to keep Gradle build files clean? Of course there is! In this session we’ll look at various ways that we can structure our Gradle build files to clean them up and future proof their tidyness. You will also learn how to write custom Gradle plugins and finally tame those crazy complex projects.
            16:30 - 17:30
            Creating mobile, sensor-aware, and VR apps with Processing for Android

              Andres Colubri
              1 hour session
            This talk will give you an introduction to Processing for Android. It will cover the basics of the Processing language that allows to effectively program interactive graphics in 2D and 3D, and will describe the application of these techniques to different types of Android devices: smartphones, tablets, wearables and smartwatches, as well as to Cardboard-compatible devices in order to create VR experiences. Processing started in 2001 at the MIT Media lab as a project to increase software literacy in the arts and design, and today it is used around the world as a teaching and production tool. An advantage of Processing for Android over more complex programming environments is that it allows the users to focus on the interactions and visual output of their code rather than in the implementation details of the Android platform.
            16:30 - 17:30
            Toothpick: a fresh approach to Dependency Injection on Android

              Daniel Molinero Reguera
              1 hour session
            You find RoboGuice simple but slow? And you think Dagger 1 & 2 are fast but complex and bloated? Toothpick is the best of both worlds! Toothpick is a scope tree based, runtime but reflection free implementation of JSR 330. It is pure Java, with a special focus on Android. Toothpick is fast (even faster than Dagger 2 in some cases!) and is simpler to use, with less boilerplate code. Its syntax is very close to Guice. It supports named dependencies, lazy dependencies, providers, and has built-in support for custom scopes. As compared to Dagger 2, Toothpick provides more powerful testing support, allowing you to leverage DI to mock dependencies using either mockito or easymock. Its explicit scope tree helps developers to build more robust apps. It provides more fine grained control to easily implement complex user flows that span multiple activities or state preservation across configuration changes (e.g. rotations), a common issue when implementing the MVP pattern. During this talk for experts, we will introduce Toothpick, its main features and how it compares to other DI libs. We will explain how Toothpick scopes and scope annotations can solve advanced use cases when developing Android apps.
            16:30 - 17:30
            Rapid Integration of Third Party Features and Services Into Your Android App Using Button

              Tyler Nappy
              1 hour session
            Button allows you to add features and services from the biggest apps in the industry (Uber, Jet.com, Hotels.com, etc.) with just a couple lines of code to your iOS, Android, or mobile website in the form of you, you guessed it, a tappable button. In this live demo, we’ll deep dive into how to use a user’s GPS location to book an Uber from an Android application using Button’s SDK by coding an app from scratch.

            Keynote

            09:00 - 09:30
            How to be an Android Expert

              Chiu-Ki Chan
              1 hour session
            Think of an Android expert. Why do you consider this person an expert? “She knows a lot about Android”, you say. But how do you know? You know because she shares her knowledge, through blogs, talks, StackOverflow etc. Experts are just that, people who share their knowledge. Sharing puts you in a positive feedback loop: the more you share, the more knowledgeable you become. Let me walk you through some concrete steps you can take to start sharing and build up your expertise.