Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Presenting the Openwave Usability Interface (OUI)
Presenting the Openwave Usability Interface (OUI)

Last year, I was telling Wireless Business & Technology (volume 1, issue 1) readers that poor usability was keeping a great technology (WAP) from taking off. At the same time, things were changing, so I encouraged developers to keep treading that WAP path. One year later, it's time to look at the WAP landscape again, draw some conclusions, and show you a new product that will blow your mind.

Let's start with a rundown on what's happened since last year:

  • Openwave has released and licensed its new GUI browser (mobile browser 5.0; internally we call it V5). Phones with the new browser provide a superior user-experience when compared to their mostly textual predecessors. Siemens S45 is the first device running V5 available on the market.
  • M-Services is here. GSMA is backing the most important industry initiative after WAP. In short, multimedia content, color, graphics, push, ringtones, and OTA provisioning are just some of the keywords of what the present is bringing. Of course Openwave is backing this up by providing developers with the tools that make this happen: the SDK and OUI, the Openwave Usability Interface.
  • The WAP 2.0 spec is ready. We are moving toward XHTML. Some are happy about this. Some are not. Anyway, those who wanted convergence are finally getting it.
Of course, I don't want you to think that I'm here to give you an Openwave marketing speech. I'm here to tell you about the challenges we WAP developers face when building those compelling new services we were the first to devise.

The Problems
Now let's talk about the problems:

  • Latency is still a major source of pain for users who are not willing to wait (particularly because they are also paying dearly).
  • Configuring WAP phones is hard. Too hard for end users. WAP users in GSM areas are almost required to know Unix admin skills (IP number, port numbers, phone numbers...). The ambition is to get WAP in the hands of users who are far less knowledgeable.
  • Developers still need to figure out how to make money with WAP.
  • The browser and gateway markets are still fragmented. We will need to deal with WML 1.x for at least one more year (more realistically 2-3 years), yet Nokia and Openwave phones still work very differently. The introduction of new devices is not helping.
  • Developing WAP is tough. Much tougher than developing HTML for the Web. XML makes our life harder. Interoperability issues make it miserable at times.
I'll deal with the first three issues quickly:
  • GPRS will reduce latency: while the interactive experience is still not the one of built-in apps, the improvement over GSM will make a big difference to WAP users.
  • Device configuration issues will be dealt with through OTA (on the air configuration). Also, it will become more common for telecoms to preconfigure telephones.
  • M-Services offers the platform to monetize content (ringtones and screensavers billed to the user when they successfully download your good content).
As far as the latter two issues go, those are the areas where OUI will give you instant relief. If you have programmed WAP in the past, you probably know how differently various devices interpret WML 1.x. You might even say that the standard is not too standard after all. To give you an example, numbered selection lists (menus) and telephone softkeys cannot be programmed in WML if you want your application to work on all the phones. So far developers have had to answer a tough question: Is it better to build multiple applications (one for each class of devices) or stick to a programming model that works on all the phones?

The answer is not simple. If you develop multiple apps, you need more resources for your development, but usability will increase because of this. As you know, Openwave thinks usability is so important that we've been recommending developers to "multiserve" their applications.

If you develop just one application, you'll most likely end up using the so-called "generic WML"(i.e., WML that works across all phones, but basically uses only hyperlinks for navigation). The result of this is that users are forced to do a lot of scrolling even for obvious operations. Most WAP developers choose generic WML. Usability is bad and WAP adoption is low. It's really sad.

Openwave Usability Interface: the Solution
With Openwave's usability interface, the situation improves. Imagine you want your users to choose between "yes" and "no." This is what WAP programmers should do for Nokia phones to achieve maximum usability (use hyperlinks):

Delete email message from Grzegorz? </p>
<anchor>
<prev/>No
</anchor>

<anchor>
<go href="delete.jsp">
<postfield name="emailid" value="a8798" />
</go>Yes
</anchor>

This is what they should do for Openwave phones to achieve maximum usability (use softkeys):

<do type="accept" label="No">
<prev/>
</do>
<do type="options" label="Yes">
<go href="delete.jsp">
<postfield name="emailid" value="a8798" />
</go>
</do>
<p>
Delete email message from Grzegorz?
</p>

