The best kittens, technology, and video games blog in the world.

Showing posts with label usability. Show all posts
Showing posts with label usability. Show all posts

Saturday, March 03, 2018

Volume slider's 100% limit is a massive usability failure

Headphone Kitty by Super Formosa from flickr (CC-SA)

We live in a world where all software sucks. I'm not talking about edge cases of some rarely used functionality, or compromises made for sake of backwards compatibility, or due to greed or other external constraints - we don't even get the basics right when nothing stops us.

This one is especially egregious because it affects almost all software.

Here's the problem - volume slider only going up to whatever the software considers "100%"

100% is a lie

100% means nothing. What's meaningful in audio is relative amplitude of various segments. All those ups and downs thousands of times per second are what makes the sound.

The same sound can be played at any volume you want, and it will sound just fine.

For technical reasons audio files, and that's true for both analog and digital, can be "louder" or "quieter". Does this level mean anything? No at all. The happenstance that a certain file goes from -1000 to +1000 or from -2000 to +2000 means absolutely nothing wrt best loudness to play it at.

What happened is that software decided that 1000 corresponds to some loudness at "100% volume", 2000 corresponds to some different higher loudness, and you can't do anything about it. Oh sure, you can make it quieter, but that's all.

Software doesn't even know how that 1000 translates to in any human units. It just sends some voltages to the speakers, and lets the speakers figure it out.

This usability failure was sort of tolerable back in the desktop era, because most desktop speakers have far more power than you'd normally use, so if you normally listen at 30%, then you can just bump it to 60% if software failure sends something particularly quiet to the speakers.

Unfortunately this is not true for shitty laptop speakers or shitty portable earphones. "100%" volume, very low power, and quiet audio, and it's barely possible to hear anything. Then add a crowded train to the mix...

Hall of Shame

  • Apple - 100% guilty
  • Windows - 100% guilty
  • Android - 100% guilty
  • Youtube - guilty (they at least apply server-side audio normalization for music videos, so they're less affected, but all other content has this problem)
  • VLC - desktop version amazingly goes to 200%, but mobile version (which needs it a lot more) just as guilty anyway

Dynamic range adjustment

For a bonus related failure, there's a problem of dynamic range. Movie tend to have much louder (usually action) and much quieter (usually dialogue) parts - which is perfectly fine when watching in otherwise quiet cinema.

Unfortunately at home your choices are:
  • only watch with headphones, alone
  • adjust volume up and down a lot
  • watch it at high volume so you can actually hear the dialogue, and screw the neighbours
  • watch it at low volume so you your neighbours don't complain during action sections, and use subtitles to not miss anything in the the dialogue
  • have software which flattens dynamic range to more reasonable values
At least in this case the excuse is that this kind of adjustment is not quite as trivial as bumping the volume to 100%.

Wednesday, January 06, 2016

Legal & General has probably the worst website in history of websites

Cally, my little ray of sunshine on a rainy day by hehaden from flickr (CC-NC)

So yesterday I got email from Legal & General (pension provider at my previous place of work) telling me that "Your pension benefit statement is now available online". Of course they couldn't email me the document or even provide some kind of one-click link, nope, I need to go through the whole process.

Whatever, I'll just go there and... website is not available because it's in maintenance mode. Right, that kind of stuff happens I guess. Not to anybody competent who've heard of rolling restarts, but it happens.

Checking it again next day, website is online. It wants User ID and password - somehow missing the point nearly everybody else got by now that email is universal user identifier, but let's not get too nitpicky.

Well, let's check with my password manager - right, here's user ID, here's password, good to go. And nope, somehow didn't work. Did I copy&paste that incorrectly somehow? Let's try again, now with captcha - and now I get error message that after 3 attempts at incorrect login I'm locked out of my account and I need to call some number. WHAT THE FUCK IS THAT?
  • I definitely didn't even make 3 login attempts of any kind
  • Details were definitely correct both times
  • Who the fuck locks people out after 3 attempts? That's the dumbest security policy I've ever seen.
  • The site already has captchas to protect from bots, and bots don't do 3 tries, bot's do thousands of tries, that's the point. Not like any bot would even bother getting someone's pension benefit statement.
  • Calling a phone line, like what the fuck? There's no email, no chat, no twitter, nothing, just phone calls. In 2016.
  • Phone line is "Monday to Friday, 8.30am to 6.00pm" obviously just to be even more shitty.
  • I'm going to remind everyone that it's 100% their fault here, and I'm supposed to make a fucking phone call now.
  • Can someone just write a bot to lock out random people out of their accounts?
Well, they also have "Forgotten your password?" link, so I tried that even though my password manager definitely did not forget it - and obviously it asks memorable question I never answered in the first place (I got those recorded in password manager as well). That's possibly because the fuckers decided to lock me out of my account after 2 correct login attempts.

This is the shittiest usability I've seen I'd say ever, on any website, in about two decades I've been using Internet.

Of course I can't do shit about it, moving however much money I have there (no idea, because it's all locked out) to another provider would be massive pain in the ass, if that's even doable.

