Sep 2010

iOS Icon Template for Perfectionists

Download the modified template

After creating a few icons with the excellent iPhone 4 icon PSD template from Cocoia, we started noticing the dreaded “black corner pixels” effect on iOS and iTunes, which you see all over the place these days.

Why does this happen? It’s because Apple is very liberal about the compositing of your image.

Read More

Sep 2010

Moving my Photos to the Cloud

I went to visit my extended family on Lake Michigan last weekend, and ended up snapping a few fancy-schmancy HDR photos on my iPhone 4.

Like the world needs more photos of beaches.

Later, I captured some germane pictures featuring actual family members. After which I thought, man I sure would like to show these to my grandparents on my big-screened iPad which is sitting right here. Also, I’m on the phone with my Mom, and can’t I send them to her, too?

Read More

Jun 2010

iPhone 4: <i>No Italics!</i>

This sounds crazy, but seems to be true: +[UIFont italicSystemFontOfSize:] simply returns a regular non-italic font on iPhone 4 hardware.

The release notes state:

iPhone 4 uses a different system font than earlier devices. References to the Helvetica font in nib files will be decoded as the system font on these newer devices.

The “different system font” appears to be Helvetica Neue, for which there is no italic version included.

Since you’ll always want to use the system font for your user interface, what this means is: no italics for your UI.

This absolutely must be intentional and not a bug. Changing the system font on a new iPhone model for which a primary new feature is better font rendering, is a huge deal.

I’m not complaining about it, I think it’s a fine decision, but also extremely interesting, don’t you think?

Jun 2010

How to check out new music on Rdio

1) First, search for an artist you’re interested in:

Now scroll down to “Popular Songs.” See that Play button?

2) That’s the one. Press that. Press it.

3) Now you’re listening to some awesome music. How easy was that?!

For extra fun, share it with your friends:

Mar 2010

Improvements to Google Wave Notifier

Download the notifier now

I tried out the Unofficial Google Wave Notifier and liked its functionality, but wasn’t thrilled with the UI:

So I made some changes:

The icon glows blue when you have unread waves, inspired by Tweetie for Mac:

I also added a selector for choosing which browser the Notifier opens Google Wave in when you click things.

Creating this selector in Cocoa on OS X was a lot more involved than I thought going in. But at least it’s not Windows, which would have been 10 times more painful.

I also refactored the notifier to be fully asynchronous so it doesn’t block the main thread and is always responsive.

Check it out on Github.

Mar 2010

There, I fixed Xcode—You’re Welcome.

Update: Xcode 4 ships with a brand new completion engine and UI that makes my hackjob plugin look like a toy. Go use that instead!

Download xcode-auto-assistant now

In my last installment, I discussed Xcode’s frustrating implementation of code completion.

I’ve now taken matters into my own hands.

It turns out Xcode has an (undocumented) plugin system. And it also turns out that this guy created a really fantastic plugin for Xcode that automatically inserts a matching opening bracket ‘[' when typing the closing bracket ']’.

Now, it turns out Apple added this bracket-insertion feature on their own, possibly being inspired by this, so the plugin is now just reference material.

Really useful reference material for doing what I want to do.

Read More

Feb 2010

Code Completion and XCode

Update: I wrote a plugin to address these issues.

Later Update: Xcode 4 Preview 3 shipped with a brand new completion engine and UI that happens to address all these issues with aplomb. Yays!

The newish mac app Espresso contains a great (and uncommonly beautiful) implementation of code completion.

It goes like this. Say you’re editing a CSS file:

That’s a nice blue background, but you also want a border. You start by typing the letter “b”:

Since Espresso knows that there are many possible options that start with “b”, it presents them to you in this lovely but minimal popup. You can use the arrows and press enter to select something from the list. Or, you can pretend the list never appeared and keep typing. Once you type enough to eliminate all other options, the list disappears and you’re left with a more standard OS X “completion” highlight. You can still press enter to accept this last suggestion.

The two things I want to emphasize about this workflow are:

  • It’s predictable. I trust Espresso to always give me all possible relevant options after each keypress. And I know that I just press enter to accept and move on.
  • It’s useful. Whenever there are multiple options, they are presented to me in the list, and the list appears automatically when needed.

Read More