Unfortunately, this does not happen and people develop one single version that looks like this (no back button for Nokia, no softkeys for Openwave):

<anchor>
<prev/>No
</anchor>

<anchor>
<go href="delete.jsp">
<postfield name="emailid" value="a8798" />
</go>Yes
</anchor>

This gives bad user experience. With OUI, developers don't need to make a choice anymore. They code according to their intent (see Listing 1). The result on the different browsers is shown in Figure 1.

A couple of examples will show how powerful this tool is (for example, see numbered menus in Listing 2).

At this point, I don't want to give you a complete tutorial of OUI (see the resource section at the end of this article). Here's a quick summary of the several OUI abstractions that represent developer intent, and will render into the most usable WML constructs at request-time. Some of the abstractions are:

  • Navigation paths:
    -Primary path (main operation for each card)
    -Secondary paths
    -Side paths
  • Menus: numbered lists
  • One-click calls
  • Diminished latency thanks to page preloading
  • Tables
  • Automatic pagination for large documents
  • Large forms: support for complex user input
  • Composite pages
  • Inline menus
  • Back navigation: avoid trapping end users
In addition, OUI enables multiple values for the same property (i.e., delivers different images, input formats, or text strings to different devices or classes of devices).

And There's Still More...
The browser and gateway markets are fragmented, we said. OUI offers instant relief. As a developer, you don't need to think of the different devices and gateways anymore. Just code your apps, and they will be rendered on each device to the best of its capabilities.

We have not addressed the latest issue, though. How do we make WAP application development as easy as Web development for programmers? This is one of the reasons behind the success of i-mode after all. Well, OUI helps a lot. First, OUI allows you to preview the application you are building in a Web browser. Let's refer to the two previous examples. See Figure 2 for what you get when you load them in my favorite Web browser (Internet Explorer 5 or greater):

The implications of this OUI feature are:

  • You can quickly create your application in a Web browser. Starting your SDKs is needed only once the application is in place. You'll need the SDK only at the end, in order to fine-tune usability. By that time, though, usability should be mostly in place because of OUI.
  • One common problem with WAP is that debugging is hard. Say you lose your connection to the database. Most SDKs leave you alone when they receive that error message in HTML. Unfortunately, HTML is not legal WML. Now you can see your back-end problems described in your browser just as Web programmers do. This is a great joy.
  • Inexperienced developers can get up to speed real quick.
This last statement will appear even more true after I disclose another cool OUI feature: the XHTML tag library. Once we heard that XHTML had suddenly assumed such a central role in WAP 2.0, it seemed only natural to exploit the power of the OUI object model we had created to let developers play with a technology that only exists in the spec. In short, we created an XHTML tag library that lets everyone knowledgeable about HTML build WAP apps today. You don't believe me? Look at Listing 3.

If you ignore the "oui:" namespace (required by JSP), you are left with good old (X)HTML code to build your wireless apps. See Figure 3 for how it looks when you load the form in your browser.

If I was into marketing (rather than software and WAP development), I would be telling you many things about WAP 2.0, XHTML mobile profile, migrating to XHTML, and so on. I won't. I'll just tell you that whoever manages to build the homepage of their dog, will manage to build WAP now. This has never before been the case in WAP.

Conclusion
This should give you the big picture of what OUI is all about. If you are a WAP developer, you are probably very eager to go and play with OUI. If you are the boss of a WAP programmer, tell him or her to download OUI and play with it. It will save your company development time, and your users will receive a better user experience that will keep them coming around.

Resources

About Luca Passani
Luca Passani, a Technical Advisory Board Member of of WBT, is Tools Development Manager for Openwave Systems, where he has led the OUI project. Luca has a Masters in Computer Science from the University of Pisa and several years of experience in Web development in Scandinavia. Over the past few years Luca has been working almonst exclusively with WAP. He is the author of several technical articles about WAP and WAP-related programming techniques and is a coauthor of "Professional WAP" (Wrox Press, 2001).

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science" is responsible for guiding the technology strategy within Hitachi Vantara for IoT and Analytics. Bill brings a balanced business-techn...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser ...
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that he...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to ...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE