Try Tuts+ Premium, Get Cash Back!
Great Design Hurts: Striving for Pixel Perfection

Great Design Hurts: Striving for Pixel Perfection

This entry is part 3 of 15 in the Web Design Theory Session
« PreviousNext »

I’m going to share a design theory that I’ve been working on implementing into my own workflow for the past couple of years: pixel perfect mockups. To some it might be obvious, but its a tenet so crucial to my own design process now that I’d say it’s been the single most influential idea that I’ve been presented with in over 10 years of designing.

To adopt this theory isn’t just another step in the design process, it’s a perspective changing revolution of the mind that will undoubtedly improve the quality of every design you ever work on from now on. Want to be a better web designer and take on bigger projects? Read on.


Great Design Hurts

Pixel Perfect Comps

It was a few years ago at SXSW 2008 that I was first introduced to the idea of “pixel perfect” design mockups. Michael Lopp (author of several great design books and a senior engineering manager at Apple) was on the panel for a session entitled, “Great Design Hurts“; His speech was hilarious and as littered with as much profanity as a Bill Maher episode. Among his incredibly insightful lecture points was a little gem that explained how at Apple, each designer is devoted to the idea of pixel perfect comps. That is, each and every comp passed around the company is so precise, so pristine, so detailed that the casual viewer can’t tell the difference between the design comp and a fully coded screenshot.

…Each and every comp passed around the company is so precise, so pristine, so detailed that the casual viewer can’t tell the difference between the design comp and a fully coded screenshot

“That’s it!”, I thought, “the idea that will revolutionize my design process”. And indeed it did.

See, to begin each and every design project with the intention of following it through to the very last pixel changes just about every aspect of the design process. Even if you don’t actually follow through every time, the very notion of having started the design with that intention will have dramatic effects on the final product.

After a month or two of trying this out, my PSD’s were cleaner, my files moved faster, my projects weren’t ‘dragging’ in their later stages anymore, and I was spending less time on the phone with clients trying to explain the difference between a rough design mockup and the finished product. Oh, and I was being hired more, which is a good metric to follow by any measure.

So what makes a pixel perfect comp? Essentially, it’s designing a mockup (esp. a web mockup, but it can be anything) as if you were styling it by code in the first place. If you’ve worked at all with CSS/HTML you’ll know what I mean. It includes:

  1. Perfect margins
  2. Perfect padding
  3. Perfect and consistent font usage
  4. Perfect borders & backgrounds
  5. Consistent color usage
  6. Intelligent and justifiable deviations from the first 5 rules.

Let me elaborate upon this idea though; When most designers begin a project, they design is as if it’s just a mockup. The knowledge that some developer or Quality Assurance specialist is going to come in later and fine-tune everything limits how much time and effort they put into the individual designs.

What happens next is natural to most designers: Clients are told that images and icons are “just placeholders”. Lorem Ipsum text gets used in place of real content. Heck, even navigation and other major user interface elements get swapped with “filler” content until right before the launch in most cases.


What is “Perfect”?

“Perfect” means that every element of every design comp is exactly as you intend them to be in the final programmed product.

With margins & padding, this means that they are consistent across the entire site design. If each sidebar block in a design is intended to have a 10px margin, then design it that way each and everyt time there is a sidebar block.

With font & color, it means consistent use across the site. Design each piece of font as if it were a linked to an HTML element (ie: all H1′s are always 18px, bold, Georgia using black color). Don’t deviate – as one of my favorite project manager’s once told me, there really shouldn’t be more than 3 or 4 font styles on any single page unless you have a damned good reason to do it. If you are using a specific color of red as a highlight color on the site, make sure that it’s that exact color of red in every single place (unless you’ve got a reason for it to be different).

Borders, HR rules, & backgrounds should also be consistent – I’ve seen some comps where every border & HR are different shades of the same color – this ultimately leads to comps looks sloppy and unprofessional. To an untrained eye, it’s easy to see when a design feels half-baked… even if that person can’t put their finger on exactly what’s wrong.

