Supporting Editing and Interactivity
In some cases, people need to edit a widget to ensure it displays the information that’s most useful for them. For example, people choose a location for a Weather widget or a stock symbol for a Stocks symbol widget. In contrast, some widgets — like the Podcasts widget — automatically display recent content, so people don’t need to customize them.
Make editable widgets easy for people to customize. If your widget is editable, avoid requiring too many settings or asking for information that might be hard for people to find. You don’t have to design an edit-mode UI for your widget, because the system automatically generates it for you. For developer guidance, see Making a Configurable Widget.
When people interact with your widget, it deep-links into your app, where you can offer details and actions that are directly related to the widget’s content. For example, when people tap a Stocks symbol widget, the Stocks app opens to a page that displays information about that symbol. Similarly, when people tap a small Stocks watchlist widget, the app opens to show the complete watchlist; when people tap one symbol in a larger version of the watchlist widget, Stocks open to show that symbol.
Ensure that a widget interaction opens your app at the right location. After people interact with a widget to open your app, avoid making them navigate to the relevant area.
Avoid defining too many interaction targets. A small widget supports a single target, but larger widgets can offer multiple targets. For example, the medium Notes widget can display several notes. When people tap one of them, the app opens to display that note. Although multiple interaction targets might make sense for your content, avoid offering so many that people have to spend time choosing the one they want.
Let people know when authentication adds value. If your widget provides additional functionality when someone is logged in to your app, make sure people know that. For example, an app that shows upcoming reservations might include a message like “Sign in to view reservations” when people aren’t logged in.