Wednesday, November 1, 2000

Beginners guide to developing wireless applications


By Dan Velasco

Those of you who went to Lotusphere last January might remember the notorious yellow phones that a thousand people, myself included, got to use for free for a week (without the ability to set it to vibrate, which made for a lot of fun interruptions, but that's a different story). One of the applications on the phones was the ability to wirelessly access information about Lotusphere,. This was a great idea except there were problems with service availability that caused even someone as geeky and into gadgets as myself to finally give up and use the phone simply to call my co-worker and rub it in that I was in sunny Florida.

Well, in the weeks that followed Lotusphere, I played with my phone occasionally, but it eventually ended up in a drawer for a few months of exile. I dusted it off in order to do a review of Mobile Services for Domino back in May of 2000. (You can find that article at However, it wasn't until I got actual voice (not just data) service on my phone that I started carrying it around and using it on a semi-regular basis.

And it wasn't until just the last couple of months that I actually started developing HDML (HanDheld Markup Language) applications for wireless phones. HDML is what most browser-enabled phones use or are capable of understanding, especially those with microbrowsers from What follows is the result of my early foray into wireless, including some of the resources I found and some of the lessons I learned. It's by no means a complete dissertation on developing wireless applications for Domino or a comprehensive list of links, rather it's the article I wished I could have read before I started down what seemed at first to be a dimly lit wireless road. If I can brighten that path for you at all I will have done my job.

HDML versus WML

One of the first things to learn when you're thinking about developing applications for mobile phones is the difference between HDML and WML (Wireless Markup Language). Most Web-enabled phones in the United States support HDML. WML, on the other hand, is a second generation wireless language that's currently being used in parts of Europe and which new phones in the US are just starting to be capable of understanding.

I've got to admit that I was confused at first about the difference between HDML and WML, to the point where I wasn't sure which I should learn. The conclusion I finally came to was that I should use HDML for now and learn both HDML and WML for the future. One of the most useful things I read in documentation from (more on this below) is that their new WML-enabled browsers are going to be backward compliant to support HDML. This means you can develop applications in HDML that most browsers can use now and start phasing in WML in the future. Another thing to realize is that most of the wireless phones shipped are not upgradeable, meaning that a phone with a microbrowser that supports only HDML today will only support HDML in the future as well. You won't be able to reach that user with WML until they actually go out and get a new phone.