Finally, use icons, images, titles, and text that are as near to the real thing as possible. If you’re redesigning a website, use the content that they already have published instead of Lorem Ipsum. If the client says that they have new icons or images that they’ll use in the redesign, ask for them and include them in the design.

Remember, we’re striving to create design comps that are so precise that they look like screenshots of the actual, live, coded implementation.


The Argument Against Perfection

Before I go another step though, let’s address the obvious counter-arguments. Cost. Time. Effort. Frustration… the argument already forming in your mind might sound like this:

“If I spend the time it takes to meticulously detail each and every design mockup that passes through my hands, I’ll be spending 3x as much time on design… not to mention the fact that if the client doesn’t like the design, it all goes in the trash”.

A fair argument, and one that certainly has it’s merits, but it’s not enough to derail this article :) Remember, the goal isn’t to make every design mockup actually perfect (that would be insane and expensive) – the goal is to change your approach to design. The fact is that the pixel-perfect approach isn’t really practical in lots of cases… but that should stop you from striving for it.

Let’s examine the benefits of pixel perfect comps and then we’ll return to this argument.


Benefits of Pixel Perfect Mockups

It forces you to be more organized. More organization means less time spent wrestling with your PSD’s and more time spent kicking ass at design.

No more explaining to clients. If you’ve designed a comp perfectly, that is, everything is in the place that you intended it, you don’t have to explain to clients that what they see in the design comp isn’t actually what will be in the final product.

No more explaining to developers. This comes especially in handy when your client sends your design comps off to a development team in India where lengthy explanatory emails just don’t translate. If their only job is to code EXACTLY what they see on the comp, it reduces the chances that they’ll misinterpret any design specs. And heck, it’s even easier for the fluent programmers that I work with; They get to focus on programming, not trying to figure out if I want 10px margins or 15px margins.

Less time spent in QA. Quality analysis, if you’re not familiar, is the nails-on-the-chalkboard final rounds of design where you go back into a rough ‘proposed’ design and prep it for final presentation. To developers, this is also the name of the final ‘pre-launch’ round where each and every detail, functional bug, and stray pixel get’s straightened out. Sure, in small projects you might never go through a QA cycle; but in larger projects that have the budget, you simply don’t walk away from a project until this step is complete and the cleaned up source file is handed over.

Happier Art Directors/Clients. If your art director (or whatever his/her title is) is able to spend less time nitpicking the details on your comps and more time giving valuable directions, their blood pressure (and yours) will inevitably go down during design review meetings.

More professional looking final results. Yes, your comps will look more professional. Now that you’re spending less time explaining or making excuses for sloppy mockups, you can spend more time raising your rate…


The Counter-Punch

So, as a response to the argument against pixel perfect comps, I’ll make these final points.

Your comps should already be perfect. It’s the end-goal of any design project, and if you’re not getting there eventually, it might just be because you never meant to in the first place.

It takes LESS time than the alternative. Pick one: spend 6 hours meticulously designing a web mockup and get client approval quickly OR spend 4 hours on a design and another 4 fixing dumb mistakes before you finally get the client to sign off on a design.

Edits & Revisions happen faster this way, not slower. If you’ve designed your mockup using this mentality, and your PSD is organized to reflect this, each subsequent set of revisions that the client requests will happen at lightning speed.

Excellent mockups mean less time in development. This saves you (or your client) cash. This is the basic tenant of rapid prototyping – get it right before it goes into an expensive development cycle.

It’s the biggest gap between small projects and big budget gigs. The simple fact is that a recruiter looking for freelancers to take on their projects uses “attention to detail” as the single most indicative measure of whether a freelance designer is capable of tackling a major web project. If you’ve got a portfolio full of sloppy comps, it’s just going to be that much harder to prove that you’re trustworthy and capable.


Final Thoughts and Caveats

I said it before, but it’s my final point. You won’t actually achieve pixel perfection on every comp and that’s fine. There is a time and a place for the rough-sketch-comp and you (and your client) will know when it is. This theory of ‘pixel perfect comps’ doesn’t require 100% results 100% of the time, it only dictates the basic attitude that you bring to each project. After years of working on this in my own projects, I can say it’s well worth the pain.

