There are local tech events happening pretty much every night of the week. http://calagator.org/ has a good listing. It's to the point where you can't pick a night to do a user group/meetup without it conflicting.
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.
I know of the list and have been to a few meetings. When I mentioned I didn't see much going on, I meant there didn't seem to be a cohesive group of entrepreneurs. There are plenty of user groups and other nerdy meetings, but I haven't had luck connecting with other people attempting to get a business off the ground. Yes, PDX has nerds and programmers and people interested in tech, but, it doesn't have many software entrepreneurs to connect with.
That's also the impression I got when I spent a couple of months in Portland last year.
Somewhat unrelated, there's a lot of interesting programming language companies around (Galois, Gemstone, and some others I can't remember now). I don't have hard data, but have the impression that that's a lot more than average for other US cities with high-tech sectors.
Not in our tests, and nobody in our beta test period had any comments. The logic around controlling the connection is pretty intelligent in what it does.
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.
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. :)
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.
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?
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.
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.
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.
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.
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?
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.
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.
My main problem with Posterous imports is that they don't preserve the URLs of my previous posts. I have custom domains set up, so redirects are broken. I was hoping that with the latest Tumblr import they had fixed it, but no go.
I can read my Kindle books on my iPhone, iPad, BlackBerry, Mac, and Windows computer (and soon Android). It's still Amazon's software (which, for the desktop computers, sucks), and it's still DRM'd, but you don't have to have a Kindle to enjoy the Kindle library.
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.