A letter to our developers

This morning we had an infrastructure failure that resulted in a 2 hour outage. We have recovered and all systems are functioning normally with no signs that we’ll have this problem again.

Yesterday we upgraded our primary database server to a larger instance, in response to the enormous growth we’ve seen since the holidays. While the transition went swimmingly, our standby systems were not correctly transitioned. This morning our EBS volume (network attached storage for Amazon’s EC2 infrastructure) stopped responding to all requests, and the instance failed to respond to reboot requests. We launched a replacement, and worked to recover from the failure. This recovery took unacceptably long, and we apologize for that. It was a tiny comfort that our monitoring system worked (our emergency pagers sound remarkably like fire alarms).

We are reworking our failure handling systems now to ensure reliable processing. In addition, we have set up a status monitoring page at http://status.urbanairship.com . We will post updates here whenever there are issues with our systems, so that there’s one place to watch.

The amount of growth that we’ve seen over the past couple of months has been truly astonishing. We’ve delivered over 55 million messages and there are over six million devices out there that have at least one application (often several – over 9 million device tokens!) powered by Urban Airship. We’ve also seen fantastic growth around in app purchase. Of course, the best part of our growth has been seeing so many new customers and interacting with all of you.

On our end, we’re continuing to work hard to make sure that everything continues to be fast and easy to use. There have recently been a few new features that we want to share with you.

Device token listing API

We’ve known from the start that we never wanted to lock people into using Urban Airship. The device token listing API is a great way to be able to easily access all of the device tokens that we have registered for your service. That means that if, for any reason, you want to get ahold of them and stop sending messages through Urban Airship, that’s no problem. You’re not locked in at all.

Push from device

After getting a lot of requests from people who wanted to be able to schedule notifications from their applications, we created an option to allow sending push notifications without requiring the use of the master key. We don’t allow sending to tags, aliases, batch or broadcasts with this, but it’s perfect for scheduling a notification or peer-to-peer messaging.

Feedback web hook

We already provide an easy API to get device tokens that have been marked inactive, but we now also have a web hook feature that we’re testing. If this is enabled, when we get an inactive device token we’ll ping your server about it – no need to poll us for this information. If you want to play around with this, please send us an email.

For the future

We have a couple of fantastic new products on the horizon that we’re extremely excited about. We think they will fundamentally change how you communicate with your users and, since it’s coming from us, you know that you can continue to expect ease of use and great support. We’re looking for private beta customers right now – if you’re interested, and are willing to put up with early beta builds, please let us know at http://urbanairship.com/contact/ .

As always, we would love to hear from you. Pop by our IRC channel and say hi, or contact us, or even write us a letter. It’s talking to customers, like you, that help make this the best job on earth.