Settings

Theme

Urban Airship Brings Easy Push Notifications To Android

techcrunch.com

48 points by mtrichardson 15 years ago · 16 comments

Reader

mtrichardsonOP 15 years ago

There a couple Urban Airship cofounders that read HN, myself included - please don't hesitate to ask us any questions. This has been a really, really fun project with some very interesting technology coming out of it.

  • guelo 15 years ago

    Couldn't find any Android info on your site. I can think of a ton of questions, here are some off the top of my head.

    * Are you just doing polling or did you figure out some TCP keep-alive tricks to keep the connection open?

    * If doing keep-alive do you try to adapt your pings to compensate for different timeouts on different carrier networks and deal with half-open connections as Google claims they do with c2dm?

    * Have you measured your battery usage? What is it like?

    * How many connections can your servers handle?

    * What is the Android library like. Is it a separate app that you communicate with via AIDL?

    * Does your app handle the notification or does it just broadcast an Intent?

    * Are the packets encrypted?

    • schmichael 15 years ago

      Another Urban Airshipper here. Just wanted to expound upon the TCP keep-alive issue because I was the most vocal proponent of using them vs. reinventing them ourselves.

      The main reason using TCP keep-alives were a non-starter was because in our testing, carriers handled them in "special" ways which usually meant they rarely or never actually reach ed the intended endpoint.

      Another strike against TCP keep-alives is how the RFC defining them seems pretty ambivalent on their use. Support is optional, delivery is not guaranteed (ACK segments with no data aren't reliably transmitted), and implementations may vary.

      See: http://tools.ietf.org/html/rfc1122#page-101

      At the end of the day they're a fine freebie for protocols like SSH to use (although they're spoofable...), but we wanted finer-grained control in order to optimize resource usage on the device, our servers, and the pipes between.

      I'd love to hear about others' experiences with TCP keep-alives though.

    • mtrichardsonOP 15 years ago

      Hi,

      Thanks for the questions!

      The AirMail Control Panel manages a persistent TCP socket connection to our infrastructure using custom keepalives. Our pings aren't adapted to networks yet, as we just don't have good enough data around that - we've got great monitoring set up around this, so I'm not too concerned about that.

      We haven't noticed any drop in battery usage during our (very long) testing phase. That was one of our primary concerns :)

      Each instance of the layer of our infrastructure that manages the connections can handle several hundred thousand connections.

      You can see the integration story around the push library here: http://urbanairship.com/docs/android_client.html

      And the library is up on GitHub: http://github.com/urbanairship/android-push-library

      Our app handles notifications by default, but if you don't want it to handle the alerting and want to do it yourself (this was a requirement by some of our larger customers) you can by specifying only an "extra" value. We'll pass that data along and your app can parse it.

      And, yes, everything is encrypted.

      Thanks for the great questions :D

  • bconway 15 years ago

    How do you see your business model changing over the next year as Android 2.2 (featuring integrated push notifications, for those who skimmed the article) becomes ubiquitous?

    • mtrichardsonOP 15 years ago

      Our core product is a suite of features to make it easier for mobile publishers to add advanced mobile features. If it becomes clear at some point that we need to only use C2DM (Google's version), then we will - it'll still be the same API and the same product from the perspective of our customers.

      Right now, it might seem like it's "Oh yay easy push notifications!" but that's not really the main story. The main story is that we're going cross platform with all of our products and we're helping people really take advantage of these great new technologies to help their mobile applications and strategy.

pxlpshr 15 years ago

Urban Airship is a great product, we use it and it really reduces a lot of headaches. There's really no reason to try and lay all the pipe yourself, particularly if you're just getting started. And furthermore, Urban Airship picks up where Apple leaves off with a lot of nice features you'll find you need later.

Their team is also super friendly and responsive. We've sent multiple support emails with answers coming within hours.

waratuman 15 years ago

I don't fully understand Urban Airship. I find it really easy to do push notifications, especially for the iPhone. Why would I use this?

  • mtrichardsonOP 15 years ago

    We've been doing this for over a year. We're extremely familiar with all of the quirks of the process around push notifications and, during that time, have listened to what our customers are asking for. We've implemented most of these features and are in the process of implementing more. Using Urban Airship, you get things like autobadge (increment/decrement), quiet time (no alerts in the middle of the night for customers who don't want them), a super easy broadcast feature, arbitrary grouping by tags, scheduled notifications, the ability to hook up an RSS feed to automatically push notifications, and a web UI to send notifications... features like that, in addition to that, we have great support, so if something isn't work right you have a team you can go to get help.

    A lot of our customers don't even have any server at all, they just use us.

    On top of all that, we also have a great in-app purchase solution and rich messaging through AirMail.

    It goes a lot beyond just a simple API to send push notifications. :)

  • notnoop 15 years ago

    Pushing iPhone notification requires (somewhat persistent) socket connections. Some environments forbid that, like Google App Engine.

gaius 15 years ago

OK this is not an actual urban airship - just another website. Disappointing.

  • schmichael 15 years ago

    I think I can speak for everyone at Urban Airship when I say we're all a bit disappointed we don't have an actual airship.

risotto 15 years ago

Solid! I use Prowl on the iPhone for push stuff. I get around paying for SMS with Google Voice and Prowl.

Will definitely check Urban Airship out.

gigafemtonano 15 years ago

The TC article doesn't mention the In-App Purchase features you offer. It sounds like you offer free-for-the-user updates to applications as well as providing infrastructure for traditional in-app purchases managed through Apple's billing. I'm curious about how you bill for these features if you don't mind taking a moment to explain.

  • mtrichardsonOP 15 years ago

    Sure thing.

    For in-app content delivered through our infrastructure, whether it's free or paid through Apple's in-app purchase, we charge $0.05/download.

    An API call is made to our system when a person wants to download content. If it's a paid item, a receipt is included in that call and we then validate the receipt with Apple. After that, the application can download the content.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection