Main Page Content
Wrox Professional Wap Review
This review appeared first on my mailing list Wap-Dev.Professional WAP
Publisher: Wrox Press
ISBN: 1-861004-04-4
Charles Arehart, Nirmal Chidambaram, Shashikiran Guruprasad, Alex Homer, RicHowell, Stephan Kasippillai, Rob Machin, Tom Myers, Alexander Nakhimovsky,Luca Passani, Chris Pedley, Richard Taylor and Marco Toschi.
Publisher: Wrox Press
ISBN: 1-861004-04-4
Chapters:
- Overview of WAP
- Setting up WAP
- WAP Gateways
- Basic WML
- Interacting with the User
- WMLScript
- Usability
- ASP and WAP
- Multiple Device Types using XML and XSLT
- Java, XML and WAP
- ColdFusion and WAP
- Converting Existing Web Sites to WAP
- WAP and E-Mail
- WAP and LDAP/Directory Services
- WAP Security
- Push Technologies
- WTA - Interacting with the Mobile Phone
- VoiceXML- Voice Markup language
- What the Future holds
Appendices
- WML Elements
- WMLScript Reference
- Standard WMLScript Library Functions
- WTAI Libraries
- The WBMP Image Format
- Apache and Tomcat Format
- Glossary
- Resources
- Support, Errata and p2p.wrox.com
Introduction:
This book is Wrox's first foray into the subject of WAP andWML development of mobile applications. It presents a broad overview of theWAP standards and a detailed guide to WML 1.1 and WMLScript. There is a widediscussion of different methods for creating mobile applications andconverting existing web material. The book also includes a look at some ofthe WAP enhancements we can expect to see in the near future, helpingdevelopers plan ahead for future functionality.Review:
When I initially received this book, I was sceptical that Wrox could findenough material about WAP development to fill 800 pages, without fallinginto the trap of filling up with a great deal of useless side information.On seeing that there were chapters covering ASP, ColdFusion and Java, Ithought my fears were justified, but in fact the authors have managed toavoid the problem from being too great by using the different developmentmethods to introduce different techniques a developer might need to use inimplementing a strong and flexible use of WAP as an alternative deliverychannel for online services.The book begins with an introduction to WAP as a family of standards andpresents the development model and the WAP Forum. It then introducesdifferent ways of accessing WAP content through PC based emulators or phonemicrobrowsers. The first section of the book then closes with anintroduction to WAP Gateways, which introduces the concept in enough depthto allow a developer to make an informed decision as to whether his companyrequires a gateway and what benefits they might bring. As the actualdevelopment of gateways and PC based browsers is so rapid, this informationmay very quickly become dated, but the central concepts should at least holdtrue.The next part of the book brings us into the meatiest content area, anintroduction to WML and WMLScript. These two core parts of the WAPdevelopers arsenal are well presented and should answer the majority ofquestions anyone starting to create WAP applications might pose. Attentionis drawn to the differences between various microbrowsers' support, butthere are perhaps some problems with the way this is done, which I haveoutlined below. Anyone who has developed with HTML and / or JavaScript willhave no problems picking up the techniques described in these chapters andeven complete beginners should find they can develop quite complexapplications with a little study. Because WML and WMLS are rather simplelanguages, they are covered in quite enough depth that most developers'needs should be catered for. The final chapter in this section covers thesubject of useability and like many articles on the subject, should be takenas a set of guidelines rather than hard and fast rules. This chapter is wellwritten though and thought provoking especially in its discussions ofcatering to different microbrowsers and picking which functionality of anexisting application should be included in a WAP application.Part three discusses different methods for generating dynamic WAP content.It was here I was worried that the authors may have been padding out theirmaterial, but in fact this section contains some great tips for applicationdevelopers. It is worth taking a look through each of the chapters, even ifit does not cover your technology of choice. The chapter on ASP forinstance, introduces us to common beginners issue such as sending correctMIME types in content headers and interacting with WML forms on the serverside. This is followed with a look at using XML and XSLT to serve content todifferent browsers. I must admit that after reading this chapter I felt Iwas still a little in the dark about this technology - the level ofcomplexity of the solution left me wondering whether for the majority ofsites it wouldn't be overkill. Worth following up this subject with a deeperlook at the whole subject of XML if that's where your researches are takingyou. There are quite a few developers here who are developing using JSP and theywill be pleased by a whole chapter on combining Java, XML and WAP. Onceagain, I'm no Java expert, but the information here throws some extra lighton developing in a flexible way to serve multiple client browsers. Finallypart three looks at ColdFusion and WAP - another extremely populardevelopment environment. As someone who develops in PHP and ASP (fordifferent projects), I could complain that the lack of a PHP chapter is aproblem, but in all honesty, the techniques presented in these 4 chapterscover the most popular development techniques and are quite easily adaptedto your platform of choice with only a little head-scratching! After all,this is a "Programmer to Programmer" book rather than a dummies guide!The next section focuses on "Developing advanced WAP applications". Thefirst chapter in this section may be of use to developers who need toconvert a substantial amount of existing web content that isn't in adatabase or similar dynamic format. It looks at several existing tools forconversion and how to write your own custom converter. Interestingly thischapter also looks at when it may be worthwhile taking this approach - auseful point if we are to avoid a situation where every other WAP site is acomplete clone of a static HTML site - not a very useful or desirablesituation. The following two chapters cover integrating WAP with email anddirectory services. Both cover extremely useful techniques for the portalbuilder and look at the subjects in surprising depth. However neither islikely to be a complete solution for your needs "out of the box" and withthe number of suppliers starting to offer ready made solutions, thesechapters will probably mostly be of use in small specific cases. FinallyChapter 15 looks at Wireless security in enough depth to answer the majorityof questions the average developer will have an provides a number of strongjumping off points for those who require further information or moredeveloped solutions.Part five of this book will be both exciting and disappointing for manydevelopers. Here the authors take a look at the future development of theWAP specifications, outlining many of the groovy techniques we will be usingin the future, but also spelling out the inevitable truth that the vastmajority of these features are not implemented in either the networks or thehandsets yet. Push, WTA and the WTAI libraries and VoiceXML are all coveredalong with an optimistic look at what the future holds for wirelesstechnologies. Mouthwatering stuff!The book finishes up with an extremely useful set of Appendices, which Ipersonally would love to have in a pocket size reference version. Here areWML and WMLS references, WTAI libraries and more.Summary:
I did have a couple of criticisms. The Range of different authors fordifferent chapters means that there are discernible style differencesthroughout the book. It could have benefited from a slightly stronger styleguide. One area where this was especially apparent was in the introductionsto WML and WMLS. Tucked in amongst the descriptions of different mark-uptags and code functions are various comments about the inconsistent supportbetween various browsers. As only two browsers are covered in the book,(Nokia SDK and UP.Simulator) these comments would have been better eitherbroken out of the main text in the form of a standard warning that this is aknown area of inconsistent support, or perhaps discussed in a separatechapter. Finally I felt that the index was awkward to use in places - thefirst thing I tried to look up was information about character entities.Finding nothing under "character" or "entities" (or even "specialcharacters") I gave up and flicked through the book to find the info I waslooking for. A couple of days later I noticed that it was under "WML -special characters", which in a book about WAP struck me as rather likeplacing information about arrays under "Perl - arrays" in a book about Perlprogramming!Those small niggles aside, I would recommend Professional WAP to anyonelooking to buy a reference for their WAP developing adventures. It providesall the information a developer needs to get started in all aspects ofdeveloping mobile services. Fortunately it doesn't answer every question,meaning that lists such as ours will continue to flourish! For completenon-programmers, a great deal of this book will be overcomplicated. Howeverthe introductory chapters covering WML and WMLS should mean that evencomplete beginners can produce useful content. Experienced programmers willfind a good coverage of techniques for extending their applications tomobile users.Further Information:
Professional WAP has a cover price of $59.99 (US), $89.95 (Can) and �43.99(UK). The author list is:Charles Arehart, Nirmal Chidambaram, Shashikiran Guruprasad, Alex Homer, RicHowell, Stephan Kasippillai, Rob Machin, Tom Myers, Alexander Nakhimovsky,Luca Passani, Chris Pedley, Richard Taylor and Marco Toschi.