Introducing Urban Airship API v3
Published on 24 Jul 2013
The difference between what a service does and what it can do is profound. It’s the difference between a product user interface, which guides users through specific tasks, and an API (Application Programming Interface), which leaves the possibilities up to the developer.
The Urban Airship API, especially the push notification API, has been at the core of our product since the beginning of the company. A good API design should make simple things easy and complex things possible. But like any piece of software, it needs to be carefully scrutinized periodically to make sure it's serving your customers' needs.
Today we are introducing a new version of the Urban Airship API. We're very proud of the work that has gone into this release, and we're lucky to have so many great customers to share it with: Introducing API v3.
A Brief Look Back on API v1
A little backstory. Urban Airship was founded in the spring of 2009 on a fairly simple notion. We provided a hassle-free web service along with some client code that made it easy for iOS developers to send push notifications to users of their apps. The most obvious value we provided to the market at the time was ease-of-use and cost savings, both on client- and server-side development as well as the hard costs of maintaining servers to power messaging.
A core principle of the cofounders when developing our first API was to avoid making changes that were backwards incompatible. According to Adam Lowry, Cofounder, "We didn't want to make any changes that caused trouble for users or interrupted anything that they were doing." We weren’t always sure what the customers were doing, and we didn’t presume to tell them how to do it. We had a handful of APIs for sending messages, grouping users and fetching statistics. The first version of our API lasted a long time and served our customers’ needs well. We also built powerful user interfaces for marketers and mobile product managers. During the past four years we have powered messaging for some of the world’s largest brands with many of the most complicated and message-intensive apps out there. What we did not know at the time was exactly how the mobile service industry would evolve.
The Turning Point
From a product development perspective in the early market, most of our customers had been focused on simple implementations, like sending broadcast notifications or sending to simple user sets like those who had opted in for local sports or politics stories. We delivered, delighting customers and exceeding expectations as we broadened our customer base across all different types of apps and industry verticals. Along the way, we learned a few things about what they really wanted.
What’s a fast growing startup to do? We were at a crossroads, but we knew some things now. We’d seen the market evolve and as a leader and an innovator, we had good instincts about how to build for the future. Our customers were ready for more, or as we say here at the 'Ship, "MOAR." Mobile isn’t a side project for our customers anymore. It’s the main event. We knew it was time implement a major upgrade to our service.
We convened a company-wide task force made up of our most experienced, senior engineeers in: Messaging, Architecture, Operations, Mobile App Development, Platform Engineering, Web Engineering and Developer Experience, and developed a new API, but this time with a set of principles just a bit more developed than “Don’t break stuff.” The result is a new API that sets both Urban Airship and our customers up for long-term success. Below is a high-level breakdown of the major benefits of this release.
Makes Customers’ Lives Easier
- Simple migration from v1
- One API call now handles all platforms and notification variables
- Platform- and Audience-level transparency in reporting
Builds for the Future
- Audience selection attribute
- Platform-specific attributes
- Extensible API format allows for seamless feature upgrades/add-ons
Unifies Platform Features
- Segments, Location, Tags/Aliases unified in sending workflow
- Rich message payload integration with push notifications
- Enhanced analytic data available for v3 users
Enterprise-class API and Server Support
- API Versioning
- Fully supported server libraries (Java, Python, PHP for now)
- Request validation
- More informative responses
We've now simplified access to our service by combining over ten API endpoints into two, and provided a simple migration path for customers. Our responsiveness to an expanding customer base with a wide range of feature requests and performance requirements made us the industry leader that we are today. It's precisely because we are in this position that we are able to announce this service upgrade as we look forward to working with our customers during the next generation of mobile development.