33 comments

[ 3.5 ms ] story [ 45.6 ms ] thread
Interesting article, but I don't think this is entirely restricted to engineers.

I've seen plenty of management decisions where, instead of making a choice which will apply to all users, management decides to make it yet another check box buried in the preferences section of an application.

It takes a week or two before Mgt settles on whether it should be on or off. If 90% of users want off, then off it is.

Then two months down the road, the 10% that like it on now want to extend the feature a bit more. And with that, the process repeats, another check box is nested.

Before long, you're left with a management designed, byzantine architecture of wheels and knobs and checkboxes everywhere.

It's not just us engineers doing it :)

Engineers innovate - they figure out that hey maybe the user doesn't need to fill out this form or maybe we can do that action asynchronously, or programmatically figure out what the user wants instead of asking for it.

Product people driving design without input from engineers will get you a pretty site that will look and feel about the same as what is already out there.

I don't agree with this article:

I think that when it comes to usability (and maybe even empathy) that some engineers are more talented than others. And even then there are some engineers who may not have that talent, but have an understanding that user interface design is important part of a product design.

The same also applies to other team members involved in software (from beta testers to those who do marketing): Some understand engineering better than others.

Obviously the premise is a generalization, but everything I've seen has led me to believe that the design skills of engineers (and the engineering skills of designers for that matter) fall on bell curves, in both cases leaning towards a lack of skill. It's not that engineers are universally awful at design, but rather that the majority of engineers don't prioritize and/or aren't especially good at making products that are usable.
There's a lot more reasons why they build ugly products.

1) Lack of design abilities 2) Lack of understanding of how 'average' users use computers 3) Using the system model and architecture to drive the UI model. 4) Engineers have decades of experience debugging and learning all sorts of complicated software products and languages. They are experts in figuring out how complex systems with no documentation or learnability work. Average users just want to get work done and have no ability to diagnose and debug.

