Stephen Martin

Next Pint on App Store, Lessons in Private APIs

Mark and I submitted an app a few weeks ago but were rejected for using a private API, which I'll explain in a minute. But first:

Really excited to say that, after an interesting (and long) review process, Next Pint is now available on the app store.

It's a really personal project that we started working on for fun. When we were in San Francisco for the WWDC sampling some local beers, it occurred to us that we should be keeping track of these craft beers we were drinking, especially the ones we liked. We had already started working on a beer app for a specific club, but felt like the app needed a broader audience. So, Next Pint's focus changed and we went after a simple task: Find and keep track of beers and Tweet the beers you're drinking.

Private APIs

The first initial drafts were pretty simple, but we eventually came up with a nice theme and carried it throughout the app. According to Apple, we carried it out a little too far. In order to theme the search bar, we used a private API in attempt to tighten up the user experience. Unfortunately it backfired and Next Pint was rejected.

Private

We fixed the design and jumped back into the review process.

Public

We feel like the search bar doesn't fold into the design as well and that this is a compromise. After hearing so much about creating rich user experiences at the WWDC, this seems really hypocritical of Apple. Our guess is that they would want us to roll our own search bar rather than customizing the stock control.

With that said, we're completely pleased with our first release and hope Apple will open UISearchBar a bit more in the future.

Experimenting with UI Patterns, Sync, Disclosures

A few months ago, I had the pleasure of working with @cricketgeek on a Phone app he was building for ShootQ. It's a pretty deep app and pulls in tons of data from the ShootQ web app.

One of the challenges we faced early on had to do with showing "Shoots" that you had synced vs. 'Shoots" that you still had to sync with the web server. As not to go into detail about what a shoot is, I'll refer to it as a project, since it has a subset of items and tasks.

Projects are listed out with disclosure indicators, allowing you to drill down into more specific details about the project. In order to do this, the app needs to sync the project with server and gather the latest data.

Rather than show another date (the creation date is already part of the project), we opted for changing the disclosure icon to a sync icon if the project had not been synced.

Sync
It's just a small indicator of what's to come when you tap a specific project. Sync or view.

This becomes important if you lose your data connection. You'll know which projects don't have the most up-to-date information.

Filed under: indicators iphone ui
11
To Posterous, Love Metalab