What did not help was that those people had "print design" backgrounds, my bosses loved the rendered (hard) designs, and not having any design or development knowledge themselves, these sorts of ludicrous standards were somehow becoming the norm.
So we ended up spending as much time trying to render some goddamn rounded corner with a gradient for all browsers than we did implementing actual functionality, generally causing us to cut corners all around (no pun intended)...
In my opinion, a good designer should know the limitations of the tools according to context and resources. As far as I know, you never hear of car designers asking the engineers to somehow find enough space for the engine, or an architect telling you that the plumber will have to somehow figure out where to put the pipes in his 36.3cm thick walls.
This is 2014 and I don't think there's a place for single-skill design queens any longer. As a developer I have to learn a new language pretty much every 6 months, and generally speaking new technologies far more often. So surely, the argument that "true" designers should not have to learn CSS (or related) is moot and let's be honest, arrogant.
To me, it's very much like the idea that politics or philosophy by themselves are vacuous. The world isn't waiting for your design like it's a god-send, you're making the design because you were asked to, by real people with real needs, all of whom, designer included, have to put food on the table.
I cut my teeth as a print designer and the same old complaints were there then. The designer wants an 8 page gatefold as a single page can't possibly be expected to bear the weight of their genius. Nothing less than spot varnish and gold foil will do, costs and timeframe so be dammed. The main difference being, back then when something went to print that was the end of the deign process. The web has made designers greedy and lazy. I honestly can not remember the last time I was handed a finished psd. Designer like to state as fact that they can't be expected to finish a design without first seeing a half baked idea of something built for their amusement first. To this I say: if Einstein can postulate the theory of relativity by imagining himself atop a photon travelling away from a star at the speed of light, then it's not unreasonable for a designer to imagine what the site will "feel like" with parallax scrolling.
I love design, and rather than whinge and moan about how everyone else didn't care, I learnt code. Articles like the one linked to here reak of self entitlement and laziness.
Every time. Every page.
Their designs will become more practical quickly, or the library needed to support their vision will organically grow. But they need to be in the room with real consequences for their PSDs.
In my experience, you can have designers who know the web and you can have graphic designers who don't have a clue about the web, yet decide they want to be "web" designers.
The latter seem to pop up more frequently these days and I would agree it is frustrating, time consuming and incredibly worthless. Worst yet, are graphic design firms trying to get into the web and use your company as their guinea pig. Again, completely worthless.
As such, I've taken quite a bit of time to learn design myself so I have at least some authority to call bullshit on stuff they try to pull and head them off at the pass. It this point, it's been my only defense and has been somewhat successful in not allowing these types to poison the well so to speak.
A good designer will understand the limitations of the platform they are designing for. My wife designs for S40 feature phones with plenty of limitations. There is plenty of back and forth between development and design to ensure that the design works with the limitations of the software and hardware (though devs often push back too soon).
I know what you're saying. But it reminds me that I would have loved to make a website with Jan Tschichold, Paul Rand, or so many other graphic designers who never even knew the web. (I'm sure they would also be interested in learning the details of the medium, even if they didn't want to code for it.)
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.
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.
I wonder what the difference would be if this was posted on a designer version of hackernews.
The problem with your comment is you assume everyone can dabble in everything. When you work at a big co you are hired generally to do one thing, and that's it. Designers don't touch code. Developers don't touch designs. So while Sue may be able to do CSS, JS, Cocoa but isn't allowed anymore then Bob isn't allow to open up photoshop and start "playing color the fucking button on dibbble all day long".
How is it unreasonable to assume that a designer should dabble in web development? That's hardly 'everything' and it's highly relevant to their work and goals. Frankly it's remarkable to me that web designers can still get jobs without taking the time to acquire an in-depth knowledge of the engineering stack they're designing for, even if they don't work with it on a day-to-day basis.
I sometimes design too and must say, programming is harder -- it's more intellectually demanding, less rewarding and on average more frustrating. That's why I value programmers' work more.
TL;DR: Good designers who create new or unique works are different from designers who follow the trends and make similar/copy-cat designs. Just as a programmer who uses pre-existing software is different from someone who is building one from scratch.
Both designs and programmers work should be valued when it's good.
Obviously you have strong designers and weak designers. The strong designers are focused on the user experience and providing a consistent interface that has a high degree of fit and finish.
Users have a low tolerance for mistakes and seeing a couple things off by a pixel or two can make a product look immature and can take way from all the hard work that was spent building it.
'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 interface, either in Cocoa, JS, CSS or whatever.
This ain't the 80's no more. Software Engineers that work on front-facing stuff can and have learned design. Not just graphical design but even interaction design and designing slick user experiences.
Though I can't speak for all platforms, most Web & iOS developers I've met can do all that photoshop pixel-perfection bullshit _AND_ code the interface.
Which makes me hard to think why even have these photoshop-cowboys.
'We can design beautiful, intricate, delightful details'
The .psd file or your design ideas isn't worth anything. Fuck you if you call yourself a designer and can't work on the final medium.
EDIT: Pardon the tone.