9 ms·
If Maciej hadn't written this, I would still feel alone in how I see the technological world. I really can't express how grateful I am that this exists. There
by thaumaturgy 11y ago
If Maciej hadn't written this, I would still feel alone in how I see the technological world. I really can't express how grateful I am that this exists.
There is a vast, vast gulf between what the majority of software developers seem to think users want, and what users actually want. And this isn't a Henry Ford "they wanted faster horses" sort of thing, this is a, "users don't just hate change, they resent it" sort of thing.
I work directly with end users. It's mostly over email now, my tech still works with them in person, face-to-face, in their business or home. We get so many complaints. So many questions: "do I really have to upgrade this?" "I liked this the way it was." "It worked just fine, why are they changing it again?"
Every time I try to argue on behalf of my customers, here or elsewhere, it gets ignored, or downvoted, or rebutted with, "but my users say they always want the latest and greatest..."
There are 100 million people in the United States alone over the age of 50. How much new software is designed for them? How much new software exists merely as a tool, comfortable with being put away days or weeks at a time, and doesn't try to suck you in to having to sign in to it on a regular basis to see what other people are doing with it? How much of our technology -- not just software, but hardware here too -- is designed to work with trembling hands, poor eyesight, or users who are easily confused?
There are over a hundred million people that don't understand why your site needs a "cookie" to render, that can't tell the difference between an actual operating system warning and an ad posing as one, that aren't sure what to do when the IRS sends them an email about last year's tax return with a .doc attached. (That one happened today.)
For these people, the technology most of us build really really sucks.
And that is a growing demographic, not a shrinking one...
- yosefk 11y agoI program for a living and I know why sites need "cookies", and still, for me most software really really sucks. Just because I can figure out how each and every new cell phone works doesn't mean I want to, similarly for other kinds of gratuitous changes and incompatibilities. And BTW systems built "by hackers for hackers" are among the worst offenders (*nix clones in general and Linux distributions in particular are good examples.)
- unimpressive 11y agoI have some bones to pick with this talk, especially when it comes to the 'insane' singularity parts. But damn if I'm not on team user. The truth of the matter is that our software is gratuitous in features, lazy in performance, but the most important issue that gets overlooked is that it requires a great expenditure of effort to configure understand and use. I spent hours today trying to set up prosody XMPP on a local LAN and found I couldn't do it with the server software that promises to have you 'up and running in minutes'. It made me think that perhaps in the same way you have test cases for features, you might have test situations to determine what features you should have in the first place. Does your software work if I'm in environment X? How about environment/situation Y? I at this point feel so disgusted with the entire experience that I would prefer to just write my own, the cost of creating a new code has become lower than fully understanding an old one: "It is easier to write a new code than to understand an old one." - John Von Neumann to Marston Morse, 1952 as quoted in Turing's Cathedral EDIT (Mon Jul 20 23:30:32 PDT 2015): Lots of people citing Nick Bostrom on the AI stuff, for a different perspective I'd like to recommend Scott Alexander's (Looong) Meditations on Moloch: http://slatestarcodex.com/2014/07/30/meditations-on-moloch/ http://slatestarcodex.com/2014/07/30/meditations-on-moloch/ "They broke their back lifting Moloch to heaven!"
- TeMPOraL 11y agoRE Scott Alexander's perspective, which I find to be an excellent piece of writing (hell, I have that Moloch quote with Disneyland printed on a t-shirt) - the point of that article is that if we keep doing what we're doing, going user-first and business-first, short-term thinking market economy, we'll be doing exactly that, lifting Moloch to heaven.
- NhanH 11y ago> And BTW systems built "by hackers for hackers" are among the worst offenders (*nix clones in general and Linux distributions in particular are good examples.) Interestingly, I've found it to be the opposite. Most of systems built "by hackers for hackers" both have a surprisingly long (yet not obsolete) life, and are vastly more compatible across different environments. Emacs/vim has been around for a really long time, and there is no reason to believe they will disappear at this point. Similarly, I can comfortably switch from Linux to OS X to FreeBSD thanks to bash and the gazillion posix tools (grep, ps, awk...). The same definitely can not be said for Windows 7 to 8 so far.
- eevilspock 11y ago> How much new software exists merely as a tool, comfortable with being put away days or weeks at a time, and doesn't try to suck you in This is one of the many costs of having a web funded by advertising: https://news.ycombinator.com/item?id=8585237 https://news.ycombinator.com/item?id=8585237 Here's another Maciej post that is part of the solution, Don't Be A Free User: https://blog.pinboard.in/2011/12/don_t_be_a_free_user/ https://blog.pinboard.in/2011/12/don_t_be_a_free_user/
- eplanit 11y agoThank you for a very insightful, thoughtful, and considerate reply. I'm newly in the 50+ demographic, but I've also been a software engineer for my entire career (starting with a Commodore 64 in the 1980s) -- from that perspective I especially appreciate your asking "How much new software exists merely as a tool, comfortable with being put away days or weeks at a time, and doesn't try to suck you in to having to sign in to it on a regular basis to see what other people are doing with it?". Thank you!
- thaumaturgy 11y agoHey, I started in the 80s on a Commodore 64 (and Vic 20!) too! And later graduated to COBOL74 on a Unisys mainframe... I just got a really young start. If you find yourself feeling like writing about your opinions on software design sometime, I hope it comes across my news feed. I'm starting to bookmark articles like this one so that I can compile them together in the future to hopefully combat the treadmill thinking in software development.
- MichaelCrawford 11y agoI often avoid software upgrades not because I know something will break but because I speculate something will break and dont want to find out. Out of all the "features" that anger me the most are automatic, silent upgrades. One can generally disable them but I dont want to have to figure out how; if I want an upgrade I will download and install it manually and do so when I am good and ready. That web applications - as opposed to those I install locally - are increasingly common I regard as the problem not the solution. Quite commonly a website breaks for no apparent reason, eventually I clue into that they revised their Javascipt but did not test on the browser I actually use. When considering whether to install software, first look for reviews. Many eCommerce sites make it easy to sort by most-critical first. Do take them with a grain of salt as bad reviews are sometimes posted by unethical competitors as well as cyberstalkers like Kuro5hin's modus. If those bad reviews would affect you and are in a recent release then maybe you want to give it a pass. I know all about security patches, I once got to play on that same Sun workstation that Kevin Mitnick ransacked but at least I had the sense to ask Tsutomu's permission first.
- thaumaturgy 11y ago> I often avoid software upgrades not because I know something will break but because I speculate something will break and dont want to find out. That is a great way to describe that. Same here. On my daily dev system (Debian), frequent updates were sporadically breaking different bits of system -- sound would stop working, then would work again but something else would glitch -- and eventually I got busy enough that I just couldn't sink the time into troubleshooting things if the next round of updates happened to break anything I really relied on. Time passed. I now have something like 2,000+ updates to apply via apt and I am terrified. I have this sinking feeling that if I try to update now, my laptop will grow legs in the middle of the update and try to run out into the street to put itself out of its misery. I think -- I hope! -- we're very close to completely reversible software updates in Linux environments. Between containers and VM snapshots and ZFS and efforts like Nexenta (http://www.osnews.com/story/19180/Transactional_Debian_Upgrades_with_ZFS_on_Nexenta http://www.osnews.com/story/19180/Transactional_Debian_Upgra... -- amusingly, the link to the page on nexenta.com is no longer available and I can't find a newer version of it on their site), I'm hoping that updates will become a little less of a time sink in the future.
- MichaelCrawford 11y agoAmong my pet peeves is that most sites set cookies even if I do not log in as a registered user. A while back Mom asked me to fix whatever was wrong with her email. I could not ping her mailserver but other servers were fine, so I told her the problem was at Earthlink's end. Mom started screaming at me to stop torturing her with ping because she needed to read her sister's email. Iswear I'm not making this up.
- dredmorbius 11y agoNB: an SMTP (or other protocol) server may well not respond to pings but otherwise be functioning. Protocol-specific tools may be the better tool here: nmap port queries, swaks, etc. As for your mom, you could firewall ICMP 9 echo response on her before proceeding next time to avoid torturing her :-)
- MichaelCrawford 11y agoYour experience and mine is why I write "Solving the Software Problem: a Taxonomy of Error": http://www.warplife.com/jonathan-swift/books/software-problem/ http://www.warplife.com/jonathan-swift/books/software-proble... While actual code serves as a good example the problem is far more general. Consider the Apollo I fire: the Astronauts were unable to convince NASA to redesign their capsule's inward-opening door so they had themselves photographed praying over a model of the capsule. Everyone knows astronauts are brave; those men died for a door hinge.
- paulojreis 11y agoYou're not alone, but you're part of a minority. I don't know if others don't care or are really that oblivious of how the world is different outside of the computer screen. What I can see is that most software people are happy with the status quo; they get paid to do what they think it's cool, instead of doing what the user truly needs. "Refactor to new framework XYZ? Great, no problem. User-research? No need, we obviously know what they want". Anyway, a few days ago there was a post here on HN about an anthropologist at Adobe, studying how designers use Photoshop. It's an exception (although in academia there are quite a few notable anthropologists studying human usage of IT), but at least it's a glimpse of hope...
- TeMPOraL 11y agoReally? My impressions are exactly opposite. It's always "business first", "yes this tech is cool and all, but not what the users need", getting things out of the door sooner than possible because sales need to have something to sell, etc. Even if companies fail at "doing what the user truly needs", they also fail at letting developers "do what they think is cool".
- staticelf 11y agoTotally agree with your point and I think it is also the reason why we today don't have planes that are so fast as the engineers back in the days dreamt of. Maybe we don't understand the need for it right now, but if we had kept on improving and "wasting money" on improving the speed and finding new materials we might already would have solved space travel. As the author points out, spending money on bombs were more important and I don't understand how this is a good thing.
- monk_e_boy 11y agoTherein lies the problem - to fix is to change.
- thaumaturgy 11y agoEhh... yes, but to change is not necessarily to fix, and that is the sort of change I was talking about. And there are a lot of changes that can be made without disrupting users. I haven't heard anybody yet say they don't want minor security updates to be installed automatically, so long as they don't go around breaking something else or reorganizing the UI or doing some other dumb thing.
- digi_owl 11y agoAnd this echos the Torvalds stance of not breaking userspace. That has had the side effect of major changes taking years to get hashed out to make sure the APIs are rock solid. Because once they are in the main tree, they will not be broken. Heck, such attitudes may well be why Windows conquered the corporate desktop while OSX gets nowhere near it (outside of special cases). When MS makes a release, they state how long they will support it for. With OSX there is no such commitment. Or one can see the difference in Linux distros in how RH is commited to maintaining a certain major release for years, while on the other hand you have rolling distros that come with a caveat emptor style warning. And what we see is that developers flock to the rolling ones, while corporations etc embrace the LTS ones.
- jwmoz 11y agoThis. My Dad signed up to some scam virus software and handed over his money as he was tricked by one of those nasty popups.
- gwu78 11y ago"There is a vast, vast gulf between what the majority of software developers seem to think users want, and what users actually want." s/want/need/2 Another truism: Users are generally resilient and will adapt to whatever they are forced to use. There are some very strong ideas shared by developers about what users allegedly "want". But most of the time I think developers are just invoking the mythical "user" in defending their own choices in software design, not users'. Users have little if any choice. Is it possible that those who purport to "know" what users want are simply observing how users have adapted to using what they were given? (the users having had no real choice of real alternatives) As a user, in the cases where I cannot write the software myself, I try to find programmers who share my sensibilities in software design. This is the best hope I have for finding software that I would "want". Despite what any programmer proclaims about her users, what I the user end up choosing is not the the software I want (I do not ask other programmers to write programs or add features, etc.). I end up with the software the developer would herself want and is generous enough to share with others. Fortunately we have some interest in the same things: no gui, portable, small, fast, simple, etc.
- dasil003 11y ago> But most of the time I think developers are just invoking the mythical "user" in defending their own choices in software design, not users'. Users have little if any choice. Agreed, but the problem is much deeper than this: different users want different things. You'll only hear from the users who don't like what they have.
- serve_yay 11y agoThese days I build things that people have been anxiously waiting for. Like, every day it doesn't exist is kind of a problem, that sort of thing. But I have been on the other side, too, building things users mostly hated. Even when the thing we made seemed clearly better than what it replaced, our users hated it. Or at least some portion would - probably good to keep in mind that people who are happy tend not to speak up as much. It's quite a predicament for a company to be in, and I always felt bad for the designers. For me it was OK, it ended up allowing me to try lots of different ways of building things.
- zwischenzug 11y agoThe form of the blog post reminded me very much of Jon Berger's Ways of Seeing, a life-changing political book on art history that changes the way you look at the world. I'd be surprised if the author hadn't read it, or one of its descendants. http://www.amazon.co.uk/Ways-Seeing-Penguin-Modern-Classics/dp/014103579X/ref=sr_1_sc_1?ie=UTF8&qid=1437565834&sr=8-1-spell&keywords=ways+of+seeind http://www.amazon.co.uk/Ways-Seeing-Penguin-Modern-Classics/...
- idlewords 11y agoI'd actually never heard of it before; thank you!
- thetruthseeker1 11y agoOne common counter argument that people make is that users are lazy when you say they don't want to learn something new(lets ignore the physically challenged for now). But that argument is so fallacious I think. What users actually mean is- for the delta value this new feature provides, it is not worth their time to learn to do this the new way. Everybody has to make judicious choice on where they choose to spend their time. And in that vein I dont think the users are being lazy in saying that it is not really efficient if they have to spend significant amount of time learning something new in what they perceive to be of little added value. EDIT: BTW I do think that people are happy to relearn something if they perceive it to provide a "significant" added value. Hypothetically speaking if I had to relearn driving and this "new way of driving" took me from NY to DC in an HR for the same cost, I would try to learn that in a heartbeat. But I dont want to learn a new way of driving if it reduces my drive time by only 15 min. I also think software/CS needs a school of thought that discourages significant change/variation in UX design. But unfortunately most people are incentivsed for change.