Live data from Hacker News

Why you should move that button 3px to the left

gv.com

61–70 of 164 posts

Re: Why you should move that button 3px to the left

#61
post #55
post #44

Earlier quoted context omitted.

This is really wrong, and the arrogant tone doesn't help a bit. The truth is that a designer who spends 100% of his time doing design will definitely be better at design than a designer who spends 50% time designing and 50% time developing. These are two very different skill sets (even though their fundamentals may be closer). Anyway, a good designer's decision to move something 3px to the left should be respected (b…

'Anyway, a good designer's decision to move something 3px to the left should be respected (because he knows better - he's a good designer). And moving a button 3px to the left shouldn't be a problem for any self-respecting developer.' Not arrogant at all. Jeez.

Sorry about that. Your post got me all worked up!

Re: Why you should move that button 3px to the left

#62
post #45
post #44

Earlier quoted context omitted.

This is really wrong, and the arrogant tone doesn't help a bit. The truth is that a designer who spends 100% of his time doing design will definitely be better at design than a designer who spends 50% time designing and 50% time developing. These are two very different skill sets (even though their fundamentals may be closer). Anyway, a good designer's decision to move something 3px to the left should be respected (b…

You don't think the engineers platform specific knowledge will have any impact what so ever? And where do you draw the line between engineering and designing? An engineer can design their design as they go along and iterate on it. Recently I've been doing my iOS design through SCSS and it helps having sizes, gradients and colors as variables, fonts as mixins and the ability to change them at runtime. Does that count…

The problem of engineers designing UIs is the topic of one of my favorite books: http://www.amazon.com/The-Inmates-Are-Running-Asylum/dp/0672...

The problem is that engineers are not very good at UI design. Both from UX and aesthetic standpoints designers are capable of making a better product. A good designer will give a consistently better result than a good engineer in terms of usability, UX, aesthetics and modularity.

Re: Why you should move that button 3px to the left

#63
> So it’s not enough to say “it looks better this way”. Designers need to make a case for why the team should spend time on fit and finish.

That point is central to the post and yet not really followed IMO. Costly changes to the UX should be justified in objective terms, e.g. consistency, color or style matching, differenciation, focus improvement, branding, readability... Not a "it feels better", or "it's delightful" or "I'm a creative person, I know what's right" (<- if it's his/her personnal project this one is OK)

Re: Why you should move that button 3px to the left

#64
Getting the design right is important. But it's poorly communicated. For better or worse, programmers tend to be primadonnas who don't respond well to being told to move a button 3px (see seivan, et. al) for no reason.

Furthermore, the exact pixel dimensions you create in photoshop rarely translate to the browser due to screen size differences, resolutions, etc. It's much, much more useful for designers to tell me something that describes the relationship they have to each other than the exact dimensions (e.g, "these elements should line up on the right" rather than "make divs 253px"). Obviously for things like spacing there's some element of eyeballing until it feels "right", but you can and should be working with design before stuff goes out to get those right.

So yeah, it's frustrating as a programmer to go through these nitpicky details. But keep in mind it's frustrating because you didn't do your job of implementing what was specified. So maybe don't complain about it in a way that sounds like you refuse to do your job.

Re: Why you should move that button 3px to the left

#65
post #7

Earlier quoted context omitted.

Did you show your designer friend what happened when someone presses ctrl +? Or uses a different browser or loads their own fonts or etc etc etc? Designers have caused real harm to the WWW. They're clearly not the worst thing about WWW but they're pretty bad.

Did you show your designer friend what happened when someone presses ctrl +? Or uses a different browser or loads their own fonts or etc etc etc? Why would either of those things be a problem? Attention to detail is attention to detail at any scale. It’s true that at scales smaller than anyone would normally notice there can be a difference between a clean optical alignment and a “perfect” mathematical one. This is a…

I'm not sure how familiar you are with the zoom functions on web browsers, but zooming in on many web pages can easily destroy the design. This is especially true when using a lot of media queries in your CSS and when using absolute units to position and size elements in your CSS (e.g. using px's for your base font size instead of em's or %).

Re: Why you should move that button 3px to the left

#66
post #34

This article pisses me off something immensely. How about you learn to fucking code your own design? 'Yet we’re at the mercy of our teams. We can design beautiful, intricate, delightful details — but we can’t build, test, and deploy them all.' No shit, so how about you stop being one of those lazy-ass photoshop goons who play fucking color-the-button on dribble all day long and actually learn to code your own fucking…

Does everyone on your team write the whole stack from front to back? Advanced teams have specialists. Design is no exception.

Re: Why you should move that button 3px to the left

#67
post #10

Wow, this is a superb article that resonates with me as much as anything I've ever read on the subject. It practices what it preaches, too. Reading it made me feel the very things it's talking about. I sense, though, that the author's tactics for working with teams that don't share his values are half-measures. It reminds me of the large and sad literature on "organizational change" in software development, wherein p…

...engineers who feel the same way that he does about product. These exist... Unless my personal experience has been wildly unrepresentative, software developers tend as a group to be almost obsessive about getting fine details right. We’re the guys who worry about whether our design will be as easy as possible to maintain in the face of arbitrary future requirements or whether using some clever data structure would…

To the developer, every decision is a trade off, a tension between the demands of the now (features and time) and the demands of the future (elegance, maintainability).

Designers are not in a good position to appreciate the trade offs. It's very easy for a designer to think 'this infelicity decreases delight, and fixing it involves just moving this thing to there'. This is probably an excellent spot of a real design issue, but that isn't the only thing that determines whether the work should get done or not.

I have no solutions, but problems like this are generally because of an insufficient appreciation of the other professions challenges, and if you're working in an environment with skilled practitioners of both disciplines, more communication is likely to fix it.

Here are some suggestions that might help designers talk to developers: Never use the word 'just' when talking to developers, frequently apparently simple things have huge ramifications and just as a designers specialty is understanding how the little things create a full experience, a developers specialty is understanding how little changes affect other things in the full system. Talk to them about the effect you're aiming for, rather than just the change itself - if the change is trivial, the worry is that you're not respecting their time, but if you convey that the trivial change will have a large specific effect then they will understand and may be able to do other things proactively to help you achieve your effect. Show that you care about more abstract values such as 'maintainability'; the ability to add features quickly in the future and having a low bug count are both massively beneficial to the user experience. Where you can, show that your fixes are not merely matters of opinion but are based on empirical evidence, good developers respect evidence. Get involved early in the process and talk regularly to the people implementing the design - show that you care about their opinion, but educate them in seeing things from another viewpoint too.

As a developer, you are probably used to having a discussion with the person who reported a bug for technical issues. Do the same for design issues - even if it's just 'move this button three pixels', talk to them about it, find out why it's important, find out if they really mean that it needs to align with some other element. If you have a legitimate reason to not want to do it, explain the problem - you might be able to work out a better solution together.

Re: Why you should move that button 3px to the left

#68
post #33

So why should you move that button? The article doesn't actually answer the question. If a UX designer just says "move the button by 3px because it looks nicer", then there is a good chance that someone higher up the hierarchy will say move the button by 4px because that looks better. And since neither of them are able to actually justify their reasons beyond some vapid and subjective claim of making the product "mor…

And since neither of them are able to actually justify their reasons beyond some vapid and subjective claim of making the product "more delightful"

Do you appreciate the irony that you just wrote a whole post about making decisions objectively, in which you have essentially dismissed designers as ignorants who just make arbitrary decisions according to their personal whimsy, based on a series of unsubstantiated claims, out-of-date stereotypes, and straw man arguments that any half-decent designer could have corrected for you in moments?

Why would you think a designer would have no justification for a change beyond “it looks nice”? What would you assume designers don’t understand issues like pixel alignment or designing for multiple devices? Why would you think designers would be raising these issues based on Photoshop mock-ups?

Do you understand that there is actual research underpinning a lot of design theory, demonstrating both how humans respond to different design choices and the fact that those choices can directly and sometimes dramatically affect metrics you care about like conversion and retention rates?

So if a designer asks for a 3px change without justification, then the engineer should push back until a good reason is given.

I wonder how you’d feel if you as a developer were told that every line of code you wanted to change — even those with obvious bugs — could not be touched unless you had previously demonstrated why you expect a measurable benefit to the satisfaction of the business development staff, and that your commit access was going to be revoked and every change would have to be made by bizdev after someone who didn’t know anything about programming decided whether it was justified.

Re: Why you should move that button 3px to the left

#69

Earlier quoted context omitted.

Did you show your designer friend what happened when someone presses ctrl +? Or uses a different browser or loads their own fonts or etc etc etc? Why would either of those things be a problem? Attention to detail is attention to detail at any scale. It’s true that at scales smaller than anyone would normally notice there can be a difference between a clean optical alignment and a “perfect” mathematical one. This is a…

I'm not sure how familiar you are with the zoom functions on web browsers, but zooming in on many web pages can easily destroy the design. This is especially true when using a lot of media queries in your CSS and when using absolute units to position and size elements in your CSS (e.g. using px's for your base font size instead of em's or %).

I'm not sure how familiar you are with the zoom functions on web browsers

I’m a professional software and web developer, and I currently build web-based user interfaces for a living.

but zooming in on many web pages can easily destroy the design

Sorry, but that’s simply not true if you have any idea at all what you’re doing. The tools to support designs that follow the original intent but are flexible enough not to break just because someone has different default fonts or zoom levels have been around for many years, they still work as well as they ever did, and they are entirely compatible with the more adaptive/responsive designs we often use today.

(e.g. using px's for your base font size instead of em's or %)

These days, it’s more likely to be the other way around IME.

Too many people still rely on received wisdom from the days when browser zooming didn’t adjust the whole page, as all major browsers now do. The original arguments for avoiding px-based font sizes were about allowing users to configure their preferred size in their browser preferences and have web sites respect it instead of overriding it. Today the default font specified by most sites is larger than it used to be (a good thing, up to a point) and if that doesn’t fit the user’s needs then every modern browser will scale it up when the page is zoomed.

Too many people are also making trendy design decisions under the banner of “mobile first” that result in a poor user experience on desktop/laptop systems (or even, ironically, on tablets). Consequently, we get silly things like specifying 30px thin fonts and main page widths/margins as percentages with no other limits, which probably look awesome on the designer’s chosen development device(s) but unfortunately look terrible and can’t be fixed using the usual browser adjustments on much larger and/or smaller screens.

Re: Why you should move that button 3px to the left

#70
post #58

Earlier quoted context omitted.

> moving a button 3px to the left shouldn't be a problem for any self-respecting developer That's exactly the kind of thinking that developers abhore. Imagine that the whole interface is built on top of a planned framework that follows strict rules and conventions. This button is following the exact spacing and dimensions implemented in the framework, nevertheless the designer's static mockup is different for some re…

> Now, moving this specific button 3px to the left could be as easy as a `margin-left: -3px` or some other simple line of code, but that is a hack/code smell that will be met with contempt from everyone who looks at it in the future Yep, that's a compromise. But if it makes the product better overall, it must be done. If the designer says so, I believe them -- and if I say that a designer's request would lead to a si…

position:relative creates a new stacking context that could interfere with other styles.

Anyway, one-off hacks like that every full moon are not an issue to most developers, but you'll usually see they come in a constant trickle; after experiencing that for a couple years a strong emotional response naturally develops :)

Post reply on HN