3

I've been reading and looking at different iOS apps to design the UI for mine, and it feels like sometimes the difference between using a modal view or a non-modal view is not entirely clear... for example, from a "sign up" and "sign in" view, there are some apps that display the sign in form in a modal view, an another do navigating to the view in the "right" (appearing then the "back" button). What should be the best way, from the point of view of user experience? Since a modal view for iPhone occupies the entire screen, there is another difference between modal and non-modal views apart from one sliding up from the botton, and the other one sliding left from the right?

Also, is it correct (and possible) to navigate through several views from a modal view displaying a back button in the navigation bar, or it should not be that way and a modal view should always display cancel and complete buttons (not a back button)?

Maybe I made a lot of questions... thanks in advance!

2 Answers 2

4

Given your question is specific to Apple iOS I will refer to the Human Interface Guidelines (HIG):

Use a modal view when you need to offer the ability to accomplish a self-contained task related to your app’s primary function. A modal view is especially appropriate for a multistep subtask that requires UI elements that don’t belong in the main app user interface all the time. Which is very similar to Michael's first paragraph.

Further:

A navigation bar enables navigation through an information hierarchy and, optionally, management of screen contents.

As such, you can have a navigation hierarchy when presenting a modal view. The modal, to try and sum it up, is a way to step out of the normal flow of the app so the user can accomplish something prior to continuing on their way. In the example of a login screen, it makes more sense (based on the HIG), to present it modally, then dismiss it to return the user to the view from whence they came.

For example, go to the Settings app -> Mail -> Add new account (all presented via a navigation hierarchy) - choose one of the providers and a "login page" is presented, modally. Once you fill it out and the whole thing is confirmed, the modal disappears and you are back to your account list. Another example is in the Calendar app, when you add an event, which takes you out of the process of viewing events, the view is presented modally - when you go to assign a calendar, however, the view is presented hierarchically.

When reviewing apps for "how should I do this" - I typically look to those apps created by Apple first, not other developers, because many of us (the royal us) tend to neglect things like the HIG and Apple recommendations; however, Apple tends to be pretty consistent.

To try and encapsulate all of that succinctly. Read the HIG; memorize it; print it out and, if after a few months it's not heavily worn, something is wrong (that's a paraphrase from Apple). When looking to other apps for "advice" on how to handle certain interactions, look at the apps created by Apple first, because they pretty much follow the HIG - and, there are a variety of experiences used not just the standard UI elements.

Hope that helps.

RE: The follow-up question in the Comments

There isn't anything in the HIG that reccomends anything regarding modals inside of modals; however, if you look at the Contacts app, you see the following:

  1. Add a contact (presents modal),
  2. Choose add photo (presents action sheet) to either take a photo or choose from your library,
  3. Either option will present another modal (the Camera app or the Photo Library portion of the Photos app, respectively).

So, assuming Apple adheres to their own UX philosophies, then the answer would appear that it is okay to have multiple modals presented over time; so long as canceling or saving from all of them will lead the user back to the start of the flow.

9
  • Thanks so much for the detailed explanation. Now I find that displaying a sign-in view as modal makes sense, but I have doubts about categorizing the sign up task... it is something that also needs to be accomplished to access the app, but it could be more complex (a multi-step form), and even require in turn to display modal views for filling in some fields... a non-modal view should be the appropiate approach in this case?
    – AppsDev
    May 3, 2013 at 9:22
  • I think this follow up goes beyond the scope of the original questions and seems more like UX consultation for a specific problem. Having said that, why is the sign up process multi-step?
    – Josh Bruce
    May 3, 2013 at 11:21
  • Actually, I just think about an specific scenario to make a question about a UX situation I could find more than once in the app... it doesn't have to be a multi-step form necessarily, but it may need to request a lot of information and completing some of the fields could need in turn to display another view... for example, you could give users the option of choosing a profile picture, displaying the gallery within a modal view in top of the form. Could the form be itself a modal view, or a modal view should not launch another modal view?
    – AppsDev
    May 4, 2013 at 15:42
  • There isn't anything in the HIG that reccomends anything for that; however, if you look at the Contacts app, add a contact (presents modal) choose add photo (presents action sheet to either take a photo or choose from your library - either option will present another modal (the Camera app or the Photos app, respectively). So, assuming Apple adheres to their own UX philosophies, then the answer would appear that it is okay. However, this probably shouldn't be a required part of the form. I will add this to the main part of my answer when I am in a better position to do so.
    – Josh Bruce
    May 4, 2013 at 22:25
  • 1
    This is starting to sound like you need a UX person on your team. Build some paper prototypes. Grab some people on the street, and have them go through the flow (these should be people who will give you an honest opinion). Take note of the places they seem frustrated. If you go too far off a given task's path - your app may not be cut out for a handheld device - maybe a desktop app is more appropriate. Storyboard the main flow, any deviation from that should probably be in a modal. Then storyboard the modal's task, deviations should probably be in a new modal. And so on.
    – Josh Bruce
    May 9, 2013 at 16:52
2

I would say that the primary reason for using a modal view is for a user to complete a single task that they should not be interrupted from. This means that all the information required for the user to complete the task should be contained within the modal window it self, because the behaviour for a modal window is designed such that they cannot access other parts of the screen while they are in the modal window (unless they cancel or exit from it).

From a user's perspective, it means that modal windows should not be used for long tasks because the longer you occupy the user's sole focus, the more likely they will want to do something else. To ensure that they can complete the task defined in the modal window successfully and without interruption you should make this as short as possible.

I suggest having a look at a couple of references and examples to get the idea, and then if you have other questions just post some specific questions.

Modal Windows

Examples

4
  • Thanks! I have another question: is it possible/correct to display another modal view already being in a modal view? Or should tasks in modal views be always, let's say, atomic?
    – AppsDev
    May 3, 2013 at 9:26
  • I would definitely recommend not doing a modal view within a modal view. It means that if a user wants to opt out of an action they would have to cancel multiple actions that may also be related to other actions. I suggest only using modal views if you can break down the activity into something that is small and linear (or as you say, 'atomic').
    – Michael Lai
    May 6, 2013 at 23:08
  • So, taking the example of a sign up form: the user is at the common scenario of running an app that displays a main view with sign up and sign in buttons. One of those tasks have to be accomplished to access the app's main functionality. The sign up form may have fields that in turn will display another views to be completed (profile picture, date of birth...). It seems reasonable, from the point of view of the user, to not display modal views in top of another modal views. What should be the correct UX in a situation like that?
    – AppsDev
    May 7, 2013 at 7:08
  • Pushing the form to a navigation controller, and displaying modal views for the fields, or the opposite? (Modal view for the form, navigation controller for fields).
    – AppsDev
    May 7, 2013 at 7:09

Your Answer

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

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