Break Sites Now to Make Sites Later

On the topic of IE8:

How about rather than asking web designers, server owners and IT staff everywhere to add some hack tag to their code, you force IE8 into compatibility mode unless a designer specifically enables IE8 rendering on their page by adding said tag? That mediates the issue pretty easily.

They [Microsoft] were originally planning to require a special tag to enable standards compliance in IE8, but there was a gigantic backlash from the web development and standards community.

Why? Because then we get nowhere; all the clueless web designers never find out about the special tag to make IE8 comply with internet standards, and continue making web pages for the broken IE rendering model for the next 10 years.

We need to make all those old websites break, because otherwise they’ll never comply with modern standards. We need to have standards based rendering be the default because then the designers that test against IE8 will be making sites that work better with other browsers.

By forcing developers to realize that their websites are non-compliant (either from angry users or specifically forcing quirks mode) and by defaulting to standards-based rendering, we make the web design future a much nicer place to be.

What I Want From a Browser

With all the recent talk of Google Chrome and all the other browser options, I find more and more that the love-to-hate Firefox 3.0 is still my best friend, and will not be replaced anytime soon. However, the major annoyance I’ve noticed through all the options is that there is always some feature or set of features lacking from every single option, including Firefox, that can be found in the competition.

So for the public record, I’d like to list the set of features that I feel are most important to have in a browser, and how the array of competitors each handle themselves. Just want to see the results?

  • Bookmark Tagging: Saving bookmarks into endless hierarchies of folders is extremely tedious and inefficient; the ability to instead tag bookmarks with multiple words allows users much better context for later search and retrieval. Using a third-party bookmark tagging site shouldn’t be necessary anymore; tagging bookmarks gives such a high return on investment of time and effort that it should be a no-brainer to implement this in any and all browsers. Mozilla was the first out of the gate with Firefox 3.0’s introduction of bookmark tagging, and as an avid user of the feature, coupled with the “Unsorted Bookmarks” option, it is extremely well implemented and dead simple to use. Click the star in the location bar to mark the page, and click again to add tags, rename the bookmark, or file it into a real location; type the tag name into the location bar (Awesome Bar!), and look through the results for what you want. As far as I know, none of the other major browsers have added, or plan to add, this functionality; ouch! Google Chrome gets negative points for not even letting you browse or use your bookmarks: you can only search them.
  • Content Synchronization: With more and more users connecting to the internet from multiple locations on a regular basis, the task of synchronizing user content is becoming ever more important. Most importantly, bookmarks must be kept in sync, but things such as saved passwords, cookies, browsing history, and form fields are also up for grabs, and it all must be done securely. Bookmarking websites have it so easy, but some browsers are really stepping it up lately. Initially, Firefox was the only one with such a feature, in the form of much-loved Foxmarks plugin, which automatically syncs bookmarks to a remote server, and offers a page to use the bookmarks even from a browser without the plugin. These days, Foxmarks has been much improved, and works with the bookmark tagging from Firefox 3.0, and now Mozilla has thrown their hat in the ring with the rather ambitious plugin project titled Mozilla Weave, which promises to sync just about everything you can imagine, but is still in beta development. Opera also rounds out the list with their My Opera service, which is rather similar to Foxmarks, except that it’s built directly into the core browsing experience; very nice touch.
  • Platform Integration: When I open my browser, it should look like it belongs on my desktop; it should share the same widgets, icons, color schemes, and fonts that I have configured for my environment. Firefox is really good at this on Mac and Windows, but while the Linux integration still looks really good, it’s not perfect, and can stutter on some fancy Gtk+ themes. Safari, Konqueror, and Epiphany fit perfectly, but only in their target desktops; Konqueror looks out of place on a Gnome desktop, and Opera looks horrid on Linux and doesn’t really look right on with Windows either. Chrome doesn’t even try to fit in anywhere (why?).
  • Process Separation: When I have multiple windows or tabs open at the same time, JavaScript executing on one page should have no effect on operation of the browser interface, let alone on other web pages open in the browser. It shouldn’t take one poorly-written AJAX site to prevent the user from using the browser, or from working in another tab. So far, Chrome is the first and only browser, as far as I know, to implement this correctly. The way that Google has managed to use a separate process for every single tab, complete with a “task manager” to control errant pages, is phenomenally well put together. Opera comes in a distant second place, with better performance overall when compared to Firefox and friends, which will often block the user from interacting with any portion of the interface while executing JavaScript.
  • Standards Compliance: When I visit a page that complies with the various HTML, XML, and CSS specifications, it should be rendered the same as on any other browser. As much as we all know that this will never be true, the harder we try for it, the better we make life for web developers, including me. This is basically a problem for all browsers, but more of a problem for some than others. We know all this already…
  • Advertisement Blocking: At a time when online advertising is the lifeblood of the internet (and spam e-mails), the ability to have your browser automagically hide ads from web pages is extremely user-friendly. It doesn’t even need to be installed or turned on by default, but there must be some way to accomplish this task. Firefox takes the cake here, with an absurdly wonderful and easy to use plugin, Adblock Plus, which will automatically update itself with the latest list of ad sites on the internet, and allows the user to customize the list or add their own rules for blocking content. Sadly, this is only available for Mozilla products. However, ever time I mention this topic as a benefit for Firefox, I always get adamant Opera users claiming the wonders of Opera’s built-in content blocking options, but I just don’t see it as coming anywhere close to Adblock Plus; it requires the user to manually download and edit a file in their Opera profile containing the list of blocked content, and there’s no method for automatically updating the list, and if the user wants to block something else, they have to edit that file by hand with no guidance. This strikes me as an extremely unfriendly process, and is only a partial replacement for Adblock Plus. Do note however, that a similar system of ad blocking is also available for Konqueror, but no such option is given to Chrome or Safari.

Summary to Make That List A Waste of Time

So here’s how I see today’s options of browsers, with their best and worst parts:
  • Mozilla Firefox: Extremely flexible and powerful with plugins, but a poor performer with many tabs.
  • Opera: Fast and nifty, includes the kitchen sink, poor platform integration, no bookmark tagging.
  • Konqueror: Platform integration done right, extensive protocol support, lacks content-oriented features.
  • Google Chrome: Extremely fast and robust with true process separation, lacks almost every standard browser feature.
  • Safari and Epiphany: Lightweight platform integration, lacking any advanced features.

I’m actually not very happy with any of the browser options available; they all have disadvantages when compared to other browsers, and there is no clear leader, especially when you consider that every user has a different set of requirements.

However, Firefox still makes me cry the least while I’m using it, and, with its myriad of plugins, makes my time surfing the web so much more enjoyable, except for when JavaScript makes it sop responding of course. Probably the best thing Mozilla could do to improve Firefox would be to implement process separation akin to Google Chrome, or at least prevent the UI from becoming unresponsive during heavy JavaScript execution. If that would happen, I would be absolutely elated.

So the real questions now are: Where does this leave us? How far are we towards a better web? Which browser will get us there the fastest? What will eventually make all this goofy garbage obsolete? When will I shut up and let you leave this page?