I have an UI that looks something like the following wireframe. It shows data for a day, that is selected in another page in the app.

I wanted to add the option for users to switch the date from this page also. The data is shown in cards (that are also swipeable for some actions).


I added the card that is shown in the wireframe with the Prev Day text on it, and the user has to hold it for 1 sec for the date to be changed. Also there is a similar card at the end of the data for the next day. Those cards show an animations while they are pressed, that fills from right to left, respectively left to right and after 1 sec the data is changed.

The problem is that after releasing the app in alpha most users seem to expect the action to happen on a quick tap, and they are not holding the card pressed (they are tapping so fast that the animation is barely starting). I don't want to make the action available on a quick tap because it might be a lot of data, and don't want the users to tap by mistake.

I have thought of the following solutions:

  1. Show an message if the tap is < 500 ms to tell the user that the card needs to be held for 1 sec.
  2. Make the card swipeable, like the data cards (maybe even get rid of the card at the end of the data for the next day and make this card swipable in both directions)
  3. Show a text that tells the user to hold for 1 sec in the card.
  4. I was also thinking of adding a - and + sign on the date bar, but I am afraid that users will click the back button by mistake.

Which one of the solutions should I implement, or do you have a better one?

Also, I think I should add an option to open a calendar, so you don't have to go day by day. I was thinking of adding it if you click on the date, but it will also not be expected by the users, do you have a better idea?

3 Answers 3


I think the pattern you want to reach for here is 2. The Android design guides call this pattern Swipe Views and apply it in scenarios such as yours.

On a phone, since the master and detail are on separate screens, this typically requires the user to jump back and forth between the list and the detail view, aka "pogo-sticking".

In cases where users will want to view multiple detail items in succession, avoid pogo-sticking by using the swipe gesture to navigate to the next/previous detail view.

I would advise against adding a calendar option on this detail screen because primary navigation is already implemented on your master screen. Following from the Swipe View pattern, swiping on the detail screen is a secondary navigation which is provided to the user as a convenience. Additionally, as you have already guessed, I think users will not expect calendar navigation on this screen.


I'd suggest providing three options:

A previous day, a calendar, and a next day.

You stated yourself that the app doesn't behave how users expect it to. Design around what individuals expect - trying to change their behavior creates friction. Friction means they aren't going to use your app if they don't have to.

If you're concerned about the data, you could possibly perform a check for the amount of data. If it exceeds a certain amount (e.g. rows, item count, etc) ask them if they are sure that they want to navigate to the previous day and warn them that it may take a while to load.

  • I agree with everything you said, especially that "trying to change [users] behavior creates friction". That's especially true when you deviate from standard interactions. Arrows next to the date are standard interactions in order to move the date back or forwards, with the ability to click on the date to be able to select a more precise date. If you are concerned with users pressing the back button by mistake, make sure that a) you have sufficient padding around all your inputs, and b) that going back isn't going to delete any unsaved data and that they could get back here from there. Sep 9, 2016 at 18:13

A technique called Virtual Scrolling can also be used.

  • I don't think that I can use this technique. My data is ordered by date and for every date by hour, starting with last day at midnight until now (now being down on the page). If I used this technique I don't think it will be very intuitive at the end of the day to show the previous day, but as data starts at midnight I will end up with data not sorted by hour and it will create confusion.
    – N Alex
    Sep 12, 2016 at 10:10

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.