Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

mrtune

macrumors 6502a
Original poster
Jun 23, 2007
803
20
I'd like to get my thoughts out here for discussion.

I feel push notifications is a strikingly similar method of a notification system that Apple religiously badmouthed when announcing the iPhone for the first time.

From my understanding, basically what happens is that when you close an app, that said app will maintain a connection with a 3rd party server. When that server receives notifications, it then pushes that notification to your phone.

So instead of your phone having open connections with 30 servers (just throwing out a random number) and getting its battery murdered, a server up in the internet cloud will maintain those 30 connections from 30 different apps on your behalf and send notifications to you as they are received. Your iPhone only needs one connection.

To me this is remarkably similar to how RIM does email. The same email system that Apple says is stupid, and that your phone should connect directly to your email as the better way to handle email. RIM uses a 3rd party server to check all your emails on your behalf, and pushes them as they come into your blackberry.

Don't these two setups sound remarkably similar? Discuss.
 
Yeah, it's very similar, and they both have single point of failure where if the "cloud" ever crashes, you're SOL.

With RIM, that means no emails. With Apple, that means no push notifications.
 
Like every feature for every product, it was only stupid because Apple didn't have it. Once they have it, it's cool. Haven't you figured this out by now? ;)
 
I don't know how the rim set up works, but your picture in your mind is a little off.

There are no open connections for 30 different apps.

Any provider who wants to send notifications would maintain their own servers. Any time they have an event that might trigger a push notice they send a message to the apple servers, which then send a message to the phone.

There is no ongoing connection of the sort. That is why it is called push notification. The App's servers push a notice to the app servers which delivers it to the phone. There are no resources or connections involved except for the delivery and receipt of the actual notification message.
 
There is no ongoing connection of the sort. That is why it is called push notification. The App's servers push a notice to the app servers which delivers it to the phone
How does Apple's app servers push it to the phone? If the phone doesn't initiate and maintain a connection with the Apple app servers, does that mean that the app servers can initiate a connection directly with the phone?
 
They sound similar because they're the same thing.

Push is push whether you're looking at Apple or Blackberry.
 
If the phone doesn't initiate and maintain a connection with the Apple app servers, does that mean that the app servers can initiate a connection directly with the phone?
Per Apple's explanation on the developer site:
Apple Push Notification Service (APNs) uses a “push” design to deliver notifications to devices. ... APNs uses a persistent IP connection for implementing push notifications.
So yes, there's a constant connection. However, there's exactly one connection, not many, and what's pushed contains, among other things, the ID of the app to be notified as well as very limited space for message content. Any significant data is supposed to be pulled by the app once it's notified (for example, if some app showed new pics from a site, the notification would indicate that there was a new pic, but the notification would not contain the actual pic).

As noted, push is push, but various vendors and methodologies are more or less efficient. Apple's approach seems to be quite efficient, as far as I can tell from the docs online.
 
Don't these two setups sound remarkably similar? Discuss.

Some differences include:

The Apple servers don't maintain a connection to the application servers. They simply send a one-way message to Apple, and it queues it up to send to your phone.

The Apple servers don't give back an acknowledgement as to whether the notificaton made it or not. (In non-realtime, you can access an Apple non-delivery list that's compiled over time, so you can mark off dead users.)
 
the phone keeps an open connection to 1 apple server while all the 3rd party servers push their notifications to Apple's server

this way there's only one constant open connection while the user is able to receive notifications from many applications
 

Attachments

  • iPhone to server.JPG
    iPhone to server.JPG
    440.4 KB · Views: 101
When did Apple say RIM's push was stupid? Who said it? Smells like a strawman to me.

Could be wrong, but I don't recall them criticizing it at all.
 
Your iPhone is connected to AT&T and apple at all times. That's how it can tell your "bars" which is what text messages travel on also.
 
When did Apple say RIM's push was stupid? Who said it? Smells like a strawman to me.

Could be wrong, but I don't recall them criticizing it at all.

I was gunnna say the same thing, but apple did insult RIM's EMAIL service
 
When did Apple say RIM's push was stupid? Who said it? Smells like a strawman to me.

Could be wrong, but I don't recall them criticizing it at all.

They did, but I think they meant for email security. Apple was still wrong about it, but I remember when they said it.
 
I don't recall Apple ever badmouthing push notifications in any form, so I don't think your correlation is exactly relevant.

What they DID badmouth was smartphones that have background processes. By background processes, this means that when you close the app, it's actually still running in the background taking up memory and bogging down your phone.
On the iPhone, when you close a 3rd party app, it completely stops running and has nothing at all running on the phone.

Say you have AIM running. When you close the AIM app, AOL's servers will still keep your name appearing as if it's online and if someone sends you a message, they relay that info to Apple's Push server, which then sends the info to you. When you tap "OK" or whatever on the notification, it relaunches the AIM app, logs you back in on your phone, and lets you reply


