Launch and latency
Stay organized with collections
Save and categorize content based on your preferences.
Design your app's launching experience with care, because this is the first
thing users encounter.
When launching your app, keep the following principles in mind.
Invest in the performance of your app, as it can be uncomfortable to keep the
wrist up while waiting for content to load.
Indicate activity
Reassuring users that the system is actively working on their requests can
increase their tolerance for delays.
Build gradually
Gradually build content as it becomes available. This can be done in the
following ways.
Display static elements
Start with static elements such as text elements, actionable buttons, and
placeholder UI first, while the rest of the content loads.
check_circle
Do
Show static elements while other content is loading.
cancel
Don't
Show dynamic elements, because the layout, shape, or format of the content can be unpredictable.
Use spinners with caution
Indeterminate loading spinners can cause latency issues. Instead show users
static text or a placeholder image to indicate activity is happening.
check_circle
Do
Show static text to indicate the action that is happening.
Prioritize visual feedback
When users perform an action, give them visual feedback instantly. This builds
confidence that the action has happened. For simple actions like tapping a
button, this can be on-touch ripple feedback. For more complex actions like
changing the volume of music on the phone, this can be showing the volume
indicator before the volume has been changed.
check_circle
Do
Show visual feedback first when the system needs to perform an action.
Branded launch
Display the app icon centrally during app starts, so users see the app
icon first. This improves brand recognition and is one way to show progress.
Use a black window background with the app icon. The app icon must be a 48x48dp
circular icon that is positioned in the center of the watch face. The splash
screen icon must match the app launcher icon. Learn more about how to
add a splash screen.
check_circle
Do
Use a black window background with a circular 48x48dp icon.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-05-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-20 UTC."],[],[],null,["# Launch and latency\n\nDesign your app's launching experience with care, because this is the first\nthing users encounter.\n\nWhen launching your app, keep the following principles in mind.\n\nOptimize performance\n--------------------\n\nInvest in the performance of your app, as it can be uncomfortable to keep the\nwrist up while waiting for content to load.\n\nIndicate activity\n-----------------\n\nReassuring users that the system is actively working on their requests can\nincrease their tolerance for delays.\n\nBuild gradually\n---------------\n\nGradually build content as it becomes available. This can be done in the\nfollowing ways.\n\n### Display static elements\n\nStart with static elements such as text elements, actionable buttons, and\nplaceholder UI first, while the rest of the content loads. \ncheck_circle\n\n### Do\n\nShow static elements while other content is loading. \ncancel\n\n### Don't\n\nShow dynamic elements, because the layout, shape, or format of the content can be unpredictable.\n\n### Use spinners with caution\n\nIndeterminate loading spinners can cause latency issues. Instead show users\nstatic text or a placeholder image to indicate activity is happening. \ncheck_circle\n\n### Do\n\nShow static text to indicate the action that is happening.\n\n### Prioritize visual feedback\n\nWhen users perform an action, give them visual feedback instantly. This builds\nconfidence that the action has happened. For simple actions like tapping a\nbutton, this can be on-touch ripple feedback. For more complex actions like\nchanging the volume of music on the phone, this can be showing the volume\nindicator before the volume has been changed. \ncheck_circle\n\n### Do\n\nShow visual feedback first when the system needs to perform an action.\n\nBranded launch\n--------------\n\nDisplay the app icon centrally during app starts, so users see the app\nicon first. This improves brand recognition and is one way to show progress.\nUse a black window background with the app icon. The app icon must be a 48x48dp\ncircular icon that is positioned in the center of the watch face. The splash\nscreen icon must match the app launcher icon. Learn more about how to\n[add a splash screen](/training/wearables/apps/splash-screen). \ncheck_circle\n\n### Do\n\nUse a black window background with a circular 48x48dp icon."]]