anroid for cars app library

building a scalable and efficient library to develop car apps

for Android Auto & android automotive OS (Google)

 
The Android for Cars App Library is an SDK that allows developers to bring their apps into the car screens. It does so by providing a set of templates designed to meet driver distraction standards, and taking care of details such as the variety of car screen factors and input modalities.
 

GOOGLE I/O 2021 announcement.

my role as the UX lead (~2 years)

  • Collaborated with cross-functional leads to set a successful multi-year product strategy, as well as an executable roadmap.

  • As the lead designer I provided oversight to product & motion designers, researchers and writers.

  • I was the point of contact for global partners (app developers and car OEMs), working alongside them to validate strategy, gain insights and iterate on design continuously.

 

making sense of the chaos (setting the initial strategy)

 

We had the big picture, but we also had a huge knowledge gap: What do developers need from an SDK? What do end-users (drivers) need from the app experience in the car vs. on other touch points? And a million other questions you have, when you start from scratch. We battled ambiguity together as a team, some useful things we did: .

  • To gain developer and end-user insights, we conducted developer interviews, secondary research and even early user studies that eliminated quite a few of the complex directions we were excited about.

  • We generated a high number of features through design exercises: visualizing sample user flows, app architectures and component behaviors. This provided the variety needed for a meaningful start; and quickly surfaced shortcomings and strengths of directions.

  • We rigorously prioritized the MVP experience and feature set. We ran these by early access developer partners, having hard conversations about scope and minimum but lovable user experiences.

 
 

this just got real (building the mvp)

Routing card component explorations, showing how it needs to flex from one state to another.

discovering need for flexibility & creating a framework around safety

We observed how different global driving conditions and end-user behaviors affected product needs. I advocated to enable flexibility for developers, so they could answer their own unique user and product needs. We built a template/component set and capability framework that supported creation of unique app architecture and user flows.

Biggest challenge was ensuring driver safety while giving developers flexibility. I collaborated with safety and product researchers to generate a driver-distraction framework that was easy to understand and incorporate. MVP version was quite limited, with feedback and further research we iterated on it to keep attracting an increasing set of app categories & developers.

 

build, test, iterate… with confidence

We started the design phase with high ambiguity in every single area. Early on, I saw that the UX team needed to understand the technical complexity to a degree. This was not a traditional interface design problem. This was a development kit; the APIs and capabilities engineering team was building needed design input as much as the pixels on the user interface. We needed to dive deep and work closely with our engineers.

Technical lead and I constantly enhanced our process as team and product matured. For the most part, we designed in sprints, prototyped via design tools & code (with engineers), and tested in the car with users. We also had weekly sessions with early access partners for continuous insights and feedback on designs/APIs. All this enabled us to explore, design, build and iterate with high confidence.

Prototype for a browse flow to figure out motion design details

 

onwards and upwards (beyond the mvp)

Expanding to the OS platform

Library enables developers to build a single app and deploy it on multiple car platforms - Android Auto Projected and Android Automotive OS.

User context and needs did not change, even if the underlying technology changed from phone projection to embedded car OS. So, I firmly advocated for enabling single app design across platforms as our next big goal (alongside planned feature development).

  • This meant familiar interfaces for end-users, while providing huge efficiency to developers - most with limited resources.

  • Car OEMs, new partners, got a fast-growing app ecosystem with minimal effort.

A challenge was the contradicting needs OEMs had. For example, they wanted to customize the app UI for consistency of the infotainment system. However, customization that affected structure and basic functionality of an app was a major risk. I led the team to develop a customization strategy which maintained app user experience intact and got buy-in from the major partners.

Different OEM design systems rendering the same charging apps’ filter view

 

impact 🥳

Apps developed by a global set of developers

Increased Android Auto usage, and app ecosystem growth:

  • Within the first few months of the public release, we got 400+ apps published with 4.5 m MAU.

  • Increased Android Auto projection usage in several countries where we previously had little to no market share in (Korea, Brazil, North Europe etc.).

SDK efficiency and clear developer design guidance:

  • Extremely positive developer feedback, apps built in a matter of days. 

Solid design strategy that set a scalable foundation:

  • Launched on Automotive OS platform with minimal design/engineering effort.

  • Able to add IoT apps instantly and open up to all POI apps (fueling, restaurant finding etc.). Ride share category coming soon.

 

some learnings 🤔 & failures 🙄

 
  • Even when working within an established product, it is still a huge challenge to build something from scratch.

  • We underestimated new dynamics when doubling team size. Twice the people = Whole new team!

  • We didn’t address customization strategy misalignments with leadership fast enough. While I helped course-correct and align, this caused the team quite some churn. Take a moment to get explicit approval/alignment, especially when working with brand new stakeholders.

  • Most importantly, I learned the importance of a tight, open-minded, diverse, respectful and dedicated team. No challenge deterred this bunch.