Watch Face Format

A watch face is the first thing a user sees when they look at their watch, making it the most frequently used surface of Wear OS. Users rely on watch faces to customize their watches to suit their style and provide quick information at a glance.

Audience

Our new Watch Face format (WFF) makes it easier than ever to build a watch face. In partnership with Samsung, we have released Watch Face Studio, a What-You-See-Is-What-You-Get style tool, that lets you design the watch face directly.

If you prefer to manage your watch configuration manually, you can also define watch faces using XML. These guides target developers who use XML, or who build custom tools to create watch faces using Watch Face Format. Android Studio also includes support for building and running watch faces that use Watch Face Format.

Created in partnership with Samsung, the Watch Face Format is a declarative XML format to configure the appearance and behavior of watch faces. Unlike other watch face APIs, where your APK must include the code to render the watch face, the Watch Face Format only requires resources and declarative instructions. The Wear OS platform handles the logic needed to render the watch face so you can focus on your creative ideas, rather than code optimizations or battery performance.

Watch faces built with this new format require less maintenance and fewer updates than those built using the legacy Jetpack Watch Face libraries. For example, you don't need to update your watch face to benefit from improvements in performance or battery consumption, or to get the latest bug fixes.

About the format

At the heart of a Watch Face Format (WFF) watch face is a document that defines the layout and behavior of the watch face. This document is written in XML, conforming to the WFF specification.

The Wear OS system includes a watch face renderer component. This component parses your WFF XML document and renders a watch face from it. Other resources, such as images and fonts, are pulled in as necessary.

This approach means you only need to spend time describing how the watch face should look, and Wear OS handles all of the code for drawing the watch face.

To deploy a Watch Face Format watch face to a device, package the XML document in a standard AAB or APK package.

The following diagram shows an overview of the approach:

How the Wear OS system renders a watch face from a
         Watch Face Format XML document.

Versioning in WFF

As WFF evolves, new features are added, represented by new elements, attributes, data sources, etc. in the format.

For example, WFF version 2 introduced Weather support as a data source, which is not available in WFF version 1.

When designing your watch face, be aware of which features you want to use and their version availability. The reference guide marks all features with their availability.

Each version of WFF aligns with a Wear OS release:

WFF version Minimum Wear OS version Minimum API level
1 4 33
2 5 34
3 5.1 35
4 6 36

See this guidance for configuring your AndroidManifest.xml and Gradle build file appropriately.

Learn more

Learn more about the Watch Face Format in these guides:

  • Available features: Explore the watch face capabilities that each version of Watch Face Format supports.
  • Design guidelines: Learn best practices for your watch face's layout and user experience.
  • Setup: Configure an Android App Bundle that supports the Watch Face Format.
  • GitHub samples: Get started by building sample watch faces and deploying them on the Wear OS emulator or your physical device.
  • Optimize memory usage: Learn how to configure your watch face so the system consumes as little memory as possible when rendering your watch face.
  • XML reference: Explore the individual elements that are parts of a Watch Face Format file. The root element is always WatchFace. Note: To view features from a specific Watch Face Format version in the XML reference, check that the appropriate version button is selected at the top of the documentation page.
  • Publishing guide: Learn how to publish and monetize your watch face through the Play Store and alternative methods.
  • WFF and memory validator: Use these open source tools to check your Watch Face Format file for errors and confirm acceptable memory usage before submitting to Google Play.