I have an Android app which includes a home screen widget with complicated configuration options. To make it easier to configure a widget, I've made it possible to set up a widget configuration in an "inactive" state, and then when the user drops the widget on the home screen, it offers to use this saved configuration.
For example, a user can download a widget configuration from the web, or receive it in an email attachment, and enter an abbreviated widget configuration flow that way: but because of the way Android's appwidget system works, I can't add the widget to the home screen at the end of that flow. The user has to go through the usual rigmarole of going to the home screen, then the widgets menu, finding my widget from the list, dropping it on the home screen where they want it, and then choosing the option to activate the widget they just set up.
How can I make it easier for the user to realise they have to take these additional steps?
So far, I have four options, each with their own pros and cons:-
- Don't do anything special. This is convenient for experienced users, but might be very confusing to a new user.
- Show a "toast" notification after the user saves the inactive configuration, to say that the user now needs to create the widget. This seems to fit with Android's design guidelines because there's no obvious feedback about what I've done with the user's settings. But a toast is only there for a short time, so it wouldn't be able to tell the user what to do next.
- Show a dialog after the user saves the inactive configuration, with a longer message. This gives me space and time to explain the process properly, but needs a "don't show again" option (and the added complexity) to avoid getting annoying.
- Instead of a dialog, add a new step at the end of the configuration flow containing the description of what to do next. This would feel less intrusive than a dialog, and offers more possibilities of how to explain (with screenshots &c), but makes the flow longer.
Is there a better option I'm missing, or some other reason to favour one of my existing options?