I'm a sucker for good little microinteractions. The author's checkbox may not be one of those, as it seems a bit overdone, but I'd have to try it to be sure. It's easy to go too far.
To each their own. I find the hover states on the jam3 site unintuitive, like the clickable area is moving out from under me, forcing me to track it before perfoming the actual click. Reminds me of a flash ad where the target moves as your mouse gets closer.
The hamburglar icon is a perfect example - the whimsey happens after the action is performed (arguably the menu should appear immediately instead of pop out, but it's pretty quick) instead of delaying the action until the animation completes.
The red button shows how important depth is for UI controls. There would never be any doubt that it’s an interactive element.
I wish the flat design trend we’re only now starting to drag ourselves out of only extended to materials. I’ve no problem with getting rid of the OS X Aqua/Windows Aero-style gloss that was everywhere and starting to look dated, but we lost a ton of usability by making interactive elements indistinguishable from labels.
It's really great that unlike Jam3, your site and the first example still work perfectly fine without javascript enabled! It's amazing how many people will spend a lot of time on little details and animations while neglecting to make sure the site degrades gracefully and is still useful without a bunch of remotely hosted JS.
Some combination of taps on the green one next to it (might be a double tap on the green) and taps on the hamburger break the hamburger in iOS. I guess that the price for having a fun button.
You might be interested in checking out the playdate[0]. It's a handheld game console that's absolutely chock full of these sorts of things and it's absolutely delightful.
For example to unlock it you need to press the unlock button twice. If you press it once one eye opens, if you press it twice both eyes open and the thing unlocks. If you press once and wait a bit a thought bubble pops up telling you you need to press it twice.
Wow, the hover states in the second link are incredible. They feel "just right".
> I also happen to be quite proud of the hover states on my own site
Those are nice as well, though I'm not sure why the button animation is so delayed. It felt like I missed the button with the cursor until it suddenly started wiggling.
The animations on things like this can be cute and fun the first time, but man they can get annoying if they're constant and can't be skipped. Hearthstone is an example of this; there's tons of cute animations for the various cards, but they can take way too long.
Hiding "no animations" for power users under accessibility is a great way to go.
Once a day for a few things that you are tracking (and really want to improve) doesn't seem to fall into my "constant" definition. Hearthstone would have dozens (hundreds?) of those animations on every single game you play. Here, it's three or four times a day? For things that you really feel satisfied to accomplish?
I liked the end result a lot. The whole animation seems very appropriate in this case to me. The rant that I see in your comment (and every other comment here by the time I am writing this) seems very out of place. Everyone is complaining about things that are not what this designer did.
Depends on how frequently you're interacting with this widget. The annoyance of animations comes from the integral of all time you have to spend watching them; if they're in the critical path of a workflow that you do multiple times a day they get very annoying very quickly.
I've only glanced at this app, but the goal seems to be forming a habit of doing things once a day. If you're only interacting once every 24 hours, I'd take a 1second animation with some charm over a static checkbox.
Yes please. Let me turn that off. It is now becoming harder and harder to turn all those time wasting animations everywhere
Android for example has clearly a bunch of bugs where some stupid slow animations cannot be tured off. Yes even with turning off animations in accessibility and via the developper options.
On iOS, it doesn't seem to be possible to turn any of them off. You can merely "reduce motion". But it still wastes up to second in the worst case.
What about gtk3 or 4. Now there is some crap animation everywhere in gtk applications and I don't know how to turn that off.
Computers are so fast. Most software is already bad enough that it manages to slow down our beautiful hardware. Let's not make it even slower with animations.
Sure have optional animations if that helps newcomers understand better the flow of your application. But make it optional please. Pretty please?
Hearthstone is such a catastrophe on this. There are multiple fun strategies that are literally rendered unviable because the animations slow you down too much and it's not possible to execute them well within the turn timer (for e.g. infinite pirates or brann in battlegrounds).
Actually I think they can stay fun indefinitely if they are fidgetable and to be fidgetable you can make those animations rendering and acting differently according to the user input.
Back in the day, the lock screen of the iPhones hand a physics based bounciness. When you slide the lock screen from the top it would slightly bounce at the bottom and if you accelerate the lock screen it would bounce more. I fidgeted with that all the time, I was sad when they removed that.
UIs become so boring, I hope and expect to get some skeuomorphism back. Our current devices are so capable that this time the skeuomorphic designs can be much more convincing.
Totally agree, I even think that adding all this is not making the product better but actually worse.
I agree that making actions feel more rewarding is great, so adding some sound and maybe a bit of more design to the check box is great. One of the things I enjoy the most about my mechanical keyboard is the click that each keystroke makes.
But going all the way to create a 3D animation, that now takes seconds to go from unchecked to checked actually feels like making a daily process more time consuming and annoying.
Starcraft did it better, everything responds 'instantly' or very quickly and persist clicking is rewarded with fun animations and pop culture voice lines. Hearthstone could take all your inputs first and queue up animations second.
Yes. I don't want to have to hold down a button just to check a box if it's something I need to do with any kind of regularity. Just give me a damn checkbox. If it's something big and rare, this cutesy stuff is fine.
There was a game called Battle Chess 3000 or something, on Windows 95. It had aliens and robots who would kill each other in funny ways when pieces were taken. The moves sometimes took 20 seconds or more to show. Fortunately, the developers included a "skip animations" option to move things along.
Just a matter of degree, which becomes obvious when you imagine the extreme: HS without any animations would be very unfun.
So the answer is somewhere in between and the optimal UX might only be achieved by adjusting for individual players, for example depending on their speed or for how they have played the game.
It's pretty cool! As experiments I really love andy.works' work. I appreciate what he's trying to accomplish. And I think he's on to something with the idea. But the execution is always a little off to me.
I just don't find this checkbox all that satisfying. Why? The thing I find satisfying about checkboxes is the same as any switch – the click. On/off. It's snappy. I don't think about it. Click... click... click click!
So this grandiose check animation is taking something inherently snappy and prolonging it to its own defeat. Even the sound effect is like an ethereal chime or something, rather than a snap. The scale is super big for the actual space of the phone. The animation too long. I also don't like the angle of the 3D checkmark itself. It's not really oblique, not really at any sort of satisfying geometric angle? I can live with that though.
Anyway really cool work. Wish it were more satisfying.
I've learned to design UX that "gets out of the way." I have written some pretty cool UI elements that I've ended up, not using.
Here's an example; It's a cool "popup prize-wheel spinner" for iOS, and I have tried using it a few times, but we always decide that it's too intrusive: https://github.com/RiftValleySoftware/RVS_Spinner
This post is everything that’s wrong with UX. Somewhere along the way they forgot about simplicity of implementation, mental models, repeat user experience, and most of all, stopped listening to what the user wanted and instead designed things in an ivory tower for award shows.
Only somewhat related to the article, but It's amazing to me how much audio + animation adds to the user experience for games, and even some apps.
Not a checkmark at all, but the way games like Smash Bros Ultimate makes pressing around menus sound totally exciting and satisfying. The sound, the lightning/sparks, and how it all rumbles slightly on press. Yes I know Smash has some UX issues, but overall the craftsmanship for simple things is amazing.
Someone had to design and prototype that, similar to the author of this article. I'm not sure this particular example is great tbh, but I am sure there's a lot of "pointless" exploration needs to happen before landing on something great.
I think this is great. I'm going to take this in the spirit of the post and assume this is all for funsies and to be silly. But I think there are a couple of things missing from making this Most Satisfying:
* The sounds is not satisfying enough! It's too..."wahhhhhh" and not enough "ker-chunk!" like the writeup described. I think I get what he's going for, but it's not quite there. I want the same feeling I get when I flip a nice heavy switch. Some heft, some weight, some judder as it slams into place. I'm thinking of the feeling in the game Fez when you turn a wheel.
* The pattern of "hold and release to activate" is hard to get right and I still haven't seen it done well. Your animation must be nonlinear, because people are going to just tap. That's so little time that it's not enough to see anything happen. That initial animation has to pop out really fast and then slow down, to indicate to the user that they needed to hold it for a little bit longer for it to activate.
The article is not talking about a regular checkbox that you would use on some web form. It's a special checkbox that you click infrequently, as a reward when you do something for a habit you are building.
A lot of commenters seem to have overlooked this... C'mon people, use your brain.
I don't think one can honestly give a harsh critique without trying it, in this case. It's a very specific use case. I haven't tried it myself, so I don't actually know if it is any good. But the vision they had when designing it does seem good for this use case. I'm a sucker for the feeling I get when I cross something off a list with pen and paper. I may actually download the app just to try it :)
I'm a little surprised that this uses a long-press instead of having the user draw a checkbox with their finger. It seems like the natural way to handle a simple shape like this one that came into popularity because of how easy it is to draw.
Was this idea considered? If so, why wasn't it done this way?
For that, we use a helpful little tool called Lofelt. You can import a sound file and it’ll generate a custom haptic pattern to match it. With a little cleanup and an AHAP file for Xcode, we were ready to go.
It seems Lofelt is shutting down. I’m surprised Apple hasn’t released some kind of “Haptic Studio” app as a part of Xcode’s tools.
There's nothing wrong with the humble checkbox. It is simple, utilitarian, and easy to understand.
The "most satisfying checkbox" which you have crafted (that which I am still unsure is satire or earnest) is convoluted, needlessly complex, and a visual disaster.
Let's say you have a todo app with a million users checking an average of five boxes per day. Currently, you have a simple color shift animation which lasts 200ms and doesn't prevent the user from interacting with other elements. Then a designer suggests a fancy animation popover which takes 3s and blocks interaction, because they read some article about gamification and how it'll increase user engagement.
Disregarding that your app is about providing a specific function and user engagement metrics are meaningless, you implement the fancy animation. Your users are now collectively spending 1,400,000 hours per year waiting for an animation to finish.
Please don't be that person. Your users' time is more valuable than your desire for UI whimsy.
I think people are criticizing this checkbox in a vacuum. This is a mobile app that I personally use to track a small number of habits a day, it's not like I'm filling out a form on a PC. Within the context, it's definitely an appropriate design
To re-quote a popular thing from the 90's: "If I wanted your app to make a sound, I'd rub my finger on the screen".
Yes, there are ways to make interactions feel more satisfying. They are subtle. This one is the equivalent of 144pt Comic Sans Titles animated in rainbow colors. Just, please don't.
I know! Let's make it EVEN MORE satisfying, perhaps some confetti and cheering Alegria people!
The most satisfying checkbox for me has at most four frames of animation: checked, unchecked, clicked on and will toggle upon release, and (optionally) grayed out. It should respond immediately to mouse/finger presses/releases.
Even in game controls, unless charging (e.g. Guile's Sonic Boom) or intentional control jank (the whip in Castlevania) are part of the game's mechanics, the character should respond immediately and unceremoniously to inputs. Save the "juice" for the after effect (e.g., when a punch or shot connects). Mario's feet leave the ground the frame after the jump button is pressed. This makes the player's actions feel directly analogous to the characters, like the player is the character.
Even the Castlevania whip follows this rule in a sense. Belmont winds up as soon as the button is pressed but it takes a few frames for the whip to crack. If you were holding a whip in your hand, there would be a split-second delay between your swing and when the whip cracks. So the Castlevania whip controls loosely simulate your actions if you were using a real whip.
In theory... the most satisfying checkbox would take your inner most desire, that you've been trying for the longest time... and when you check the box, it completes the desire. Visually it doesn't matter as much as the function. Like checking something off your bucket list is more satisfying than checking something off the grocery list. I don't know if the visual component is as important as what is actually functionally done. "beware the pleasures of the eyes"
As I get older, I am more and more skeptical of people trying to influence my emotions.
This article was one of the most unsatisfying things to read in a while. There's so much misdirection and fluffing up of simple concepts that by the end I just want it to be over.
Very rarely is there a single checkbox on a screen by itself with no other inputs or info. This seems unusable in most situations where I would be using checkboxes. Also didn't show the reverse at all. Checkboxes are uncheckable too which will require more animations. Doesn't seem like just reversing these animations would work well.
[+] [-] Wowfunhappy|3 years ago|reply
But, some other examples that I love:
• https://www.joshwcomeau.com/animation/3d-button The red "push me" button is great, but also check out the sun/moon icon near the top right!
• https://www.jam3.com/#contact The hover states on the buttons.
• https://citymapper.com The top-left hamburger icon.
(I also happen to be quite proud of the hover states on my own site: https://jonathanalland.com/)
Making this type of stuff is definitely what I miss most about working in web design.
[+] [-] CTmystery|3 years ago|reply
[+] [-] bombcar|3 years ago|reply
[+] [-] deergomoo|3 years ago|reply
I wish the flat design trend we’re only now starting to drag ourselves out of only extended to materials. I’ve no problem with getting rid of the OS X Aqua/Windows Aero-style gloss that was everywhere and starting to look dated, but we lost a ton of usability by making interactive elements indistinguishable from labels.
[+] [-] lwansbrough|3 years ago|reply
[+] [-] nomilk|3 years ago|reply
[+] [-] layer8|3 years ago|reply
The springy release animation on that one would drive me crazy.
[+] [-] qbit42|3 years ago|reply
[+] [-] autoexec|3 years ago|reply
[+] [-] SLWW|3 years ago|reply
[+] [-] lostlogin|3 years ago|reply
That is a neat button.
Some combination of taps on the green one next to it (might be a double tap on the green) and taps on the hamburger break the hamburger in iOS. I guess that the price for having a fun button.
[+] [-] easrng|3 years ago|reply
[+] [-] Doxin|3 years ago|reply
For example to unlock it you need to press the unlock button twice. If you press it once one eye opens, if you press it twice both eyes open and the thing unlocks. If you press once and wait a bit a thought bubble pops up telling you you need to press it twice.
[+] [-] bbx|3 years ago|reply
[+] [-] hetspookjee|3 years ago|reply
[+] [-] alpaca128|3 years ago|reply
> I also happen to be quite proud of the hover states on my own site
Those are nice as well, though I'm not sure why the button animation is so delayed. It felt like I missed the button with the cursor until it suddenly started wiggling.
[+] [-] countmora|3 years ago|reply
[+] [-] mosselman|3 years ago|reply
[+] [-] malshe|3 years ago|reply
[+] [-] agumonkey|3 years ago|reply
[+] [-] bombcar|3 years ago|reply
Hiding "no animations" for power users under accessibility is a great way to go.
[+] [-] soneca|3 years ago|reply
I liked the end result a lot. The whole animation seems very appropriate in this case to me. The rant that I see in your comment (and every other comment here by the time I am writing this) seems very out of place. Everyone is complaining about things that are not what this designer did.
[+] [-] icyfox|3 years ago|reply
I've only glanced at this app, but the goal seems to be forming a habit of doing things once a day. If you're only interacting once every 24 hours, I'd take a 1second animation with some charm over a static checkbox.
[+] [-] bombela|3 years ago|reply
Android for example has clearly a bunch of bugs where some stupid slow animations cannot be tured off. Yes even with turning off animations in accessibility and via the developper options.
On iOS, it doesn't seem to be possible to turn any of them off. You can merely "reduce motion". But it still wastes up to second in the worst case.
What about gtk3 or 4. Now there is some crap animation everywhere in gtk applications and I don't know how to turn that off.
Computers are so fast. Most software is already bad enough that it manages to slow down our beautiful hardware. Let's not make it even slower with animations.
Sure have optional animations if that helps newcomers understand better the flow of your application. But make it optional please. Pretty please?
[+] [-] endemic|3 years ago|reply
[+] [-] joebob42|3 years ago|reply
It's infuriating.
[+] [-] mrtksn|3 years ago|reply
Back in the day, the lock screen of the iPhones hand a physics based bounciness. When you slide the lock screen from the top it would slightly bounce at the bottom and if you accelerate the lock screen it would bounce more. I fidgeted with that all the time, I was sad when they removed that.
UIs become so boring, I hope and expect to get some skeuomorphism back. Our current devices are so capable that this time the skeuomorphic designs can be much more convincing.
[+] [-] Vanclief|3 years ago|reply
I agree that making actions feel more rewarding is great, so adding some sound and maybe a bit of more design to the check box is great. One of the things I enjoy the most about my mechanical keyboard is the click that each keystroke makes.
But going all the way to create a 3D animation, that now takes seconds to go from unchecked to checked actually feels like making a daily process more time consuming and annoying.
(Or maybe I am just not human enough)
[+] [-] barrysteve|3 years ago|reply
[+] [-] jaywalk|3 years ago|reply
[+] [-] unethical_ban|3 years ago|reply
[+] [-] jstummbillig|3 years ago|reply
So the answer is somewhere in between and the optimal UX might only be achieved by adjusting for individual players, for example depending on their speed or for how they have played the game.
[+] [-] spandrew|3 years ago|reply
I just don't find this checkbox all that satisfying. Why? The thing I find satisfying about checkboxes is the same as any switch – the click. On/off. It's snappy. I don't think about it. Click... click... click click!
So this grandiose check animation is taking something inherently snappy and prolonging it to its own defeat. Even the sound effect is like an ethereal chime or something, rather than a snap. The scale is super big for the actual space of the phone. The animation too long. I also don't like the angle of the 3D checkmark itself. It's not really oblique, not really at any sort of satisfying geometric angle? I can live with that though.
Anyway really cool work. Wish it were more satisfying.
[+] [-] ChrisMarshallNY|3 years ago|reply
Here's an example; It's a cool "popup prize-wheel spinner" for iOS, and I have tried using it a few times, but we always decide that it's too intrusive: https://github.com/RiftValleySoftware/RVS_Spinner
I generally end up taking "The Road Most Traveled By": https://littlegreenviper.com/miscellany/the-road-most-travel...
[+] [-] recroad|3 years ago|reply
[+] [-] ProfessorLayton|3 years ago|reply
Not a checkmark at all, but the way games like Smash Bros Ultimate makes pressing around menus sound totally exciting and satisfying. The sound, the lightning/sparks, and how it all rumbles slightly on press. Yes I know Smash has some UX issues, but overall the craftsmanship for simple things is amazing.
Someone had to design and prototype that, similar to the author of this article. I'm not sure this particular example is great tbh, but I am sure there's a lot of "pointless" exploration needs to happen before landing on something great.
[+] [-] phailhaus|3 years ago|reply
* The sounds is not satisfying enough! It's too..."wahhhhhh" and not enough "ker-chunk!" like the writeup described. I think I get what he's going for, but it's not quite there. I want the same feeling I get when I flip a nice heavy switch. Some heft, some weight, some judder as it slams into place. I'm thinking of the feeling in the game Fez when you turn a wheel.
* The pattern of "hold and release to activate" is hard to get right and I still haven't seen it done well. Your animation must be nonlinear, because people are going to just tap. That's so little time that it's not enough to see anything happen. That initial animation has to pop out really fast and then slow down, to indicate to the user that they needed to hold it for a little bit longer for it to activate.
[+] [-] dwaltrip|3 years ago|reply
A lot of commenters seem to have overlooked this... C'mon people, use your brain.
I don't think one can honestly give a harsh critique without trying it, in this case. It's a very specific use case. I haven't tried it myself, so I don't actually know if it is any good. But the vision they had when designing it does seem good for this use case. I'm a sucker for the feeling I get when I cross something off a list with pen and paper. I may actually download the app just to try it :)
[+] [-] notriddle|3 years ago|reply
Was this idea considered? If so, why wasn't it done this way?
[+] [-] Pulcinella|3 years ago|reply
It seems Lofelt is shutting down. I’m surprised Apple hasn’t released some kind of “Haptic Studio” app as a part of Xcode’s tools.
[+] [-] droptablemain|3 years ago|reply
There's nothing wrong with the humble checkbox. It is simple, utilitarian, and easy to understand.
The "most satisfying checkbox" which you have crafted (that which I am still unsure is satire or earnest) is convoluted, needlessly complex, and a visual disaster.
[+] [-] bryans|3 years ago|reply
Disregarding that your app is about providing a specific function and user engagement metrics are meaningless, you implement the fancy animation. Your users are now collectively spending 1,400,000 hours per year waiting for an animation to finish.
Please don't be that person. Your users' time is more valuable than your desire for UI whimsy.
[+] [-] sohdas|3 years ago|reply
[+] [-] groby_b|3 years ago|reply
To re-quote a popular thing from the 90's: "If I wanted your app to make a sound, I'd rub my finger on the screen".
Yes, there are ways to make interactions feel more satisfying. They are subtle. This one is the equivalent of 144pt Comic Sans Titles animated in rainbow colors. Just, please don't.
[+] [-] bitwize|3 years ago|reply
The most satisfying checkbox for me has at most four frames of animation: checked, unchecked, clicked on and will toggle upon release, and (optionally) grayed out. It should respond immediately to mouse/finger presses/releases.
Even in game controls, unless charging (e.g. Guile's Sonic Boom) or intentional control jank (the whip in Castlevania) are part of the game's mechanics, the character should respond immediately and unceremoniously to inputs. Save the "juice" for the after effect (e.g., when a punch or shot connects). Mario's feet leave the ground the frame after the jump button is pressed. This makes the player's actions feel directly analogous to the characters, like the player is the character.
Even the Castlevania whip follows this rule in a sense. Belmont winds up as soon as the button is pressed but it takes a few frames for the whip to crack. If you were holding a whip in your hand, there would be a split-second delay between your swing and when the whip cracks. So the Castlevania whip controls loosely simulate your actions if you were using a real whip.
[+] [-] korijn|3 years ago|reply
[+] [-] danschumann|3 years ago|reply
[+] [-] lightbendover|3 years ago|reply
[+] [-] slingnow|3 years ago|reply
[+] [-] FrankTheDank|3 years ago|reply