Location-sharing service Foursquare was down most of Monday, apparently due to a database issue. No Foursquare website or apps were available. And with the API also down, third party applications were helpless. Yet, it's a good reminder to developers to plan for downtime and to providers to have communications in place to let others know about your service's issues when they arise.
While "upgrading our servers" is an interesting euphemism for the catastrophe that was likely occurring, it certainly makes clear that Foursquare's downtime was system-wide, not just within a particular application. Since the system includes the API, anything written on top of Foursquare also had the opportunity to communicate the downtime message in its own way. Whether it be crashing, doing nothing or actually delivering an error message, developers had plenty of time to test it out.
In my tests with iPhone applications, Foursquare's flagship product simply provided no data. I would receive the same response if I happened to be in an area with no Foursquare venues. A beta version of third-party app Kickball, on the other hand, delivered "Foursquare error" messages, which at least explained that something strange was going on. In March we said Kickball's app might be better than Foursquare's. Since then, Foursquare has updated its app to include Kickball's most impressive feature, the map.
If there's anything to be gained by a day of downtime, it's that errorpoints can help bulletproof your app, by showing what error messages will look like when the site is down.
To Foursquare's credit, it provided updates on its Twitter account, including an all clear message at nearly midnight eastern time. Surprisingly, the normally active Foursquare developer list has only one message with a single reply pertaining to the outage. No messages were added by Foursquare team members, nor has a promised blog post been published today.