Friday, October 22, 2010
Building .Net Applications for Mobile Devices
We (the authors of this book) worked together when WAP-enabled phones first flooded onto the European market. Like many others, we eagerly acquired a Nokia 7110 phone and set to work building real wireless Web applications. This was great fun—a new technology with an enthusiastic public of millions waiting desperately for something cool to access from their WAP phones. We worked for a company that handled credit card payments for Internet sites, and we built the first operating facility in the United Kingdom that allowed credit card payments from a WAP phone.
Unfortunately, the mobile Internet business didn't take off as well as we expected. Mobile phone companies were guilty of overhyping the capabilities of this new technology, and what users experienced from the mobile Internet was not what they had been led to expect. Users wanted a miniaturized version of Web browsing on a PC, but instead they got a small, slow, monochrome text browser. “WAP is crap” became a favorite cliché for the newspapers, and many companies adopted a wait-and-see attitude to launching themselves on the mobile Internet.
For developers, too, surprises were in store. Like many others, we were really surprised to find that our WAP service, which worked just great on a Nokia browser, didn't work so well on a Phone.com browser. Although both browsers accepted the same markup, the usability of the application on the different browsers was markedly different. (Seems like we've been here before—Netscape vs. Internet Explorer, anyone?) We redesigned our application so that it worked well on both browsers, which was challenging and fun, but this task distracted us from putting time into developing new solutions.
Fortunately, the mobile Internet is starting to mature. The public is better informed about what to expect from a small, handheld device, and usage of available WAP services is increasing steadily. In Japan, which managed to avoid the marketing mistakes made in Europe, the i-mode service is a huge success, with more than 30 million (reportedly happy) subscribers. From a developer's point of view, however, the most promising development is the upsurge in interest amongst businesses that can see the benefits of a mobile-enabled workforce. PDAs and smart phones are becoming increasingly capable and more affordable, and they provide an excellent platform for business Web applications.
We are still left with a wide variety of different platforms, though. We've got different screen sizes; HTML, cHTML, and WAP markup languages (and different versions of those); color and noncolor; and so on. Fortunately, software companies are producing products that allow developers to build their application once and let the product take care of optimizing the output for a particular device. We think that the most exciting of all these products is the Microsoft Mobile Internet Toolkit.
The .NET Framework is one of Microsoft's most ambitious development projects. It rewrites the book on how developers build applications for Windows platforms and for the World Wide Web. One of the most exciting parts of Microsoft's .NET initiative is ASP.NET. Using this technology, Web developers no longer need to write solutions with one arm tied behind their back. ASP.NET applications are fully-fledged .NET applications, with access to the full resources of the .NET Framework, that just happen to produce markup as their output. The Mobile Internet Toolkit extends ASP.NET with capabilities that make it easy to develop mobile Web applications, and the runtime takes care of adapting the output to run on a wide variety of handheld devices.
“Adaptability, customizability, extensibility” is a mantra often repeated by the Mobile Internet Toolkit team at Microsoft, and this phrase describes the toolkit's capabilities pretty well. Applications adapt to the different capabilities of mobile clients, you can easily customize your applications to take advantage of unique capabilities of any particular device, and the product is extensible, so you can easily create new controls or add support for new handheld devices that become available.
Developing early mobile applications was frustrating and challenging. With the Mobile Internet Toolkit, we can spend a fraction of the time it once took to produce an application and then immediately access it from a wide variety of browsers, including those that support HTML, cHTML, and WML. Now how cool is that?
Another .NET Books
Another Mobile Programming Books
Another Smart Phone Books