Why Form Factors Are Not Enough

▶ Watch (0:02)

Don showed the audience three images of the same device in different modes: folded, docked with keyboard, and on a monitor stand. Less than half agreed on what a “tablet” is. Devices switch form factors instantly and don’t fit neat categories. Building per-form-factor UIs creates duplicate code and maintenance. The better approach is to design for UI capabilities like window size and pointer type. This works across any device without branching code.

AI Agent Resources: Knowledge Base and Skills

▶ Watch (3:51)

Jose introduced two key resources for Android developers. The knowledge base contains thousands of up-to-date articles from Android docs, Firebase, Google Play, and Kotlin. Skills are modular, opinionated instructions that teach LLMs best practices and specific workflows. Both are available in Android Studio and the new Android CLI, which lets agents manage SDKs, emulators, deploy apps, and search the knowledge base. They announced an adaptive skill that guides step-by-step adaptation, downloadable via GitHub or CLI.

The Step-by-Step Plan: Migrate, Test, Then Adapt

▶ Watch (9:55)

A single “make my app adaptive” prompt works for simple apps but fails for complex ones. The speakers recommended a plan: first migrate all views to Compose (Android is now Compose-first; View system libraries are in maintenance mode). Then migrate to Navigation 3, which natively supports multi-pane layouts without changing backstack state. Add screenshot tests before making changes. Use Compose Preview Screenshot Testing to compare multiple window sizes with one annotation. The agent can generate previews by right-clicking a composable.

Making Layouts Adaptive: Navigation and Multi-Pane

▶ Watch (16:44)

Don prompted the agent to “make the navigation area adaptive.” The skill uses the Material Navigation Suite Scaffold for out-of-the-box solutions. On large screens, the bottom navigation bar was replaced by a nav rail. For list-detail layouts, the agent used Nav 3’s scene decorators to show a conversation list next to detail with a placeholder. The model fetched the correct APIs from the skill. After big changes, Don asked the agent to build, generate screenshot tests, and deploy to the emulator using the Android CLI emulator manager.

Adaptive Components: Flexbox, Grid, and Media Query

▶ Watch (20:32)

Jose demonstrated making individual components adaptive. The feed screen used GridCells.Adaptive to show two columns on a phone, three on a foldable, four or more on larger screens. A collapsible bottom bar was added for compact heights using the edge-to-edge skill. The new experimental Media Query API (inspired by CSS) exposes window size, pointer precision, microphone, camera, and keyboard capabilities. A derived variant avoids recomposition on rapidly changing values. Flexbox wraps filter chips onto multiple rows above 600 dp. Grid creates a 2x4 layout on mobile and 4x2 on large screens, with the top pet spanning 2x2 cells.

Notable Quotes

form factors aren’t quite as useful as we once thought they were for designing UIs. Don Turner · ▶ Watch (2:24)

In Android 16, you can’t restrict your app to portrait anymore. Don Turner · ▶ Watch (7:13)

It’s absolutely awesome that a complete beginner can create a prototype app in two minutes. But what users really care about is quality. Don Turner · ▶ Watch (35:40)

With AI, a good developer will create a good app and an excellent developer will create an excellent app. That is not changing. Don Turner · ▶ Watch (36:30)

The investment is considerably lower now and the return keeps growing every day. Don Turner · ▶ Watch (36:48)

Key Takeaways

  • Use the adaptive skill with Gemini 3 Flash for step-by-step UI adaptation.
  • Migrate to Compose and Navigation 3 first; add screenshot tests before changes.
  • New Media Query, Flexbox, and Grid APIs make adaptive components easier to build.