When developing mobile applications, the similarities between handling the web based request-response cycle and the mobile based one can greatly ease the discomfort of trying to master a new development paradigm. Yet despite the many similarities between the hypertext based world many of us are used to, and the mobile world we are fighting to understand, we quickly discover that despite the many similarities, there are often subtle differences, and these subtle differences can pose a huge challenge to developers, and home grown solutions to what initially appear to be solvable problems simply won't do. One area where developers run into issues is the challenge of getting important notifications to end users in a timely manner. Server based asynchronous notification is a key feature in any kind of collaborative application where the actions of one person can impact what other people would see. With more and more people using mobile on the go for team efforts, enterprises can't afford to have off-site employees who are out of the loop. For customer facing mobile apps, it's also critical to deliver timely, accurate information that deepens trust and engagement.
Ajax Push works fine for browser based apps delivered to a desktop. However, in the mobile world, you're not always looking at your web browser.
Steve Maryka, CTO at ICEsoft
Staying in Touch Is Easier Now
According to Steve Maryka, CTO at ICEsoft, "Ajax Push works fine for browser based apps delivered to a desktop. However, you need your HTTP connection to be live in order to get notifications to the user. In the mobile world, you're not always looking at your web browser. Your web application isn't always what you're actually seeing on your phone. There's no notification method for letting users know something of importance."
As a solution, his company offers a Cloud Push extension to their original Ajax Push feature that allows for different transports to get notifications to the user even when they're not actively using a web application. It works across multiple cloud/mobile messaging systems including Apple Push Server, Google Cloud Messaging. Amazon's Simple Notification Service also provides this capability, if you meet their prerequisites. "With Amazon SNS, you now have the ability to send notification messages directly to apps on mobile devices. Notification messages sent to a mobile endpoint can appear in the mobile app as message alerts, badge updates, or even sound alerts."
Be Careful How Much You Push
Of course, even if you do figure out how to push notifications, you still need to make good business decisions about what to push—and how often. Semil Shah over at TechCrunch makes a good case for using this capability sparingly. "The lesson in these apps and others who do not abuse the push notification channel is that the best alerts tend to be personalized, contextual, timely, and relevant — and some don't require that I go back into the app." Remember, your company is only one of dozens or even hundreds vying for an end user's attention. If you aren't careful, users get fed up and switch off the notification service in their device's operating system, and then no one gets through, no matter what technology is used to implement the solution.
What types of unanticipated problems have you encountered in your mobile development projects? Let us know.