SPA view transitions land in Chrome 111
developer.chrome.com
developer.chrome.com
They are also working on view transitions between documents, this isn't that. So rather than having to build a SPA in order to animate between "pages" it will be possible to animate those tradition on a traditional server rendered MPA. Looking forward to that one!
I suspect it'll be a few years before this is stable enough to use though (people will continue with the existing javascript-assisted exit transitions until then)
I wonder if people will even be using this generation of SPAs at that point, or if we'll need something else by then.
Based on my reading of the docs the API gives you a static screenshot of the old DOM and the live new DOM. So if you have any dynamic content on the page it freezes during the transition.
The platforms/frameworks I use, like WPF, don’t use screenshots when animating changes to whole-scene content replacements.
(Not saying WPF is good overall either, because it isn’t; but despite it being almost 20 years old now there’s still times when it makes me go “oh, neat”)
<meta http-equiv="Page-Enter" content="revealTrans(Duration=*,Transition=?)">
Try CTRL + SHIFT + Left arrow (or right arrow) right now, if you use spaces
I wish we could just disable transitions completely for spaces, instead of falling back to the crossfade effect.
That's how I feel about MacOS virtual desktops.
You used to be able to configure it so that there was no animation, but they removed that options a while back.
Or have you already found this option doesn't help you with your specific issue?
Just tried it. It exchanges a "slide" animation with a "fade" animation. But it still takes ~1/8 of a second.
I still keep that document and revisit from time to time.
I think we need a respected global UI/UX best practices document open for everyone, not unlike MDN.
Presentation helps discovering or ramping up to a domain but then your brain goes over that hump and you only care about high density of information.
Rsync
Emacs
NoScript
What I was talking about using the feature for is passive content. Watch any TV news broadcast, popular Twitch stream, etc. and you'll see that elements or scenes transitioning smoothly is the polish of a good production. A news ticker doesn't just appear, it has a 1 second fade in. The logo isn't always on the screen, it slides in and out periodically from the right.
This "overdoing" always happends when something new is introduced.
When Windows became able to use multiple fonts in the 90'ies, people used as many fonts as possible on a single sheet of paper. It looked really bad. Over time we got back to use 1 or 2 fonts on a page.
When web got animated GIFs, every page had an animated "work in progress".
I'm the static HTML type, but one can really smooth out their UX with animations and transitions.
[*] where reading is typically left-to-right
Animated transitions can and do add value where there is a contextual reason for them. You have animations on objects appearing, disappearing or moving, all are different.
- Appearing objects: If you have just clicked or taped something you already know where it is coming from, a very quick animation is what you want at most. Get it on screen quickly.
- Disappearing objects: Again get it off screen quickly, thats what I asked for. However, if for example its "just of the side" (like minimising a window to the Mac Dock) then an animation gives you contextual information of where it is now, so you can bring it back.
- Moving objects: This is where there is the most value in my opinion. It gives you the context of where something has moved to. On iOS safari for example when you tap the bottom right show tabs button, the animation indicates where the previously open tab in in the list, but there isn't an animation for the other tabs appearing, you see them instantly. It's subtle but very effective.
I think a good general rule of thumb is to get new stuff on screen quickly, if I clicked it I know where it's coming from so it really doesn't need a "slow" animation. Moving stuff, show me where it's moved to, thats a good place for an "contextual" animation.
This should only apply to major components of the UI (such as a video player, or a document, maybe a toolbar that slides to the side of the page), or course. When done well, this makes navigation much more intuitive inside applications.
Every mobile operating system and most desktop operating systems already employ these transitions in their normal use. Most people will only perceive them when they're in the way, but when they're part of a well-deigned UI flow, you probably won't even notice they're there.
I've run my phone with animations disabled for a while, but apps feel much clunkier and broken when all animations disappear.
Even when a page loads quickly (<50ms) and suddenly all the controls and views are somewhere completely different, I need to scan the page again to see where everything went. If I can follow the controls with my eyes, that makes navigation much easier.
If this does get implemented, I expect you will be able to turn these transitions off just like you already can in (mobile) operating systems and some browsers. In fact, if you've already set up your OS to reduce movement, I expect you'll never even be able to see the features being introduced.
I mean I guess web consumers are just SCREAMING OUT for this and I've been living under a rock?
Obviously I am old and grumpy but holy crap this is exciting browser development now. Seesh.
Sure, if you make seconds-long animations on every interaction, or implement this for blog posts, it's going to be unusable.
But for web apps, short animations in UI transformation make it feel more... held together I guess. Consistent. I like it.
However, for users it will affect, can it be disabled.
Does this mean more code must be added to code to cater for browsers that do not implement this API can still the this feature?
How many chrome only APIs already exist and how often do they break sites on spending browsers. Genuine question as I use Firefox, but have never noticed a broken site so I wonder if these fail gracefully or maybe chrome only APIs are rarely used it I don't visit those types of sites....
Hope that other browsers won’t follow the suit cause I’ll have to get myself comfortable with “use reduced motion” switch.
The YouTube app has the same types of transitions but there it all feels a lot smoother.
It’s so much easier to interface all that hardware just from an intranet website, instead of rolling out your own native code to thousands of different devices with different operating systems. We did that in the past, now they all just run chrome.
The wheel was almost certainly not invented for the automobile, and yet, your car has four of them.
If you don't like how all the applications are built on the web, by all means, provide a native alternative that's better.
Microsoft under Ballmer would have loved something like that, and spent a lot of money on trying to beat the web.
go to some website => solve problem => finish
without extra steps. As a user I usually really don't care, I just am not interested in the problem and I am already spending too much time with stuff I am not interested in.
I really hope we never remove these API surfaces from the web API surface.
We can't keep backwards compatibility forever or software is just going to get worse and worse.
You can remove "safely" for old enough browsers. They will refuse to connect because of old certificates, or won't be able to understand new ciphers.
In fact, often backwards compatibility is what keeps things from getting worse because the current environment would have never allowed something as good if it wasn't already entrenched. A good example of this is EMail - big tech has no interest in interopability and aside of upcoming laws forcing them there is no way that a federated communication system like EMail would have any chance today.
Prepare for endless frustration as designers start implementing artificial 5 second delays while you wait for a pretty transition between two states of a page.
They apparently introduce video codecs with plans for deprecating and then removing them. Literally breaking all sites on the web which rely on that codec.
That, to me, perfectly encapsulates their philosophy of introducing new features without committing to maintaining them. They don't view the web as something that's worth not breaking, they seem to only value the actively maintained part of the web which has enough resources to stay on top of Google's treadmill.
It's even worse than that. They force hardware manufacturers to adopt their codec on pain of retribution: https://www.protocol.com/youtube-tv-roku-issues
Drop the codec, oops, your devices are obsolete, there's nothing we can do about it
Is that anything to do with our users' age group?
1. are strongly/over-opinionated
2. are power users - most of these design choices are inherently less functional than alternatives
3. understand that these things aren't just "the way they are" but are intentional, explicit things that designers & co. want and will push for over how things used to be as well as the status quo
Otherwise, yeah, totally agree. The modern web is infuriating in many ways. All praise to reader view, ublock origin, and vimium.
The modern web and app space is just filled with minor annoyances that individually are probably fine but that add up to a sort of aggregation of frustrations and feelings of being manipulated that is hard to put a singular description to. I get this sentiment in both age groups that I have high exposure to. It's not really about hating new trends because we're just old and comfortable with how things are (or were).
That's my feeling lately. A lot of UX lately doesn't seem to be designed to empower or assist the user but to push them into a direction that's good for whatever the company wants.
The only time people consciously think about UX/design is when something horrific happens like the most recent Gmail redesign or the Netflix autoplay on hover.
This might be less relevant to power users, but imagine someone accidentally clicking somewhere and suddenly facing a full-screen video. With the transition, it's at least clear what action is happening. It's similar to buttons indicating their state (hovered, pressed, clicked).
The main reason animations can get annoying is that people don't get the timing right (too slow), or really just use them to show off. Some even use transitions to gloss over the slowness of their system, which is infuriating.
This is it. 90+% of animations I see fit into this category.
Apple is notorious for this [0]. The animations on Macs and iDevices are so painfully slow and unnecessary.
[0] Just one recent example: https://discussions.apple.com/thread/254333888
Either way, you can disable transitions on your OS already if you dislike them. In fact, you should see this as an improvement to the current situation, as transitions bound to OS animation preferences instead of jQuery .animate() will suddenly disappear for you.
Give developers a standardised interface they can use and they'll use it; give users settings for those interfaces and you can make applications work like you wish with the click of a button.
<meta http-equiv="Page-Exit" content="revealTrans(Duration=1,Transition=3)">
Edit, found a video: https://vimeo.com/111317293
(Don't have access to Chrome atm)
I thought it was just an image. Video controls appeared only after I hovered a mouse over the element.
(FD: I am working on this)