Photoshop and App Design
Most app and web design involves the creation of images, in PNG, JPEG or some other format. These bitmap images often form the basis of non-text elements on screen, including icons and buttons. The way your design tool of choice renders is critical, because it affects the overall quality of your entire design.
How does Photoshop CS5 fare with the interface design staples of antialiased simple shapes? In a word, terribly.
Here are several circles I just drew in Photoshop CS5. Without any “snap to pixel” option for vector circles, the antialiasing ends up all over the place.
![]()
Yeah, that’s pretty awful. But the really fun part comes when you try to fix it. Again, there’s no “snap to pixel” vector editing tool; so your only resort is to type in the pixel-correct values by hand. For each and every shape.
![]()
Oh, and you’ll need to switch the width and height fields from percent to pixels, and even then you’ll need to make sure to type the “px” in every time or Photoshop will helpfully revert to percent. Have fun!
But how does Illustrator handle this same task? Beautifully. If you’re in Pixel Preview mode (and, in my line of work, you’re always in Pixel Preview mode), the circles come out whole-pixel the first time.
![]()
Granted, a couple stray pixels show up. But as an experienced Illustrator user, you’ll immediately compensate with a Transform effect or Opacity Mask. Still a far quicker fix than typing in those Photoshop fields over and over.
This is not merely a circle issue. Any non-rectangular vector shape is very difficult to manipulate in a pixel-appropriate way in Photoshop CS5. New points are almost never placed on the whole pixel, nor do they snap to whole pixels when you drag or nudge them with the arrow keys. (In Illustrator’s Pixel Preview, either operation will snap an anchor point to the nearest whole pixel.) Even worse, the amount that the point does move is determined by one’s zoom level — so you can’t even be sure how much you’ll need to nudge a point to get to that integer value. The only solution is to select and transform each and every point, typing in whole pixel values every time. And forget aligning points in order to make the process go more quickly.
![]()
Of course, what you really ought to do is just bring the shape into Illustrator where you can get those points snapped to pixel quickly and with no fuss.
Having run into all these vector-editing issues, would I use Photoshop CS5 to design images for use in an app or website? Well, I resisted doing so for years. I built a decade-long career of icon and interface design almost entirely on the back of Illustrator. Then I arrived at Black Pixel and had to adapt to the company approach. I cursed Adobe every time I typed “px” into a field to prevent it from reverting to percent. But being a designer, I learned to work around Photoshop’s problems as I had long since learned to work around Illustrator’s. Now, Photoshop CS6 is nearly here; and it fixes most (though not all) of my gripes about working with vector shapes. Incidentally, Illustrator CS5 fixed a few rendering inconsistencies and I’m sure Adobe will continue to fix more.
Both are good tools for the screen-centric design job, and both are peppered with some aggravating bugs and engineering decisions. C’est la vie. Good designers deal.
(Addendum: If you’re not getting the joke, this is a tongue-in-cheek response to Marc Edwards’ Illustrator and App Design. I agree with Marc that Photoshop [and especially Photoshop CS6] has become the right tool for the app design job. I just don’t agree with most of his particular criticisms of Illustrator.)