Facebook for iPhone Should Use The “Email” Keyboard

Posted April 8th, 2010 in Usability, iPhone by erich

A personal pet peeve of mine (and millions of others?) is that the Facebook Connect for iPhone login screen (which is how every Facebook app logs in, including Scrabble and all my own iPhone apps like Puzzle Jewels and Puzzle Jewels World Edition) uses the default keyboard type for entering you username instead of the handy email keyboard which has the @ and . symbols readily available.  This seems to be due to iPhone OS 2.0 not supporting tags for the email keyboard and it just got left that way I guess…

After yet another painful login on some Facebook-enabled iPhone app, I poked around Facebook’s bugzilla and found the bug report for it, and then I tested the input type of email that should tell mobile WebKit to show the email keyboard.  It works!  A quick message over to Brent Goldman, and a few messages back and forth because I didn’t have rights to reopen the bug, and boom the bug should be fixed by next week!  Because the login page is served up from facebook’s servers, no changes needed to all the Facebook-enabled apps out there!  Rock on!

Thank you, Brent, and to everybody else with an iPhone, you’re welcome! ;-)

Tips on Using UIGlassButton to Make Shiny Glass iPhone Buttons

Posted February 19th, 2010 in iPhone by erich

Erica Sadun linked to Jonathan Wight’s nifty use of a private UIGlassButton class to make shiny “glass” iPhone buttons, and here are a few tricks on using it well.

First up, I like making a new Utility Application in XCode for this, because you can plug Jonathan’s code into the showInfo method.  When you run the app in the simulator, just tap the info button to generate the button image.

And as for the button image itself, I recommend setting the height of the image (in CGRectMake) to the exact height of the button you are going to be using, plus 8 pixels due to the empty space around the button image where shaodw live.  If you’re using Interface Builder, check the Size Inspector tab to see what the height of your button is.  Sure, the iPhone SDK will resize your image to fit whatever button size you’re using, but it won’t be pixel perfect.  Also I set the width at 29, as you don’t really need more width than that for making a resizable button image, such as in the following code:

UIImage *blueButtonImage = [[UIImage imageNamed:@"blueButton.png"] stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[myButton setBackgroundImage:blueButtonImage forState:UIControlStateNormal];

For more details on the right Interface Builder settings for custom UIButtons (such as to be sure to pick Custom for button type or you’ll end up with an ugly gray outline), check out Christopher McCulloh’s tutorial.

iPhone FrozenBubble

Posted January 29th, 2009 in Software, Usability, iPhone by erich

My port of FrozenBubble to the iPhone has finally been approved, after about two weeks of waiting.  There were some interesting coding hoops to jump through, as this was a port of a javascript version which already worked in mobile Safari (thanks Glenn Hanson!), and I was converting it to run completely local/embedded in an AppStore application.

Had to hack the javascripts a bit to load everything from the same directory, as the bundle in iPhone apps seems to be flat.  Or it’s flat if you don’t unflatten it, or something.  No biggie.

Mobile Safari likes to have “bouncing” when you scroll past the end of a web page, even a short one, so gotta turn that off.  And gotta turn off the action menu if you hold your finger down.  And a few hacks to get sounds working.  Most of it came from http://www.codingventures.com/?p=31 - thanks fellow iPhone hacker!

Lots of little tweaks to make it feel like a native app, like using the accelerometer for tilt-based aiming.  The animation isn’t the best, due to poor little iPhone’s javascript engine breathing hard, but it’s pretty darn good for what it is.  And fun!

iPhone Invalid Binary Error – Fixed?

Posted January 17th, 2009 in OSX, Rant, Software, iPhone by erich

The dreaded binary error has bitten me…

“The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate.”

Okay, in one case, it was actually valid, as I had been using an icon file that wasn’t named Icon.png and wasn’t 57×57.  Thanks to Sean for helping me with that.

But today, it was totally bogus.  I made a trivial change for a resubmit of my PrivateWeb app, and the binary was rejected.  Clean the project & rebuild, still hosed.  Restart XCode, still hosed.  Go to the finder and remove every folder from my project’s build directory and then build again – and it WORKED???  WTF?!

Ahem.  I’m glad it worked, but seriously…  There’s something buggy in XCode land.

TowerSmash for the iPhone

Posted October 20th, 2008 in Software, Usability, iPhone by erich

For a hobby project, my brother Alex and I wrote a game for little kids called TowerSmash.  I wanted to write a game, well really more of a toy, that was truly meant for little kids.  So  many “kid games” on the iPhone seem to have little buttons all over the place and levels that load and things you can and can’t touch and scores and bleeps and then boom the game is over.  Um, did we have fun yet?

I wanted something that was open-ended, and that kids could just play with.  What sprang to mind was how all kids seem to endlessly ask grownups to build towers out of wooden blocks so that they can smash them down using cars or their hands or whatnot.  So that’s what we built.  A toy where it’s easy to create towers of blocks and watch them tumble if they’re not balanced, and then easy to throw shiny balls at the blocks to knock them off the table and off the screen.

Get it from the AppStore – $1.99