I have a background thread working on collecting data, once that's ready, I want to send out a global notification such that all the views can get it. That's easily achievable logically. But visually, I want the user, while on any view of the app, got notified as well so he can prompted to take some action - e.g., ignore or reload - once see the prompt.

Now the question is - what'll the best design for this prompt? a popup dialog definitely serves the purpose, but it's annoying of it pops up frequently; a top down notification or a bottom up notification is better - but can I do that globally? and I have a TabBar at the bottom, so the top down might be better, will overlay the navigation bar be a good idea for that purpose?

any other suggestions?

  • popups are annoying - users will not like that - and that's also the reason for the new iOS notifications area, why can't you use that?
    – Leon
    Dec 8, 2011 at 13:23
  • I want give user option to make their decisions. Not sure the new iOS notification can do that or is it just for notification only. Do u have some doc to share?
    – tom
    Dec 8, 2011 at 20:13

1 Answer 1


iOS has a defined UX guidelines, I would go with them.

This is what it has to say about modals:

Modality is most appropriate when:

  • It’s critical to get the user’s attention.

  • A task must be completed (or explicitly abandoned) to avoid leaving the user’s data in an ambiguous state.

If you feel your situation relates to these terms, then a modal (an alert) is the appropiate way to go. If it doesn't relate, then go for another option, such as the mentioned Notification Center.

On a side note, I would like to address the "popups are annoying" myth by quoting an extract of the document:

People appreciate being able to accomplish a self-contained subtask in a modal view, because the context shift is clear and temporary.

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.