Welcome!

iPhone Authors: Maureen O'Gara, Reuven Cohen, Kevin Benedict, Jennifer Rung, Pat Romanski

Related Topics: Java, SOA & WOA, Eclipse, iPhone

Java: Article

Building Better Phone Applications with SOA and Eclipse

The multi-channel shape of things to come

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.

Phone Channels
As different as the phone channels' mobile Web, voice, and text may be, they actually have quite a lot in common. Users on the go are users with a goal. Instead of just browsing to pass the time, they want to get a specific job done. They want to track an order, pay a bill, or check a movie show time. Some may want to do it by sending a text message, some by going to a Web site, and some by calling an 800 number. Yet all of them want to do it as efficiently as possible, with a focus on their goal.

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.

More Stories By Stefan Besling

As vice president of engineering, Stefan Besling provides leadership for VoiceObjects’ software development team and is responsible for delivering product releases. Prior to joining VoiceObjects, he worked in Silicon Valley for a number of years first as co-founder of a Philips Electronics spin-off focused on voice-controlled multimodal applications for mobile devices and then as Director Voice Applications for YY Technologies, a company providing a Web and email-based self-service platform. Stefan has a background in speech recognition technology and held development and research roles at Philips Speech Processing and Philips Research.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.