I found Design for Hackers ( http://designforhackers.com ) does a pretty good job of sensitizing a more engineering driven mind to the value of design
Thanks for recommending D4H! (I'm the author)
Your #1 is a very important point. Design and engineering are both skills that take a lot of time and effort to hone, and if you spend the required time getting good at one of them, odds are you don't have the time to get good at the other.
Average users just want to get work done and have no ability to diagnose and debug.

Counterpoint: we should stop infantilizing users. They have such trouble diagnosing and debugging in part because we keep hiding the complexity from them and teach them they aren't responsible for basic functioning of their tools.

> Every engineer loves greenfield development because it allows them to explore the terrain without having to deal with the trade-offs, constraints and messiness of existing code.

This seems like a grand overgeneralization from someone who hasn't done much engineering.

There are a lot of us who enjoy the challenge of working within the constraints of an existing codebase.

Engineers often tend to build ugly products, I can agree. When I'm asked to build something, the first thing I tell is "just so you know, I build ugly things, but things that work"

The more interesting twist of the story would be to turn it around - what does it turn out like when designers code?

All in all, I think we have to accept that people are different and we need both designers, programmers and ux-ppl to make a product that works, looks good and is useable.

What does it turn out like when designers design?

It usually contain all the latest fads (Flat design? Custom fonts? Lots of white space everywhere?)

It usually leaves out a lot of functionality that users already expect. You can only have so much functionality given the amount of white space and padding required by modern design!

Of course you can iteratively make them produce useful result. Same is true for engineers.

As an engineer, I think many designers are in their own world, and more often than not design interfaces that harm usability when they go about "disrupting" things. It seems like they're trying to merge aesthetic with functional. But a button that looks like a button is infinitely more usable than some genius idea about giving a user an "intuitive" way to grasp what items can be interacted with.

Flat design, invisible scroll bars, the modern 'hamburger' menu, absence of menu bar, unnecessarily dynamic UI elements, hidden swipeable menus, etc all serve their role as annoyances that I have to explain to people who were already familiar with, and productive in the old UI paradigm.

> the modern 'hamburger' menu, absence of menu bar, unnecessarily dynamic UI elements, hidden swipeable menus, etc all serve their role as annoyances

These issues you pointed out are fads, trends, and attempts to appeal to the modern design hive mind. They are not "design". They too will die and new fads will emerge. What stays constant throughout is quality aesthetics, a devotion to user centric study, homage to form, and an unrelenting passion for standing out.

> I think many designers are in their own world, and more often than not design interfaces that harm usability when they go about "disrupting" things...

This is a very strange statement. Are you insinuating that most designers harm usability with their attempt to make it better? So basically all designers are failing? I would be inclined to disagree, although the current state of design is in great peril [1](I will give you that).

> It seems like they're trying to merge aesthetic with functional

Aesthetics are vitally important to the functionality of a product. I've voiced my opinions on functionality vs. aesthetics many times and it's often the case that people view them as two entirely separate entities to focus on and study. They are not. A poorly designed product is a poorly designed product is a poorly designed product.

1. http://www.elischiff.com/blog/2015/4/7/fall-of-the-designer-...

(comment deleted)
> Are you insinuating that most designers harm usability with their attempt to make it better?

I am talking about the trends in UI design in general. I am sure that the designers don't set out to harm usability.

>Aesthetics are vitally important to the functionality of a product.

They could be important, but why do you think they're vitally important?

This is one of the reasons Google was beat by a 27 person team that challenged them on the Video front.
It's incredibly counterproductive to make statements like in the title. If you need your product to be better in terms of how it looks and feels, you get a UX Engineer and expect them to be able to do data analysis, modify analytics on their own, and apply what's learned from that analysis in dimensions beyond the X and Y in Photoshop.

Reducing a task graph is exactly the role that I'd expect a UX Engineer to be perfect at, and yet the article is titled "Engineers Build Ugly Products" while going on to state exactly the expected benefit of having a UX Engineer deeply involved with the product team -- reduced tasks, focused functionality.

Where this kind of thinking blows back on real decisions is when someone says, "Look, I know how you engineers think..." suffixed by some opinion completely drawn from the realm of speculation. Subscribe to such thinking if you want to arbitrarily override the work of your best modelers.

The absolute worst kinds of push-back are fueled by identity politics statements like these bait into. You wake up in a conversation about prioritizing core value and someone pushes on wanting to change the color of the drapes and calls the entire engineering team anti-design like we don't get anything outside of text-highlighting in our code editors. It's infuriating.

The key insight you probably miss to understand the article is that it doesn't regard a "UX Engineer" an Engineer.

The fact that the term "UX Engineer" is not even once mentioned in the article is a clear sign that it talks about regular engineers -- technicians and such building a physical product.

And that's OK, the term "UX engineer" is both quite abused and quite recent. Sometimes it's just some ex-designers pretending to be all serious about HCI -- and not any "engineering" with the traditional, robust, sense.

Why did Microsoft ship Windows 8? It probably yielded more frustration, hour-wise, to the people in the whole word than all the engineer-driven failures combined.

Stop blaming wrong people.

Engineers build products, period. Almost all ugly products and certainly all beautiful products are build by engineers, usually with the assistance of people who are proficient in design.

Engineers from time to time build beautiful products by themeselves, but most people don't care to understand the beauty of an underlying complex system. The mathematics and design behind a bridge or traffic lights are immense, as is the number of different engineering disciplines involved.

The site that everytime you visit throws a javascript popup and make the experience on your mobile horrible? Yeah, it isn't built by an engineer and probably whοever build it didn't decide upon the popup himself. Techcrunch's site loads assets from 93 different domains. I don't know of a single engineer who would build something like that.

>Engineers build products, period. Almost all ugly products and certainly all beautiful products are build by engineers, usually with the assistance of people who are proficient in design.

Maybe more of the "beautiful products" are build "with the assistance of people who are proficient in design" than the others, were an engineer is in charge of those kind of decisions...

"Ugly" doesn't always mean bad in the sense of user experience. Some people think Wikipedia is ugly, but when I got to a wikipedia page, I rarely have a hard time finding what I need. My experience as a user is prime. I can't always say the same thing about when using a minimalist interface.
And current designers and product managers build crippled products.

“Star had many fewer commands than today's systems, and it didn't do it by having fewer functions; it just had fewer commands.” — Dave Smith, Xerox Star human factors designer, in the ‘Final Demo’ https://youtu.be/_OwG_rQ_Hqw

Having worked to help engineers design better, I think it would be more accurate to say "non-designers build ugly products." It's just that the engineers are building products, and in the process, they're designing them. Since they're usually not trained as designers, they don't turn out looking so nice sometimes.

Engineers are every bit as capable – if not more capable – as learning design as any other person who wasn't "born with it" (which I haven't seen to be a requirement). But, since most of their energy is going towards one type of thinking, it diverts cognitive resources from doing another type of thinking.

Engineering requires logical thinking, whereas design requires that you be able to let your brain go quiet and let your unconscious take over for a little bit. From what I've seen, once engineers have seen a logical way of understanding what makes a good design, they have a framework on which to bind logical thinking to their experiences with design, and iteratively progress.

(P.S. I think this article could just as easily be called "designers make unusable products.")

And some plenty of products lauded for their design have me wanting to smash them into little pieces in frustration.

> The short answer: The most interesting part of an engineer‘s job is the obsession with the possibilities in the solution space (all the cool stuff you can make computers do); engineers don’t want to make choices that limit power and flexibly (a design); engineers value adding potential functionality higher than removing unneeded complexity; engineers want to engineer their way out of design problems.

"Oh you want to do this? FUCK YOU, I'm the designer and I've removed that option. There is now literally no way for you to do what you want unless you hex edit the binary."

Good designers don't remove options, they make the option available WHEN required. They way developers design they make every option available all the time.

Do you need to send an email while formatting a table, then why the hell is that button still there?

This is sometimes a big-team problem, and open source and distributed teams make it worse over time. Everybody adds their own "feature", but nobody can take stuff out.

The history of pretty products in consumer electronics isn't that good. Olivetti products from the 1960s and 1970s can be found in art museums, but were never in many offices. Bang and Olufsen consumer electronics are works of art, and designers admire their work, but the unreadable black on black buttons introduced made the devices almost unusable. Apollo Computer's workstations were much prettier than Sun's. NCR and Wang had nicer looking personal computers than IBM. Apple currently sells a desktop computer in a round can, just to be different, but it's overpriced for the performance.

Clean simplicity in design has its uses. There's a current tendency towards very spare products. This is recent. Now that we have more complexity than we know what to do with, the problem is hiding it. Compare, for example, an 80's boom box.[1] There, complexity was a status symbol. There's still some of that in automotive interiors. Read Lutz's "Car Guys vs. Bean Counters" book for a sense of how that industry thinks. What sells cars is quite different from what makes cars work well.

It's useful for engineers to have some sense of design. And vice versa. When you're in SF, go through SFMOMA[2] and look through the industrial design section. Their web site demonstrates a classic failure of design to consider functionality. The museum is closed for remodeling until May 2016, but their home page does not mention this.

[1] https://messageinabottleblog.files.wordpress.com/2013/03/boo... [2] https://www.sfmoma.org/

Engineers build functional products. If there is implementation risk it's much better to focus on functionality first. A beautiful product that does not supply needed functionality is worse than an ugly one that does.
I have certainly seen this in my travels. My advice is: if you don;t know how to design, you can buy a pre-made design for $10. There's a lot of design knowledge and decisions that you can just pick up and run with and adapt to your app. That can get you very far, well past MVP if you pick the right theme and can work with it.
>Why do engineers build ugly products?

Do they? I see he sites no examples or evidence. I presume some do and some don't.

I know an engineer who is amazing at building beautiful products. Would probably be his dream job.

He doesn't; likely because being a designer isn't highly appreciated (with the monies).