And it's not like these concepts are hard, you just have to care enough to follow them. It's really disheartening to see how many apps don't.
It’s similar to how supermarkets periodically shuffle around their shelving. Consistency in navigation, gestures, and behaviors allow the user to get what they want and get back out too efficiently.
I moderate a 30K-member subreddit so I need to be able to use reddit from my phone, but... it's impossible. Everything requires so many actions, I never know where I currently am, it's pure garbage
There probably is a magic gesture which I don't know about.
Honestly, I don’t think I could deliberately come up with a worse design.
Don't let developers use patterns, fix it on OS level. Developers don't want you to leave parts of their app - try doing back action on Instagram reels for example.
For me, this is one of the worst things about Android. There is zero consistency in what the 'back' button does. Even as a developer this is something I struggle with, what should the back button do in a specific case? Does it go back to the previous screen or does it go back one level in a drill-down navigation (which can sometimes, but not necessarily always, be the same thing).
Sometimes it's up one level in the navigation structure, sometimes it's go to the previous screen. Sometimes it's close a dialog. Sometimes it's even close the application. Depending on the context it could any of these, and it can be unclear which one if multiple could apply. The only way to find out is press the back button and see what happens.
I hate ambiguous user interface elements. When I click on something I'd like to know what action it will trigger.
I really wish this had been built in to iOS in the same way.
The activity stack works across applications, which means a back gesture always brings you back to the screen before it, even when several applications work together on a task.
Sometimes it’s on the top left, sometime bottom left, sometimes bottom right, and im sure some apps even place it somewhere else.
On Android there is a dedicated OS back button that is always in reach, when using the phone with one hand.
This is the far superior way of doing this.
I think Apple hasn't done this because it's not practically possible.
For example, if it's possible to change the content of a view (which it obviously should be), then it's possible to remove all content and and replace it with all new content. If triggered by some user action, this effectively is "going to a new screen". But the OS-level gesture won't work since the developer in question didn't use your proposed OS API call "createNewView", but instead just replaced the content of the current view.
However, Apple could make use of this OS API mandatory in order to pass review. Although I still think there's some subjectivity around what is "a new view" (that I can "go back" from) versus "an existing view with stuff changed" (that I can't "go back" from).
If offers:
* Contacts
* Applications
* Vertically
* Horizontally
* Other items below.
* But only after you’ve figured out, that it needs pulled up.
* It is always placed in a different locations of an app and the icon has nothing to do with “Share” or “Copy/Paste”.
People grown up with smartphones can handle it, as usual you can adapt as long as you weren’t older than 40/50 upon introduction. Most of modern stuff is horribly designed and often unreliable (Hello AppleTV. Can we speak today about changing a WiFi-Password? Why you don’t reboot when I press the ON/OFF-Button? It is needed to workaround bugs).It had 4 hardware buttons: back, menu, home and search. They lost menu and search along the way. Sure, they weren't always needed, but they were common enough functions that could warrant dedicated buttons. Now, everything is different and you never know how to popup a menu (hamburger menu? where? or is it a swipe?), even though it is always the same functionally.
- Swipe LTR (on a LTR locale) does not go back
- The back button's size is exactly as big as it looks, instead of extending quite a bit below it's visible box in the navigation bar
The lack of a uniform UI pattern for what is right-click on the desktop already surprised me way back in iPhone OS 3. Long press would have been the obvious choice, and you could have had a uniform context-menu function everywhere. Users would just learn “when in doubt, long-press for any and all additional actions” and wouldn’t have to try different gestures, look into the share menu or other random menu buttons.
I think apple gave up a lot of decent design interactions with ios 7. Baby with the bathwater.
is that text or a control? The auto-hiding menus that take away important controls, and require non-muscle-memory actions to resurrect.
I wish the lost certainty could all the themed back on.
On Mac and now iPadOS (https://useyourloaf.com/blog/ipad-customizable-toolbars/), the built-in toolbar control supports a high degree of customization. You can try this in Finder, among many other native apps.
Powerful built-in widgets are an underappreciated aspect of the Mac desktop, and something I worry about with SwiftUI taking over. They’re also a huge win for iOS, but less so because it is so common for apps to want to put their own spin on the design.
Anyway, am I crazy, or did iOS apps used to support customizing tab bars out of the box? While clearly different from toolbars, supporting editing the order (and which are actually displayed) of tabs felt like the spiritual equivalent of built-in toolbar customization. And I haven’t seen it in years.
According to doc it is still there, but does anyone know of apps still using this pattern? https://developer.apple.com/documentation/uikit/uitabbarcont...
Anyway, tab bars are cool also because that is what is used by Apple TV in most apps I’ve used, and the consistent experience is wonderful.
>Drill-down navigation is stateless
I've been encountering this a lot lately, but: this seems the opposite to me, it's deeply stateful as screen N depends on what you did before, and you can go back to it. It literally keeps track of some internal state in order to be useful at all, i.e. the list contents depend on state N-1, because if it didn't it would be awful.
A stateless UI would be, like, a one-step modal. It exists or it doesn't. Particularly strongly "stateless" if it's transient and you have no way to "resume" it.
I've been in and around quite a few discussions using the term "stateful" to mean WILDLY different things through the years, and in a giant burst lately, and it has largely led me to conclude that almost nobody agrees with anyone else what it means and few are aware of this.
What does "stateful UI" mean to you all? I find the variation fascinating.
So when he speaks about iOS design and UX, I'm inclined to listen.
-----
* https://web.archive.org/web/20211223231349/https://v-for-wik...
Wish you could disable that, so common horizontal scrolling in web pages that don't fit activates the Back function
> A typical iOS application has a fixed architecture-often a hierarchical tree with multiple levels. This rigid struc- ture makes navigation options pre- dictable. Structural navigation pat- terns give users confidence about where they came from, where they are in the hierarchy, and how to navi- gate back to where they came from.
whereas on Android, sometimes the 'Back' gesture lands you on the previous page and sometimes it completely closes the app. it's so inconsistent that I dropped 12 years of using Android and switched to iOS.
That seemed to completely vanish when they went with the "flat" design - mainly I think because none of it made sense anymore. They went from very clear:
- make sure the user interaction is obvious
to
- this might be clickable, or it might be some text or maybe it's a long press...
"A step-by-step sequence should be contained in a modal overlay for presentation to emphasize that the Back button in this context serves a different purpose than in a hierarchical drill-down.
The step-by-step process is usually completed with a Done or Close button, which also closes the containing modal.
The sequence can have a variable number of steps and different paths depending on the options selected."
And, maybe for 2043 when our n-3 OS target will let us support them in our app.
From what I can see, Apple's guidelines look really similar to what Google suggests for Android apps - the only really big difference is visual presentation.
You can swipe between apps using the black bar at the bottom.
>High-Friction Modal
>A decision is required to dismiss them: A decision whether to save state, whether to confirm (by tapping Done) or to destroy (by tapping Cancel) the data you’ve entered on a form.
>Low-Friction Modal
>They are easy to dismiss: “Low friction” means not having to think about how to get back.
'CANCEL' ON A PROMPT IS NEVER, EVER DESTRUCTIVE. This is a huge red flag for the author's understanding of UI conventions. "Cancel" must always be safe. "Cancel" is the low-friction no-thinking way to dismiss a prompt. It should dismiss the prompt, and do nothing else.
Corollary to this is that you should avoid putting a "Cancel" button on a full-blown input interface that will throw away user data if dismissed (regardless of whether you have decided to embed said interface in a modal). If you do, you at least need a "are you sure" prompt with a cancel button (hence why you avoid using the word 'cancel' redundantly on the original form).
The latest inexplicable, surprise change happened when my Apple Watch updated overnight, I went to open control center the next morning to locate my phone which I had misplaced, and .... it wouldn't open. For 10 minutes I fiddled with this fucking thing, thinking I was going senile at one point, only to find out that Apple moved the control center trigger to the side (power) button, and swipe from below now does something completely different. No warning, no announcement, no nothing, and no way to revert to the old behavior which existed for years. Imagine walking into your car one morning and the operation of the pedals was suddenly reversed due to an automatic software update because some geekaroid at the car manufacturer thought it was a good idea.
At this point I'm convinced they are making changes as a means to justify their existence. If I ran that company the project managers responsible for these breaking changes - and yes, unannounced UI changes are breaking changes - would all be fired.
Anyway, this is the sort of information that you must absolutely consume from a direct source, i.e. Apple documentation and Human Interface Guidelines, because they change a lot and secondary sources can be outdated or flat out wrong at any given point in time. Additionally, your mental model of the UI must correspond with Apple’s implementations of its UI frameworks (if this is targeted at designers, well the problem of design that is detached from engineering is a separate and long discussion, though very real and so widespread as to be the norm).