Web Devout tidings


A list of useful web development tools

November 24th, 2006 by David Hammond

The Web development tools article has been published. This article describes a collection of useful third party tools for web developers, all available free of cost. More tools will be added to the article over time.

Bulletproof HTML: 37 Steps to Perfect Markup

November 1st, 2006 by David Hammond

Bulletproof HTML: 37 Steps to Perfect Markup is a well-researched article by Tommy Olsson answering 37 general questions about HTML and XHTML that every web developer should know but too few do. Even if you’re an advanced web developer, chances are there are some bits of knowledge in here that you didn’t know.

W3C to resume HTML standard development

October 30th, 2006 by David Hammond

Tim Berners-Lee, the W3C director and inventor of the Web, recently made a blog post announcing plans to charter a new HTML working group to make incremental additions to the HTML standard. In his post, he acknowledged problems with getting the Web switched over to XHTML, and determined that such a progression must be done more gradually.

Some things are clearer with hindsight of several years. It is necessary to evolve HTML incrementally. The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn’t work. The large HTML-generating public did not move, largely because the browsers didn’t complain.

One of the chief problems with the adoption of XHTML is the complete lack of support by Internet Explorer and a number of search engines and other user agents. As a result, webpages that are marked up as XHTML are often sent to the browser using the text/html content type instead of the proper application/xhtml+xml content type, thus causing browsers to treat the page like HTML instead of XHTML. This has lead to lots of “bad” XHTML that, if a browser was to attempt to treat like real XHTML, would completely fall apart. More problems with XHTML are discussed in the Beware of XHTML article.

Tim Berners-Lee also mentioned the advent of the Web Hypertext Application Technology Working Group (WHAT WG), an open standards organization that works separately from the W3C in attempt to more immediately address the interests of real-world web applications developers. WHAT WG is lead by Ian Hickson, who has participated in the development of both Opera and Mozilla products and currently works for Google. WHAT WG has received some criticism that it has departed from the ideals of the semantic web and some of the foundation of today’s established standards. Largely through Ian Hickson’s influence, Opera and Firefox have over the last few versions added support for a number of features in WHAT WG’s Web Applications 1.0 specification.

Berners-Lee hopes that with the chartering of the new HTML working group, parties that are interested in the development of the HTML standard will return from separate efforts like WHAT WG back to the W3C process.

The plan is to charter a completely new HTML group. Unlike the previous one, this one will be chartered to do incremental improvements to HTML, as also in parallel xHTML. It will have a different chair and staff contact. It will work on HTML and xHTML together. We have strong support for this group, from many people we have talked to, including browser makers.

Firefox 2 released

October 25th, 2006 by David Hammond

There were some premature announcements around the blogosphere the last couple of days, but Firefox 2 has now been officially released. It is primarily a user interface upgrade. Some of the changes include a built-in inline spell checker, a built-in phishing site detector originally developed by Google, automatic session restoration in the event of a crash, a search engine manager, new icons and tab styles, and other odds and ends.

In terms of standards support, very little has changed. Almost all platform development work since Firefox 1.5 has been going into Gecko 1.9 development which will be rolled into Firefox 3, to be released next year. This was done to allow extra time for the major improvements that are being made for Firefox 3. Some of the platform improvements in Firefox 2 include JavaScript 1.7 with client-side session and persistent storage support from the Web Applications 1.0 working draft (an open standard-in-development, although not affiliated with the World Wide Web Consortium) and improvements to SVG support.

You can download Firefox 2 from the Mozilla website. Firefox 2 will be rolled out as an automatic update for Firefox 1.x users within the next few days.

Internet Explorer 7 is officially released

October 19th, 2006 by David Hammond

Internet Explorer 7, the first platform update in over five years, has now been officially released as a finished product. IE7 offers a new user interface with some added features long offered by other browsers, as well as a few unique gadgets. To help reduce the impact of security vulnerabilities, they have added a phishing site detector similar to the ones the soon-to-be-released Firefox 2.0 and Opera 9.1 will have, and they have also made ActiveX an opt-in feature. Most of the vulnerabilities themselves will likely carry on from IE6 to IE7, and the Internet Explorer development team has indicated that their response to security vulnerabilities will remain basically the same as it was with IE6.

Most importantly for web developers, IE7 offers some long-overdue improvements to its support for web standards, mainly in the area of CSS. Some of the most annoying bugs in real-world web development, such as the non-definite treatment of the height and width properties and various float and margin bugs, have been fixed. There is now at least preliminary support for min-height, max-height, min-width, max-width, position: fixed, and background-attachment:fixed on more elements. Box stretching using the top, right, bottom, and left properties is now supported. :hover is now supported on additional elements, although there are a few bugs with it. .class1.class2 now works as expected. :first-child, the > combinator, the + combinator, attribute selectors, and other new selectors are now somewhat supported, though with a few show stopping bugs (see below). PNGs are apparently now automatically routed to the AlphaImageLoader filter, enabling alphatransparency without the need for extra hacks. There are some known problems with this new implementation, particularly when using PNGs as backgrounds in combination with other Microsoft filters. There is a new XMLHttpRequest object that similarly wraps the ActiveX control, providing a native-like interface to the object. The abbr element is now supported as well.

These improvements have cleared out a lot of the immediate rubble that was in our way on the path to standards, but it is only the first milestone on a long journey. All of the above CSS additions still have a number of bugs that are left to be addressed in future releases. Many other bugs are also unaddressed in IE7. The problematic hasLayout model still exists in IE7, and even more properties trigger it than before. :focus, :lang, :after, :before, border-spacing, caption-side, clip, content, counter-increment, counter-reset, display:table, display:table-row-group, display:table-row, display:table-column-group, display:table-column, display:table-cell, display:table-caption, empty-cells, many list-style-type values, outline and related properties, quotes, and the inherit values on nearly all properties remain completely unsupported despite other major browsers offering good support for all of them. Furthermore, there are some serious new bugs, including one that prevents floats from being cleared in certain situations, as well as a fundamental problem with selectors that prevents :first-child and sibling combinators from behaving correctly around HTML comments or other non-element constructs. I personally reported the most serious of these bugs to Microsoft during the beta process, but these problems still remain in the final release.

Other remaining issues include the complete lack of support for XHTML (XHTML pages served with the typical text/html content type header are instead treated like regular HTML, not XHTML, by most browsers including Internet Explorer; the correct content type is application/xhtml+xml, which IE still doesn’t support), broken support for the object element for simple tasks like embedding images, incorrect support for the q element, no support for alternate stylesheets, and no significant work done on the scripting engine other than providing a native-like wrapper for the XMLHttpRequest object, providing interfaces for the new CSS properties, and fixing some memory leaks. More standards support information can be found in the Web browser standards support section.

The high-priority automatic update is expected to be deployed sometime in November, most likely either on the 1st or on November’s Patch Tuesday (the second Tuesday of the month). Internet Explorer 7 is only supported on Windows XP SP2 and the upcoming Windows Vista. Internet Explorer 7 can be downloaded from the official Internet Explorer site.

All-in-all, the developers did put a lot of work into this release and made about as much progress as one can expect in the time they had. Still, they were very far behind to start with, given the project’s long slumber from back in 2001, and it looks like Internet Explorer will continue to make up our development ceiling for the foreseeable future. Here’s to hoping for steady improvements in the future.

From previous announcements, it is expected that Microsoft will release a new version of Internet Explorer approximately every 12 to 18 months. Indications are that the next version will improve on CSS support as well as scripting/DOM support. Some early SVG support is also a possibility, although there hasn’t been confirmation on this.