XForms Essentials book review

Author: Micah Dubinko ISBN: 0596003692 Publisher: O’Reilly & Associates

      HTML forms are a necessary evil, outdated and overworked they are
  prime targets for a long awaited overhaul. From out of the shadows
  we have the only contender to step up to the challenge and push
  forward; XForms.


       XForms Essentials has an enviable pedigree, with Micah Dubinko an
   editor and author of the XForms specification itself, writing the
   book the information is almost straight from the horses mouth.
   While the accuracy of the books content can't be argued with the
   terse style of his writing isn't ideal for someone with no
   previous exposure to the XForms spec.


       Despite the books short length, eleven chapters in under 200
   pages, it attempts to cover an ambitious amount of ground. This
   includes an introduction to HTML forms, the XPath required to
   understand XForms and even a little of the behemoth known as XML
   Schema. Unfortunately it overextends itself and leaves some of
   the chapters in a no-mans land, too superficial for beginners
   (Chapter 4 on XML Schema) and not enough meat for advanced
   readers (Chapter 11 Extending XForms.)


       Two factors sank the book for me, firstly its lack of
   accessibility and the fact that it never managed to grab my
   attention, this is not a book you glance at and impulse buy!
   Secondly it lacks the one thing that could have made the subject
   matter spring to life; information on the current
   implementations. The author must have been placed in an awkward
   position when writing, the implementations are both thin on the
   ground and major adoption isn't looking too promising in the near
   future.


       After this review was first submitted to the London PM mailing
   list an XML.com article called <a
   href="http://www.xml.com/pub/a/2003/09/10/xforms.html">Ten
   Favorite XForms Engines</a> was published by the books author.
   This article is exactly what I feel the book was missing, it
   introduces the current implementation options and shows how you
   can use the spec in the here and now. The article addresses some
   of my criticisms and is a high enough quality to warrant
   inclusion in the next edition.


I think this book was released before its time. The excellent
   (actually the highlight of the book in my view), chapter on
   combining XForms and CSS show that the author can bring the
   subject away from dry explanations of the spec. This combination
   of practical aspects and insights into the rational behind the
   decisions in the spec make it both an interesting read and
   contrasts the potential of the standard against the existing
   kludges and work arounds. This was the only part of the book that
   indicated the real concrete benefits provided by XForms beyond
   what can already be done with HTML forms when combined with some
   client and server side scripting.


       Unfortunately the books lack of any discussion regarding existing
   applications and current implementation support leaves this as a
   lonely bright spot in the book. With some more display of the
   external support of the standard, either case studies or
   implementations, the book could have been the only one you need.
   As it stands its coverage is both accurate and quite
   comprehensive, albeit dry and rather academic. The second edition
   warrants watching for.


       Update: This review is odd in that I've had a chance to look back
   over it before it was put online. After sending it to the list I
   asked for it to be left off the site for a while so I could
   update it based upon some extremely apt and thought provoking
   comments from Robin Berjon. In addition to pointing me at the
   article mentioned above and correcting me on the status of the
   spec, Robin didn't so much argue with me as point out the bits I
   didn't think about enough and raised the awkward questions I
   really hoped no one would think of. This review benefited a lot
   from his observations. 

       My view of the book is more positive than it was, it has aged
   gracefully and still covers the essentials. What's ironic is that
   the chapter I felt was missing, a section on implementation
   details, is the section that would have aged the most. My rating
   is slightly higher than last time: 6/10