Browsers

FireFox 3 Released Today!

Tagged:  

Today is the official launch date for Mozilla's Firefox 3! The new version of the browser promises quite a few new features include performance improvements.

Below is an excerpt of a few new features.

Improved Platform for Developers

  • New graphics and font handling: new graphics and text rendering
    architectures in Gecko 1.9 provides rendering improvements in CSS, SVG as well
    as improved display of fonts with ligatures and complex scripts.
  • Color management: (set gfx.color_management.enabled on in
    about:config and restart the browser to enable.) Firefox can now adjust images
    with embedded color profiles.
  • Offline support: enables web applications to provide offline
    functionality (website authors must add support for offline browsing to their
    site for this feature to be available to users).
  • A more complete overview of href="http://developer.mozilla.org/en/docs/Firefox_3_for_developers">Firefox 3
    for developers is available for website and add-on developers.

Improved Performance

  • Speed: improvements to our JavaScript engine as well as profile guided
    optimizations have resulted in continued improvements in performance.
    Compared to Firefox 2, web applications like Google Mail and Zoho Office
    run twice as fast in Firefox 3, and the popular
    SunSpider test from Apple shows improvements over previous releases.
  • Memory usage: Several new technologies work together to reduce the amount
    of memory used by Firefox 3 over a web browsing session.
    Memory cycles are broken and collected by an automated cycle collector, a new
    memory allocator reduces fragmentation, hundreds of leaks have been fixed, and
    caching strategies have been tuned.
  • Reliability: A user's bookmarks, history, cookies, and preferences
    are now stored in a transactionally secure database format which will prevent
    data loss even if their system crashes.

You can read all about the new features here.

I am just waiting until I can download the software (should be any moment) and I'd love to hear if you plan on downloading Firefox 3 or if you prefer a different browser.

Mozilla CEO says Apple's Safari auto-update 'wrong'

Tagged:  

Over at cnet's News.com they have reported the John Lilly the CEO of Mozilla has criticized Apple's auto-update practices.

Below is an excerpt from the post.

In a blog on Friday, Mozilla CEO John Lilly criticized Apple's practice, uncovered this week, of offering iTunes and QuickTime users Safari 3.1 on Windows through the Apple Software Update pop-up.

Lilly says that automatic updates are a good way to ensure people have the most recent and secure versions of software. It's a practice that Mozilla uses with the Firefox browser.

What's different in what Apple is doing is that it is adding a product to the auto-update list that users never requested. That means they could very easily install software unintentionally, he argued:

Apple has made it incredibly easy--the default, even--for users to install ride along software that they didn't ask for, and maybe didn't want. This is wrong, and borders on malware distribution practices.

It's wrong because it undermines the trust that we're all trying to build with users. Because it means that an update isn't just an update, but is maybe something more. Because it ultimately undermines the safety of users on the Web by eroding that relationship. It's a bad practice and should stop.

You can read the full post here.

I would love to hear your thoughts on this practice (You can leave them in the comments or write a post about it on this blog using your free Ajaxonomy account).

Are you ready? The IE8 Readiness Toolkit has arrived.

Tagged:  

That's right, IE8 Beta 1 is here.

Check out the overview of features, changes, and enhancements as well as a readiness toolkit for developers.

Here are the direct links:

Internet Explorer 8 to Make Standards Mode Default

Tagged:  

If you haven't heard yet Microsoft has announced that Internet Explorer 8 will ship with standards mode as the default method to interpret web sites, instead of quirks mode. They have also announced that IE 8 will have a better standards mode than IE 7. The move is quite an interesting one for Microsoft who has historically had a thought of we are smarter than you, so we will make your web site render how we think it should.

Below is an excerpt from the announcement:

Microsoft's Interoperability Principles and IE8

We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.


Why Change?


Microsoft recently published a set of Interoperability Principles. Thinking about IE8’s behavior with these principles in mind, interpreting web content in the most standards compliant way possible is a better thing to do.