Have a different point of view or a comment? Start or join the discussion below in the comments section!

Brandon Jones is MDNW on Themeforest
Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://www.tessathornton.com Tessa Thornton

    An interesting counterpoint to the many “make your mockup in markup” articles I’ve read recently. Personally I do strive for pixel perfection in Photoshop, but I do end up suffering when I have to go change every instance of a font, or make every instance of blue “a little more… blue-y.”
    The truth is that it’s so much more work to plot out typography in photoshop than in the browser, where you can change one rule and alter every heading. Still haven’t figured out a way to combine the two methods.

    • http://themeforest.net/user/epicera/portfolio?ref=epicera Brandon Jones
      Author

      Great comment Tessa – the entire idea of skipping the Photoshop design phase has always been pretty interesting to me – I think where this particular philosophy of “pixel perfect design comps” comes into play most is with sites / apps where it’s just not practical to spend thousands of dollars on dev before you really know what each piece looks like.

      Still, I’ll be the first to admit that there are two sides to every good philosophy out there :) Blending the two approaches, as you suggest, is a bit more complicated than just reading or writing an article and expecting things to change. It’s been 2 years since I first started really applying this approach, and I still struggle with the practicality of it at times.

      Cheers!

      • http://www.tessathornton.com Tessa Thornton

        I’m hoping there will be a version of photoshop where you can easily assign text types or styles, then change one to change them all. Seems like a pretty obvious feature.

        • http://www.tessathornton.com Tessa Thornton

          Picked up some clever ways to make changes from http://www.viget.com/inspire/smart-ways-to-use-adobe-photoshops-smart-objects/ though

          • http://madC.at Bucsa Silviu

            Yup .. smart objects are the way to go … helped me a looooooooooooooooot in a number of ocassions …

            They are pure gold!!

          • http://stacyblackman.me Stacy Blackman

            Tessa,

            Thanks so much for sharing that link! I did not know you could use smart objects in that manner! What a timesaver!

            Brandon,

            Thanks for the great read. I totally agree with all of your points… it just makes sense to get it right the first time and then you won’t have to go back and mess with it again!

        • http://contempographicdesign.com Chris Robinson

          Absolutely, all they need to do is duplicate the stylesheets functionality from InDesign. Would be a huge time-saver, and guarantee consistency throughout.

    • Lukigi

      I tend to group all copy together. And then create groups like content, h1, h2 within this group. Then when I want to change font style i simply select all the layers within group and change it for all at once.

      As for the colours of lines and block element. I find out its usually easier to use style “color overlay” property. Then copy layer style and paste it on multiple layers at once.

      Not sure if that will help you, but maybe someone will find that advice useful.

    • Dogs

      “Photoshop, but I do end up suffering when I have to go change every instance of a font, or make every instance of blue “a little more… blue-y.””

      Photoshop is the problem, Fireworks can edit document wide styles and update everything for you.

  • http://themolitor.com Chris Molitor

    It sure does hurt, but it makes all the different. Great article.

    • http://themeforest.net/user/epicera/portfolio?ref=epicera Brandon Jones
      Author

      Thanks Chris!

  • http://invert.com.au Kiryn Clay

    we’ve always tried from wireframing right through, to always play it to a pixel.

    They’ve done studies, you know. 60% of the time it works, every time. ;)

    • http://themeforest.net/user/epicera/portfolio?ref=epicera Brandon Jones
      Author

      60% of the time it works, every time.

      Hah! It’s funny, but true – most lofty ideas like this don’t ever really see 100% implementation in the real world (which is why I was careful to note that this is about striving for perfection, not achieving it).

  • http://eriknow.com Erik

    Great article! You brought up some really valid points regarding design. Will definitely review my own work in closer detail from now on!

  • mansour

    amazing article , i loved it as much as i enjoyed the new information. thanx mate… greetings from Sudan.

  • http://connorcrosby.me Connor Crosby

    I have a very hard time with making a complete website in Photoshop. Usually I make some elements in PS and draw my layout. Then I start coding it.

    I am sure if I do a complete site in Photoshop or wireframe that I will actually complete a website design (I am having a really hard time coming up with a new blog design).

    But, anyways, great article! I will definitely take what you said into consideration.

    • http://themeforest.net/user/epicera/portfolio?ref=epicera Brandon Jones
      Author

      Thanks for the comment Connor! I think your approach is pretty common to most designers, so I would take everything here with a grain of salt. This approach is fine tuned for big budget projects where being detail oriented can make or break a project – on smaller projects or projects with less pressure to get client buyoff, you can leave a bit more slack. As always, there is a bit of grey area where a designer has to use his/her gut to make the best decision – this article is intended to provoke thought towards how design in a somewhat extreme environment (ie: designing for Apple) can help change everyday design :)

    • http://smallbitsofcode.com Boba

      @Connor

      I’m more of a developer then a designer, but occasionally when i get a good idea i do design. But most of that design process is in browser, since CSS gives the freedom to experiment without spending 10 minutes to change a color on a bunch of same elements.

      I fire up photoshop only when i need to create a pattern or some special graphical element or design the header and things like that, which you can’t do in a browser. I do that by creating a screenshot from the browser and then design on top of it :)

      @Brandon

      Thanks for another awesome article. Designers that aim towards pixel perfection are my favorite type of designers, since they make my job (coding it) something i can truly enjoy :)

      “…development team in India where lengthy explanatory emails just don’t translate…”

      Haha, that part of the article made my day :)

      @Adobe

      I believe it’s time to implement something like CSS classes in photoshop, you managed to implement some stuff we thought are impossible, you can create something as simple as that.

      After all, an enormous percentage of your users are web designers.

      • Mark Osborne

        Adobe have already done that. It’s called Fireworks ;-)

        • http://smallbitsofcode.com Boba

          Ohhh, that’s interesting. Why do people still use photoshop for web design then? It’s even cheaper then photoshop.

  • http://visual-blade.com Daquan Wright

    I’m not a very experienced developer, but I will say that I usually do images separately and code it into html/css (their respective placeholders). I love to code, so I always setup my basic folders and files first. Though I am gonna try slicing more in photoshop and importing the images for better optimization. xD

  • SaurabhSharma

    Great post Brandon. I have gone through all your articles recently, and I loved all of them. Especially the ones with visual hierarchy, F-Layout and Z-Layout.

    I would like to share one more small but useful tip. i.e. To organize grid preferences into 10 Gridlines in pixels, with 10 subdivisions. That gives us a grid of 1px by 1px to snap perfectly.

    What is out of control is the font aliasing for headings in Photoshop. We can not predict how it will look in different browsers. But the pixel-perfect approach is very very useful in making sprites, saving 50% time of CSS calculations, and of course a final, clean, polished output.

    Great Post.

  • http://www.madewithmotive.com Glen

    The one negative can be found with pixel perfect mock-ups in Photoshop, is when you show these to a client the elements (type, spacing, etc.) are not being rendered by the browser, and won’t reflect the final outcome in every browser. So if the client views your image, then views the finished site in IE8, there could be a noticeable difference.

    e.g. a site, once coded, will look a lot different in IE7 on a PC, than Safari on the Mac. Especially when you are using @font-face and other CSS3 that may degrade for older browsers.

    I think, like mentioned before, a mix of coding (HTML/CSS) functional prototypes and designing graphical elements in Photoshop is the way forward, but can take time to get used to. This means the client will see it as it will be, when completed, in their chosen browser.

    With this, the pixel perfect thing defiantly is a good philosophy for any graphical elements you are creating, good article.

  • http://www.markdijkstra.eu Mark Dijkstra

    I always check my stuff if it’s pixel perfect, i find this a must. But this will cost me some time….

    Nice article Brandon!!

  • http://twitter.com/Digital_Misfit Jim

    I’m a hybrid designer and developer due to my previous job (one person to rule them all), and I can attest to the value of pixel perfect design. Programming is my main skill, which drives my designs to 1) look great, and 2) be easily translated into something in code. While making a layout, I constantly solve implementation problems as I go along. The end result is a layout that will look extremely close to the final product, if not exactly the same.

    I then go an extra few inches and embed a flat image of the whole mockup, background and all, on a single web page. Fix the body CSS elements and it looks like the real thing, easily viewed in a browser, and easily understood by a customer.

  • Rory

    I’ve found in my experience that Photoshop doesn’t lend itself well to pixel perfect designs.

    1) Mass changing of fonts.
    2) Quickly update a selection of colours in one go
    3) Creating a set of designs and being able to update all of them with different settings (type, colour, styles etc etc) in one go.

    This is where Fireworks comes into play. It’s extremely good at doing this….among many other things.

    But I have a sore finger so I’m not going to be bothered typing anymore :)

  • Jon

    I’m so use to this concept I didn’t realize it had a name.

    My current start up job requires such quick turnaround that I usually only get one chance to get it right before handing it off to a developer.

    Besides the usual unreasonable deadlines, I find that it’s what clients want. They tend to get very upset when a final implementation does not look exactly like what I’ve shown them in the comps phase.

    • Luke

      I am pretty much exactly the same. Although I am both a developer and a designer I always strive for perfection while in the photoshop faze. I actually thought this was the normal. For me at least my designs look so much nicer if I go through photoshop first then code them after. On the odd occasion where I really have to speed through the design faze and can’t ahcieve perfection I usually leave the sticky notes both to remind me, and anyone else who may read the file about margins, padding, font sizes, colors ect.

  • Terry

    Thanks for the article, I’ve been using Photoshop for creating mockups for a while, its a lot easier to do workshops with the client. I’ve had examples before when they’ve asked could I move that navigation bar to the other side of the screen which in their eyes should be simple but you know it’ll mess with your CSS. I think your mockups should represent the final product, often I’ll create a “test” page which will contain examples of each feature that way if you do want a H1 changed it can be done on one example only and not have to be done throughout a whole PSD. As others have said it all comes down to money and the quality of the final product.

    T

  • Chris

    Just being a pain: You want “tenet” (doctrinal point) not “tenant” (occupant) in the Counter Punch section (point 4).

    Loving this new site, by the way. Very handy stuff!

  • http://www.nionwebdesign.com Niels Pilon

    Pixel perfect can’t always be achieved if you ask me but consistency can and I always try to implement that into my own designs. Especially margins/paddings and fonts as it gives a design a clean, well balanced and professional look.

    But it also depends on the type of design, a pixel perfect grunge style website will be harder to achieve than a business/portfolio style website.

  • Justin Burrow

    pretty sure you mean “tenet”, not “tenant”.

    • http://themeforest.net/user/epicera/portfolio?ref=epicera Brandon Jones
      Author

      Yep – patched :)

  • http://newdynamicmedia.com/ Alex

    I’ve been doing mockups in Photoshop for awhile, can’t imagine doing mockups in HTML/CSS – what if clients want to change not only font type and color but entire layout? It’s easy in Photoshop, not in HTML (personally for me), so I guess Photoshop is the tool for mockups.

    So true “To an untrained eye, it’s easy to see when a design feels half-baked… even if that person can’t put their finger on exactly what’s wrong.”

  • http://lenkerdesign.com Jason Lenker

    Right on the money!

  • Lukigi

    ahh didnt know anyone is not doing pixel perfect mockups

    I’ve always try to do it as close to the final result as possible. I cant let myself to rely on my clients imagination.

    I dont think web design is any different to say Rchitecture for that matters. Architect use 3D rendering to show off their designs, or scale models with such a detail just to show you how exactly final result will be.

  • http://www.vaughanmoffitt.com Vaughan

    Awesome article! Defiantly one I’m passing around the the project managers at work. They are in the mind set of getting stuff over to the client ASAP so they can have their input… the thing is I don’t want their input.

    I don’t go into the kitchen of a restaurant and tell the chief how to cook my dinner and I only send it back when its crap… Same thing with design. What would you think if the chief came out and said ‘can you try this and tell me if I’m on the right track’. You’d probably lose faith you were in the right place.

    My philosophy is get it right the first time and everyone is happy.

    • Jeff

      If my client were ordering a website from a catalog, that would be a proper analogy, but unless you have an extensive meeting with said client to find out exactly what they’re after, it doesn’t really work the same as a restaurant. Just sayin’…

  • http://www.maiconweb.com Maicon Sobczak

    I have improved my design process and this article reinforce my objective in make a even better work. And never is a waste of time to make the things right.

  • lukatsch

    Striving for pixel perfection is not always necessary IF you convert your own design to HTML/CSS.

    At least this is what I think, because perfect padding/margin CSS will do and it’s just that much easier to find out about the perfect padding/margin ratios with CSS and it’s also less time consuming than doing it all pixel per pixel in Photoshop.

    But the approach is a good one.

  • qalih

    I’ve recently started ‘pixel perfect’ comps. I was at a design firm for a month a couple of months back where I started designs and would leave them only almost complete and the head designer there would ask me questions on why this wasn’t right or that wasn’t aligned correctly. My response was it will be perfect once its been fully coded. He requested I complete all mockups with actual images and headings with exact font-sizes and proper margin/padding. Since then I’ve stuck with designing mockups with the precise intended result of the finished website.

  • http://alexay.wordpress.com/ Alex Yorke

    Minor spelling mistake, but a really great article!

    “…way each and everyt time there is a…”

  • Pingback: Are Your Designs Pixel Perfect? – My Design Process | Van SEO Design

  • Pingback: Using the 960 Grid System as a Design Framework | Webdesigntuts+

  • Nina

    @Brandon

    Why don’t we all use Fireworks?? It’s made for webdesigners right?

    I use photoshop my self, but Im thinking of changing to Fireworks. That might shorten the time of making mockups for my clients..

    The article was great and I totally agree about pixel perfection!

  • http://dbelldesign.com.au Darren Bell

    Thanks for the article, it’s an interesting concept and for customers they would get a more clear result. The only nitpick I would bring up is that this sort of approach would more often than not require content from the customer (images, text etc) and sometimes this can’t be provided at all, or up front. You could get it close to the real thing, but not exactly.

  • http://www.aniketkulkarni.com Aniket

    I think I agree with your article.
    One more advantage : If the mock up is perfect, If your client doesn’t like it, the design does not have to go in trash. It can always be in your portfolio and may be some other client will like it :P
    And, as per my own experience. When you try to organize your design, moving things around, making small changes is much faster than we can image.

  • Pingback: Redesigning History Quizzes | Interwebbythings

  • Natalia

    I loved your Article, I completely agree. I am criticized by my teamates, and accused to be the “perfectionist”, because I always pursue the “perfect pixel mock ups”. well, what they don’t see, is that my designs are the least returned!
    :D

  • Jo

    Great article. I certainly use photoshop and do like to make each mockup as close to the final product as I can envisage with what each client gives me.

  • Pingback: Pixel Perfect Mockups worth the time? « Code2pixels

  • Pingback: Great Design Hurts: Striving For Pixel Perfection | Webdesigntuts+ « Code2pixels

  • http://about.me/kumbi kumbi

    ‘Sounds more like “The fold is dead. Long live the fold!” Really great stuff, and this article really goes a long way in explaining [emphasizing] the Responsive Design school and practice.

    Its’s nice to see a couple of designers and developers are making the effort to tackle this with some really cool one-time-fix, easy-to-roll out solutions like the 1140 CSS Grid and Roots WordPress development theme base projects.

  • CaBrony

    Just so you’re aware, this being an article on pixel perfect comps and all, you made a spelling error.

    “With margins & padding, this means that they are consistent across the entire site design. If each sidebar block in a design is intended to have a 10px margin, then design it that way each and everyt time there is a sidebar block.”

  • Pingback: Research Day- Web Design « Vianki

  • Pingback: — ligna decor

  • Scott

    Funny thing is I’ve always mocked the home page as looking like the final thing (I thought everyone did almost until now – I didn’t know better), and other than a few tweaks, 99% of the time it is immediately approved and moved to html/css from the PSD. I’m so used to that result it turns my world upside down if dramatic changes are needed!

  • Pingback: Making the Most of Photoshop Layers | Webdesigntuts+

  • Pingback: Making the Most of Photoshop Layers | iDevie