Web Devout tidings

Archive for the 'Browser releases' Category

Firefox 2 released

Wednesday, October 25th, 2006

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

Thursday, October 19th, 2006

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.

Recent criticism over IE7 CSS support

Thursday, August 10th, 2006

Since this site’s standards support resource was referenced in an article linked to on Slashdot, there has been some renewed discussion critical of Microsoft’s efforts in browser development. I have seen some blogs such as Web 2.0 Explorer and Download Squad complain that Internet Explorer 7 won’t be fully CSS 2.1 compliant.

In a somewhat rare move, I must come to Microsoft’s defense on this one. As far as I know, Internet Explorer 7 isn’t adding any nonstandard features to CSS and the developers have put forth a lot of work to fix as many of the most common CSS bugs as time allowed them. After a recent update, my tables currently show that Internet Explorer 7 has 55% support for CSS 2.1, up from 51% in IE6. That’s a 4% improvement. Although that doesn’t sound like much, it should be noted that it’s about the same total difference that the latest versions of Firefox and Opera have improved over their predecessors (Firefox 1.5 showed a 5% increase and Opera 9 showed a 3% increase).

The CSS standard is very large and complex, and I’m not sure if Microsoft is structured in such a way that they can put too many more people on the Internet Explorer core development team without it becoming too disorganized. All things aside, a 4% increase isn’t too bad for a year’s worth of work considering the other more user-focused improvements. It certainly doesn’t put Internet Explorer anywhere near where we web developers would like it to be, but that simply isn’t a realistic possibility in this short amount of time. In fact, considering that they’re adding improvements at about the same speed as the other browsers, it’s doubtful that Microsoft (or any company in their position) can catch up to the competition in the foreseeable future. That’s a reality we have to face, and it isn’t really the fault of Microsoft’s current efforts, but its past efforts (or lack thereof).

I think the Internet Explorer developers are starting to get it. They’ve been opening up lately and have expressed growing care for standards. I don’t see how Trident can become a decent layout engine without a ground-up rewrite as every other major layout engine had in the CSS era, but the developers are doing what they can. In IE7, Microsoft showed a willingness to break backwards compatibility in the interest of standards, and I think that was a very important precedent to set. I don’t know if they’re likely to rewrite the engine from scratch, but they are no longer giving the finger to web standards and I don’t believe the developers deserve the disrespect many have given them for the work they are doing right now. What I believe Microsoft deserves disrespect for is the long wait they gave us and all of the proprietary junk beforehand.

Yes, Internet Explorer’s standards support is still abysmal compared to Firefox and Opera, and at this rate it looks to be so for many more versions to come. But I don’t see any reason to chastise Microsoft for what they’re currently doing. Instead, ask why they waited so long if they knew they were unable to catch up afterwards, and encourage the public to select their web browsers based on the true quality of the browsers and not simply based on the browsers’ market inertia. As alternative browsers gain a powerful market share, web developers can begin sneaking newer standards into their websites and drive the public to using only modern web browsers. If Internet Explorer can’t handle what all of the other competitors can, then it’s a simple survival of the fittest situation and the worst browser is left in the mud. If Microsoft can pull a rabbit out of their hat and make Internet Explorer a true competitor, then there should be no complaints. Internet Explorer 7 has a decent amount of improvements, and we’ll see where the developers take it from there.

But I’m still hoping for a full engine rewrite.

Opera 9 standards support information complete

Tuesday, August 8th, 2006

I finally sat down and finished the standards support information for Opera 9.

Opera 9 shows some major improvements in key areas. The CSS information was discussed earlier, and here are some of the HTML and DOM support highlights:

  • Various minor HTML support fixes.
  • Support for Document.adoptNode().
  • Improvements to XML namespace support in DOM Core.
  • Support for Node.textContent.
  • Improvements to DocumentType (document.doctype) and Notation and Entity interfaces.
  • Huge improvements in DOM Level 2 Style, surpassing Firefox 1.5’s support in some areas. Includes near complete implementation of DOM Level 2 StyleSheets and most of DOM Level 2 CSS (excluding the CSSValue interface, a number of other interfaces related to CSS property values, DocumentCSS, and DOMImplementationCSS).

According to the tables, HTML/XHTML support has increased by under 1% and DOM support has increased by 6%. The tables now put Opera 9’s overall DOM support above Firefox 1.5’s: 84% compared to 79%, with Internet Explorer 7 at 51%.

Opera 9 CSS support information available

Thursday, June 22nd, 2006

I have finished testing the CSS 2.1 and CSS 3 support in Opera 9.

Here are some of the major changes in Opera 9 as far as CSS 2.1 and CSS 3 support:

  • Apparently full support for CSS 2.1 basic selectors.
  • Corrected support for :active and :hover with universal selectors and the body element.
  • Some fixes for margin and width properties.
  • Elements can now properly overlap iframe elements.
  • Much improved support for CSS 3 media queries.
  • Apparently full support for CSS 3 basic selectors (from previously no support).
  • Support for most form-related CSS 3 pseudo-elements.
  • Some support for CSS 3 opacity property, although the support is somewhat flawed (for example, if you have an element with the same color for foreground and background and reduce its opacity, the text’s alphatransparency is rendered separately from the background’s, causing the text to be quite visible).

There isn’t much that I was personally disappointed about. There are still some issues with :before, :after, and :first-line, but they are no worse than the issues other browsers have with them. Counter scope is still handled incorrectly according to the current CSS 2.1 drafts, although the problem can be avoided by remembering to use counter-reset in the appropriate places. I would have liked :last-child support, but that’s in CSS 3 anyway. I still notice some slight positioning problems when dealing with very complex styles, although it’s difficult to pinpoint the exact source.

All in all, this release shows that Opera is continuing to make consistent progress in the area of CSS support, and it is certainly giving other leading browsers some strong competition. According to the Web Devout tables, Opera’s overall CSS 2.1 support has risen from 93% to 96%, compared to IE 6’s 52%, IE 7’s 54%, and Firefox 1.5’s 93%. Opera’s support for current CSS 3 changes has risen from 8% to 22%, compared to IE 6’s 10%, IE 7’s 13%, and Firefox 1.5’s 27%.

HTML and DOM support information will come later. Some improvements have been made in both areas.