We're looking for technical product managers, designers, platform engineers, senior web engineers, sales engineers, program managers, data engineers... Feel free to send me an email (in profile) to talk about any of these.
714 karma · joined October 14, 2007
We're looking for technical product managers, designers, platform engineers, senior web engineers, sales engineers, program managers, data engineers... Feel free to send me an email (in profile) to talk about any of these.
It moves the focus on handling these things away from the DoJ and to the ITC.
Dedicated entrepreneurs exist and are making a go at it here - and doing quite well.
I'm wary of most of these organizations, but I do have high hopes for the software startup scene here.
You might want to start there when trying to find talent... though for what it's worth we haven't had a hard time finding talent lately. Lot of competing people away, but that's hardly new or different.
A connection that's open isn't problematic at all, assuming it's being used - lots of setups/teardowns can be an issue (which is why polling apps will consistently take up a large portion of your battery life). The main issue is if the app is using a radio when it shouldn't be. Luckily, we can control this pretty well with our handling code and have been able to balance out needs pretty well between delivering a message as quickly as possible and not destroying battery life.
If you're an Android dev, we'd love your feedback on it in general :)
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.
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.
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
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. :)
Since the post is just about Apple push notifications, I'm going to assume that's what you're asking about.
Apple maintains a persistent connection to every device with push notifications enabled. An application can show a user a dialog asking whether or not that user wishes to receive push notifications - if the user says yes, the application is given a unique identifier called a device token. That device token can then be used to deliver messages from the developer's server via a persistent socket connection to Apple using their binary protocol. According to Apple, this connection should be held open as long as possible - you can't just open it when you need to send messages. They also don't provide any grouping or broadcast functionality.
Where we come in (again, on the Apple push side) is allowing that application to register the device token with us along with any additional information they might want - tags, aliases, time zones, quiet time information. The application developer can then send messages through a simple RESTful API instead of maintaining the persistent connection to Apple. They also get the benefit of grouping, RSS to Push, scheduled notifications, broadcast messages and all of the other things we offer.
Our customers love it because not only do we take care of all of the difficult problems, as well as handling scaling to millions of devices, we provide a lot of features on top of the basic service. It's a lot of work that they don't have to implement and, any time that they have questions, they have a team of experts they can contact.
On top of that, we have AirMail, which allows application developers to use push notifications to drive users into a richer experience.
Summary of that comment: Attitudes towards scripture is the primary predictor, though WORDSUM and education still have significant effects.
We do push notifications and content delivery for mobile devices - currently iPhone and BlackBerry, but (very) soon Android and others. We have lots of really awesome customers and power some really big mobile apps.
Server stuff is in Python, but there's also work in Objective-C and Scala.
We're funded by True Ventures and Founders Co-op and we currently have 7 people - 6 engineers and our CEO, Scott Kveton. It's a place where everybody works on every layer of the stack and we're having a fantastic time working on new products and scaling out. You should join us.
jobs@urbanairship.com
Metalab ( http://metalabdesign.com/ ) did our initial site and identity, then we got our friends Refresh Media ( http://refreshmedia.com/ ) to revamp it to its current state. Cannot recommend both of them enough.
At the bottom of http://urbanairship.com/products/airmail/ , there's a signup form - we'll be emailing that list first with early access. Or, you can email me ( michael@urbanairship.com ) and I can get you on the list.
Apple's push service has a few quirks - in addition to connectivity issues (which can definitely be numerous - thanks AT&T!), there's also a problem when passing along a development device token to a production server. They'll silently drop the connection and we won't know until the TCP window size fills up that this happened - in other words, messages can be lost. There's a feature we've implemented called push debug mode that will watch for this, but it will slow down broadcasts or large sends. We recommend having this on during testing and are working on a more automated solution. So, you could try that.
But, in general, yes, issues like this were some of the initial inspiration behind AirMail - we tried as much as possible to talk to our customers and get feedback and the product naturally grew out of hearing what they wanted.
I'm one of the cofounders of Urban Airship - I'd be more than happy to answer any questions if you have any.