I am developing a carpool app, and on the search results screen, I need to provide the user with 3 primary actionable opportunitie

  1. when this dude talks to the driver, the driver will confirm. and once he confirms this dude needs to refresh to get his confirmation request. If there is a confirmation, then he gets the following 2 options.
  2. start now, start later. but he may be talking to other drivers aswell, so he still may need to refresh.
  3. until he gets a confirmation, he needs to "wait" and cannot start now OR later.

Note : He can only start now / later with 1 confirmation. Any more confirmations and he will need to cancel until he has only 1.

Where do I place the refresh button. Its causing a distraction. Going nuts. May be the refresh should not be a image but a button text.

waiting for 1st confirmation received confirmation, may receive more

  • A lot of social media apps have successfully implemented a "swipe to refresh" functionality. Have you thought about using that? Commented Mar 12, 2014 at 5:14
  • 1
    What does 'start later' do? That seems a bit of an oxymoron.
    – DA01
    Commented Mar 12, 2014 at 5:53
  • 1
    So, more questions to get you thinking: 1) why is the confirmation squeezed between contact icons? 2) why does a user need to actively tell the app that they are waiting (isn't that implied) 3) Can you push the confirmation automatically? 4) is there a consistent toolbar and/or title bar across all screens of this app? Do other screens need refreshing or only this one? 5) What significance is there between green buttons, blue buttons and gray buttons?
    – DA01
    Commented Mar 12, 2014 at 5:57
  • Thanks, useful comments. Instead of Start Later, should I use "Remind Me" ? Since Remind me sets up a alarm and a notification.
    – Siddharth
    Commented Mar 12, 2014 at 6:10
  • 1
    The buttons labels should be as close to describing the actual task they perform as possible.
    – DA01
    Commented Mar 12, 2014 at 22:04

5 Answers 5


My personal opinion is that you should not change the location of a button every time the state of the system changes. Since "Wait for Confirm" is a label, I would suggest the following change(refer image):

enter image description hereenter image description here

Keep the refresh button in the center and on top of that have a label that toggles (fades in and out) between "Awaiting Confirmation" and "Refresh to update" or something. As soon as a confirmation is available remove this fading label and make the "Start Now" and "Start Later" buttons pop up from below.

PS: Since you are using flat UI you need to ensure that your labels and buttons are distinctly identifiable. In the present design, "Confirmed" and "Wait for Confirm" are labels (or so it seems) whereas "Start Now" is a button. But their styling makes it hard to distinguish their functionality.


I'm very confused as your question was not clear to me. Correct me if I'm wrong. You're making an app where someone can request a ride from a driver. Once they request they must wait and continually press refresh until the driver confirms, once confirmed they are presented with more options to continue the process.

Assuming that this is your situation here are the following steps that I would recommend you do.

  • A user requests a ride
  • The user is presented with a loading screen with a spinner, in the background you will automatically refresh every 5 or 10 seconds until the driver has confirmed.
  • Once the driver confirms fade in or change the state of your option buttons to show that they are now available and you are connected.

You don't want to make your users do something that could be easily automated such as refreshing in the background.

I hope this helps.

  • For now I am not providing the auto refresh. The manual refresh is needed.
    – Siddharth
    Commented Mar 12, 2014 at 6:21

Question seems confusing to me also. I've question for you below.

  1. Why do you need to hit refresh, can't you invoke buttons once driver hit the confirmation?
  2. As you are handling multiple requests, would like to know what will happen when first driver gives confirmation while you talk to someone, he also gives confirmation so you would have 2 confirmation?

I purpose following flow:

  1. You talk to driver
  2. Driver can make confirmation or not

    a. If yes, schedule it as per your need.

    b. If no, exit or connect with other driver.


This is one approach which you can look at where the "Reload" button position and style never changes between the views.



I thought about this further and realised that this could be a different approach.

What is the primary call to action you want the user to take

The primary call to action is either Start or Later

Therefore, the app should implement "Auto Refresh" with a set predefined interval, and should display the "Start" and "Later" buttons right after the first result.

Something like below - enter image description here

  • In principle, I agree with the "auto refresh". But for now, I cannot implement the auto refresh. And need he manual refresh in its place. In future, I plan to implement push notifications to ensure that refresh/autorefresh is not needed.
    – Siddharth
    Commented Mar 14, 2014 at 1:42

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.