An interesting feature of the Swarm app is how it handles photos uploaded to checkins. If you check in and attach a photo, the checkin is actually created before the photo is uploaded. If you're on a spotty Internet connection, you'll see this because your checkin will exist and you'll get points for it, but there won't be a photo yet. The app will then continue to upload the photo separately, retrying if it fails. This is actually a really great app design on the part of Foursquare, but does lead to some tricks with the API.
Now that I can post checkins on my website, the next step is to automatically copy my checkins from Swarm! I still like the experience of Swarm, and I still get value out of their analysis of my checkins, so I don't see myself leaving Swarm anytime soon. This way, I get the best of both worlds.
Checkins can easily be faked. The Foursquare app does a reasonable job of preventing fake (and accidental fake) checkins, but it's still possible. If checkins weren't posted on Foursquare, but instead were posted on each person's own website, the possibility of fake checkins is much greater. What would it look like to have a way for a venue to know (and republish) checkins that it knows were real?
So this is working now! A clock which moves its hands to show what category of venue I've last checked in at. Next step is to add more hands for my friends who still check in all the time on Swarm! #weasleyclock#harrypotter#swarm#foursquare
I've only had Foursquare's new "Swarm" app for a day, but I'm already super impressed. By trimming out all of the search/review features, they're able to focus the app on providing a great checkin experience and providing more ways to connect with your friends.
The "login" process of Foursquare's new @SwarmApp was impressive. It already knew my Foursquare account and I didn't have to sign in or OAuth or anything! Current thinking is they're using the new UIDevice identifierForVendor property which returns the same ID across multiple apps by the same company.
Make Foursquare API endpoints configurable. It would be great if the API endpoints the app talks to were configurable. Doesn't have to be a screen within the app, but could use the system Settings app to edit the URLs. Ultimately I'd like to point this app at my own server and use it to post checkins to my site.