This smaller notification size would look pretty terrible on 4" devices like the iPhone SE. In fact, it already looks kind of terrible in the mockup provided.
IMO Apple is long overdue admitting that putting navigation buttons on the top bar was a mistake. Fine in the era of the original iPhone, but as phones get progressively bigger and taller, less so. The swipe back gesture works in most situations, but I was a fan of Allen Pike's mockup of bottom navigation on the iPhone X (or, "Pro", at the time):
Having navigation at the bottom is one of the few things Android got absolutely right at launch when compared to Apple. But back to notifications, Android isn't great either: if a new notification arrives while I'm swiping old ones away there's no consideration that I might not want to swipe away something I haven't even read yet, so it disappears immediately and with no way to get it back. Frustrating.
The Android back button is in the right position but does three things depending on the application:
- Go back one document (like internet)
- Go back one screen
- Leave the app
A lot of Android users just hammer the back button and then the application icon again if they want to go to the Home screen of an application.
Also it's always there even if you don't have a document to go back to. Nor it provides extra information about the previous document like the title.
Personally I would like a back button down there (next to the home button) that also holds a miniature of the previous document that animates in and out of place.
But they moved the lock button to the side as it was in android since forever, right? So navigation like android is not impossible. What is impossible is to reach the upper left corner with one hand
Swiping from the side of the screen is much more convenient than buttons, and fits perfectly with the X's gesture-based app switching. Pretty much all apps now do this (I believe UIKit has it built in, so all native apps).
This seems to me to be a special case of a more general problem which we've been seeing for decades, which is that unexpected dialogues can manifest themselves and then respond to user input intended for whatever application they were interacting with before the dialogue showed up.
I've never been able to understand why the operating system does not manage this case and ignore input that occurs within say 0.25 seconds of the dialogue's appearance, on the grounds that humans generally can't react so quickly to something they just saw, so they must not have really meant it.
I was thinking about this yesterday. Dozens of times I type a search into cortana - see my item - click on it, and milliseconds before I click (but before I can avert the action) the item changes. I have at times almost felt the electrons racing down the nerves in my arm in my attempt to not click.
I like your idea of a .25 second delay. I can normally send a movement request to my hand in about .13 seconds (fastest time I can click twice on a stopwatch is .13 seconds), so .25 is good for me.
>humans generally can't react so quickly to something they just saw
I feel like Facebook does this in their app when you post something to a page and it pisses me off to no end. I know as soon as I post something it's going to pop up a full-screen confirmation so I'm hovering over the X to close it and as soon as it pops up I tap it... and tap. And tap. And tap tap tap tap tap tap come on I have other stuff to do and tap tap tap tap and now finally it closes.
Focus stealing prevention is one of these things that's so pleasantly invisible that you only start to appreciate it when using a window manager that lacks it.
This is exactly what I was going to suggest. It would also be nice to signal what's happening to the user by fading in the notification, so that only when it's solid does it intercept your tap.
A few years ago I was using Adium, and clicked on my girlfriends named, "Jenn" and said, "Hello sexpot!"
Except that's not what happened. My friend James logged in, a moment before I clicked and his name replaced hers where my mouse was. I absentmindedly typed "Hello sexpot!"
>I've never been able to understand why the operating system does not manage this case and ignore input that occurs within say 0.25 seconds of the dialogue's appearance
That's why Firefox save file dialog is inactive for the first few seconds.
I agree with the complaint, and this is a widespread UI flaw that extends far beyond Apple, however I think his proposed solution isn't the best.
My generalized solution that would work in any interface layout is to add new interface elements as disabled, and leave them disabled for maybe 1 full second. This would eliminate 90% of false clicks on fast moving popups.
A full second is too much, but I agree - if you're moving the UI around (delayed-loading autocomplete dropdowns are the absolute worst at this. Utter fury about those) then the UI should be disabled until the user has had a moment.
Allowing imprecision on the time axis is called hysteresis[1], and it's been in common use on the Mac for decades. I'm a bit surprised they don't do it here already.
This seems like a better solution than what the author proposed. Another thought could be that the pop-ups would only be disabled for the spatial parts of the pop-up which have an interactive element located directly below.
I was imagining somethjng like this as well, but unfamiliarity with iOS made me wonder if possible.
Personally I think the issue is slightly overstated (or I'm just not popular enough and get fewer notifications) but my use pattern usually would naturally lead me to ignore such notifications by turning them off completely. Only messages get a pop-up for me on Android (or banner in iOS) and for large group chats they only get buzzes or noises.
Maybe iOS and Android can have a priority group you can set for instant delivery and then hold non priority notifications until a period of inaction from the user, adding an small delay.
But really, the occurrence rate seems pretty low to me from my workflow. And I live on my phone at work.
I'm not sure if it is possible, but for the iPhone Xs would it be possible before deciding to show a notification to use the TrueDepth camera to take a quick peek to see if a user's hand is near the top of the screen and delay the notification until the area is clear?
> 2 seconds of agony, 3 times a day, that’s about 0.6 hours a year.
Kind of ironic to make this sort of calculation only to post it on medium, where it can't be read until a pop-up nag is closed. I wonder how much agony I accumulate in a year of accidentally clicking medium links.
I’m trying to fathom how many times you would have to hit back and how many notifications you would have to revive for those two events to coincide precise three times a day.
It seems to me that if that’s genuinely the case, the problem is with the number and type of notifications received, which iOS gives tools to manage on an app by app basis.
If you sign up for a Medium account you don't get any pop-ups. While I know many would object to it, if you're looking at it purely in terms of agony per year, it's an easy decision.
Or you can use an ad blocker and have many common annoyances like this removed automatically, without having to register needlessly on various sites and ensure you're logged in all the time.
I can see how the author finds this an issue, but I have to disagree with his proposed solution. Halving the width of the notification in the way shown would only work in the cases where the user is pressing buttons on the left or right sides of the notification. If the notification width was to be variable based on where it could be thought that the user would be pressing, the notification's would have a very inconsistent look.
Capacitive touch screens know when your finger is getting close to the screen. Apple doesn't, afaik, open up that level of detail in its APIs, but it could be used by the system to delay the display of a 3rd party overlay when the user's finger proximity indicates a tap is imminent.
This same approach could be used to pause movement on a web page during mid-render, for example if an ad or other content is late to load but the user is already clicking on a link. How many times do we end up clicking on something unintended because the page re-renders mid-tap/click?
Starting with the Samsung Galaxy S4 or S5 the phone had the ability to use finger proximity as a highlighter of sorts. I loved it, but never saw the functionality really used for more than visual candy effects.
While I completely understand the problem, I do not like your solution. To me it doesn’t look as good as the original and takes away a lot of space for information within the notification itself.
I’d rather build in a hidden timer, so taps on a notification only trigger an app change after a certain amount of time. E.g. 0.5 seconds after it popped up.
Another problem they didn't consider for this solution, is the people that tap the midde of the status bar to scroll to the top. With that solution, I still go into "agony"-mode.
They didn't think of that. I guess in the same way that Apple didn't think of the problem presented in that post.
I've always wondered why Apple doesn't put navigation items on the bottom of the screen much the way Android has soft keys on the bottom. It would solve this problem and also make one handed navigation easier (or possible at all).
Completely agree. Had hoped with iPhone X they would move to have interactions at the bottom, since constantly involving reachability (which is now disabled by default) to go to the top menus (since not all apps allow you to swipe from the left to go back consistently). Several apps like Instapaper work great the main navigation actions in the bottom. They have items in the top but those are ones you won't need to access often. And they leave space at the bottom to not interfere with the home button line area. Maybe we will see a push to this UI direction from Apple officially in iOS12 as I imagine iPhone screens will only get larger.
I wish they’d also force apps to differentiate between functional notifications to actually use the app (eg “Your Uber has arrived!”) vs advertising notifications (“Discounted Ubers today!!”) I want the former but not the latter. Currently I don’t have that choice though, it’s all or none.
The latter is actually forbidden per the App Store guidelines:
4.5.3 Do not use Apple Services to spam, phish, or send unsolicited messages to customers, including Game Center, Push Notifications, etc. Do not attempt to reverse lookup, trace, relate, associate, mine, harvest, or otherwise exploit Player IDs, aliases, or other information obtained through Game Center, or you will be removed from the Developer Program.
4.5.4 Push Notifications must not be required for the app to function, and should not be used for advertising, promotions, or direct marketing purposes or to send sensitive personal or confidential information.
This isn't something bothering me. What is bothering me is more than I get the same notifications on different devices. I get Read This Email on my phone. I read the email, 2 hours later I pickup my iPad and I see the same notification while I already dealt with the email.
Smaller screens can keep it full width. The iPad (in some previous iteration, don't know what it looks like now) already has notifications that don't span the whole width. Seems reasonable other large screen non-iPad devices might do the same thing.
This is a rather general problem, and here's my general solution:
Currently(0), we use the same virtual grid for visual layout as for mouse/touch interactions. If there's a box displayed visually, then there's a corresponding box that's available to receive clicks. If that box moves 100px down the screen, then the click-receiving box also moves 100px down the screen immediately. If you clicked the original box's location just as it moves, the computer replies with something like, "hey idiot, why did you just click empty space?" Why can't the computer be a little less of a bully and recognize the intent of the user by looking into the past a little to see what the user tried to click?
Instead of keeping these grids in lock step with one another, the click/touch-receiving grid should be delayed by 10-200+ milliseconds (and tunable -- esports players on one end and elderly/disabled folks on the other). This grid from the past is actually what you intended to click.
Back to the example above, if you click the box just as it moves, the click is now checked against this slightly-old grid instead of the current (suddenly changed) visual location of the box, and the computer correctly detects that the click was aimed at the box.
0: in any system I've worked on; I imagine some system has tried to make this better, though?
I disabled most notifications but is still occasionally hit by this; more annoying imho is trying to use siri-app "suggestions", the exact moment you press it often reorganize the icons making you enter something completely unrelated!
> If only 0.002% of the 700M+ iPhone users have a similar experience on a daily basis, collectively these notifications are causing over 8400 hours a year of pain to users.
This echoes the Saving Lives[1] anecdote:
> "Well, let's say you can shave 10 seconds off of the boot time. Multiply that by five million users and thats 50 million seconds, every single day. Over a year, that's probably dozens of lifetimes. So if you make it boot ten seconds faster, you've saved a dozen lives. That's really worth it, don't you think?"
The problem with such calculations is the assumption (often incorrect) that those little bits of "wasted" time would have been used for something more productive and are anything more than statistical noise.
While my home machine came out of hibernation yesterday evening I stroked the cat. I would have probably done that anyway while the authentication screen waited for me, had it started up faster.
While my work machine started up this morning I discussed the outcome of one of yesterday's problems with a colleague. This took several minutes so the PC starting in 20 seconds instead of 30 would have made no difference at all.
That's my reaction to that argument as well, whenever I hear it. "Over X amount of time you're saving X minutes/hours/whatever". It's nonsense, especially when we get into the seconds or microseconds, amounts of time hardly worth saving.
There are far more important reasons to not interrupt someone's workflow than "closing the notification takes precious seconds from my life". It's not the 2 seconds it takes to switch back to the other app, it's the 1 minute 45 seconds it takes to get my mind back to my original task or the 23 minutes that I'm distracted by whatever the attention-thief was.
Or worse yet, it's the lifetime and several hundred dollars when I become so frustrated that I switch to another phone. It's the $3 and hours of use that I've wasted when I switch to an app that doesn't demand push notifications.
Complaining about seconds wasted is ridiculous. If a second is "wasted", you're losing a lot more than just that one second. Don't make your argument based on the least impactful point.
Rather than a resize or a timer, I'd prefer to see the tappable area changed to exclude the most commonly used hot spots on the screen, such as the top left and right corner.
It could also detect when there is a tappable element under the tap-sensitive middle of the notification, and introduce a short delay only in those cases.
If there was to be a delay, 0.5 seconds sounds way too long. More like 0.2 - 0.3 would be good, and in the meantime (during the delay) the banner could pass the taps through to whatever element was visible before the notification came along.
Reduced width of top notification would work well on the X and Plus, but would be less usable on the smaller phones, with it being specifically unusable on the SE.
With the exception of the iPhone X, all iPhone devices have almost identical UX. In this way I do not think the author considered all of Apple's customers. Furthermore the SE, 6s and 7 are entry level phones, and Apple has an invested interest in attracting more entry level phone buyers, and in making current entry level phone users have as smooth as possible upgrade experience.
When holding my phone one handed, and a notification appears I want to open, I often tap the very side of a notification. Reprogramming my motion to reach farther would require effort. This is a cost. The author makes no mention of the costs of the UX change. Apple collects data on where a person taps on a push notification and if it appears to be a mistake. Apple is in a place to make data based design decisions. Fairpixel is not in a place to make data based design decisions on Apple's operating systems.
The purpose of the article is not to inspire change in Apple's iOS, but to push Fairpixel's brand as experts in UX/Design. I think it shows impulsiveness. Suggesting changes on hundreds of millions of devices based on evidence of one person's experience is irresponsible. Pretending like a change in UX is 100% positive and will not have costs is dishonest. Marketing your boutique firm as smarter then Apple at UX is arrogant. This article would dissuade me from working with Fairpixel in the future if I were considering it.
This is my favorite part of iOS UX over Androids. Push notification settings for all applications is in one location and easy to set. I change my notification settings multiple times a week. {Turn email sound/homescreen/banner off for the weekend, disable everything but phone calls for meetings where I am expecting an important call, turn off notifications when in a large group messenger chat, etc}
Wow, do people actually permit a new mail message to justify a Notification? No wonder this guy has this problem. Notifications should be restricted to communication channels explicitly intended for instant feedback (e.g. iMessage). I turn off most other apps' ability to interrupt me. I just can't conceive of a reason I need to be interrupted by most apps.
Everyone's use case and life is different. Some people might need to instantly react to an e-mail - there's no actual iron-clad reason why an iMessage is more important than an e-mail, after all.
Namely disable them. The website registration is about as annoying as pop-ups now. It's one of those things, that once you open pandora's box on ... you can't really put it back in the box.
I find notifications great for a phone, but terrible on implementation on desktop. But maybe my workflow is more unique than most? Or maybe its just not evolved. It drives me bananas, in general because its so abused.
The other portion of this is Cloud buy in. If you purchase a Cloud product from Apple, the specific portion of Photos (the app) that unifies the experience across platforms - iPhone, iPad, Mac desktop/laptops - does not have one feature to back out photos and archive. You have to individually select and the previous feature to "select all" or cntrl-click from start to last on an image group has disappeared. They effectively make it impossible to export a catalog.
Sorry for the long comment. TL;DR: this is a symptom of a larger problem around how we use notifications.
I really don't like how notifications are used in general. They are a ui tool that we would ideally use to interrupt ourselves when it's truly necessary, but that's almost never the case[1].
When your screen is on, it's usually because you're doing something with your phone. If a notification comes in during this time, it shouldn't be able to disrupt your workflow unless you opt into that disruption. I love the idea of using the status bar to give a heads up that there's a new notification in the app. It's already used to provide a "back" button when you've opted to open an app from a notification (which, granted, was a controversial UI decision), so there is some precedent for it.
Generally though, most apps send you notifications when you don't need them. I'd argue that users wouldn't hate being taken away from what they were doing as much if it took them to something both time-sensitive and actionable. Notifications should be originate from a user's interactions (whether the active user, like when setting reminders, or other users, like when sending messages), and even then they should be used carefully. In the article, the screenshot shows the user getting a notification about a promotional email. There's almost never a scenario in which a user couldn't have waited until later to read that promotion. I love that the Gmail app gives you the option to only get notified for new emails in your inbox; that's a great first step. Things like group chats are still pretty broken (you want to know when there's unread messages in a chat, not every time someone in the group sends a message).
But one can argue about clicking the top while doing things like scrolling upward and ready to click on an article on the page. There is a better fix then shuffling the notification elsewhere. I argue a temporary freeze is better - if there is no response from the user after one second, the user is free to swipe up to hide the notification. This will prevent accidental click. Yes, there is a possibility of in-between temporal display-and-click, but will probably yield a better result. This needs research. One has to identify common hotspot. This can be, however, at the expense of user experience. But we can find a common ground or offer it as an option.
Another possibility is snoozing notification by learning how often a user will read notification immediately, so that notifications will not display for sometime.
What I'd like to see is a sort of queue for notifications while in quiet mode.
Just put them all in a queue similar to a twitter feed, that can be reviewed later. This would be the best way imho to handle the need for focus.
Then people can decide to review these once a day, or multiple times a day, but when it actually makes sense for them.
This would also require the ability to specify an exclusion for some apps (ie. "notifiy always" vs "queue notification").
ps: the notification area is a sort of queue, but I don't want to see it on the homescreen as it still is begging for attention. Put it away in a separate app or area that can be reviewed intentionally.
First of all those buttons shouldn't be up there to begin with. They're too far away from the fingers of most users to tap comfortably one-handed after Apple moved up to 4" screens and larger. Android has it in the right position though that back button has other problems I won't go into here right now. The "action" button(s) on the top right suffer from the same problem.
I would always put information on the top and buttons in the bottom half. Unless it's stuff that's totally out of the normal flow of usage like a help button or a feedback form.
Swipe up on iOS, but that doesn’t help when you were milliseconds away from touching an onscreen control and it appeared. I heavily control what apps can show notifications, yet I seem to have this happen multiple times a day like the article author.
It is an issue, because as your finger is making its way to tap "Back" or "Done" the notification pops under it. It's like when an ad loads directly under your mouse cursor, overlaying something you want to click on, as the neural signal to your click-muscle is already halfway down your arm.
Great observation! This happens with Android as well. I really like the solution, but would go even further. Give users an option to configure where the notifications are displayed and per app control.
Android has more notification control, but I think the main reason that this doesn't feel like as much of an issue on Android is that the back button is on the bottom of the screen and the Up button isn't used nearly as frequently.
Same. I allow lock-screen notifications from important things (mail, messages) and disable every other notification. Getting constant notifications would be my nightmare
Swipe left Siri suggested icons used to render, then move around depending on your location, the last time you used the app. Similar UI, totally maddening, and that changed in a recent release.
I'd prefer a setting where you would be notified after you returned to the home screen. I'd like to finish the thing I'm doing before getting a notification. Maybe you can accomplish the same thing by turning notifications off, and just swiping down every once in a while?
Cool observation - not as bad on Android due to a hardware back button, but it still happens.
Or another option to solve it??? Just don't show notifications when the user is "obviously" using their phone. e.g. if there's been any tap in the last 5s, make the noise but don't show the pop-up until the screen has gone untouched for 5s (the user can still swipe down from the top to see it).
Good idea. Also, obviously using the phone could include when the front-facing camera or sensor array (iPhone X) can clearly see that there is a finger hovering close to the screen.
I have all sounds and vibrations turned off. Works great in conjunction with an Apple watch that has vibrations turned on. Not arguing with your percentage guess; I'd guess the same thing... just saying there are some of us :-).
Edit: BTW the described idea probably wouldn't work with my Apple watch setup, because it seems there can be some latency between the iPhone and the watch with respect to notifications. I wouldn't want to get a vibration on the watch then be wondering for a few seconds "when is something going to pop up on my phone?" I realize technically the notification comes to the phone first under the hood... but where it is displayed first is a matter of programming.
Very interesting.
Slightly unrelated, but since this seems to be the primary motive behind an Apple Watch(notification improvements), I'm curious how your workflow works out for you?
Having seen how often the bluetooth/wifi calling and messaging fails b/w my iPhone and Mac, I decided against trying an Apple Watch. Is it any better?
There's not much workflow to it. Unfortunately I don't use the watch for much other than two very useful functions: 1) getting bumped when there's an incoming notification, or getting a hard to ignore vibration when I have an incoming call; 2) using the "find my phone" feature, which is super convenient compared to logging on to icloud.com, and makes your phone play a ping sound even if it's otherwise silent.
Sometimes I have to turn on sound on the phone for things like Waze or for playing videos or music. But the ringer stays off (due to settings).
The connection with the iPhone and Mac seems fine. However, with my watch (1st generation) a couple of updates ago the lost phone ping feature got a new unwelcome degree of latency. It can now take up to 30 seconds for the phone to ping, where it used to be immediate. I don't know if this is the case for newer models. Nor could I say whether the problem is on the watch side, or the phone side (doesn't matter, I guess). But at least it still works.
Not all - I'd say that probably 80% of them are only allowed to show the banner with no sound or vibrate. Perfect example just arrived - Patreon. Handy to see the banner/lock screen because it's normally a new video to watch but it's nowhere near important enough to distract me.
It's easy to get our brains used to frequent gestures, I haven't tested, but I'd guess after a while, our brains would get programmed to just swipe away the dialog before continuing with the original task
Disagree, human reaction time isn’t fast enough. This literally happens when my finger is millimeters from touching the screen to perform my intended action.
That's one solution, but random notifications are still a problem. There are some apps where I want certain notifications, like "you have a new message," but other notifications are basically "hey! you haven't opened the app in a while!" I need that granularity of control (or a report spam button).
I definitely hit this. Perhaps a size update would help, but I also feel that there should be a slight invulnerability period so to say where taps on it do nothing for half a second. Not noticeable for most intended use cases, but provides a less agonizing context switching experience.
Apple should make notification useful before they worry about this minor annoyance IMO. I hate that doing something like reading the new email doesn't dismiss the notification. I disable notifications for most apps because they just give me one more thing to clean up.
I wonder if it’s possible to keep track of what existed at the pixel (or whatever the technically correct term to use here is) at the time the user clicked there, and if a new notification overwrites that pixel, only apply the user action to the previous notification.
Not the notification issue I was expecting. On MacOS non administrative users get notified of upgrades that they don’t have the appropriate permission to act on, and can only defer the notification with “try again tonight”, or “remind me later”.
MacOS's notifications drive me crazy like that... when I'm listening to music on iTunes and using my browser, I reach up to click a tab as the song changes and now I'm suddenly clicking iTunes instead.
It seems like not accepting any user interaction within the first 500ms for popup dialogues / notifications like this would be a better solution than crushing the notification into the middle of the screen.
Another annoying failure mode is when you notice a notification and go to dismiss it ... just as it disappears and now you're accidentally phoning someone at 3am via WhatsApp/Viber/Messenger.
This is definitely an annoying problem, but I don't like the solution. Rather, they should just ignore the tap for a 250ms or so to allow people to process what they want to do.
You can swipe (with the trackpad or magic mouse, only works when the cursor is hovering over the notification) or drag the notification to the right to make it go away.
solution is easy to imagine and has been implemented before (I've seen it in a video game that I can't recall specifically). If an unanticipatable navigation element is activated less than ~.1 sec after appearing, ignore the command. human reaction latency means that that could not have been intended.
I don't recall if the click was sent to the now-obscured target or if it was just cancelled. either way, Apple could apply this to all notifications very easily.
As someone with a visual impairment who has large text size turned on, I laugh at the short-sightedness of this solution and associated Medium thinkpiece.
> By the time I’ve navigated back to the Notes app and performed the originally intended action, I’ve experienced pure agony for about 2 seconds.
Is this a parody? Don’t people have real problems? This level of petty self–indulgence is almost worrying.
I‘m not disputing that this may be a minor annoyance. But to invoke „agony“ is an insult to anyone who has ever experienced real suffering or existential dread.
And to slap on the old „Dear Apple“ cliché just to get your 15 minutes of (limited) attention is somewhat sad.
There already is one when app-switching. So in the example described, the writer would have ended up in Mail, and could then hit the upper-left corners to get back to Notes immediately. Not even two seconds. Not even one second.
Related beef: Apple wants me to update something on MacOS, and the pops a notification with the options "Install Now" and "Details" - meaning "Yes" or "Tell me more!"
I think they tried that, and found fewer people were updating.
No solution is perfect for everybody. There are tradeoffs. If you read between the lines you can see that in this tradeoff, they are optimizing for getting more people to stay up to date. Which has many benefits which arguably outweigh the annoyance you experience.
IMO Apple is long overdue admitting that putting navigation buttons on the top bar was a mistake. Fine in the era of the original iPhone, but as phones get progressively bigger and taller, less so. The swipe back gesture works in most situations, but I was a fan of Allen Pike's mockup of bottom navigation on the iPhone X (or, "Pro", at the time):
https://www.allenpike.com/2017/developing-for-iphone-pro/
Having navigation at the bottom is one of the few things Android got absolutely right at launch when compared to Apple. But back to notifications, Android isn't great either: if a new notification arrives while I'm swiping old ones away there's no consideration that I might not want to swipe away something I haven't even read yet, so it disappears immediately and with no way to get it back. Frustrating.