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 reason (i.e. designed in photoshop).
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, a maintenance burden, and is deviating from the established standards created in collaboration with the designers themselves...
Other possible scenarios are interpolation mismatches, rendering differences between browsers, padding/borders unaccounted for in the original design, dynamic content that by chance nearly aligns to other element, etc etc. Very rarely is the case that the developer simply wrote 6px instead of 3px by mistake.
This happens way, way too often, and the resistance offered by developers is completely understandable.
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 significant setback for our production schedule, they believe me. It's not the matter of designer/developer interaction, it's the matter of product value.
I too abhor such things, but when a designer asks for it, I do "position: relative; left: 3px;". This is exactly what relative positioning was made for, and it makes the developer's intent obvious.
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 :)
It's the developer's responisbility to estimate how much work a particular task requires. If it's too much work for too little benefit, no sane manager/designer would insist on that 3px move.
:o
You see the same thing on the flip side of the coin with frontend engineers who make the effort to learn about typography, color, emotion, etc. Broader skillsets produce better software.
Related - moving a button 3px to the left shouldn't be a problem for any self-respecting designer, either.
If you mean beautiful mockups than will win a contract with a client and that's all, perhaps your 100% photoshop person will be the best suited.
If you mean building an interface acknowledging harmony of the UX, the user and clients needs, the medium, the strengths and weaknesses of the platform it will be built onto, the project budget and the maintenance afterwards, a 50% person will be thousand times more valuable.
> moving a button 3px to the left
I think it's a stereotype of the request the lay man doesn't get but can cause a project to lose hours or days of dev if the request just goes through. If 3px from where your button is is another component, just imagine that component also being bind to specific size and placement rules (or like, it's actually not your component but some other library's one), and moving that button 3px might mean rebuilding the whole screen.
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 as designing or engineering?
Your truth is not the truth, it's more like bullshit. I don't specifically know what the truth is - but I do know that I'd pick an engineer that can design over a designer 10/10 times. Regardless of your 'truth'.
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.
Except design is different. As a developer, once you have worked with some PSD efforts a few times and then worked with real dynamic content then worked with a real client to get the thing to actually convert sales, then worked with the client stats you have got a good grasp of when something is right on the design front. Plus you can open the css and do something about it. Or you can open up some stuff on the server side or put in some hack with javascript to get the usability to what it should be.
Designers are completely out of the loop after go live, they have done their 'lorem ipsum' stuff. Proficiency at UX comes from delivering the deliverables, testing, testing and testing. Listening to the client and the customers. It does not come from a few static designs.
I have never heard of a designer wanting access to the css to make that 3px change. They are welcome to it. They would make my day if they wanted to do that stuff. They do design for the web and the css is really over to them if they want to do it. The problem is that they would have to learn what a border is, what a margin is and what padding is. It is not difficult stuff.
The whole point of CSS is that the presentation is a separate thing to the content. Any developer would be happy to churn out the content blocks and sensible markup and hand it over to one of these PSD experts for them to get exactly to their 3px requirements. But in the real world it does not happen. Developers can dive in and fix something at silly o clock on a Sunday, but would anyone ever call a designer at such times even if it was a UX issue that was the problem?
Obviously there are some fantastic designers out there - allegedly - but, in general, designers don't do the hard stuff or even bother to work with live content. Far too many of them produce static nonsense in PSD format - a trade that should have been pronounced dead the nanosecond the iphone came out. They also perpetuate this myth that all developers are totally retarded when it comes to anything to do with aesthetics. Yet it is the developers that implement design, learning along the way. Rarely if ever is it the other way around, and, should a designer dare to do that they will get clumped in as a 'front end developer' and have some retarded PSDs foisted on them by some manager that thinks only designers can have any input whatsoever regarding UX/UI design.
How often do you think a developer tests something? A given page can be tested 100's of times. Along the way 'this checkbox might not be needed' or 'this dialogue box makes no sense' or 'this process is tedious' gets discovered. The guys with their PSDs just do not have that insight.
Most designers do not use photoshop these days; its all Illustrator vector format for anything but touch up. There are still some pixel junkies left, but these are mostly programmers pretending to be poor designers.
> Designers are completely out of the loop after go live, they have done their 'lorem ipsum' stuff.
Only in a failing company that doesn't have real designers or doesn't know how to manage designers.
> Proficiency at UX comes from delivering the deliverables, testing, testing and testing. Listening to the client and the customers. It does not come from a few static designs.
So you are saying designers are bad at UX because they don't conform to your narrow minded idea of what designers are?
Although I completely agree that PSD is a terrible format for web design. I myself have been using Indesign and try to insist on designers using it when I develop.
Not arrogant at all. Jeez.
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 (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.