In this agile growing mobile industry, you can easily find many apps solving one user problem, but the winner is the one with seamless user experience.
The company I work for Hotstar targets million users daily with 1000’s of features running in all different corners of the world and in such scenario launching a new feature to all of the app users is scary, as you can't be sure how well the feature will be received by users and that’s where Remote Config offers you dynamic control to app features by gating them with percentage rollout and slowly expose users to new features.
Currently average Android app size increases by up to 10% in six months. Giving updates more frequently leads to a bad user experience. We have complete set of in app defaults, to face any config fetch issues and user receives the best without much app updates. Moreover, you can disable the faulty features on current installs to maintain a seamless user experience and schedule a fix till next release.
Validating feature improvements by know about the choices of our users, we get interesting analytics results through Firebase A/B testing with no efforts on client end. Even during live streaming of matches or any content we have the hold of every feature of the app and we can route every api calls based on traffic received.
Even created, a small tool to override the firebase config for a device which helped our Developers, QA and Product team a lot. We don’t need to create separate APKs with specific features on and off.
Not only this, to simplify collaborative workflows, we have Slack alerts in near real time about any config changes pushed by any devs.
Dividing the module of a Monolithic Android app to realise multi-module application is considered as an important concern in recent Android development.
This session distils all the pitfalls and best practices in building a complex app and take a look at the usefulness of multi-module application and how we implemented Dependency Injection in our consumer app at Gojek(superapp.is)
Some of the highlight points of this session are:
i. Reintroduction to DI
ii. Reintroduction to Dagger-Android
iii. DI in single module projects
iv. DI hotness in multi-module projects
v. Realise DI in multi-module projects using Dagger2
By Brett Morgan Developer Relations Engineer, Flutter & Dart @ Google
15:15 - 16:00
Flutter is Google’s portable UI toolkit for building beautiful, natively-compiled applications for mobile, web, and desktop from a single codebase. Come along to learn how to get started with Flutter as we demonstrate building an application live on stage.
MotionLayout is a new class available in the ConstraintLayout 2.0 library to help Android developers manage motion and widget animation in their application. In this talk, we’ll explore how you can very easily build complex layout animations and motion handling through simple XML code.
Google Assistant - Reaching Next Billion Users with Your Actions
By Anuvrat Rao Head of APAC Assistant Product Partnerships @ Google
16:30 - 17:00
The Google Assistant supports an expansive list of countries, languages, and devices, including recently: KaiOS and Android Go phones. Come learn how users in emerging markets are interacting with the Google Assistant, what they expect from your Actions, and what opportunities you have to grow your services with them. Leave with technical and design considerations, as well as common mistakes to avoid when building for the next billion users.
Tokopedia is one of the biggest e-commerce in Indonesia with many businesses supported. Our challenges is to fulfill all Tokopedia business requirements in one application. This session will share how we scale, maintain and solve problem in Tokopedia Apps
Billions of people in over 180 countries use WhatsApp to stay in touch with friends and family. At WhatsApp we relentlessly work on shrinking our apk as much as possible given that many of our users live in regions with poor connectivity and we are committed to leave no one behind. In this session we will cover some of the wins, regressions, strategies and technologies that we use to tame WhatApp's apk size.
These days, Unit Tests are almost expected in Android projects, with Google providing more and more ways to architect your project to allow easy unit testing.
Now that we have this test coverage, its time to test our tests, to make sure that they are providing us the safety net we expect them to be, using a technique called mutation testing.
This talk will go over the basics of mutation testing, how it benefits us, and how to introduce it to an Android project.
Atomic Design is a UI design methodology that involves breaking a layout down into its basic components which are then reused throughout the application . I want to introduce engineers to the concepts behind the methodology of design, show them how it can be applied to mobile development in general, and then jump into specific implementations within the context of the Android apps.
I’ve done a previous talk that broadly focused on the architectures behind MVI and Redux on Android, with a small section devoted to the UI implementations. I would like to take this opportunity to dive deeper into the UI aspect covering things like: Component Naming, Component Responsiveness, Patterns for behavior and interactions, Testing, Documentation and Organization
Android Accessibility Testing
By Shailen Tuli Developer Programs Engineer, Android @ Google
14:15 - 14:45
You’ve spent a great deal of time working on a testing strategy for your project and you’ve developed an impressive battery of tests. And yet...you've never really thought in depth about accessibility testing. Or, you’ve thought about it, but didn’t know where to begin.
This talk explores testing strategies you can adopt to ensure you’re creating more accessible apps. You’ll learn about the Accessibility Test Framework for Android and how you can seamlessly integrate it into your Espresso and Robolectric tests. You’ll explore testing using Talkback, Switch Access, and other services. And you’ll dive into testing with analysis tools like Accessibility Scanner, Talkback’s Node Tree Debugger, UI Automator Viewer, and Android Lint. And finally, you’ll understand the value of testing your apps with actual users.
Using location services to personalise app user experience
In this talk we would discuss the latest updates in location services rolled out for Android Q. How to provide personalised user experience using location services, focusing more precisely on Geofencing. How to avoid common pitfalls and optimising for battery life and app performance.
By Igor Bozin Android Integration Engineer @ Anyline
15:30 - 16:00
The talk will present a tool developed by me to spare developers from writing repetitive code. It creates classes in both Java and Kotlin which use Jetpack components for standard required operations like database operations, network calls etc. automatically by giving as input only the database format, URL and REST server endpoints and then all the code is generated according to MVVM standards by the tool.
Panel Discussion: Scaling Architecture and Engineering teams