I Like The Retweet Support In Tweetie 2.1

I wish Twitter's web interface did icon overlays like that.

The iPhone is Lights Out When You Hit Snooze

I use my iPhone as my alarm clock, and I just realized this morning that as soon as you hit the snooze button it turns the screen off. That's a nice little touch.

Website Optimizer Has Graphs

I just logged into Google Website Optimizer to look at a test we have running at work and realized that the graphs are a new feature. It's cool to be able to see your test variation conversion rates broken down by day.

Happy To Pay

Loren Brichter of Tweetie fame recently announced that he would be releasing a new version of Tweetie for the iPhone and that users would have to pay for it. I was excited about the prospect of getting a new version of Tweetie, and wasn't all that concerned about putting out $2.99 or whatever it is to get it. Other users weren't so happy about the news:

But I think overall people like the idea of paying for a product they love:

At work I've been doing a lot of talking to customers lately, and I had a customer mention the fact that he had no problem paying for great software today, referring to NCover. It feels really good to have someone say that about something you work on.

Today I finally donated to KEXP. I've been listening to their stream for 5 years now, and I figured it was time to go ahead and pay a fair price for an outstanding service. The cool thing is, when I decided that I would respond to the pledge drive by paying up rather than by grumbling about the talking and the reduction in music, it felt really good.

Earl The Squirrel

We've been enjoying the scratchboard art in Earl the Squirrel by Don Freeman.

Genuine Leather Bronco Belts

"Now you don't have to be a rich cowboy to add an authentic Western look to any jeans or jackets you wear, at a great low price."

Our App Store Experience

Well, the dust has settled Log for Life is finally launched. It was a great, yet patience building experience that brought us from winning the DiabetesMine Design Challenge to the point where we felt that we had an offering that would be worthy of being called a product. I could write volumes about what we learned in the process, and I may, but in the meantime, I figured it might be helpful to other iPhone developers to learn from our experiences submitting and getting an app appoved.

In the case of the Log for Life app, Log for Life, Diabetes Quick Entry, our team at Gnoso took about three and a half weeks to write the app and then submitted it to the App Store. It took about 8 weeks for us to get through the approval process. That broke into about 6 weeks for us to hear anything from Apple after our initial submission, one week to resolve our first rejection, and another week to resolve our second one.

1. It's not super hard to write an iPhone App

We went from a team that had basically never written a iPhone app to submitting an app to Apple in around three and a half weeks. So you can do it. Don't pretend that you can't because you've never written any Objective-C (we hadn't, except a tiny bit on Kevin's part), or because you don't have experience writing non-web applications (we hadn't really don't have anything but web development in our careers), or because you think it's too risky with all of the App Store approval process drama. It's just not super hard. Go for it!

2. It's hard to write an outstanding iPhone app

Getting things to work right with the iPhone SDK isn't a cakewalk. It's not impossible, but you've really got to be patient with it. You probably will have issues with UITableViews, especially if you try to build forms with them. You will probably hate dealing with memory management if you haven't done programming with pointers in a while (or ever).

3. Give your app a name that will get it the search results you want

We're Log for Life: Diabetes Quick Entry, and it's paid off fairly well for the App Store search terms we wanted to rank well on. This seems like it could be really tricky if you're writing a game.

4. Don't think you'll make it through the submission process quickly

In our case we thought it would take a couple of weeks at most and then we'd launch Log for Life and get things rolling. The 8 week approval process ended up being really stressful, and I'm sure our initial estimate of how long it would take had something to do with that stress. Especially if you're thinking about holding your website for release of the iPhone app, just realize you might be holding the website launch for 8 weeks like we had to.

5. Make sure your app is clear about it's relationship to any services it connects to without talking about price

Log for Life is a for pay web application that just so happens to have a companion iPhone app. We tried to communicate that the iPhone app could be used for free during the Log for Life trial but that it would be worthless without a Log for Life subscription after the fact, but our Apple reviewer wasn't cool with that. Phrases like "Free Trial" will probably get you a rejection, because they could come across to the user as meaning that they'll have to pay for the iPhone app at some point. It's a weird, gray area, but Apple has decided to go with making it your job to communicate information about services external to the application somewhere besides in the app or in the App Store description.

6. Do check for an internet connection and tell the user that they don't have it if you write an app that needs a connection

We thought we handled a lack of connection gracefully enough in our initial App Store submission, but Apple disagreed. You must check for a connection and then let the user know about the lack of a connection without any other side effects (like logging the user out or changing any other internal settings of the app). This was the cause for our second rejection. The Reachability example in the iPhone Dev Center is your friend.

7. Do make sure that you ask your users to rate you while they're happy with your app

At present, users are asked to rate apps only when they uninstall them, which means you get a bias toward the negative. A good way to combat that is to ask users to rate your app when they've been using it a reasonable amount of time and are happy with it. This article on Mobile Orchard will get you started, but I'd recommend letting the users choose a "Remind Me Later" option as well. We're not doing this yet in the Log for Life app, and well, we're reaping the rewards of the App Store's negative rating bias.

8. Enjoy the fact that you're one of the awesome people who have your app in the App Store

That's right. If you make it through the process, you're part of a relatively small (but rapidly growing) crowd of iPhone app developers. Enjoy it, and write another app, because at typical App Store prices, you're probably going to need to go for volume to make much.

Want to check out the app I'm talking about? Download Log for Life: Diabetes Quick Entry in the App Store.