Blog

  • Designing Dashicons

    Designing Dashicons

    The dashicons font created for the mp6 plugin has pretty much taken up all of my time the last few weeks. This even with help from Mel Choyce, Joen Asmussen and the rest of the WP design team.

    There are quite a few resources on how to do this, but most of the ones I’ve read, although I’m sure worked for some, went against a few of my own design principals. So I set out to find the perfect workflow for me, and here it is.

    When I design icons in Photoshop (AP),  the end goal is a png sprite. Using a split window, I can zoom in on one window and see the actual size icon in the other. I can click on an anchor point and nudge it with the arrow keys, getting sub-pixel placement just right and having absolute control over the end product.

    The move to vector as the final source has been really weird and challenging. In Illustrator, vectors don’t anti-alias the same was as they do in Photoshop. That is, if you draw a rectangle with the edges half-way between the edges of a pixel, in Photoshop, you might get a different grey value than if you did that in Illustrator (AI). And pixel snapping is inconsistent. I would copy/paste a shape from AP to AI, and  my perfectly sharp edges would become fuzzy, even though the paths were exactly in the same place. If I click/dragged an anchor over a pixel, then dragged it back, it would become sharp again. Very weird.

    The tutorials I read through, https://github.com/blog/1135-the-making-of-octicons and http://glyphsapp.com/blog/importing-from-illustrator/ were really helpful, but as I said earlier, there are fundamental flaws with those workflows, at least as far as I’m able to incorporate them into mine. For some reason, 16×16 is this imposing number that icon designers hold sacred. It’s a good target, but it really does overly constrain design. I decided 20×20 was a much easier canvas to work within, and as long as I left a pixel or two breathing room around the icons, they look great in a 16×16 space-not too big, but not leaving out important details in the name of absolute limits. I also got nervous when scanning through the article at all the weird numbers: 2048, 2052, -17something. Do we really need all those complex numbers? As for the glyphsapp.com article, while trying to draw directly in Glyphs may be the best way, it’s gonna be tough to put aside my AI experience to learn a new method for drawing vectors until I have lots of time on my hands.

    After trying all sorts of settings, I came to the conclusion that 20x20pixel icons should be designed in a 2000×2000 upm font. The glyphs article points out that 1 ai point=1 glyphs unit. So I worked in points.

    Another oddity was the Glyphs vs Glyphs Mini (GM) inconstancies. Joen Asmussen, who I can’t thank enough for all his help on this, designed the icon font you see at WordPress.com, using GM and following the octicons article pretty closely. I had a trial version of Glyphs, but decided to spring for GM for the sake of consistency. Although I started the font in Glyphs, bringing it into GM was an eye opener. The major issue was that GM doesn’t allow you to change the font’s UPM settings; so when I opened the .glyphs file I created in Glyphs, I was stuck with the 1000 upm I was originally working with. When I decided to try 2000 upm, so that it mapped more (theoretically) naturally with the 20pt x 20pt AI designs, my glyphs all got cut to 50% of their size. Resizing in glyphs was not something I wanted to learn how to do, so I returned my workflow to Glyphs.

    Screenshots:

    New AI file, 20pt x 20pt with points as units
    New AI file, 20pt x 20pt with points as units
    Keyboard increment set to 1/8th of a point, so I can nudge vectors between pixel edges as needed.
    Keyboard increment set to 1/8th of a point, so I can nudge vectors between pixel edges as needed.
    Gridline every 10pt, with 10 subdivisions
    Gridline every 10pt, with 10 subdivisions
    Snap to grid as needed
    Snap to grid as needed
    Select all your glyphs in Glyphs mini, set widths to 2000 upm
    Select all your glyphs in Glyphs mini, set widths to 2000 upm
    Choose font info in glyphs mini
    Choose font info in glyphs mini
    Ascender/caps height to 2000, giving you a perfect square for each glyph
    Ascender/caps height to 2000, giving you a perfect square for each glyph
    Icon drawn in AI, with a 20pt by 20pt box drawn around it as a bounding box
    Icon drawn in AI, with a 20pt by 20pt box drawn around it as a bounding box
    Scale it up to 2000x 2000, note the little chain lock ensuring proportional scaling
    Scale it up to 2000x 2000, note the little chain lock ensuring proportional scaling
    Copy the icon, Double-click a glyph in Glyphs Mini, Paste into the glyph window. Make sure the x/y/w/h are exactly as shown
    Copy the icon, Double-click a glyph in Glyphs Mini, Paste into the glyph window. Make sure the x/y/w/h are exactly as shown
    Double-click on the "bounding box" and delete it.
    Double-click on the “bounding box” and delete it.

    You can download the glyphs file, AI source file, and .otf here. Stay tuned for a video post.

  • jQuery: why I like it

    I’ve never found anything I can’t do with it that I had to do before with JavaScript.

    It’s less lines of code.

  • Themeitis

    Why does everything have to be a theme?

  • The Circles in Powerpoint

    In the upper-right cornerof the screenare some little circlesarranged in a gridthey are different colors—maroon, sky-blue, tan  They remind meof circles I sawwhen I was very youngvery tactileI could almost taste them

  • Inside out learning

    I’m going to be talking a lot about a concept that’s been brewing in my head lately: “Inside out learning”…stay tuned…

  • CodeKit icons

    CodeKit icons

    Here’s the latest:

    icon files are here

    codekit-icons

     

    PSD here

    icons

     

  • Thoughts about linux (ubuntu 8.1) from a new user

    After my macbook fried and my xp box got infected beyond repair, I decided to start all over with linux. I’ve never used it before, so here are some initial reactions from a long time computer user, both in windows and mac environments, starting fresh:

    1. It’s the most user-friendly environment I’ve tried. It combines the best of windows and mac in one interface. Open folders and files along the bottom (the tray?) is such a natural thing that I always liked about windows. The intrusive dock is something I’ve always disliked about mac. Everything is crisp, the system fonts are legible, and working in it from a gui standpoint is very satisfying.
    2. I love discovering how it works. At first, it’s annoying to deal with package installations and terminal commands, but after a while you get a feel for how and why they work.  There are strange icons nestled into the various static bars on the top and bottom of the screen (menu bar? task bar? Again, I need to learn the lingo), that do cool stuff when you click them.  For instance, in the lower left is an interesting one, that nicle hides everything on your desktop when clicked. I know os x does this and much more with the f9 f10 f11 keys, can’t think of what they call it at the moment. But all I ever really need regarding windows is a quick way to see my desktop. Each time I find something new in it, I feel a sense of accomplishment (wow I am a geek).
    3. It seems no faster or slower than osx or windows at the moment (maybe a little bit faster, I’m using a dell 4600 with 1.5 gb Ram).
    4. I wish the windows were anti-aliased. Probably a memory saver, but I’d turn it on if I knew how.
    5. It came with some interesting apps. So far, I’ve used gimp (graphics), rythmbox (music management), firefox (web browser), picasa (photo manager), and Kino (video editor). Some thoughts:
      • Gimp sucks. Gimp is such a horrible name for software anyway; it connotes a crippled, inferior entity, which Gimp unfortunately seems to be. I need shape layers, I need precision zooming, and I can’t imagine Gimp has Photoshop’s anti-aliasing prowess (see my previous post), so I’ll do my icon work on my old mac for now. If you don’t have an old mac with photoshop 7 on it to use, then I guess gimp is for you.
      • Rythmbox with built in lastfm is cool, and I’d love to get better at it. Unfortunately, my ipod/iphone centric life would need some hardware adjustments.
      • Firefox is fine, although one of my sites looked weird, maybe due to font issues, which I’ll address in a future post.
      • Picasa is really critical. I have every photo I’ve taken in the last 10 years on the second drive of this machine, and it was all managed via picasa running on xp before I wiped the first drive and installed ubuntu. It seems that picasa won’t recognize the 2nd drive. I briefly checked for answers via google and hit the wall (future post). You would think it would be easy for picasa to pick up where it left off, but no luck yet.
      • Kino imported the .mps files from my camcorder, but made them look weird. Need to investigate.
    6. I miss Georgia, more than anything. Nothing reads like that font. Please, Matthew Carter, if you ever read this, get me some Georgia on Linux.
    7. Using Linux makes you feel free, in general. But Inkscape and Gimp just ain’t Illustrator and Photoshop.
    8. FTP is perfect. I don’t know why OS X doesn’t build it in like linux. FTP programs are pointless when you can just mount a remote server like any disk.