Hacker News new | ask | show | jobs
by mannicken 5308 days ago
I think a lot of software developers fail to realize the fact that people are very emotionally-driven. They try to design software as if it was interacting with completely rational and logical machines. Which is great for specialized programmers, but this paradigm is very useless when it comes to product design.

It's easy to fall into this line of thinking because software is written for rational and logical machines -- computers. Especially in the Unix world, where software programs interact with other programs. Or in the Windows world, where modules interact using COM or .NET. Or networks where they interact using network protocols.

Computers are like little societies of robots that just sort of do their own things (sometimes in a way similar to societies of humans, especially when it comes to resource allocation, haha :).

Human-computer interaction is like international relations, and it's hard to establish because software societies and human societies have different customs and priorities. But it's also very profitable due to the laws of comparative advantage.

Humans are computers have different strengths, so for them to function in a state of symbiosis, someone from human society has to teach "software delegates" proper manners of interactions with humans. That someone is your traditional UX/web/UI designer.

Badly designed software is like some guy from another planet coming to your house and taking a shit in the middle of the room. Now, perhaps that guy is GREAT AT MATH but he just took a shit in the middle of the room and he is trying to stick a finger up your nose -- perfectly acceptable behavior on his planet. And it's hard to get along with that guy so at some point you're like "ok, fuck it" and you don't really care how great he is at math because it's hard to get his help when he's dancing naked on your table and rambling in a crazy language you do not understand.