Evaluation report and plan for tool needs.

Project acronym: QUESTION-HOW
Project Full Title:Quality Engineering Solutions via Tools, Information and Outreach for the New Highly-enriched Offerings from W3C: Evolving the Web in Europe
Project/Contract No. IST-2000-28767
Workpackage 1, Deliverable D1.1

Project Manager: Daniel Dardailler <danield@w3.org>
Author of this document: same

Created: 3 December 2001. Last updated: July 1st 2002.


Table of Content:


Introduction

The objectives of this workpackage (WP1) is to improve the quality of existing W3C Recommendations by improving the tools (validators, presentation facilities, conversion tools, benchmarks, demonstrators and guidelines) associated with them. The set of tools described below are being derived from the needs of the W3C working groups.

During the first three months of the project, an assessment of the state of the current set of tools used in the W3C community has been made and as a result, new functionalities added to existing tools or new tools are being proposed.

The expected result of this work is enhanced value in W3C Recommendations through the provision of tool support shifting the user from awareness to understanding of the emergent technology.

This deliverable describes Projects that will be delivered in the next 12 months of activity under WP1, for Deliverables WP1.2-6. Each project has a cost evaluation in person-month for its development.


Project: CSS3 validator

The project consists of updating the CSS validator for CSS level 3.

The CSS validator is a program for checking the correctness of CSS style sheets. It can be downloaded and run on a stand-alone machine, but its most popular incarnation is the on-line service maintained by W3C (http://jigsaw.w3.org/css-validator/). The validator has been in use for several years already, first for CSS level 1, then, after an upgrade, for CSS level 2, and at the moment CSS level 3 is being developed by a working group of W3C, and thus the validator will need another upgrade.

The validator has seen a steady growth in popularity over the years. At the moment it gets about 5000 requests for validation per day, and the number is still increasing. Recently, one browser (Konqueror) added the CSS validator to its menu bar, so users can check any given Web page with a single click.

The validator not only checks the syntax of a style sheet, but also issues warnings for dubious constructs, inconsistent rules, or potential problems (such as mixing relative and absolute units of measurements in certain ways, or a foreground color that is the same as the background color). The warnings and errors are localized, which means that users will get explanations in their own language. Each error also includes alink to the correspondaing passage in the specification.

The validator is a Java program as well as a Java "servlet".

Person-months: 3


Project: CSS3 test suite

The project entails developing tests and helping others develop tests for the various modules of CSS level 3.

There exists a test suite for CSS level 1 (http://www.w3.org/Style/CSS/Test), but no test suite was made for level 2. That means that for level 3 quite a large number of new tests will have to be created, not only for new features of level 3, but also for features of level 2 that have not yet been tested. A start has been made already: the CSS working group is developing a test suite for one module of CSS3 (Selectors), but this is only one of about 20 modules.

Creating a test suite involves more than inventing tests. Tests should also be easy to use, especially for software developers who need to go through a large test suite often and quickly, sometimes every day. In addition, the tests have to be available in various formats: for browsers on PCs, browsers on phones, on TVs, handhelds, etc. some of which may not even understand HTML.

An example are SVG implementations, which use CSS in combination with SVG. The tests will be developed in close cooperation with the CSS working group of W3C, who is responsable for writing the specifications of CSS level 3 and also supervises the tests and controls their publication.

The tests will be available to the public and can be run on-line with any browser, or downloaded and run locally.

Person-months: 2


Project: Photo RDF, Metadata and Pictures

Description: Metadata are something very important when dealing with pictures. It is very common to find a very old picture, with no annotation, and wondering about where it was taken, what or who is on the picture. This lack of description may come from the fact that the format is not allowing that (negative 35mm film), or that it has been lost (an external sheet of paper).

The idea there is to store metadata directly in pictures, the advantage being that it won't be lost, it would be very easy to get new metadata when the picture changes even on a remote location, and extraction would be very easy to do. To achieve this goal, the most simple option is to use the classic tools that are just extracting and inserting files in the picture. However it is not an easy way to add metadata to a batch of images.

The goal of this project is to create an interface to allow easy creation of metadata and the possibility to work on a batch of pictures, both local or remote. It will be implemented in Java to allow demonstration on a vast variety of platforms.

Person-months: 2


Project: Collaborative Batch Web Editing Tool

Description: The original design of the Web was to be read-write, unfortunately, despite the fact that it was already in the communication protocol used on the web (HTTP), nearly all current Web servers and clients allow remote reading, but not remote writing. The goal of the "Collaborative Editing of Web content" project is to enable read-write access. As most HTTP PUT enabled tools are editors, some tools are missing to allow upload of a batch of files, or of non-textual content.

The goal of this project is to create such a tool. It will also interoperate nicely with the server to allow conflict detection as well as removal of remote content on the server. To allow a rapid deployment, the project will be done in Java, with a simple GUI interface.

Person-months: 2


Project: Tools for improving W3C Specification Quality

The goal of this project is to provide a framework of guidelines and tools used to analyse a W3C specification and show the dependencies between the different features and attributes of this specification.

The goal is to make the W3C specifications more amenable to writing test suites and interoperable products.

The W3C Specifications are, most of the time, based on a DTD or an XML schema language which define the syntactic structure of a language. The specification further explains the features and their uses. For the point of view of a developper it may become difficult to work out the dependencies between the different features: nested elements, forbidden elements, discretionary behaviors, etc. or to find the list of values accepted by attributes.

A first document in a form of a W3C guidelines/checklist will be produced to describe what constitutes a testable specification.

The project will then provide a tool to convert a DTD and/or an XML schema in a form technically readable for developpers and specifications editors:

Person-months: 2


Project: Additional resources for QA

The W3C Quality Assurance (QA) Activity has a dual focus:

QA is absolutely necessary in order to ensure interoperability and usability and also to have consistency between the specifications we produce.

To achieve these goals, we need tools and documents that are specifically developped or written for the W3C QA, but that will be usable by the W3C community as large.

The idea behind this project (which is in draft stage today) is first to create a tool to manage the matrix of all W3C specification and the information produced by it:

Associated with the matrix, we will deliver a taxonomy document defining all fields covered by QA, ie.e which category tools, specifications, documents belong to. It's a tool that will help people working in the same area to have a common vocabulary and create a kind of ontology of the W3C QA work.

Person-months: 2


Project: Enhancement of the Amaya Web browser/editor for Internationalization and XML

The goal of this deliverable is to provide an internationalized version of Amaya, W3C's Web browser and editor. At the same time the application will be improved and completed to help Web content authors develop XML-based Web sites.

Amaya is a Web client that acts both as a browser and as an authoring tool. It has been designed by W3C with the primary purpose of demonstrating new Web technologies. It comes equipped with a WYSIWYG style of interface, similar to that of the more popular commercial browsers. Browsing and authoring are integrated seamlessly. Web pages can browsed and edited at the same time.

As common Web clients Amaya handles Web pages written in HTML and decorated with CSS (Cascading Style Sheets). With the development of XML, Amaya was extended to support some XML applications. The current version is able to browse and edit multi-XML-namespaced documents that mix natively: XHTML for text and tables, MathML for mathematical equations, SVG for 2D-graphics. Annotea is an annotation application that works with Amaya. It takes advantage of the XML support in Amaya to let users add comments to any Web document. Annotea dynamically inserts Xlink (XML linking language) mark-up into Web documents displayed by Amaya that point to attached annotations. Annotations are also XML documents that can be displayed and edited with Amaya.

This project will provide an internationalized version of Amaya with some enhancements like a better support of SVG and custom XML languages.

XML requires an internationalization support through the use of ISO 10646/Unicode to identify and describe characters. The goal is to ensure that Web documents are usable worldwide in all languages and in all writing systems. The current version of Amaya only provides support for ASCII and Latin-1 documents. The work will consist of a deep change of the Amaya code to let it work with Unicode characters instead of Latin-1 characters. The second step will be to handle TrueType fonts that will allow Amaya display Greek, Hebrew, Arabic, etc.

The current implementation of SVG in Amaya is very light. As the support of 2D-graphics is of great interest to site's authors, the current implementation will be improved and completed. The goal is to provide full support for SVG-Tiny (a low level SVG profile for mobile devices).

Amaya currently allows users to create documents for a set of well known XML languages (XHTML, MathML, SVG). It will be extended by allowing authors to write Web pages using a custom XML language. The goal is to be able to interpret the structure of any XML document and to format it through CSS style sheets.

Amaya runs on Windows, Macintosh (MacOS-X), Linux, and all other Unix platforms. Today Linux and Unix versions of Amaya are based on the Motif toolkit which was a standard for these platforms. The new GTK standard (The GIMP Toolkit) is now emerging and Amaya has to follow this evolution. The work will consist of adapting the Amaya user interface to this new interface toolkit.

Person-months: 5


Project: XSLT showcase

XSLT is a language designed to perform transformations of XML files. Originally intended for displaying XML data through the use of the Extensible Stylesheet Language (XSL), it can be used separately as a general-purpose language, and has indeed become very popular for generating HTML pages from custom XML data. Many tools supporting XSLT exist, either stand-alone processors or mainstream Web browsers that allow the transformation to happen on the client's machine, thus decreasing the server's load and allowing the client to customise the resulting page.

This project will demonstrate the use of XSLT in various environments:

Person-months: 3


Project: MathML Test Suite and Validator

Description:

The MathML Test Suite and Validator are tools under development at W3C to help deployment of the Mathematical Markup Language on the Web as well as within mathematical software.

Until now, mathematical equations were shown on the Web through the use of pictures, which caused numerous problems: images have to be generated off-line, a page with complex mathematics can contain many pictures and take a while to download, and rendering is fixed and cannot be modified to suit the user's preferences or abilities (font size, colours, aural rendering). MathML was designed by W3C to solve this problem by defining a language that describes precisely what an equation looks like so that a Web browser supporting it can display the mathematics in a more "intelligent" way than through the use of pictures.

Now MathML is supported by a fair amount of browsers, either natively or through "plug-ins". Additionally MathML has been adopted by the major mathematical software companies as a common interchange format. Part of the work of the newly re-chartered W3C Math Working Group is now about education and outreach. In particular: to help Web content authors write valid MathML for correct display in a browser, and reciprocally to ensure software authors handle MathML correctly for display or data exchange.

This project will demonstrate two tools for achieving this goal:

A new version of the test suite will be delivered that reflect the updates in various conventions MathML builds upon, such as current mathematical notation or Unicode mathematical symbols. Various errors will also be corrected, and a more user-friendly interface is planned.

Person-months: 2


Project: SVG Web Site Showcase development

Description:

The goal of this project is to showcase SVG on a prestigious web site to demonstrate its applicability and strengths.

Some Web sites are currently using Dynamic HTML (e.g., the Bibliotheque National de France for some of its virtual galleries) in very creative ways, combining HTML with a lot of ECMAScript.

Such sites would benefit from being converted into SVG which would:

The project will demonstrate how SVG delivers on those aspects. The Bibliotheque National de France has agreed to participate to this project. If they are satisfied with the result of the project, they agreed to make the SVG content available on their web site.

The project will consist in converting the Dynamic HTML content into its SVG equivalent. The converted SVG content will:

Person-months: 3


Project: W3C Technologies Integration in SmartTool

The goal of this deliverable (and its sub-deliverables) is to adapt and use a programming environment platform originally developped by INRIA, called SmartTools, to migrate to using W3C standards (XML, XML Schema, DOM, Web Services, etc) at every possible level. With such a coherent platform in hand, we can then use it to demonstrate the benefits of building tools based on such standards, in terms of interoperability with Web technologies.

In its current form, SmartTools can take a language grammar, and

The work would consist of:

This deliverable will therefore demonstrate the emerging functionality of those new Web inter-related technologies.

Person-months: 6


Project: Extensions of RDFSuite

Validating RDF Parser (including RDF Schemas), object-relational store for RDF metadata, and RDF-Query language for querying resource descriptions and schemas

ICS-FORTH has developed substantial know-how in RDF metadata management. Specifically, a suite of tools for validating, storing and querying RDF descriptions is currently under development. RDFSuite comprises the following tools: VRP (Validating RDF Parser), RSSDB (RDF Schema-Specific Database), an object-relational store for RDF metadata and RQL (RDF Query Language), the first declarative language for querying resource descriptions and schemas in a uniform manner.

The goal of this sub-deliverable is to continue and complete the development of RDFSuite by producing appropriate graphical user interfaces (GUIs) for the aforementioned tools and by improving the tools' performance so that they can be used by the entire consortium for managing metadata descriptions of all related resources (documents, software etc.)

Person-months: 2


Project: XSL - XPATH Test Environment

A Validator for XSLT/XPATH and XSL-Fo

For the time being there is a test suite for XSLT/XPATH and XSL-Fo provided by OASIS and NIST these environment give only limited help to the user in identifying errors cause every output must be checked manually (600 Tests for XSL-Fo) and there is no validator for XSLT/XPATH and XSL-Fo.

This project will implement a test environment that automatically checks the results of a transformation against the correct results

The goal is to build a tool that automatically

Architecture of the test tool:

Graphic of architecture

Person-months: 3


Project: Using RDF to query multiple SQL Databases

Objective: To produce a demonstrator to show the benefits of RDF over XML Schema, raw XML, or the SQL output formats for both query and integration of information.

Background: Access to multiple databases is a classic problem in IT. Using a single distributed schema across multiple databases is one solution to this problem where it can be imposed, but in practice this solution does not address legacy systems, or systems created with different vocabularies (e.g. car vs automobile). The ambiguity to be resolved is a semantic problem for the RDBMS which is addressed by ontologies expressible in RDF.

RDF/DB architecture

The demonstrator will provide the complete package shown above to demonstrate the benefits of using RDF as a Semantic Web solution to this problem. Many of the parts are already implemented in the DAML+Oil project, by Eric Miller at W3C (lead of W3C Semantic Web activity) or in commercially available tools (e.g. XML Spy). Other parts will require design and implementation. The whole package will need to be put together, along with example queries, DB entries etc, to produce a documented demonstration showing cost effectiveness of the approach.

The activity for WP1 is to identify the exact architecture, best existing tools at the time that can be used and to implement the missing components. The XSLT script to translate from XML Schema and pre-existing limited domain ontologies will be written. The other components will be adapted.

Person-months: 3

Project: Mapping of Complex Forms

Forms are the current customer organization interface.

The motivations for this project are numerous: Organizations need efficient and powerful tool to handle forms and users request to have continuous access to the organizational interfaces. In addition, XForms intend to become the bridge across these expectations and Validation of XForms is an essential capabilities.

The goals are to be able to map complex HTML forms to the new XForms markup language, and doing so analyze XForms and gain the ability to easily handle complex forms.

We also want to develop a dictionary of modules to help in producing forms and to help in extracting information from forms.

The steps used:

Person-months: 4


Deviations from plan

As we can see from the above description:

The idea is that for WP2, in year 2 of the project, the ratio is going to be reversed, with the W3C offices taking up most of the technical work.

You'll note that the total amount of person-month resources on WP1 is 44pm (32+12), which is a bit more than what was originally allocated in the Technical Annex (36 pm, see table in section 9.2). The idea, now that we have a better idea of the work planned, is to balance the workload between WP1 and WP2 so that WP2 will take about the same amount than WP1 (so less that in the TA: closer to 40 instead of 48) and that the overall WP1 + WP2 person-month does not depart much from the original plan.

Also, the Technical Annex describes for WP1 a series of deliverables and milestones which needs to be mapped to the set of "projects" indicated in this deliverable.

The mapping is the following:

and we keep the same milestone agenda except for M1.4 which is moved to WP02.