User Inyerface – A worst-practice UI experiment(userinyerface.com) |
User Inyerface – A worst-practice UI experiment(userinyerface.com) |
Sure, some button styling is a bit messed up, but…
Much easier on mobile than desktop
amazing.
I was just a little disappointed when I clicked the back button and it actually worked instead of the game hijacking it and filling my tab history with garbage.
I recognized a number of those issues from a number of sites I've visited.
2 years ago Discussion: https://news.ycombinator.com/item?id=20344565
I also had to scroll down the terms and conditions dialog twice because I thought I could just click the text in order to toggle the checkbox.
8 minutes and something. Very painful.
OMFG this is brilliant and somehow made me happy and angry at the same time. Well done.
It’s hard to find good satire anymore, appreciate their work.
Nice demonstration of the "Never do this shit" philosophy.
Congratulations, that was infuriating :)
Rofl
It validated successfully on 42.
Although maybe that's part of the game?
At least one popular mobile game has a policy that the account's birthdate will not be changed under basically any circumstance, and child accounts are severely restricted compared to adult accounts. Parents wanting to take over their kid's account (happens more often than you'd think) end up seriously frustrated with the restrictions.
> Your password is not unsafe
00:06:57
That seems too fast...apparently i've experienced these things far too much. It actually was filling me with rage. I came close to saying fuck it...I really did...
Well done to the creators...you managed to, with 100% accuracy, capture every single thing that's horrible about signing up to websites.
That bow thing though...gotta admit, was worth it just for the chuckle I got as I realized...
Oh no no no. For an authentic experience it needs to reload the page and wipe out all forms when you click 'next' and one of the fields is not valid. (And of course reloading the page should take at least five seconds.)
The only thing better would be to have them on different form pages.
If you liked this, you will enjoy the Phone Number UI from hell[1]. Surprisingly, I did see stuff like that in the wild - and from Google, of all places![2]
Also, if you got to the capcha and got it on the first try, go back and fail it a few times. They have some really clever ones.
I gave up after about 30s. I'd probably have given up after 60s, even if there was a prize at the end (e.g. being registered). I rebel violently when confronted by a UI crime-scene like that. I'm feeling ill after just two pages of that form.
That's just an insane level of perseverance.
* Clicking 'expand' button on any dialog (T&C) expanded the dialog to cover the page but doesn't expand the contents to match
* Tiny flag icons to select country
* The age slider that went from 0-180 years and didn't update as you slid it (fun on a trackpad)
* number input for house number that required clicking on the arrows to change it one at a time
* utterly ambiguous human verification instructions
You probably won't notice that way ;)
Had a real website for a real store do that to me a few days ago.
ENTER YOUR POSTAL CODE:
A1A1A1 <- ERR!
A1A 1A1 <- ERR!
A1A-1A1 YOU MAY PASS.
Lazy %@$# front-end devs that can't reformat the input!User Inyerface – A worst-practice UI experiment - https://news.ycombinator.com/item?id=20344565 - July 2019 (255 comments)
and here: https://news.ycombinator.com/item?id=20345826 on July 3, 2019
and here: https://news.ycombinator.com/item?id=20351023 on July 4, 2019
I laughed out loud when I got to the bottom of the last page and didn't see checkboxes and realized the checkboxes were above the pictures and not below and had to scroll to the top.
Did I just keep getting the Captcha choices wrong?
Edit: oh, heck, it does work—I completely missed the obvious misdirection!
Alternatively, and pessimistically, is this simply a successful marketing endeavour by a digital agency?
At least this time, I was constantly laughing about the somewhat absurd combinations. But I am missing some of the harder parts, like forms not showing because they are only loaded when you disable your ad-blocker or forms working in specific browser versions only. However, that would probably make it too hard/realistic.
I love it!
PS: Just to give an example: The login form for the German Vorwerk website does not show in Firefox https://www.vorwerk.com/de/de/s/shop/login and when you opt to register, the button just disappears, but nothing else happens... And yes, you need that form to actually buy products.
Thanks for the hint.
Edit: I don't quite get it yet. Even starting my default profile in safe-mode (disables all extensions and themes), the page doesn't work.
The dev console shows this error:
Failed to execute ‘postMessage’ on ‘DOMWindow’: The target origin provided (‘https://account.vorwerk.com’) does not match the recipient window’s origin (‘https://www.vorwerk.com’).
So I am pretty sure it must be some kind of configuration that is causing the issue, but so far I didn't find the related option in about:configI usually just try various stuff and I can't remember a single time where I didn't find an option eventually, but they're sometimes well hidden
But captchas were truly the icing on the cake.
The only thing missing would have been a 'subscribe to our newsletter' feature 2 seconds after each page loads.
When I slid the marker to about half the maximum length and the slider showed me 95 years old I cracked
You might enjoy the Phone Number UI from Hell[1], and Google's implementation of it[2]
Another problem is phone numbers: if you want to use some autofill functionality, your phone number will often include the country code part but the field won’t allow a + (maybe in this case the autofill feature should drop the country code (and add a 0) or replace the + with 00).
I’m not actually sure about the significance of the space in U.K. postcodes. I feel like it shouldn’t be significant as one can imagine a regex for the two parts, /([A-Z]+[0-9]+)\s*([0-9][A-Z]+)/, but I then there are exceptions like EC1R.
If you think that I’m just kidding, it’s Gihosoft Video Cutter, one of 10 best video cutters out there.
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$
The second part is always 3 characters. The first part can be 2, 3 or 4 (B1, B30, SW2, SW11, EC1A).Discover.com, for example, rejected it when I did a card application, but disabling JavaScript let it go through on the server-side validation. Bloody weird.
And as well as being useless most such scripts seem to date back a long ways and have very lazy and fixed assumptions about what constitutes a valid address. I mean, I've never been a fan of the explosion of TLDs, but it's also a reality and they're all valid. Even on the left side of the @ a surprising number of scripts seem to fail on things that are perfectly acceptable characters.
Strikes me as one of the many little minor GUI traps where new designers get carried away with the power of scripts and do without asking if they should, then further get too clever by half.
I run a small side business with $2k/month in revenue and I damn well make sure that there are no annoyances to the user. This is standard expectation and has nothing to do with how big or small you are. We should all strive for excellence and not perpetuate mediocrity.
Regarding silliness - it would be silly to keep going to a restaurant that has rude service. That's what you're saying essentially.
Both are red flags.
I hate date pickers so much that I use the Google Assistant in all its hellish, buggy glory to create appointments for my calendar on my phone.
Flutter provides separate Material date picker [0] and time picker widgets [1], but no date-time picker widget that displays the selected DateTime and lets the user change the date or time. When I asked Flutter team for one 2 years ago, their UX person refused to add it, saying that because it's not in the Material Design Spec [2] [3] that it doesn't belong in the Flutter widget library.
Flutter does implement the excellent iOS DateTime picker [3].
[0] https://api.flutter.dev/flutter/material/showDatePicker.html
[1] https://api.flutter.dev/flutter/material/showTimePicker.html
[2] https://material.io/components/date-pickers
[3] https://material.io/components/time-pickers
[4] https://flutter.dev/docs/development/ui/widgets/cupertino
- 27 jun 16:30
- sunday 16:30
- tomorrow 16:30
Before I switched to using siri, I often typed that into notes or telegram saved messages and then tapped on it to create an event. The amount of bullshit ui developers like to introduce is unbearable.And now for some mind-blowing ui:
- team building fri 7pm weekly remind 1h, 30min add coworkersI've had an input require a minimum of 3 characters on the left side of the @ to register. My email was just "me@example.com" using my own domain name. A perfectly valid email address. I am also unable to sign up for Id.me for the IRS because it rejects both of my personal email addresses. I cannot register to create NPM packages for the same reason. I also cannot sign up for Vercel either. I cannot sign up to Vercel via Github and when I try to sign up by email it says the account already exists. When I attempt to do a password recovery for the email it says "Sorry, we are unable to validate that email." So the original error of "account already exists" is actually wrong - the account doesn't exist and can't exist because they aren't able to validate the email for it.
My personal emails aren't even "weird" ones like ones with an emoji or punycode domain or non-Latin character sets.
I hate with a fiery, burning passion every site that attempts to do any kind of email validation beyond simply sending me an email and letting me click a link to verify my email exists.
Yet at the same time, that's the one important validation that infuriatingly many sites don't do.
I once lost a protracted argument with the US Department of Education who absolutely refused to stop sending me private personal financial aid and academic details of a complete stranger who mistakenly gave them a common outlook.com email address that I have. As far as I can tell, in their view, since the user had put in a valid email address, that was their email address, and just because it was my email address didn't mean I was authorized to have it removed from the account. I continue to receive the person's private information from the state, colleges, and predatory businesses.
In fact, the number of mistaken accounts that get linked with that email address is fascinating. Paypal UK apparently does not send email validation requests before associating email addresses with accounts. Nordstrom does not. Internal divisions of the North Carolina Department of Insurance does not. UK Revenue and Customs apparently does not. Many of the larger organizations that, even more infuriatingly, always send emails from noreply addresses, and give no other way of contacting them other than logging into your account.
My personal preference is to let the user know why you think the email address looks wrong and give them some way to override your judgement and submit anyway. It's more work, but it gives you all the benefits of rejecting "bad" addresses while minimizing the harm of false-positives from your bad-address-spotting code (it's very slightly annoying to people with odd-looking addresses, but not that big a deal). This also lets you go beyond validating the form of the email address, to alert on common typos that might be legitimate (and which can sneak in even if you make the user type the address twice). "gmial.com looks like it might be a mistake; are you sure you got that right?" Or "yaho.com". Or even just Levenshtein-distance check a bunch of common email domains and alert any that are close, but not exact. You annoy whoever has an actual address at those domains, but save a bunch more people who screwed up.
IMO, the only client-side validation that would be done on email addresses is to ensure it doesn't have a space in it and it has an @ in it, and maybe make sure someone isn't doing funny things without a hostname (disallow IP-based hosts).
The problem they're solving is that a lot of people just enter their email wrong and then wonder why they didn't get the signup email.
> Like if someone tries to register an already registered email, send an email about it don't leak that it's registered.
This is something that's cargo-culted far too often. Maybe for some services it's worth keeping secret which emails are signed up, but for most it isn't.
And most times, it is standard practice to hide sign ups, luckily.
<orange>“This doesn’t look like a correct email address that our clients usually use. Please re-check it again and proceed if you’re sure.”</>
for most it isn't
It depends more on an email address, than on a service type, because it’s a part of a personal information that a person owns.
And what proportion - especially what proportion of people who make mistakes when entering their email address - do you think will pay any attention to that?
I feel like you just described email (or rather, "the" email spec, as if there was a single one) in general.
Yes it obviously still serves its purpose but what consists a valid email-address (let alone email) is specified in such a godawful way that every application that I've seen in the wild trying to address this problem somehow fails at it (sometimes in negligible, often in very gross ways).
If devs all over the world manage to screw it up over and over again, maybe it's just time to call it quits and acknowledge that the spec is broken?
But the concept of email is extremely useful, valuable, understandable, and it's standardized and out of the centralized control so common for anything developed these days. I'd be happy to see some sort of email 2.0, cleaned up, with modern encryption by default and so on that served as a replacement. But I don't know of anybody even proposing such a thing. Instead the rage is to create yet another fucking instant messenger or slack thing or whatever.
Everyone knows the spec is ancient and has had a lot grafted onto it. But it's not going anywhere without a good replacement and even with that the transition would take a very, very long time. So as is so very, very often the case in computing we just have to deal with that.