Recently, I encountered a dilemma when designing a button on a mobile app.

Here is the case. On the screen where I place the button, the user is required to fill in some information (but not all text fields are mandatory). At the bottom, there are two buttons: send now and send later. As long as the user completes the mandatory fields, Send Later is enabled.

A bit more background information: The app is to help users record real-time readings and send them back. But because the network in the working environment can be very unstable and due to users' job attibutes, they can consciously choose to send the data immediately or send it back later (could because of offline mode or they want to send all data at once). And after the user clicks Send now, they will be led to a screen where they are required to enter their credentials and then their data will be sent. while Send later button doesn't serve "save as draft" function because users cannot edit the data afterwards. And unlike outbox function, the saved items won't be sent automatically since users' credentials are required.

The question is that when the user completes the mandatory fields, I 'm not sure if Send Now button should just be simply disabled under offline mode, or it should be enabled and after the user clicks it, there will be a popup saying "No network available".

To disable the button does make the workflow much simpler, because when offline, the user has to click send later anyway. But keeping the button clickable seems a standard design (so only the mandatory fields control status of a button, but normally there is only one button, for example, Log in).

4 Answers 4


Here I can see 2 cases one is when to enable the button and other one is what would be the right label for the button

Here is my answer

  1. Whenever the user inputs the data, enable the 'Send Later' option. If user fills the mandatory info, enable 'Send Now' button. Hope this helps
  2. I feel you should change label from Send Now to Submit, Submit is acknowledging user to submit the form. Send Now is not an appropriate word for the form submission, it's not sending but actually it submits user input data. Change the Send Later to Save, it clearly communicating user to save the data.
  • Hi, thanks for answering! Sorry for being not clear enough, and I have added some description to this case. So your first suggestion doesn't fit the requirement. And about second suggestion, my thought was that Send now is the action of the user may take, and which will lead them to a screen for submission. Maybe now it makes more sense? Could you please review the case that I editted and give you opinion again? Many thanks!
    – Bing
    Jul 8, 2016 at 13:22

Add an "Offline" label to show current status and to tell users why the Send Now button is disabled.

This way you also show that the Send Later is the only available option while offline.


download bmml source – Wireframes created with Balsamiq Mockups



download bmml source


This is one of the option:

Change name of buttons: Rename "Send Now" to "Submit" and "Send Later" to "Save as Draft". This will remove the dilemma with "Send Later" button that when to send? what does later means? In what time?. In this case, what you can do that is on clicking submit in offline mode save it as draft and in flash message tell user "You are offline now. The form is saved as draft. As soon as you go online it will be automatically submitted.".

  • Hello, thanks for your answer. But like I also mentioned above, I didn't explain the case clear enough. Send later doesn't mean save as draft and when the user is online, they need to manually enter their credentials and sign data off. So I hope you can take another look at the case and give me more suggestions? Thanks!
    – Bing
    Jul 8, 2016 at 13:26
  • What is the diff between send later and send now?
    – Tanmay
    Jul 8, 2016 at 17:34
  • Take the user's work attribute into consideration, it would be nice to send back the data to the system asap. But the network isn't stable all the time and we want to reduce the repetition of entering credential if there is no time issue, so the design intention is that send now allows the user to send the data immediately if the data is important and he is online, while send later allows the user finishes all required work under online/offline situation and do bulk signing later if there is no time pressure. Hope this is clear?
    – Bing
    Jul 14, 2016 at 8:25
  • Yep. It is more clear now.
    – Tanmay
    Jul 14, 2016 at 13:01
  • I think the best way will be to enable the button all the time. When user clicks on "send now", show a message saying "You are in offline now and submission will be sent later when you will go online". In this case all the user input data will persist.
    – Tanmay
    Jul 14, 2016 at 13:16

See this. Note Top warning and Button descriptions.


  • Hi, thanks for the answer and visualization! But from all the replies, I realize that I didn't explain the case clearly. So the solutions didn't really solve the problem I encountered. Could you please check the added background information and give me some feedback again? Thanks!
    – Bing
    Jul 8, 2016 at 13:31

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.