XHTML2 is the next version of HTML, offering improved usability, accessibility, document structuring, internationalization, device independence, integration with the semantic web, and better forms processing. This tutorial by the chair of the W3C working groups producing the technologies introduces XHTML2 and shows how it improves the website building process. ========= HTML is a great success, but has become a sort of Garden of Eden, with lots of Thou Shalt Nots in the form of guidelines, such as for accessibility, usability, internationalisation, metadata, device independence, etc. Representatives of these communities have all come to the HTML working group to ask for new facilities with the aim of reducing the need for such guidelines. The first part of this tutorial shows the unity of design of XHTML2, and how it has largely solved the requirements by generalising existing facilities in HTML. It then goes into the details of some solutions. The second part uses the attendee's knowledge of HTML Forms to show the similarities and differences with HTML, and demontrates the power of the XForms approach. It then develops several example applications, and demonstrates working examples of advanced applications. It rounds off by discussing the large number of available implementations, including implementations for mobile devices, and talking about typical applications XForms is being used for now in industry. The tutorial will be given by the chair of the two W3C working groups producing the technologies. =============== Talk: The power of declarative thinking Computers are becoming exponentially more powerful. They used to be incredibly expensive, and humans (in comparison) nearly free. Now the tables are reversed: computers are nearly free and people are incredibly expensive. And yet we insist on using tools to address computers that were designed to make life easy for computers rather than people. The success of the Web has turned the browser into a central application area for the user, and you can spend most of your day working with applications in the browser, reading mail, shopping, searching your own diskdrive. The advent of applications such as Google Maps and GMail has focussed minds on delivering applications via the web, not least because it eliminates the problems involved with versioning: everyone always has the most recent version of your application. Since Web-based applications have benefits for both user and provider, we can only expect to see more of them in the future. However, the approaches used for these applications don't address some fundamental needs for the web, such as accessibility and device independence. And furthermore the approach comes at a cost. Google Maps is of the order of 200K of Javascript code. Such applications are only writable by programming experts, and producing an application is not possible by the sort of people who often produce web pages for their own use. This talk discusses the requirements for Web Applications, and the underpinnings necessary to make Web Applications follow in the same spirit that engendered the Web in the first place. =========================== XForms 1.1 XForms is a new forms and application technology being widely adopted by industry. The advantages of XForms include: * It improves the user experience: XForms has been designed to allow much to be checked by the browser, such as types of fields being filled in, or that one date is later than another. This reduces the need for round trips to the server or for extensive script-based solutions, and improves the user experience by giving immediate feedback to what is being filled in. * It is XML, and it can submit XML. * It combines existing XML technologies: Rather than reinventing the wheel, XForms uses a number of existing XML technologies, such as XPath for addressing and calculating values, and XML Schemas for defining data types. This has a dual benefit: ease of learning for people who already know these technologies, and implementors can use off-the-shelf components to build their systems. * It is internationalized. * It is accessible: XForms has been designed so that it will work equally well with accessible technologies (for instance for blind users) and with traditional visual browsers. * It is device independent: The same form can be delivered without change to a traditional browser, a PDA, a mobile phone, a voice browser, and even some more exotic emerging clients such as an Instant Messenger. This greatly eases providing forms to a wide audience, since forms only need to be authored once. It is easier to author complicated forms. The presenter is one of the authors of the XForms specifications, and is co-chair of the Forms Working Group that produced the technology. This tutorial introduces XForms step-by-step. It covers essentially all of XForms except some technical details about events, and no more than a passing reference to the use of Schemas. It also covers what is new in XForms 1.1. Emphasis is on how to improve the user experience, and how XForms improves accessibility and device independence, and makes the author's life easy in producing a better experience.