logoalt Hacker News

breakwaterlabstoday at 3:35 PM4 repliesview on HN

> Old people don't have that because they

Aren't insane.

When did the industry put the onus on the user to understand how the computer works? What happened to the old days of Xerox PARC's HCI studies putting the user first? The computer is in service of the user, not the other way around!

If I need to build a mental turing machine to understand your application, it is a bad application. It is rather the engineer's job to build a mental model of the user and their needs, and if you can't do that you should not call yourself a software engineer.


Replies

ryukopostingtoday at 4:07 PM

As a firmware engineer, my philosophy is this: if I'm doing my job properly, the user should never even know I exist.

Maybe this isn't applicable to all software devs. If you make web apps, users actually see your UI, they click an icon or type in a URL and hit enter with the intent of using the thing you made. With firmware, that's not how it works.

When you hit the "mute" button on your laptop keyboard, it should just do it. The audio should turn off and the little LED should light up. If that fails, even once, the mirage is broken. The user is forced to think about the fallibility of firmware, which is a word they might not even know, and still struggle to conceptualize if they do. I think it also has a lasting effect on the way someone thinks about the pruduct: Is this going to work today? Why did that happen? Was that a virus? So on.

OTA firmware updates have the same problem. Most users don't know what the hell firmware is. All they know is their computer is showing a loading screen they've never seen before. It's unfamiliar and weird.

Like I said, I don't know if this mindset translates perfectly to other fields, but the priorities that fall out of my philosophy certainly apply. Reliability over everything, and get it right the first time.

show 1 reply
SkeuomorphicBeetoday at 5:40 PM

> When did the industry put the onus on the user to understand how the computer works?

Just after the turn of the century, that was when there was a big shift in the industry to move all user interface design work to artists, and away from original user interface specialists. The whole profession of user interface designer (one who understood "form follows function") ceased to exist in the early 2000s, as all work was assigned to graphic designers (who only understand aesthetics).

This movement can be seen clearly in the evolution of widget toolkits for desktop applications, which peaked in usability in the late-90s/early-2000s, and have been losing usability while getting prettier with every iteration since.

isityettimetoday at 3:59 PM

Automation generally goes along with a transition to more "self-service" approaches that require the user to model internal states and workflows of whatever they're dealing with.

This is even true for things as seemingly non-technological as getting to your flight once you arrive at the airport. People who are used to dealing with a service desk might just show up with their printed ticket without even having looked at it, take it to the counter, and expect instructions on what to do next without having read or considered all the fields present on the ticket.

It's not just about understanding the technology, but sometimes about understanding the business, policies, whatever. When a human agent or customer service worker is handling that stuff for you (typical in the pre-computer age), you barely have to think about that stuff and even if you're told, it can be "in one ear, out the other". Automation very often means pushing a requirement of more understanding onto customers/users.

cosmic_cheesetoday at 4:37 PM

Usability was thrown to the wolves in favor of more readily available designers from non-UI backgrounds, brand identity (“UI as branding”), and pretty screenshots for slideshows and marketing.

The pendulum is overdue for swinging back the other way, but I don’t know who or what has both the capability and will to give it the push needed to send it on its way back.