
Posted by Michael Stillwell – Developer Relations Engineer
This put up is a part of Put on OS Highlight Week. As we speak, we’re specializing in creating participating experiences throughout the varied surfaces accessible on the wrist.
Creating for the rising ecosystem of Put on OS is a novel and rewarding problem that encourages you to assume past cell patterns. Put on’s design philosophy focuses on crafting experiences for a tool that is all the time with the person, the place significant interactions take seconds, not minutes. A profitable wearable app would not try to maximise display time; it as an alternative goals to ship significant glanceable experiences that assist folks keep current and productive whereas on the go. This imaginative and prescient is now totally enabled by the subsequent era of {hardware}, which we explored final week with the introduction of the brand new Pixel Watch 4.
Put on OS units additionally introduce constraints that push you to innovate. Energy effectivity is crucial, requiring you to construct experiences which might be each stunning and battery-conscious. You may additionally sort out challenges like dealing with offline use instances and catering for a number of display sizes.
Regardless of these variations, you may end up on acquainted technical foundations. Put on OS relies on Android, which suggests you’ll be able to leverage your current data of the platform, structure, developer APIs, and instruments to create wearable experiences.
Put on OS surfaces
Put on OS presents a variety of surfaces to tell and interact customers. This lets you tailor your app’s presence on the watch, offering the precise info on the proper time and scaling your improvement funding to greatest meet your customers’ wants.
Watch faces show the time and are the very first thing a person sees once they take a look at their watch. We’ll cowl watch faces in additional element in different weblog posts throughout Put on OS Highlight week.

Apps present a richer, extra immersive UI for advanced duties which might be too concerned for different surfaces.

Notifications present glanceable, time-sensitive info and actions.

Issues show highly-glanceable, related knowledge out of your app immediately on the person’s chosen watch face. Be taught extra about constructing complication knowledge sources for Put on OS.

Tiles (Widgets for Put on OS) supply quick, predictable entry to info and actions with a easy swipe from the watch face.

While a wide range of Put on OS surfaces let builders to have interaction with customers in several methods, it might be overwhelming to get began. We suggest approaching Put on OS improvement in phases and scale up your funding over time:

- Enhance the wearable expertise of your cell app. You’ll be able to enhance the wearable expertise with minimal effort. By default, notifications out of your telephone app are routinely bridged to the watch. You can begin by enhancing these with wearable-specific actions utilizing NotificationCompat.WearableExtender, providing a extra tailor-made expertise with out constructing a full Put on OS expertise.
- Construct a companion expertise. Once you’re prepared for a devoted UI, create a tethered app expertise that is determined by the telephone app for its core options and knowledge. This includes making a tethered app that works in tandem together with your telephone app, permitting you to design a personalized UI for the wrist and reap the benefits of surfaces like tiles and issues.
- Graduate to a standalone app. Lastly, you’ll be able to evolve your app right into a standalone expertise that works independently of a telephone, which is good for offline situations like exercising. This supplies probably the most flexibility but in addition requires extra effort to optimize for constraints like energy effectivity.
Notifications
Notifications are a core a part of the Put on OS expertise, delivering glanceable, time-sensitive info and actions for the person. As a result of Put on OS relies on Android, it shares the identical notification system as cell units, letting you leverage your current data to construct wealthy experiences for the wrist.
From a improvement perspective, it helps to think about a notification not as a easy alert, however as a declarative UI knowledge construction that’s shared between the person’s units. You outline the content material and actions, and the system intelligently renders that info to greatest go well with the context and type issue. This declarative method has turn into more and more highly effective. On Put on OS, for instance, it is the mechanism behind ongoing actions.
Alert-style notifications
One beauty of notifications is that you do not even want a Put on OS app in your customers to see them on their watch. By default, notifications generated by your telephone app are routinely “bridged”, or mirrored, to a linked watch, offering an immediate wearable presence in your app with no further work. These bridged notifications embody an motion to open the app on the telephone.
You’ll be able to improve this default conduct by including wearable-specific performance to your telephone notifications. Utilizing NotificationCompat.WearableExtender, you’ll be able to add actions that solely seem on the watch, providing a extra tailor-made expertise without having to construct a full Put on OS app.
// Conditions: // // 1. You've got created the notification channel CHANNEL_ID // 2. You've got obtained the POST_NOTIFICATIONS permission val channelId = "my_channel_id" val sender = "Clem" val topic = "..." val notification = NotificationCompat.Builder(applicationContext, channelId) .apply { setContentTitle("New mail from $sender") setContentText(topic) setSmallIcon(R.drawable.new_mail_mobile) // Added for Put on OS lengthen( NotificationCompat.WearableExtender().apply { setSmallIcon(R.drawable.new_mail_wear) } ) } .construct() NotificationManagerCompat.from(applicationContext).notify(0, notification)
Stop duplicate notifications
When you construct a devoted app for Put on OS, you may must develop a transparent notification technique to keep away from a typical problem: duplicate notifications. Since notifications out of your telephone app are bridged by default, a person with each your telephone and watch apps put in may see two alerts for a similar occasion.
Put on OS supplies a simple technique to handle this:
- On the cell app’s notification, assign a string identifier utilizing setBridgeTag().
- In your Put on OS app, you’ll be able to then programmatically forestall notifications with sure tags from being bridged utilizing a BridgingConfig. This provides you fine-grained management, permitting you to bridge some notifications whereas dealing with others natively in your Put on OS app.
In case your cell and watch apps generate comparable however distinct notifications, you’ll be able to hyperlink them utilizing setDismissalId(). When a person dismisses a notification on one gadget, any notification with the identical dismissal ID on one other linked gadget can be dismissed.
Creating interactive experiences
From a person’s perspective, apps and tiles could really feel very comparable. Each are full-screen experiences which might be visually wealthy, assist animations, and deal with person interplay. The primary variations are in how they’re launched, and their particular capabilities:
- Apps could be deeply immersive and deal with advanced, multi-step duties. They’re the apparent selection when dealing with knowledge that have to be synced between the watch app and its related telephone app, and the one selection for long-running duties like monitoring exercises and listening to music.
- Tiles are designed for quick, predictable entry to the knowledge and actions customers want most, offering glanceable content material with a easy swipe from the watch face. Consider tiles as widgets for Put on OS.
Apps and tiles are constructed utilizing distinct applied sciences. Apps could be constructed with Jetpack Compose, whereas tiles are outlined declaratively utilizing the ProtoLayout library. This distinction permits every floor to be extremely optimized for its particular function – apps can present wealthy, interactive experiences whereas tiles stay quick and power-efficient.
Constructing apps
Apps present the richest expertise on Put on OS. Jetpack Compose for Put on OS is the beneficial UI toolkit for constructing them – it really works seamlessly with different Jetpack libraries and accelerates improvement productiveness. Many outstanding apps, like Gmail, Calendar and Todoist, are constructed solely with Compose for Put on OS.
Compose for Put on OS for stunning UIs
If you happen to’ve used Jetpack Compose for cell improvement, you may discover that Compose for Put on OS shares the identical foundational rules and psychological mannequin. Nevertheless, constructing for the wrist requires some completely different methods, and the toolkit supplies a specialised UI element library optimized for watches.
Put on OS has its personal devoted Materials Design, basis, and navigation libraries to make use of as an alternative of the cell Jetpack libraries. These libraries present UI elements tailor-made for spherical screens and glanceable interactions, and are every supported by Android Studio’s preview system.
- Lists: On cell, you may use a LazyColumn to show a vertical assortment of things. On Put on OS, the TransformingLazyColumn is the equal element. It helps scaling and transparency results to gadgets on the fringe of a spherical display, enhancing legibility. It additionally has built-in assist for scrolling with rotary enter.
- Navigation: Dealing with display transitions and the again stack additionally requires a element that’s particular to Put on OS. As an alternative of the usual NavHost, you could use SwipeDismissableNavHost. This element works with the system’s swipe-to-dismiss gesture, guaranteeing customers can intuitively navigate again to the earlier display.
Learn to use Jetpack Compose on Put on OS to get began, together with pattern code.
Implementing core app options
Put on OS additionally supplies APIs designed for energy effectivity and the on-wrist use case, in addition to Put on OS variations of cell APIs:
- Authentication: Credential Supervisor API unifies the person sign-in course of and helps fashionable, safe strategies like passkeys, passwords, and federated identification providers (like Signal-in with Google), offering a seamless and safe expertise with out counting on a companion telephone.
- Well being and Health (sensor knowledge): Whereas you need to use the usual Android Sensor APIs, it is not beneficial for efficiency causes, particularly for long-running exercises. As an alternative, use Well being Companies on Put on OS. It acts as an middleman to the varied sensors, offering your app with batched, power-efficient updates for every little thing from coronary heart price to operating metrics, without having to handle the underlying sensors immediately.
Constructing tiles
Tiles supply fast, predictable entry to the knowledge and actions customers want most, accessible with a easy swipe from the watch face. By utilizing platform knowledge bindings to show sources like step depend or coronary heart price, you’ll be able to present well timed and helpful info in your tile.
Tiles are constructed declaratively utilizing the ProtoLayout libraries, that are optimized for efficiency and energy effectivity—crucial concerns on a wearable gadget. Be taught extra about methods to get began with tiles and methods to make use of pattern tile layouts.
Extra assets for constructing experiences for Put on OS
- Put on OS Documentation Hub: The important useful resource for builders seeking to create experiences for Put on OS, from design pointers to code samples.
- WearTilesKotlin pattern app: Demonstrates the basics of constructing a tile but in addition contains templates for frequent layouts, letting you shortly bootstrap your personal designs whereas following greatest practices.
There has by no means been a greater time to begin constructing for Put on OS. When you have suggestions on the APIs, please tell us utilizing the difficulty trackers for Put on Compose and Tiles. We look ahead to seeing what you construct!