We think that acting in accordance with principles is important, and IE8’s default is a demonstration of the interoperability principles in action. While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue. As stated above, we think it’s the better choice.


The rest of this blog post provides context around the different modes, the technical challenge, and what it means going forward.


Modes


Clear terminology around the different modes in IE8 (as well as other browsers) is crucial for the discussion. Wikipedia, as usual, offers a good starting point. The article about “Quirks mode” describes how modern browsers (like IE, Firefox, Safari, and Opera) all have different modes for interpreting the content of a web page: Quirks and Standards. (The article also covers “Almost Standards;” let’s set that one aside for the purpose of this discussion.)


Basically, all the browsers have a “Quirks” mode, call it “Quirks mode", and use it to offer compatibility with pages that pre-date modern standards. All browsers have a “Standards” mode, call it “Standards mode,” and use it to offer a browser’s best implementation of web standards. Each version of each browser has its own Standards mode, because each version of each browser improves on its web standards support. There’s Safari 3’s Standards mode, Firefox 2’s Standards mode, IE6’s Standards mode, and IE7’s Standards mode, and they’re all different. We want to make IE8’s Standards mode much, much better than IE7’s Standards mode.


The Wikipedia article’s explanation of why browsers have modes to begin with is worth looking at closely in this context:

"...the large body of legacy documents which rely on the quirks of older browsers represents an obstacle for browser developers, who wish to improve their support for standardized HTML and CSS, but also wish to maintain backward compatibility with older, non-standardized pages.… To maintain compatibility with the greatest possible number of web pages, modern web browsers are generally developed with multiple rendering modes: in "standards mode" pages are rendered according to the HTML and CSS specifications, while in "quirks mode" attempts are made to emulate the behavior of older browsers."


We decided to keep IE7’s Standards mode available in IE8. Our thinking was that this facility would be helpful as the web moves gradually from the large quantity of legacy content authored around IE7’s behaviors to a new era of much more interoperable and web standards compliant browsers. We based the decision to have an additional mode in IE8 on our experience with feedback from IE7. Specifically, during the transition from IE6 to IE7, many end-users found pages authored for the previous IE version’s Standards mode didn’t work well with the new version’s Standards mode.


The Technical Challenge


One issue we heard repeatedly during the IE7 beta concerned sites that looked fine in IE6 but looked bad in IE7. The reason was that the sites had worked around IE6 issues with content that – when viewed with IE7’s improved Standards mode – looked bad.


As we started work on IE8, we thought that the same thing would happen in the short term: when a site hands IE8 content and asks for Standards mode, that content would expect IE7’s Standards mode and not appear or function correctly. 


In other words, the technical challenge here is how can IE determine whether a site’s content expects IE8’s Standards mode or IE7’s Standards mode? Given how many sites offer IE very different content today, which should IE8 default to?

Our initial thinking for IE8 involved showing pages requesting “Standards” mode in an IE7’s “Standards” mode, and requiring developers to ask for IE8’s actual “Standards” mode separately. We made this decision, informed by discussions with some leading web experts, with compatibility at the top of mind.


In light of the Interoperability Principles, as well as feedback from the community, we’re choosing differently. Now, IE8 will show pages requesting “Standards” mode in IE8’s Standards mode. Developers who want their pages shown using IE8’s “IE7 Standards mode” will need to request that explicitly (using the http header/meta tag approach described here).

You can read the full anouncement here.

It will be interesting to see how well IE 8 and Firefox 3 compare. Of course if you are like me you remember being promised a lot of things in IE 7, such as better JavaScript error detection, which never materialized. Hopefully this move will help IE 8 become closer to Firefox in how it forces better coding practices (we will see).

Firefox 3 Beta 3 Released

Tagged:  

Today, Mozilla released Beta 3 for Firefox 3. This is a developer preview release and is available for testing purposes only.

From Mozilla:

These beta releases are targeted to Web developers and our testing community to gain feedback before advancing to the next stage in the release process. The final version of Firefox 3 will be released when we qualify the product as fully ready for our users. Users of the latest released version of Firefox should not expect their add-ons to work properly with this beta.
...
Firefox 3 Beta 3 includes approximately 1300 individual changes from the previous beta, including fixes for stability, performance, memory usage, platform enhancements and user interface improvements. Many of these improvements were based on community feedback from the previous beta.

Check out the extensive list of features and enhancements found in Firefox 3 Beta 3, the known issues, and frequently asked questions.

Read the full release notes for Firefox 3 Beta 3

Download it here

Cross-Window Messaging

Tagged:  

Over at John Resig's blog, he has posted an interesting article about cross-window messaging. The method is part of the HTML 5 Specifications and is available with Firefox 3.

The new method allows you to access all windows, including iFrames, Frames, Popups and the Current Window. The new call would create a DOM event, in the other window, which allows for messaging between the two windows.

Below is an excerpt from the post.

Obviously communicating in a cross-domain fashion is prone to abuse so there's additional information passed along that can be used to verify the integrity of the message. The full list of properties include:

* .data - A string holding the message passed from the other window.
* .domain - The domain name of the window that sent the message.
* .uri - The full URI for the window that sent the message.
* .source - A reference to the window object of the window that sent the message.

The last property is especially important as it allows for two-way communication to occur between these windows.

Simple Demo>

I've constructed a simple demo that you can try (requires a nightly of Firefox 3) in which you can send a message - through an iframe - to another domain, having the results be received and rendered by it. Thus, this demos consists of two pages: One acting as the sender (on ejohn.org), one acting as the receiver (on dev.jquery.com).

This first page is the sender - it's calling postMessage (sending the textual message) and also holds the iframe within which the receiving window is held.

<iframe src="http://dev.jquery.com/~john/message/" id="iframe"></iframe>
<form id="form">
  <input type="text" id="msg" value="Message to send"/>
  <input type="submit"/>
</form>
<script>
window.onload = function(){
        var win = document.getElementById("iframe").contentWindow;
        document.getElementById("form").onsubmit = function(e){
                win.postMessage( document.getElementById("msg").value );
                e.preventDefault();
        };
};
</script>

The follow page is the receiver - it has an event listener bound which watches for messages being passed to it and injects them in to the DOM.

<b>This iframe is located on dev.jquery.com</b>
<div id="test">Send me a message!</div>
<script>
document.addEventListener("message", function(e){
        document.getElementById("test").textContent =
                e.domain + " said: " + e.data;
}, false);
</script>

You can read the full post here.

This new method could make for some interesting applications. I could see your del.icio.us account sending messages back and forth from your Digg account in two different windows all on the client side. That is of course if the cross domain settings can be worked out.

Will the Real IE Please Stand Up?

Tagged:  

