I'm designing an app for a wearable device which is connected to the phone over bluetooth. The app more or less can't do anything without a device being connected. When launching the app, the first screen is "connect your device" which describes how to do that. There is no way past that screen unless the device is connected (since we don't want the user to assume they can use the app without the device).

Now the question: what to do if while using the app, the device is suddenly disconnected? When that happens, the user would typically be on a screen that shows device-related controls, which now don't work any more.

Some of the options:

  • show a modal dialog,

  • go back to the "connect your device" screen, or

  • stay on the current screen but gray out all the controls (and overlay some text that says "not connected").

If a modal dialog, I suppose there would not be any way to close it (it would close itself when the device is connected again).

Note: the app always tried to reconnect with the device automatically; the user doesn't need to do anything on the app side to make that happen, although they might have to (for example) recharge the battery on the device or make sure it is within range. There are some easy troubleshooting steps described on the "connect your device" screen, and also what steps to connect the first time.

2 Answers 2


I would recommend overlaying an error message on the current screen stating that the wearable has lost connection to the phone and that it will automatically re-establish connection when possible. Whether this is done by showing a modal dialogue or by graying out the screen is dependent on what's idiomatic for your host system (iOS, Android etc.), but generally you want to make sure that it's clear to the user that any changes made won't take effect either at all or until the connection to the phone is reestablished. If at all possible, make it clear to the user (either explicitly with text or implicitly by showing the previous screen in the background) that what they were doing is still there and hasn't been lost. I've used a number of apps before that have suffered from a similar problem (except with internet access instead of Bluetooth) and it makes me less likely to use them due to the fact that a single error can cause me to lose what I was working on.

One important side note to the above: make sure that the ability to recreate the connection from scratch or to connect to a different device is always available in some way, whether the device is connected or not. What you don't want to happen is for the user to lose their phone or have it stop working with the only way for them to use the app with another device is to uninstall and reinstall, possibly losing other important settings in the process. It is also very frustrating to have the app tell you that the Bluetooth connection has failed when you know exactly why, but you can't access the options that rectify the problem.

I wouldn't go with moving the user back to the "Connect your device" screen mainly because without clarification, it looks like your app has either lost connection due to an issue on your side (and not simply due to the Bluetooth connection failing) or the application has a bug which takes you back to that screen accidentally. It also doesn't help the user rectify the issue if the phone is too far away or Bluetooth has been turned off (such as due to power saving measures on the phone), as going through the "Connect your device" process won't be able to find the phone in question.


There is no reason to overthink this. The issue has been addressed numerous times. You are solving one problem, telling the user to connect the device in order to use it, if that is the initial screen that solves that problem, why would you create another step/screen to solve the same problem. Keep it the same and go use "connect your device" screen.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.