I thought I would follow up with some thoughts of my own about Exposure, because my thinking is quite different from Craig's and developing a client for the Flickr API provides a lot more feature scope than a Twitter client. I appreciate that, today, there are more things one can do with the Twitter API (e.g. search, trends) but both Exposure and Twitterrific are fundamentally unchanged from the designs that we made in the March-July time frame.
Craig mentioned John Gruber's great quote about iPhone interface design:
Figure out the absolute least you need to do to implement the idea, do just that, and then polish the hell out of the experience.
I don't disagree with any of that. I've just found that the definition of "the absolute least" is highly elastic.
Flickr is a big site, with tons of features and the best site API on the internet (argue with me on that if you like, but Flickr seriously dogfood their own API, which is not true everywhere). Even having been deeply involved with Flickr as a third-party developer for over four years now, I still find that I'm surprised by the disparate ways that people use Flickr.
Some people are social animals, and they want quick access to their contacts, their contacts' photos and the recent activity on their photos. They want to be able to comment. For those people, Exposure provides access to all those areas of the site. Group support is coming soon.
Others see Flickr as a staging post to another web property, and want to upload from their phone and then use the image elsewhere. For those people, I have been working nights and weekends and will come to your aid.
Still others love to see great photography, and want access to Flickr's top 500 photos of the day in Explore. Exposure supports that.
Some people use Flickr to store only their best images, and want to use Exposure as a replacement for syncing photos to the iPhone. For those people, Exposure give you access to your photostream, your photosets and tags.
Finally, because it is both exciting and provides a whole new way to use Flickr, Exposure has Near Me: viewing photos taken near your current location. This has unquestionably been the smash hit feature of Exposure so far (so much so that the competing application Klick even uses the same name for the feature). It's an exciting and cool feature, but it also has several meaningful use cases.
Anyway, in such a large and complex site as Flickr, with so many possible use cases, the question of which features constitute a minimum set is really quite tricky, and the "minimum" set isn't the same as "small". Exposure certainly doesn't cover the entire Flickr API. For example, you can't edit the metadata on a photo. You can't join groups. In general, account management is not broadly supported.
Craig referred to John Geleynse's concept of an "application definition statement". I didn't explicitly write one down, but I guess it came out in the advertising:
Exposure: Two billion photos, in your pocket.
I suppose that should now be "three billion", but you get the point. Exposure is all about getting you to the photos and the interaction that happens around the photos on Flickr. It's just that there are a ton of photos, and a lot of interaction happening around them!
IPHONE IT MIGHT BE A MINIATURE LAPTOP, OK?
I'm also interested, though, in the shift that I'm seeing in which the iPhone displaces a laptop for some users. I take my laptop with me most of the time, but I will not even go to the next room without my iPhone.
Rubicon Consulting recently published some research which included the following:
A quarter of iPhone users say it’s displacing a notebook computer. 28% of iPhone users surveyed said strongly that they often carry their iPhone instead of a notebook computer.
I think we're starting to see that acknowledged in iPhone application design too. Certainly, with some of the newer Twitter clients, there's a broad thrust towards trying to cover more of the tools of the Twitter ecosystem. OmniFocus, for example, has always been one of the deeper and more complex iPhone apps on the market.
Here is my bon mot for iPhone application design:
There is more than one mobile context. Decide which you're interested in.
There is the context in which you're actually physically moving as you try to use the device. This is a really hard one to nail down, but you need big tap targets and big information display. Most crucially, though, you need to impose a very lightweight mental model on the user since they already have enough on their plate avoiding obstacles. The design of car dashboards and GPS navigation units is a source of inspiration. Twitterrific's expanded tweet view is a great example of this kind of design.
The second context is interstitial time. Your user is probably standing upright but still, using one hand, probably waiting for something. Again, you have to bear in mind the physical situation - one-handedness, maybe holding a basket of shopping - but the mental model can start to grow in complexity a little. Mobile Mail's ability to show a couple of lines of preview in the list of emails works really well in this context.
Finally, you have the context of being away from home base with just the iPhone. Your user is "mobile" in the sense that she's out with just her iPhone, but she might be in a series of meetings, on a train trip or visiting a relative. There will be lots of sitting down time, maybe some opportunities to get something meaningfully complex done. This is the territory that applications like OmniFocus and Exposure live in. This is where you reply to the emails you skimmed while going down in the lift, or comment on your contacts' latest sunset photos.
The shift towards iPhone-as-fricken-miniature-laptop is fascinating to me. I think about Wil Shipley's writing about the tension between designing a simple and very discoverable application like Delicious Library and a deep, complex application like OmniGraffle:
Mike [Matas] really likes very, very simple apps. Now, I do too, but Mike, for example, really hates incredibly featureful apps like Photoshop and OmniGraffle, whereas I think OmniGraffle is a really cool app that's just not for everyone. If you need to do certain things, you really want OmniGraffle, but not everyone needs to do those things.
Mike's preference was always: write apps for the 95% market, not the 5% market. That's what we did with Delicious Library; it's an app for your mom and my mom.
There will always be a place for the "Type 1" iPhone apps: small feature set, simple, easy, quick, focused and delightful (Matt Gemmell's Favorites comes to mind). Until recently, those apps and the "Type 2" apps - those designed for those interstitial times - seemed to dominate the App Store. I look forward to seeing more of these "Type 3" applications, of which there are still very few, come through the store.
I am unsure that you can do a good job covering all three mobile contexts in a single application. None come to mind, although I welcome any suggestions of apps I should check out. Most apps I've used seem to cover types 1 and 2, or 2 and 3. Might there be a future for having two apps for one function? I go to Twitterrific a million times a day to read Twitter, but will sometimes hop to Tweetsville for a specific feature like searching, or if I want to see all my @replies.
There is more than one mobile context. Decide which you're interested in, then polish the hell out of the experience.