Having read Chris Wilson's (IE Platform Architect) explanation of Microsoft Internet Explorer 8's handling of compatibility modes, you just have to laugh--or cry--in exasperation. After years of almost encouraging sloppy web pages, IE 8 has gotten standards religion, almost. There will now be three (count 'em!) modes in IE:

1. "Quirks" mode. All garbage written for IE 5.5 and older is tolerated.
2. Semi-compatibility mode. Any page with a <DOCTYPE> declaration will provide the not-quite-standards-compliant mode offered in IE 6 and 7.
3. Compliance mode (Bullwinkle: "This time for sure!"). Developers who want the latest in standards compliance, at least those standards that Microsoft wants to support, can use a <meta> tag to tell IE 8 that they want as much standards compliance as they can get. You can read the gory details here.

Does this mean that we will get a new compatibility mode for each new version of IE? Mozilla fans, rejoice! By the time Microsoft gets to version 10, the IE browser is almost guaranteed to die under the weight of its own bloat; I mean Windows Vista will run faster on a 486! People will leave en masse to another browser just to get decent responsiveness. Which will, ironically, finally ensure that the Web does have a chance at becoming unified under a cohesive set of standards.

Will Internet Explorer 8 Pass the Acid2 and Acid3 Tests?

Tagged:  

Over at CNET's News.com they have posted an interesting story about if Internet Explorer 8 will pass the Acid2 and Acid3 test. The Acid tests are design to make it possible for web developers to create web sites that comply to standards so that they know that the design will be cross browser compliant.

Below is an excerpt from the post.

What will happen when you type http://webstandards.org/acid2 in your freshly installed IE 8? Will Acid2 be displayed correctly when you hit the test button?

Microsoft has been asked that question, but it has not given an answer. I think that the company is considering three possible scenarios.

One scenario could be that IE 8 will require users or authors to "opt in" to support standards. For example, in order to render Acid2 correctly, users could be required to modify IE 8's default settings. This breaks with the guidelines of the test, and IE 8 will therefore not pass in this scenario.

A second scenario could be that Microsoft requires Web pages to change the default settings by flagging that they really, really want to be rendered correctly. Web pages already have a way to say this (called "doctype switching," which is supported by all browsers), but Microsoft has all but announced that IE 8 will support yet another scheme.

If it decides to implement the new scheme, the Acid2 test--and all the other pages that use doctype switching--will not be rendered correctly.

A third scenario could be to hard-code the Web address of Acid2 into IE 8. This way, the page is given special treatment to make it look like the browser is passing the test. It should be obvious that this breaks the spirit of the test and doesn't warrant a passing grade.

I predict that Microsoft will implement at least one of these scenarios to limit the impact of standards. This would be damaging for the Web, and I therefore hope that my prediction is completely and absolutely wrong. The IE 8 team has shown that it can render Acid2 correctly. Now it's time for Microsoft to put its code to good use.

Read the full post here.

Hopefully Microsoft will get IE 8 to render Acid2 and Acid3 correctly for the good of the web (although, it won't make me change from Firefox).

As always we would love to hear your thoughts on this or any web related technologies. If you have something to say you can blog about it on this blog once you create a free account (once logged in just click on "Create content" => "Blog entry" and then blog).

Acid 3 Test on the Horizon

Tagged:  

You may be familiar with the Acid 2 Browser Test, but the news is that an Acid 3 test in the works. Announced earlier today on John Resig's blog, a new Acid test is being created and a pre-pre-pre-alpha development version is available here

Here's an excerpt from John's post:

Traditionally, the Acid test has served as a way to get browser vendors in line by testing them on really-annoying edge cases. This can, sometimes, get people tied up in knots but it actually serves as a devious way of getting people to meet a large part of a spec.

For example, in order for a browser to have some weird padding/margin test case solved - in CSS - they must also have a working box model. So while an Acid test may not, explicitly, test for a working box model, it will be done implicitly (by testing edge cases that result from it).

With that in mind, it's time to take a look at Acid 3 which primarily focuses on technology that I find to be interesting: ECMAScript and the DOM.

Go read the full post for more information and to see just how badly the major browsers perfom on the test!

I went ahead and submitted the Acid 3 test url to browsershots.org and ran it through a few different browsers/operating systems, you can check the results here.

Fix your IE6 Transparent PNG Issue and More with IE7.js

Dean Edwards has published an IE7 JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6.

Usage

IE7.js
Upgrade MSIE5-6 to be compatible with MSIE7.
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE7.js" type="text/javascript"></script>
<![endif]-->

IE8.js
Upgrade MSIE5-7 with advanced CSS features missing from MSIE7.
<!--[if lt IE 8]>
<script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE8.js" type="text/javascript"></script>
<![endif]-->

Note: You do not need to include IE7.js if you are using IE8.js

PNG Note: The script only fixes images named: *-trans.png

Download
http://ie7-js.googlecode.com/svn/version/

Demo
http://ie7-js.googlecode.com/svn/test/index.html

Syndicate content