The Blessing and The Curse of Being a Solo App Developer

Posted December 16th, 2011 in Business, iPhone by erich

I love my job.  For the past year I’ve been building iOS apps, and doing reasonably well with it.  Every day I get to have breakfast with my kids, walk them to school, then come home and work upstairs in my office.  Put in some good hours of work and then walk back to school to get the kids when they’re done for the day, another hour or so and then I’m down for dinner, with time to play and read with the kids before they go to sleep.

Life is good.  :-)

As a solo developer, I get to make all the choices about the apps I make.  The flip side is, I have to make a lot of choices.  What apps to build, what devices to support, what languages, what should the interface be, what sounds to use, what graphics to use, on and on.  And after the decisions are made, then I have to actually do it.  All of it.  Sometimes it’s overwhelming and I have to push myself to get all the pieces in place to get an app out the door.  But when I do, it feels great.  Granted, I have apps that have been total flops.  Several.  But I also have some that have been well received and are making lots of people happy.  And that makes me happy.

Even when I was building web apps in the days of yore, I lived for watching how people used what I built, to see if they enjoyed it, to see if the energy that I put in to making something intuitive and easy to use would be worth it, instead of building it in a way that was easier to build or copied some other known design but was not easy and seamless and intuitive.

It’s no accident that my old boss, John Kruper, who was also a fanatic about building next-generation better-than-anything-else-has-ever-been user experiences, was also quite enamored with Apple products.  Setting aside the occasional misstep Apple has made, overall they still set the bar for how to build good experiences.  But more I think of it as they set the goal of what we should be striving for.

Sometimes, though, I still trip and fall flat on my face.  Like when I pushed out an update to Bubble Jewels XL this week that tried to improve things a little bit for everyone, and it had a horrible bug that made it crash on launch for 99% of the people that updated to the new version.  Ouch.  I put up messages that we knew there was a problem and would have a fix out as soon as Apple approved it, but still the 1-star reviews flooded in.  Ugh.  It sucks that Apple doesn’t have a system to roll back to the previous version of an app when this happens.  Now THAT would certainly improve the end-user experience of the AppStore…  (feature request has been filed, for what it’s worth)

And so for the few days it took for the fix to be approved, I beat myself up a bit, added a few new items to the release test plan that I don’t always follow 100% but boy howdy I sure mean to, and I stopped looking at the AppStore review carnage so I wouldn’t lose my mind.  And then yesterday the fix went out, and we got some nice thank you emails in from our dedicated players.  Thank you all!

While I struggle with how I could possibly have let a bug like that slip through (mental note – always do a full clean in XCode before testing final builds) I need to remind myself that these kinds of crash bugs happen to more than just me, and happen to bigger dev shops than me.  Just yesterday I saw that Carcassonne had some kind of crash bug with their long-awaited update.  They’ll fix it soon, just like I did, and all will be well again.

As for me, even with the occasional bumps in the road I’ve had so far, the blessings far outweigh the curses.  I’ll keep doing this as long as I can, and do my best to relish every day that I get to walk my kids to school.

Now if you’ll excuse me, I’ve got some apps to write :-)

Clearing iOS Email Autocomplete Suggestions

Posted June 13th, 2011 in iPhone, Rant by erich

Apparently there is no official way to clear or fix the suggestions that come up in the iOS Mail app when you start typing the name of someone to send email to.  And it’s not clear how it’s sorted, because when typing a single character, the most commonly used addresses are not at the top, nor is the list in alphabetical order.

If you want to clear out this auto-suggest database, and want to take your iOS life into your own hands (if this doesn’t work you could lose data, because we’ll be doing a restore) then here’s what you can try:

  • Back up your iThing using iTunes
  • No really, back it up – Sync is useful, but to be sure right-click on your device and select Back Up
  • Go into your home directory in the Finder, then Library, Application Support, MobileSync, Backup
  • Change to the list view and sort by Date Modified
  • The most recent date should have a timestamp of just now, and is the backup you just made
  • Look inside there and find the file that starts with 31bb  (31bb7ba8914766d4ba40d6dfb6113c8b614be442 to be exact)
  • Move it someplace else, like your desktop
  • In iTunes, you want to Restore your device and then reload it with the backup you just made
  • There will be an error saying that a file is missing and it won’t work – just click okay and let everything finish
  • When this is all done, you will have no email auto-complete suggestions at all!  Which is better than nothing, but kind of sucks that this is the only way to fix problems that come up

Remember – this process nukes your phone and restores from a backup!  If you’re not comfortable with that, don’t do it!  I’m not sure how you’ve got your iTunes/iThing set up and so 100% of your stuff may not back up and be restored.  Good luck!  :-)

Jewel Farm XL for iPads

Posted April 26th, 2011 in iPhone by erich

 

I wasn’t sure if I should make an iPad-sized version of Jewel Farm, since Julie was enjoying playing iPhone Jewel Farm in double-size mode, but I went ahead and did it anyway.  Give it a try!  It’s free and fun and looks great embiggened.

Minor update coming soon to fix the timer bar being cut off, btw.

Try Jewel Farm XL

 

Jewel Farm is out!

Posted March 21st, 2011 in iPhone by erich

Jewel Farm for iPhones just rolled into the AppStore.  It kind of took a while, not sure what the hang-up was with the review process…

Jewel Farm is an interesting variation on Jewel Beach, in that you have to make matches on all the “dirt” spaces (which makes grass grow) in order to clear a level.  As the game progresses, there are more dirt spaces to clear, and more types of gems to make it harder.

It can be pretty tricky to figure out how to make a match in one of the corners, because you have to try to kind of “push” gems in the direction of the dirt spaces, in hopes of eventually getting a match on top of them.  I was torn about whether or not to include the corners as possible spaces, because they are quite tricky, but I found that solving them felt quite satisfying which is the whole point!

Go get Jewel Farm now (it’s free!) and enjoy!

Mac App Store URLs

Posted January 6th, 2011 in iPhone, OSX by erich

The  iTunes App Store for iPhones/iPods/iPads has URLs for deep-linking to apps within iTunes, and it appears that the Mac App Store now has the same.

Sample iOS iTunes link – http://itunes.apple.com/us/app/jewel-beach/id382524862?mt=8

Sample Mac App Store link - http://itunes.apple.com/us/app/jewel-beach/id408904571?mt=12

Exactly the same except for a new media type of 12 at the end.  Time to update the review-request code for Mac Apps!

Facebook for iPhone Should Use The "Email" Keyboard

Posted April 8th, 2010 in iPhone, Usability 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 iPhone, Software, Usability 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 iPhone, OSX, Rant, Software 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 iPhone, Software, Usability 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