Annyce is an Android Google Developer Expert. She has spent the past 6 years developing applications for the Android ecosystem across multiple form factors. She is also a international conference speaker and author, sharing her knowledge of Android development with others. In addition, Annyce is active in the Washington, DC tech scene and assists with running a local meetup focused on Android development and design.
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!
Chiu-Ki is an Android developer with a passion in sharing her knowledge. She blogs about Android, speaks about Android, draws about Android, and makes videos about Android. She is very active in the Android community, and has been recognized as a Google Developer Expert for her extensive knowledge in Android.
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.
Nathan Eagle is the CEO and co-founder of Jana, the largest provider of free Internet in emerging markets. Born out of his time as a Fulbright professor in Kenya, Nathan began Jana from the insight that smartphones can be used not only for global communication, but also data sponsorship. He founded Jana with a simple, yet powerful mission—to make the Internet free for the next billion. Nathan saw first-hand how affordable mobile data empowers users in these markets through his work teaching app development at the University of Nairobi, Kenya. It was there that Nathan and his students created an SMS system that became the technical infrastructure of Jana. Nathan realized that the sponsored-data model can both power smartphones and empower users.
Nathan graduated from Stanford University with a B.S. in mechanical engineering and master’s degrees in management science and engineering and electrical engineering. His Ph.D. from the MIT Media Laboratory on Reality Mining was declared one of the “10 technologies most likely to change the way we live” by the MIT Technology Review. He was also named a Technology Pioneer by the World Economic Forum in 2014.
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.
Adrián has been involved in software industry for 10+ years, working both in web and mobile apps. GDG Guatemala, GuatemalaJS and Nodebots former co-organizer. Currently he leads the Innovation Lab at Galileo University and is a Google Developer Expert(GDE) for Android, IoT and Firebase.
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.
Andres Colubri is a researcher working in the visualization and modeling of biomedical data, as well as with interactive graphics applied to arts and design. He originally obtained a doctoral degree in mathematics back in his native Argentina, and later pursued an MFA at the Design Media Arts department at the University of California, Los Angeles. He is also a member of the Processing project, a programming language, environment, and community focused on making code-based art. He is currently developing the next version of Processing for Android, which includes support for wearable devices and VR.
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.
Caren currently working on the Android team on June Oven, building the first truly smart oven to help anybody cook! Previously she worked at VSCO, helping build and support the Android app for over 5 million users. Caren hastaught a few Android classes through organizations such as Women Who Code and also AP Computer Science for high school students.
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.
Daniel is an Android Software Engineer at Groupon. He is a passionate Science geek with special interest in performance, design and security.
Before joining Groupon, he worked as a Web and Android developer for 6 years, participating in the development of some Android applications as: Hostelworld, Bonobu and now Groupon.
He is keen on contributing to the community by writing articles and collaborating on some open source projects: Toothpick, Dart & Henson, etc. Moreover, he has taken part in some conferences: Berlin Droidcon 2016, Mobile Era 2016 or AndDevCon San Francisco 2016.
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.
Dave Smith is a Developer Advocate at Google, focused on IoT and the Android Things platform. Dave has been working with the Android stack at all levels since 2009, developing custom applications and system components to run Android on embedded platforms or interact with external embedded devices. He has a passion for making devices, and developers, smarter.
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.
Eliza is an Android developer at Pixplicity and a student at the Faculty of Automation and Robotics Engineering in Thessaloniki. Her big passion is to explore and play with new technologies while she enjoys traveling, and attending conferences and meetups.
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 😉
Eric Brynsvold is an Android Developer on the Mobile Core team at Atlassian, empowering the HipChat, JIRA and Confluence development teams to ship great products! Prior to working for Atlassian, he worked for mobile agencies working with a variety of clients, including Under Armour, Union Bank and HomeAway. Before getting into mobile development, Eric worked at National Instruments where, among other things, he served as an instructor and course developer of classes for his fellow engineers. Away from work, you can find Eric behind a camera, in the kitchen, or at a baseball game.
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.
Garmin is an IIT Jodhpur (India) post-graduate (M.Tech) and currently working as an Android Developer in Fueled Digital Media Ltd having an experience of around 4 years in this domain. She work with some of the top tech startups and high profile clients such as Quizup, Porsche, Venturebeats, Gilt, HBO, Chicago Bulls, Kapture, KeyMe, Ducati, Rite Aid, Afterlight and more.
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.
Hod is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, focusing on mobile for the last seven. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung.
Huyen Tue Dao is an Android developer and Google Developer Expert, currently working on the Android team at Trello.
Huyen is co-creator of the “Android Dialogs” YouTube channel which features interviews with people in the Android community.
She lives in Denver, CO, though is often found in the DC Metro area. When she is not up late programming, she is often found up late gaming (video, board, card, anything).
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.
Jason is a software engineer at Facebook working on News Feed’s infrastructure on Android. Since he joined Facebook 4 years ago, he’s worked on making the Facebook for Android app faster and more sustainable. He’s well versed in scroll performance and the iterative approach to rewriting software in place. He’s also alright with Flexbox and annotation processors.
Learn about the process of replacing critical pieces of infrastructure without disturbing engineers or users.
Hi, my name’s Joe. I’m an Android Engineer based in Brighton, UK working on the Android team at Buffer. I’m passionate about coding and love creating robust, polished and exciting projects for mobile, the web, TV, wearables and I’ll probably be toying with whatever the new thing is at the time you’re reading this – I love to be constantly learning. I’m also a keen writer as I love to share my learnings and experiences with others.
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.
Ishan is a passionate product enthusiast and self-taught developer who loves open source technologies, tech conferences, and hackathons.
Currently as a Graduate Android Engineer at Booking.com (Amsterdam, Netherlands), he is helping people enjoy their vacations across the world. Ishan is also PMC member at Apache Fineract Project, Android Code maintainer at Mifos Initiative. he successfully graduated as a Google Summer of Code Intern in 2014 under Mifos and in 2015 under XMPP Standards Foundation and mentored students at Google Summer of Code (2016).
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.
Madis is currently working on JRebel for Android at ZeroTurnaround. He started hacking on Android apps on a T-Mobile G1 more than 8 years ago and quickly grew a particular interest in build systems and developer tooling. His previous experience includes working on the Android Platform team at Spotify and working on multiple apps at Mobi Lab. During his free time he likes to dabble around with guitars and home recording.
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.
Mark is a professional Android engineer since Cupcake. He has worked on apps with millions of users and has spoken around the world about our favorite operating system.
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.
Part of Ionic core team, Mike helps developers while they are building their apps and also frequently speaks and writes about Ionic. In his spare time, he’s a hybrid app maker, occasional musician, and craft beer lover.
The web, yes that web, is making a comeback. As native development has been 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.
Nick DiPatri is an Android consultant at Comcast. He has a degree in Electrical Engineering from Rutgers and has been doing software development since his first Commodore 64. Earlier in his career, Nick developed software/firmware/hardware solutions including RF modelling, large-scale traffic sensor arrays, and N-Tier highly available Java enterprise systems. Since this whole mobile thing caught on, however, he’s been in heaven.. mostly because it lets him play with smart phones, solder and 5-minute epoxy.
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!
Nitya is a software architect and consultant with nearly 20 years of experience building mobile, web and distributed computing solutions. She has a PhD in Computer Engineering and developed patented mobile, television and wearable technology during my 12-year tenure at Motorola Research. Nitya currently works with early stage startups and universities to build mobile web product for consumers in the entertainment, social good and ubiquitous computing domains. she also organizes Google Developer Groups (in New York and Hudson Valley) and related Android Camp and DevFest developer conferences in NYC.
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.
Paul comes from a family of coders. His father started things off at Data General working on projects like the Soul of a New Machine. Then he taught his three sons to code in the 90’s. After long stints at Allaire, Macromedia, Adobe, Bullhorn, and Brightcove, Paul now at TripAdvisor, where he’s loving the short commute, free lunches, and fun challenges that come with working with roughly 50 Android engineers all contributing to a single app and releasing every two weeks. It’s safe to say that his two sons are likely to also become coders when they grow up.
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!
Phil Corriveau is an Android Developer at Intrepid, an end-to-end digital product strategy, design, and development company based in Cambridge, MA. After graduating from Cornell, Phil has spent the past three years in the mobile space, with a main focus on the Android platform. During his time at Intrepid, Phil has successfully led project teams and has maintained several apps in as many as 17 different languages. As a leader in Intrepid’s in-house training program, Phil has prepared teaching material, given lectures, and mentored new developers on the Android platform and best practices.
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.
Phil loves Android even more than baseball.
He is an Android developer for VarageSale, a family-friendly app which lets you buy and sell new and used items locally. Phil is also the lead Android developer for Triplify, an Australian-based startup which tells you what’s going on wherever you are. In a past life Phil was a controls engineer, but he started working with Android during the Froyo days and have never looked back.
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!
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.
CTO @ ZoeWave building physiologically intelligent clothing (technology patents) and a researcher @ TDI working on medical biomarkers (publications / presentations). His frequent code-a-thon wins have gone on to become published Apps (iOS & Android). As a thought leader in mobile and wearable development, he is an enthusiastic author, teacher and speaker helping promote the ecosystem (fashion & technology). You can also catch him DJing or competing in three phases of H2O (Snow / Surf / Kite – boarding). https://goo.gl/dmkJ0a
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
Siena is a software engineer at Indiegogo in San Francisco, where she works mostly with Rails and Angular. A Los Angeles native, Pokémon master, and international public speaker, Siena enjoys playing video games, knitting, jamming on the guitar, and studying Japanese. You can find her at emojiparty.net, where she blogs about tech with Stella Cotton.
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.
Tyler is a Software Engineer, Head of Developer Relations at Button. Web developer and hardware tinkerer jumping into the world of mobile development. When he’s not coding or prototyping, you can find him running, swimming, or cycling.
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.
Victoria is a software developer at Collective Idea, building mobile and web applications. She is passionate about using technology to help better the lives of individuals. Studying both Computer Science and Dance in college, she now enjoys digging into dance technology, and keeping up with dance classes in her spare time.
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.