@Lithium said in UX: It's time for The Talk:
@faraday All of the things you responded to are a problem with /documentation/ not coding. You can change the documentation, get people pointed in the right direction so they know of the + commands and then... guess what? Your whole UX 101 thing is solved.
Done.
It's all about presentation and documentation rather than what the coded command /is/.
This sounds very logical and straightforward.
It's purest bullshit when you look at actual UX research.
Countering example: Git. Git has incredible amounts of documentation. Even just inside Git itself do git --help
and you get a list of common commands and pointers to complete lists, concept guides, etc. Every piece of information you need is right there in front of you a few keystrokes away.
And yet…
Git is an unusable piece of shit. It has more tutorials, guidebooks, full-on instructional web sites devoted to it than I have ever seen from what is, in the end, actually a pretty minor piece of software development tooling. And the reason for this? Its commands are utter shit.
There are inconsistencies and gotchas at every level in that festering pile of dung. The first one that fucks you up if you're at all familiar with English is that git pull
is not the opposite of git push
. No, the opposite of git push
is git fetch
. This may seem like a minor hitch (because it is), but each such minor hitch adds incidental complexity to a domain that has plenty of essential complexity already. (Git's underlying model is powerful, but necessarily quite complicated.) And it gets worse. That pull/push/fetch thing? You can totally fuck up your work if you use pull in place of fetch. And if you happen to use more than one DSCM, you will use pull in place of fetch more than once because literally every other SCM in existence has pull and push as the opposing paired commands. (Now, you can recover your lost work when you fuck it up. Just make sure you make a tar ball of your whole repository because you're now fucking with commands that are even worse in terms of UX, that are rarely used so not likely to be well-understood, and you stand to lose not just your work of the past few hours but potentially all of your private branches.)
And the pull/push/fetch thing is one example. There's entire web sites devoted to illustrating the myriad of "gotcha!" command structures in Git. Some of them are very dangerous gotchas where Git will silently do something that's utterly insane. If that insanity happens at about the same point that Git decides to run the garbage collector on your repository, you can and WILL lose months and months of work.
(There is a reason why I use Git exclusively as a means of downloading code from projects and for nothing else.)
And remember, this is in one of the most thoroughly-documented packages I've seen in ages. Every one of the "gotchas" is lovingly documented. No exceptions.
TL;DR: documentation doesn't make up for shit UX. Good documentation is a necessary component of a good UX, but it cannot replace a good UX.