And that's why you should ignore silly "benefits" and insist on getting cash.

Sunday, March 08, 2009

Sunday, July 20, 2008

Making me think about usability

That's Funny by ehpien from flickr (CC-NC-ND)

I've just finished reading "Don't Make Me Think" by Steve Krug, which claims to be some sort of a web usability classic.

What I liked most about it was the chapter about user testing. The short summary is - test early, test often, 3 randomly selected people with one hour per person is the best cost to benefit ratio for a round of testing, don't bother with detailed written reports, just fix the worst problems and do another round later.

Other than that I didn't like the book that much. I see how it might have been useful in the Web 1.0 days, but its focus just feels wrong. It seems to think that the most important part of a website is its navigation and so spends most of the pages discussing it, but how relevant is navigation when vast majority of users come from Google, or some other kind of search, or direct links, or RSS, or even bookmarks, and people reaching your content by patiently clicking their way though from your homepage are a tiny minority?

Most blogs, wikis, and web apps don't even have real navigation structure, and they're the part of the Web that's growing fastest. Even Amazon which the book glorifies as The Paragon Of Web Usability seems to have mostly given up hierarchical navigation and now exposes search and personalized recommendations as the most prominent means of getting around.

So the book has some useful content but is hopelessly outdated and unfocused. 3 stars out of 5 if you numbers.

Usability



As the review made a rather short blog post I'm going to conclude it with somewhat controversial remarks on Web usability. By the way if what you're saying doesn't cause any controversy then
  • you've just discovered some new universal truth (only happens in maths),
  • or you're just repeating some nicely sounding but ultimately meaningless slogan like "use the best tool for the job",
  • or most likely - nobody reads your blog.

So controversy and exaggeration to get the point across are good.

First, accessibility is overrated. I've seen so many people performing magic rituals supposed to make their websites "accessible", like anal adherence to "web standards" even to the point of using XHTML, making sure the website works without Javascript and/or CSS, making unique text in headers and so on. Two things they never do are measuring how many users are actually going to use accessibility features, and testing accessibility in realistic settings (like with a screen reader or Braille terminal), and these two things seem to me to be the only ones that would matter.

Accessibility zealots also often claim that:
  • websites done in some "right" way are somehow magically accessible,
  • making a website Google-friendly is somehow the same as making it accessible,
  • and that you're legally required to spend as much effort making your website accessible as necessary.

All of which are bollocks.

I think this misguided thinking is caused by a combination of two reasons. The first is the good old web standards zealotry. Seriously, why people get so emotional over some badly written documents without even a reference implementation or a serious test suite? Even FreeBSD vs Gentoo and Emacs vs vim (by the way correct answers are Ubuntu and TextMate, and 2 spaces) flamewars aren't as heated as the ones about web standards.

