We have a booking page in our Mobile application which shows all the bookings made by a user. Recent bookings are stored in the App itself hence no need to make any server call and can be shown offline whereas if they want to fetch their earlier bookings details (5 days old) they have to hit server and be online.

My questions is what could be the better way to handle; is it by using a toggle switch for Recent VS ALL or by using an explicit load more button at the bottom to load all bookings.

3 Answers 3


We as designers should follow the existing design patterns which are widely accepted and used. If and when you break away from a pattern you should be really clear about how is it helping in improving the usability of the application and moreover how is it helping the user with attaining his goal.

In your case you should go with the "Load More" button. Actually, if the user is scrolling down, he shouldn't even be asked for a load more button and more bookings should automatically loaded.

I don't see any application of adding a toggle button.

  • Loading on scroll is a best option but the recent's (offline) can primarily have 1 to 2 items(max) in the list. Here scroll will not be intuitive, but I agree to what you said for toggle.
    – learner
    Commented Jun 14, 2016 at 13:52
  • I was thinking about toggle because they clearly differentiate between the two list. but now I am thinking that at the end of the day it is all about your transactions, offline/online doesn't matter much to user.
    – learner
    Commented Jun 14, 2016 at 13:56

If I was looking for one of my booking, in your case, I would like it to be loaded already, as, sometimes you are really out of time or frustrated and get anxious on little some things.

I strongly recommend:

First be a user then, be a designer.

Think what should you have done in that place. As, throughout my life experience and personal life survey, everybody conclude to a single result and thinking like this works, in my experience.


For your question, I like to use the Scrollbar's methods to the advantage of determining if the user wants to see more or not.

Depending on what the booking is for, the majority of the use-cases will mostly have the user wanting to view/edit/cancel the recent bookings possibly done in the same week/month.

If you could say - place an upper limit to how many bookings can be stored in the app offline itself, for example - 3 months' bookings will stay offline. Now if the user reaches the end of the list, load the rest, with a progress bar/circle.

How this works psychologically:

  1. You know the user is looking for his earlier bookings when they scroll down and reach to the bottom of the list. In this case, the natural action would be to load the previous bookings as well.

  2. There is no extra step involved or data loss. If you give the user the option to load more bookings, you are wasting one tap and if you are loading all of them without permission, you are wasting user's data.

  3. If there is only a single booking which is done before 3 months, it won't load automatically. But this also means that means the offline bookings list is 0 and the end has been reached, hence load the previous bookings.

  • Thanks for your answer Swapnil! You are right and have demonstrated the perfect behavior for the obvious cases. Bookings in my case is little different. It is current vs past. There is a time limit attached to every booking, for eg. a booking is valid only for 2hrs. I was thinking of storing only the current bookings to my local storage and past ones could be fetched from server call. It makes sense because user may not be that much interested in looking their past bookings.
    – learner
    Commented Jun 15, 2016 at 6:46
  • 1
    However your suggestion enabled me to think in one more direction where I can increase the limit to store locally and visually convey active & expired.
    – learner
    Commented Jun 15, 2016 at 6:51

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.