iPhone Style Icon Tutorial

August 13th, 2008

This post was originally written in June of 2007, before the iPhone was originally released, on Jotlet’s blog. I am mirroring the post here, because it really doesn’t pertain to Jotlet.

I was working off of screenshots posted on Apple’s site. However, upon release, they changed the design of their icons. Most notably they’ve gotten rid of the underglow and the inside stroke.

In addition, this was my first Photoshop tutorial ever, and I have learned quite a bit since then. Expect an update in the next week or so, with a proper video tutorial.

Ever since I posted the iPhone-style .psd kit for developers to use in their applications, people have asked me to make a tutorial on how I did it. I’m assuming here that these people would like to know the “how”s and “why”s of what I did, so this tutorial is rather in-depth. For those who want a quick iPhone icon fix, just download the .psd file.

Apple has recently posted some guidelines regarding making web applications. It seems I was mistaken, and Apple is merely saying “make a web page, LOL”. The extent of their interaction is tagging phone numbers, emai addresses and google maps links with special key words to open their respective iPhone apps.

Good enough.

If you like this tutorial and would like to see more, let me know. I don’t just do iPhone-related icons, either :) .

That said, let’s get started!

Update! Since I’m not the best writer in the world, I made a couple of little videos outlining what’s going on. I made them pretty quickly so they don’t exactly cover everything, but they should give you a pretty good idea as to what’s going on:

Let me know if you have any questions or comments!

Create a New file

This step is pretty self-explanatory, but I’ll list it anyway. I made the new file 80px by 80px at 72ppi. Name it whatever you want (”myiPhoneIcon” in this case) and hit “Ok”.


Make your base shape

Choose a color in the color palette that you like. Don’t get too picky, you’re not marrying this color– you’ll be able to change it at any point. Now right-click the shapes tool and select “Rounded Rectangle Tool”. Set your radius to 10px and the path type to “fill” (in the options at the top) and draw a square roughly 60px by 60px (hold shift to make sure it’s square).


Make the inner edge glare

Note: this is not present on the iPhone icons upon release. I saw this used in one of Apple’s screenshots of the iPhone awhile back. I like it, so I kept it. If you don’t, just skip this step.

There might be a design-y technical name for these inner edges that show up in glossy items, but I sure don’t know it. Anyway in the layers palette you’ll notice that the layer you just created has two parts to it, the fill color and the path.

Command-click (control-click?) the path portion and you’ll get a “nice” (more on this later) selection of your button. In the menu bar click on “Select”, “Modify >”, “Contract” and type in a “2″ and press “Ok”. This contracts your selection by 2 pixels.

Create a new layer (command-shift-N) and set the layer mode to “Overly”. Make your foreground color white (Pressing “D” and then “X” is my preferred method of doing this) and select “Edit”, “Stroke” from the menu bar. Stroke it 1 pixel and press “ok”. Now we have a line. Neat.

Select the layer that contains the stroke you just created in the layers palette and add a mask to it. Select the gradient tool (”G”) and pick the foreground to transparent gradient in the gradient list up top (it’s the second one, typically). Make Black your foreground color and draw a vertical gradient within your mask from the center of the button to the top of the document.

Next make white the foreground (”X”) and draw a vertical gradient within the mask from around the bottom of the button to the middle of the button. The result is pictured.


Make the top glare

Create a new layer (command-shift-N). Now make a selection of your button again (command-click the path on your button layer) and draw a white-< transparent gradient within that selection that roughly mimics the image shown. The degree of glare is up to you.

For more control, I like to create yet another new layer and do the same thing again, only making a shorter, whiter glare up top to really make the gloss pop. This way I can get a good amount of contrast while still making the gradient smooth.


Crop the top glare

Assuming you’ve still got the button selection, change your Marque tool to the Elliptical Marquee Tool and change your selection style to “intersect”.

Draw an ellipse over your selection however you want the crop to go. You can check the image here for reference.

Select your glare layer and select the inverse (command-shift-I) of your selection. Press “delete” to delete everything outside of your selection and you’re left with a nice shiny gloss!


Apply an underglow

Underglows are essentially what give 3d glossy items their depth. They give the illusion that the light from the top is reflecting off of the bottom of the button.

Use the exact technique as the upper glare, but do it to the bottom. I like to do a combination of two small gradients, and set one of them to “overlay” to get a nice light color.

Make the sharp drop shadow

Drag the color portion of your button to the “new layer” button on the layers palette to duplicate it. Fill it with black (double click the color and select black). Now change the opacity to around 80% and select the Move Tool (”V”) and nudge it a couple of pixels down.