The second reason is a certain kind of a reality distortion field. There are many kinds of web sites on the Internet. The kind that used to be most popular are "text-based content sites", where users come to read static stuff. The reality distortion field makes people think this kind of websites is still dominant, but it's not. Looking at Alexa's top list it's difficult to find a single text content site other than Wikipedia. Everything is some sort of a web app, or video site, or social networking site, or anything but text content.

Now I mostly agree on one point - making text content site reasonably "accessible" is not very difficult, and to some extend correlates with things you need to do anyway to support Google, mobiles and so on. I will still laugh at people who think they can get "accessible" without genuine testing (if accessibility checklists worked, why won't they write IE6 accessibility checklist, wouldn't that be so much easier?). But the problem is something else - only reality distortion field of epic proportions can make you think most websites are still text content.

In a way it's similar to DBAs being deluded that most SQL databases serve as integration point between multiple independent codebases (and so need stored procedures, triggers, complex constraint enforcement and business logic on database side etc.) when in reality 99% of them are little more than persistent store for a single app and these features are more harmful than helpful.

So how about the vast majority of web sites that are not just about text content? Oh sure, you can make them accessible. It's just going to be long and painful process with very little payoff, and which won't ever end in a full experience parity unless your application is very very simple. And you know what - screw the blind people! The largest discriminated group are people who don't speak English as their first language. It's about 95% of all people, a lot more than 0.6% who are blind. Why don't they care adequate attention? It's an insane misallocation of resources if you care about the blind but don't even have a German version of your website (and versions in at least 50 other languages). Blind people are more or less as important as Welsh localization, and you're probably not caring much about that, are you?

Forget about experience parity, no mater what technology. Vision is the most important of human senses and the only way to make non-visual interface work as well as a visual interface is by horribly dumbing down the visual one, hurting 99.4% of your users who can see. Try getting somewhere with a spoken Wikipedia article about London instead of a map. Or reading long lists of numbers instead of a graph. Or playing Portal with a screen reader. Or for more relevant example using "basic html" version of Gmail instead of the real thing.

My second point, video websites should not autostart their videos. Haven't they heard of tabbed browsing? To open multiple tabs with YouTube videos you need to:
  • open the tabs,
  • go to first tab,
  • wait until the video partially loads and starts playing,
  • click pause (you cannot click pause earlier),
  • then do the same for the all other tabs,
  • and finally go to the tab you want, rewind the video and click play.

Couldn't they at least detect they're in an inactive tab somehow? Firefox seems to be sending onfocus when a new page is opened in a new tab or when you first switch to an inactive tab - not autostarting until you get onfocus sounds like a good start. Making pause button work before the video loads would also help a lot. Or are there perhaps some Firefox plugins or Greasemonkey scripts to get rid of video autostarting? The only thing it's good for is rickrolling people.

The third thing, stop using lowest common denominator fixed width layout. CSS lets you do many things that weren't possible with tables, but some of them are just stupid. More and more people have widescreen these days. Widescreen means wide but short. OS and browser usually take a lot of space on top and bottom of the screen, but not on the left and right, making screen aspect ratios even more extreme. So there's lot of space on the screen but it's mostly horizontal, and what do so many designers do? Completely ignore half of the available space, and then fill the rest with ads and other crap so the useful content is taking a tiny fraction of what it could take. I know making "design" work in multiple sizes is harder, but design isn't what users are interested in. They came to your website for the content, not to revere your mad design skills.

And the last thing, CSS compatibility with IE6 is a waste of time. JS compatibility became an almost non-issue thanks to jQuery and other JS frameworks. So why not use a JavaScript solution like ie7-js and be mostly done with IE6 CSS too? Some people won't like the suggestion of depending on JavaScript, but IE6 does run JavaScript just fine, and no other browser (Google spider, mobiles, text browsers etc.) is going to be affected in any way, so what's the big deal?

OK, if JavaScript dependency on ie7-js still makes you feel uneasy, couldn't we at least somehow use for automated testing? Run the website with and without it, get a list of differences and suggestions based on how ie7-js fixed them. Seems like a lot better way than manual debugging. But I'm not a Windows guy, so don't expect me to code that.