Tag Archives: Checkmate

Automatic Checkins in Google Latitude

It looks like Google has updated their Latitude app with checkins, including automatic notifications and checkins (and checkouts).

When I developed Checkmate, there wasn’t really a standard design for the auto-checkin behavior. Some users have mentioned that the app might work better by sending notification to check in, more like reminders. I’ve leaned towards fully automated checkins, myself.

Google seems to be taking a hybrid approach, which is pretty interesting. You get a notification the first time you arrive somewhere (probably only for places you’ve checked into before), and then an option to automatically check in after that.

I might end up building some kind of hybrid (or a simple option in settings) system in Checkmate to see if that works better in general. I wonder how Google is mitigating the cost of GPS usage in its Latitude app. I always figured that the thing keeping auto-checkin out of official apps is the fact that they run the battery down pretty hard.

What I Learned From Checkmate

Just about two weeks ago, I released my first paid iPhone app, Checkmate. The experience has been priceless, plus I made a few bucks as well. I thought I’d share the stuff I learned, both technical and otherwise.

Technical:

Core Location. Being the first iPhone app I’ve done that uses Core Location, I learned a lot about the process of starting up the location manager, filtering location updates and getting them to work in the background. The background stuff is pretty new, just released in iOS 4.

Design takes thought. One of the most difficult things in designing an app is balancing between user expectations (“it should work like magic”) and real-world constraints (battery, accuracy tradeoffs). I’ve taken the approach of leaving the details under the hood (another app that does something similar gives users full control) for simplicity. This is a deliberate design decision. I’ve found that many users are happy with the app, and some are unhappy. I assume there is a minority that is unhappy, but that they seem to be more vocal (more on that later).

Core Data. I also learned about Core Data, since I use that for storing venue data persistently. There’s a bit of a learning curve with Core Data, but I have a pretty good idea of how it works. I guess it helps that I’ve designed a bunch of database schema in the past.

Get to good enough. I definitely feel like I have accomplished something by releasing the app. I have wrestled in the past between releasing something when it’s “good enough” but not getting stuck in perfectionist limbo. In the case of Checkmate, I got to a point where I was happy enough with its performance (it works) and did not want to delay any further, lest I lose steam and give up on ever releasing it. Now that I’ve gotten a feedback loop going, it’ll be easier to improve and update the app anyway. As far as interface design goes, the app is a bit clunky for my taste. Having admitted that, I think I could go back and make some things more obvious (like the login screen) and polish up the user experience.

Business-ey

Ask for reviews. Ask satisfied customers for reviews. Because if you don’t, only the unhappy users will post them. And you’ll end up getting a pretty bad average rating. Even if your app makes crap into gold, there will be users who don’t see the value in it, or think that $2 is too much to pay. Encourage users to post reviews in-app and you’ll see a well-rounded view of what people think about your app.

It’s okay to have a competitor. While developing my app, I found that another similar app had launched and gotten some press from Techcrunch. This was a bit depressing as I wanted to have that exposure. I ended up using it as a motivator since the blog post and app validated my own idea. There’s always room for competition, especially if you can outdo them.

Popular takes all on the App Store. There have been blog posts on the subject of iTunes ranking and how valuable it is to make a top 100 list. Apps seem to be ranked in search based on their sales volume, which means that popular apps will become more popular. Having been featured on Mashable at launch, my app got to #2 for a “foursquare” search. This helped a lot for residual sales. I’m assuming that most apps are sold directly from app store searches. There are other ways to discover apps.

Have fun! It was really exhilarating to see my app get into the app store and into the hands of users. I set up a twitter account to communicate with users, monitored twitter searches for my app and answered emails sent through a contact form on my website. It was really fun having people react to work that I did. It’s probably one of the strongest motivators for me to keep doing what I’m doing.

I have learned a great deal from my first commercial app launch. I’m really glad that I had an idea and stuck with it to completion. I’m still learning a great deal from Checkmate. I know that this experience will make the launch of my next product/app (whatever it might be) more smooth, both for me and users!

Checkmate for Foursquare (for iPhone) Release!

My second iPhone app, Checkmate, just got approved in the Apple App Store last night. It’s an auto-check-in app that runs in the background. You select your favorite venues, and Checkmate will check you into them when you get close enough, even when the phone is still in your pocket! I wrote this app because I got annoyed at forgetting to check into places on foursquare while there.

If you’d like to get Checkmate, you can buy it here for the low price of $2. For more info, check out the official website I made for it. And follow Checkmateapp on Twitter for news on the app.