Make the surrounding drop shadow

Select your button layer and click the “layer effects” button at the bottom of the layers palette. Select drop shadow and apply the following:
Opacity: 83%
Angle: 90
Distance: 2px
Size: 2px

It makes a nice little soft shadow the whole way around the button.


Fix the aliasing poking through

This next step isn’t as important on dark colored backgrounds, but it’s pretty much required for white backgrounds.

You’ll notice that the glare selection isn’t perfect, so we have some ugly blue poking through around the edges. The fix is easy, but it’s a little difficult to explain. Essentially we’re just going to mask out that part of the button.

Add a mask to your button layer. Command-click your glare layer (the largest one, if you have multiple) and select inverse (command-shift-I). Select black as your fore color and select the brush tool. Make it around 10px and change the hardness to 0%.

Now mask out those ugly edges! Select the mask on the button and just brush along the edge to get rid of those pixels poking through. Be careful that you’re not removing too much. Since you’re only selecting what’s outside of the glare, you don’t have to be overly cautious.


Apply your logo/icon

Here’s the deal, if you’re doing an icon, it looks better (in my opinion) on top of the glare, with a stroke to make it appear slightly inner-bevelled. It looks like it’s etched into the glossy surface this way.
If you’re doing a logo (multiple colors) you want it to appear inside of the button, so put it under the top glare, but on top of the underglow.

To give icons their bevelled look, just put a 2px stroke on it the same color that you chose for the background (edit -> stroke -> 2px).


Customize to your heart’s content

You’re essentially “done”, but you can do whatever you want from here. Add more shadow, less shadow, larger shadow, less glare, ditch the glare crop to make it a softer gloss, stroke the button to give it a sharper look, whatever you want!


Questions and comments

This is my first Photoshop tutorial, so I’m certain I left out some important items while babbling on about unimportant ones.

Also I’m not formally trained in Photoshop at all (although I’ve been using it for 10 years) so if someone knows a better way of doing some of these effects, just let me know! I’m particularly interested in working with more vector shapes to apply the effects, so they’re not as “permanent”.

Thanks for reading!

I have a Flickr account.

July 15th, 2008

So I found this cool new photo sharing service called “Flicker”, except without the “e” so it’s “Flickr”. I suppose “Flicker” was taken already. If it stores photos, shouldn’t it be called “Shuttr” or something, instead?

Anyway, the URL to my Flickr account is http://www.flickr.com/photos/28643143@N07/. I guess Flickr is too cool to give me flickr.com/buckwilson.

Anyhow, subscribe to it, bookmark it, do whatever you kids are doing these days to keep updated on it.

I’m trying to be more “transparent” with what I do with my time. Tweeting, blogging, Flicking (Flickring? Flickering?), if it’s social, I’ll try it. I’m just a sucker that way.

To be honest I’m just trying to increase my visibility among those who might care. I think I’m a decent enough designer, but the only way I’ll grow is if I connect with people who I view as “holy cow way better than me”. So anyway, if you’re a superstar designer person and you’re reading this, will you be my friend? Heck, if you’re a mediocre design person, you can be my friend, too! We can hang out and watch cartoons and eat Cap’n Crunch.

Oh, and Flickr called me a “Batch”. I thought that was pretty rude.


I’m pretty sure they meant to put “SAVE THIS, BATCH!”.

Jerks.

The Winning jQuery UI Theme

July 11th, 2008

Howdy everyone! Sorry it’s been so long since my last post. I plan to keep regular maintenance on the blog, and I expect you guys to hold me to it.

So the jQuery theme poll was awhile ago, and I still haven’t cranked out the theme, unfortunately. The CSS guy and I kind of fell off of talking to one another; and, while it’s mostly done, it needs a little bit of polish before I release it. It’s coming, though!

In the meantime, I am posting the Photoshop document for you to play with. It is complete, and labelled. As with all of my posted .psd files, feel free to do whatever you like with it. It’d be nice if you linked back here, but I’m not going to require it (mostly because I can’t really enforce it).

Also, I’ll be doing some maintenance on the blog in the next few days… usability issues mostly (I’m still learning Wordpress). Hopefully I’ll get the blog to a point where I won’t have to worry about the site so much, and I can focus on the content. Wish me luck!

jQuery UI Theme Options

June 2nd, 2008

A week or so ago I offered to help with the jQuery project. I’m such a big fan that I felt compelled to give back. While I consider myself decent at JavaScript I’m not even remotely close to being good enough to contribute code to the project. However, I knew that jQuery was going through a site / branding redesign and I wanted to know if I could help with that.

