Building Better Phone Applications with SOA and Eclipse
The multi-channel shape of things to come
By: Stefan Besling
Jan. 5, 2009 06:50 AM
Only if you were on the dark side of the moon could you have missed the impact of the iPhone. Its sweeping success has brought mobile services into the mainstream. As the first device to convincingly integrate traditional phone capabilities with Web access, it highlights the multi-channel shape of things to come.
The mobile Web is having its time in the limelight. But in truth, "mobile applications" have been with us for quite some time. Think phone banking or sending a text message to check on your remaining pre-paid minutes (see Figure 1).
Doesn't sound right? That's because in terms of convenience and usability, phone applications have historically played in the minor leagues. When visiting eBay, have you ever been asked to "look carefully, because the order of our menu options may have changed"? When returning to Amazon, did you ever need to navigate through five levels of menus just to see whether your order has shipped?
It's with the focus on the user that Web applications have set a new standard: dynamic adjustments based on identity, preferences, and past interactions as well as on-the-fly personalization create a custom experience that makes you want to come back.
In this article, we'll explore how to build innovative applications that bring the success of the Web to all phone channels. And it's easier than you may think by utilizing the latest tools and techniques available to developers.
Applications ought to be mindful of this need for efficiency, as it relates to both the caller interaction and presentation design. Limited bandwidth across all the different phone channels needs to be taken into account from the start to achieve an optimal caller experience. The W3C has assembled a valuable set of guidelines that can serve as a checklist (see sidebar).
Developers face the flip side of the callers' requirements: They need to efficiently build and maintain applications that serve multiple phone channels and act consistently across all of them.
The backbone of application development is the core path of interaction between caller and system, the "dialog flow." As pointed out above, mobile applications are focused on achieving a caller's goal. They typically go through a number of steps to gather information (such as an amount of money and a recipient) to then perform a transaction (such as transferring money). This basic flow remains the same across different phone channels, though what's presented as a yes/no question in the voice channel may be a radio button in the mobile Web channel. The development environment needs to be able to isolate the channel differences and allow developers to focus first on the commonalities when building the dialog flow. Once this is in place, there must be an efficient way of selectively applying channel- and caller-specific modifications to achieve the adaptive and personalized experience callers have rightly come to expect.
Likewise, the communication with back-end systems needs to be integrated across all phone channels. Since this is the place where most of the custom coding is required, seamless interaction with proven SOA frameworks must be ensured.
Finally, interoperability with complementary tools to serve the needs of individual channels, such as audio file or speech recognition grammar management, is required.
Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week