0

I have a client company with a simple web app that users can interact with via a desktop/mobile website. Recently they asked to implement a notification functionality. The users, if they wish to, can sign up to real time notifications from the web app.

The really interesting requirements though is that the notificaitons should:

  1. Be delivered in real time (60+ seconds delay is a failure);
  2. Have guaranteed delivery, i.e. my client wants to be sure that each user gets all his/her notifications.
  3. Be able to somehow notify the user from background, i.e. a typical user would not wait for a notification with a browser window open on his/her Android, for example. The preferred way is to make the phone ring and/or vibrate and put some messages into the notification area so that a user can notice a notification even if the phone lies in her pocket or a bag.

Notes:

  • a typical notification message is rather short, here is an example: "Hello! You have a meeting with $John today at $5pm";
  • all the users have smartphones (iPhone/Android) with 3G connection enabled.

Since the requirement 3 can not be met with the current state of modern mobile browsers, the only two ways to fully achieve the spec is to:

  • A. Make an app for iOS/Android and use the native APIs to make the phone ring and vibrate upon notification receipt;
  • B. Use an IVR like Asterisk to call the user via SIP, play a sound with notification and ask him/her to press 1 to confirm the receipt of the notification (the sound can be something like "You have a meeting with John today at 5pm. Please press 1 to confirm").

But when I started to test those A and B options, I found that (1) and (2) can not be satisfied via a regular 3G connection (the company is in Europe and the connection is quite okay). For example, a Jabber client on an Android device can get some messages with a long delay (a few minutes) and even loose some messages.

So, the only option left to meet the requirements 1, 2 and 3 is to use B (automated IVR - Asterisk).

Is my reasoning correct? Are any other mechanisms to deliver short notifications to smartphone-enabled users in real time, with 100% guarantee and make the smartphones ring and/or vibrate upon notification? Should I try to use anything else instead of the automated IVR calls?

P.S. I do not consider the SMS technology in my research, since to my knowledge there is no guaranteed delivery of messages.

Community
  • 1
  • 1
skanatek
  • 5,133
  • 3
  • 47
  • 75
  • 1
    Class 1 SMS would fit your requirement of popping up on the screen. Delivery is pretty reliable (not many things are guaranteed 100% in life :-) ), but the time requirement alone probably rules SMS out. To be honest, I think your customer's 100% delivery requirement is a bit unrealistic - any system can go down. Realistically, you're looking at the system that delivers the best available performance. – user1725145 Feb 26 '13 at 10:26

1 Answers1

1

If all your users have smartphones, your choices are IVR, SMS, or push notifications. If the mobile phone network is unavailable, all bets are off for IVR and SMS, but iOS and Android users may receive push notifications over wifi. If the phone network is present but weak (as in, no 3G or LTE), IVR and SMS are about just as good - SMS may be slightly better, because a bad phone connection can turn your message into "Hello, you have an appointment with KRRRZZZZT today at [call drops]".

drivefast
  • 64
  • 1