Unfortunately the lead designer heading up that project never got back to me, but the jQuery UI team did catch my offer for help and let me know that I could contribute in the way of a jQuery UI theme! Since then I’ve been spinning my wheels trying to come up with some decent, portable options. I’ll take a vote and see which one is the most popular, and then hand it off to another fellow (another guy anxious to help with the jQuery project) for some CSS magic.

So without further hullabaloo, here are the three mock ups I have so far. I’d love to hear everyone’s feedback!

jQuery UI Theme 1

(click image for larger version)

This theme takes the concept of the “floating tabs” from the current Flora theme. The color scheme is muted, the gradients are soft, and it has a nice polished feel to it.

jQuery UI Theme 2

(click image for larger version)

This theme is a based on the design of the jQuery UI home page. Black, orange and blue, with a nice container for the tabs. This is the most crisp of the three mock ups, but also the least portable.

jQuery UI Theme 3

(click image for larger version)

This theme is the brightest and perhaps the most portable. Someone in the jQuery UI group mentioned they liked the look of Meebo, so I used their interface as an inspiration point for this. I used a similar bright blue / orange combo, but I toned down the gradients, and ditched the rounded corners in favor of something a bit more crisp.

Oops, I forgot…

So I forgot to make the accordion style for each of these. However, I will wait until we green light a certain concept and just develop the accordion as well as all mouseovers for that particular theme.

Thanks!

Thanks to the jQuery UI team for this opportunity, and thanks to Seth for the CSS help. Again, I would love feedback on all accounts! Be sure and cast your vote as well!

Design Inspiration : MSNBC’s Video Page

March 26th, 2008

It seems pretty often that I come across something that inspires the designer in me, so I’m going to make it a point to post them here as often as I can. This way I can share my thoughts with you, my wonderful readers, and perhaps interact with you regarding our thoughts.

Without further ado, my first bit of inspiration is in the form of…

The MSNBC Flash Video Player

MSNBC’s Video Page
Visit the MSNBC Flash Video Player

When I first saw this page in motion, I was pretty impressed by the overall “realism” effect that they were going for. The page has wonderful depth and texture, and it’s super easy to navigate– enticing the user to get lost in its well-structured video hierarchy on the left. However, the thing that struck me most was its use of gradients to create something almost tangible, and the almost complete absence of rounded corners on containers.

Glass soft gradient in the navigation.
Take the navigation bar on the left, for instance. The soft gradients and transparent bar give a nice subtle touch on a mostly invisible design element (it’s only present mainly due to its blurring of the colors behind it). The division is simply a one pixel border and a slight glow at the bottom. At the top a soft gradient represents a nice glare from the top left corner.

“Realistic” gradients give the volume bar a nice look.
The elements in the player have plenty of depth, and there are some great subtle (word of the day) interface elements that give you cues. Increasing the volume not only increases the green slider, but brightens the tones of the green at the same time. Buttons are uniform where they should be, and different where they should be.

Enlarged volume button showing textureHowever, there’s something to these buttons that adds the realism, and it’s more than gradients, shadows and bevels. If you take a look at the speaker button, it’s non-uniformly textured at the top and the left. It’s difficult to see, but it’s there. This makes the colors not so clean and crisp, and softens and texturizes the button.

Dark page + bright colors

The page itself is dark. It’s black. It should be, to display video content well. However, you can’t argue that the page is depressing or dark-feeling, and that’s due to the vivid use of color. The designers took the company’s logo and created an aurora effect across the back that acts almost like a curtain for a reflective stage (where the video is “standing”). All of these metaphors are powerful in building interfaces, especially graphically intensive ones. (see Time Machine and Delicious Library)

1 Deep Columns
The final thing that really stuck out to me was the use of columns that are essentially one deep. You click on a category, and all of the top videos in that category are listed. The designers could have thought “hey we should really provide a way to browse *all* videos here”, but they didn’t. They decided what was most important (recent or top videos) and restricted the result set to that, allowing the navigation to be quick and simple. No intermediate pages, no daunting paginated lists, no sub-tags or categories, just content.

The content is well defined, too: Playlists, Categories, Shows. Examples of playlists are provided to show you the feature. You can add a video to a playlist with just the “plus” button, and you don’t have to sign up for anything.

Visually, the site is pleasing, realistic, and modern. From an interface standpoint, it has taken something typically complicated (see: Google Video) and has made it simple and fun.