edit: just saw the reply above me. I believe what you saw about the email bit was in regards to Exchange support. Other providers connect to a NOC server, which in turn connects to message server, which then talks to the exchange server. Conversely, Apple uses activesync and talks directly with the exchange server. This is where they said "the other guys are doing it wrong"
 
What they DID badmouth was smartphones that have background processes. By background processes, this means that when you close the app, it's actually still running in the background taking up memory and bogging down your phone.

Yep. Damn those people at Apple for leaving their phone & text & email fetch & notification process & sometimes Safari & even OMG the iPod app, all running in the background, bogging our phones down.

On the iPhone, when you close a 3rd party app, it completely stops running and has nothing at all running on the phone.

True.

So I get an IM notification while I'm playing Flick Bowling. I'm doing pretty well today, all strikes and it's the ninth frame. But it's an important IM person, so I go start up AIM and type back "ok" and send it.

Alas. not all apps save state, and this bowling is one of the bad ones. I have to go start all over again. Talk about bogged down for no reason.

I think it should be up to me as to how I get "bogged" down. :)
 
I think it should be up to me as to how I get "bogged" down. :)

I think Apple is choosing a better, more controlled user experience over an individual user's flexibility.

In the same situation where you'd enjoy being able to run multiple background apps at your discretion, my wife would wonder why her phone is suddenly running so slowly, not realizing she had 15 apps still open.
 
I think Apple is choosing a better, more controlled user experience over an individual user's flexibility.

Not sure about better, but definitely they're doing the choosing for us. Which is their right, but not my favorite choice.

I'd also say that Palm came up with a very clever method of giving the user control, without losing a good experience. I might experiment and see if my anti-tech wife can figure out the card metaphor.

In the same situation where you'd enjoy being able to run multiple background apps at your discretion, my wife would wonder why her phone is suddenly running so slowly, not realizing she had 15 apps still open.

That's a good idea. If, as you say, it was at my discretion, then your (and my) wife might never use whatever multi-tasking start mechanism was chosen, but we could.

Basically, if we had a situation more like WinMo or jailbroken OSX, then the more adventurous could use alternative shells. And Apple could keep the easy one as normal.
 
They did, but I think they meant for email security. Apple was still wrong about it, but I remember when they said it.
It looks like Apple was talking about security and it being a single point of failure.

In a jab aimed squarely at RIM, Jobs noted that the company, often equated with "secure corporate email," relays all BlackBerry messages out of corporate email servers and through its Network Operation Center servers in Canada.

"Why aren't CIOs really worried about security?" Jobs asked the press. "Every email message sent to or from a RIM device goes through a NOC up in Canada. Now, that provides a single point of failure, but it also provides a very interesting security situation. Where someone working up at that NOC could potentially be having a look at your email. Nobody seems to be focused on that. We certainly are."

Jobs' comments alluded to a blackout of BlackBerry service caused by NOC issues at RIM. For the iPhone, secure push email services will work directly from corporations' own email infrastructure to the iPhone, without traveling through Apple's servers or requiring the installation of additional messing server hardware, as Schiller outlined in a diagram that compared the iPhone against RIM's BlackBerry infrastructure. Schiller noted that Apple's push email strategy would be both more affordable and more reliable.
http://www.appleinsider.com/articles/08/03/06/apples_iphone_takes_on_the_enterprise.html
 
Yep. Damn those people at Apple for leaving their phone & text & email fetch & notification process & sometimes Safari & even OMG the iPod app, all running in the background, bogging our phones down.



True.

So I get an IM notification while I'm playing Flick Bowling. I'm doing pretty well today, all strikes and it's the ninth frame. But it's an important IM person, so I go start up AIM and type back "ok" and send it.

Alas. not all apps save state, and this bowling is one of the bad ones. I have to go start all over again. Talk about bogged down for no reason.

I think it should be up to me as to how I get "bogged" down. :)


Yeah, I agree. Also, I would love to see a multi-tasking ability akin to what the Palm Pre has. That looks very elegant and "Apple-like" to me. Since they've opted to not do this, I think the next best thing is to force a state save on all apps so that when you open them, you get to see what you were last working on, giving the illusion that you never shut the app down. Since this might not work so well in some cases, perhaps there could be an overlying dialog box that asks if we want to start fresh or restore the last state when tapping the icons. This, of course, would be something that could be toggled by the user in settings, perhaps even on a per-app basis.
But maybe that's getting too complex for Apple's known simplicity.
 
Apple is the kign of hypocrisy. They always always badmouth something and then do their own things the wrong way.

Then they copy others work and claim it as innovative. That's Apple for you.
 
As long as they keep putting out products that I enjoy using, they can be as hypocritical as they want to be. :D
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.