Firefox: must it be adios instead of adieu?

This blog post by a Firefox developer is making the rounds in the techno-blogosphere. Firefox developer Jono Xia makes the point that constant updates to the open-source Firefox web browser is driving its devotees nuts. It has made me switch from Mozilla Firefox to Google Chrome for most of my browsing. In Xia’s opinion, the problem is that Firefox developers have become enamored with features, and keep adding bells and whistles to the browser. Most actual users (like me) mostly want high usability and for new features to be introduced gradually. In particular, we don’t like radical changes to our user interface.

This should not be hard to figure out. Imagine if once a month you went to drive your car and the ignition key moved to a different location or that the turn signal had moved from left of the steering wheel to right of it. That’s how it’s been with Firefox for a while. But now these changes occur stealthily. It used to be you were told when a new version was available, and then had the option of downloading it. With the latest versions of Firefox, new versions download quietly in the background and appear the next time you restart the browser. This has its strengths. If there has to be bug fixes and critical patches I’d largely prefer to be kept ignorant of them. What I don’t want is to start my browser and find new tools on my toolbar, or that suddenly some of my favorite add-ons no longer work because they were not upgraded to the latest stealthily upgraded version.

Yet if you use Firefox religiously, this sort of stuff feels like it happens all the time. To say the least, it is jarring. Many if not most of us spend much of our lives staring at content in our web browser. A consistent user interface is good. This means browsing requires less thought and becomes automatic. Add irregular but relatively frequent amounts of change to the user interface and it becomes annoying and at some nebulous point intolerable. It used to be that a year or at least many months would go by between a major version of Firefox. Now it can be weeks!

I use Firefox on a Mac. I noticed over a period of months that Firefox kept slowing down. It loaded slowly. Pages reloaded slowly. If I had a half dozen tabs open when starting up it would take a minute or more for the data in the tabs to be refreshed. Moving from tab to tab was often slow and full of latency, where the current tab just hung there for a while with an hourglass cursor. Sometimes the browser just hung and I had to do a Force Quit to kill it, or would not shutdown when I shut the computer down.

These sorts of problems don’t happen naturally. They are a result of poor software engineering. I speak with authority here because I happen to have a master’s degree in software systems engineering from George Mason University. Granted, building a web browser is hardly a trivial task. There are so many aspects to integrate correctly. In short, it is a complex engineering challenge to make it work on just one operating system, let alone the many operating systems that Firefox supports. Mostly these problems point to a process problem, rather than a programming problem. Just as you can build more cars if you speed up the assembly line, but those cars may suffer something in the way of quality, to keep up with the competition you can push out new versions of a browser more quickly if you cross your fingers and hope that current functionality is not compromised in doing so. It’s clear that a lot of current functionality is compromised by Mozilla’s current approach.

I don’t know exactly how the Mozilla project is run. I certainly like its goals: create a browser that is platform agnostic, that won’t make anyone rich, and that rigorously adheres to the latest web standards. It was this approach that lead to the rise of Firefox in the first place, including a glowing review by me a full eight years ago when it was not yet official. At the time, Microsoft had put its Internet Explorer browser on the back burner. At least you could say that IE did not change a lot. It was quirky, but it was consistently. You could go years between new versions of the browser.

With Firefox, what seems to be missing is good and frequent regression testing. Regression testing means automated testing that tests when you add in new functionality that the current functionality still works. Mozilla is hardly alone in having problems with regression testing. It is a decidedly unsexy thing to do, but vital for good software engineering. It’s also a hard thing to do. I know this from personal experience. The regression testing tools out there tend to be very pricey (Mercury’s suite, now owned by HP, comes to mind) and, for the most part, annoying to use. Most of them cannot handle tiny changes in canned tests, like the change of location of an image on a web page, without failing the test. You are expected to create whole new tests. I am looking into one testing suite that looks like it allows test cases to be reasonably fault tolerant. If so, we can gain a whole lot of productivity doing regression testing.

Doubtless Mozilla is doing some regression testing, but it should probably do a lot more and probably have a much more well thought out process for doing it. If satisfying users is truly their primary goal, they may need more testers and fewer developers. It sounds like it is the other way around.

So I have been seduced by the Google Chrome browser. I won’t use IE. I just loathe it and I can’t quite put my finger on why but certainly it’s not a good thing that it is developed by Microsoft, and its bright blue theme jars me. Chrome, like Microsoft, is a product of another empire, just not one quite as evil, at least not yet, but certainly one targeted to encourage you use all things Google. It’s clear after you run Chrome for a while that it is a slicker product overall than Firefox. It’s also faster and better engineered. For example, each browser tab has its own CPU process. This has lots of benefits; the primary one being it is much less likely to crash. Firefox is catching up here, but even so it is still buggy and slow on my Mac.

I don’t want to love Chrome, but considering how much time I spend in a browser I have to have a browser that works fast, reliably and consistently. Chrome has not been perfect here, particularly with its user interface, which has morphed faster than I would like. But it is standards based, multiple-platform, fast and reliable.

I really want to go back to Firefox. It is the reference implementation for browsers, although maybe not so much anymore the way they throw out new features so quickly. There are certain Firefox behaviors I really miss, like the Bookmark manager in a sidebar. For right now I simply cannot revert. I hope Mozilla gets its act together, and listens better to the needs of its users.

So will it be adios and goodbye forever for Firefox? Or can I say adieu for now, and I’ll be glad to come back when you have your act together? For right now, I say adieu, but pretty soon it is going to be adios.

Taking Chrome for a Spin

Does it really matter which browser you use? So many of us spend our lives in a browser that it is reasonable to think the answer is yes. Nevertheless, all browsers pretty much do the same thing. Once familiarity sets in, you have to have a compelling reason to move from one browser to another.

In 2004, I ditched the world’s de-facto browser Internet Explorer for a weird upstart browser called Mozilla Firefox. It was an easy switch. It was true that back then, thanks to Microsoft’s proprietary extensions to HTML and Cascading Style Sheets (CSS) that things would not always behave the same way in both browsers. Six years later, I still have to use Internet Explorer on a few sites, because the application has not been updated to use web standards. This is now largely a past memory. Unless you need some quirky feature like HTML 5 compatibility (which most browsers are racing to address anyhow) most of the rendering oddities are in the past. Not that a few don’t still bite us. Last I checked, Internet Explorer still did not allow rows in HTML tables to dynamically collapse through Javascript.

For six years, I have been satisfied with Firefox, and generally happier with each new release. I loved all the free plug-ins that were available. The latest version of Firefox (3.6) that I recently downloaded introduced personas. These are sort of like themes for the blank spaces around the edge of your browser. It’s pretty neat to look at, but it’s really window dressing, just like the wallpaper on your computer’s desktop. What matters the most to me is usability. Simple tends to be better.

Firefox’s weakness the last year or so has been its instability. It crashes a lot for me on both Windows and the Mac. This could be more annoying than it is, for you can at least restart it quickly and it will remember your open windows. Firefox also suffers from new version syndrome. Once every few weeks it wants to install a new minor version of itself, sometimes with new features, but mostly to fix bugs. As annoying as new versions are, it’s a straightforward and quick process. It’s better than Internet Explorer, which even though it claims to have excellent security is rife with bugs that require all sorts of mostly behind the scenes patching. IE wants to keep you in the dark about its bugs. Firefox is in your face with them by patching them so quickly.

Since I have a Mac, I also have Safari, which I use from time to time. It’s pretty nice, and there actually is a version of Safari for the PC, although it looks quite a bit different on a PC. There are lesser-known browsers out there like Opera (proprietary and not necessarily free) and Konquerer (for Linux boxes). Now there is also the official Google browser called Chrome. Chrome is part of Google’s grand design toward a web-centric architecture. Its operating system Chrome OS, which I wrote about recently, is taking wings and will soon be appearing on fine netbook computers.

I had installed the Chrome browser but had never really put it through its paces. I did so over the last long snow-congested weekend. After a couple hours, I was hooked. I will still need Firefox for quite a while. If Firefox can be made as fast and stable as Chrome, I would gladly drift back to Firefox. I must say though that Chrome’s speed and stability are both very compelling. I didn’t need Firefox to come out with a persona feature. What I need is a browser that is a lot like my Mac: I don’t have to think about it. It should just work. The best browser is like a sheet of glass. It renders the page of interest transparently, cleanly and correctly. Chrome just takes you where you need to go quickly and with (so far) none of the quirky rendering issues that plague most browsers. Through delivering high backwards and forwards compatibility, Chrome seems to have filled the niche. No wonder that Chrome’s browser share is climbing rapidly, mostly at IE and Firefox’s expense.

Clearly, it is not as feature rich as Firefox. The bountiful plug-ins that are available with Firefox for the most part do not exist with Chrome. However, some Chrome plug-ins do exist. My suspicion is that a good part of the Firefox plug-in community is already working on Chrome compatible plug-ins. As a web developer, I need the amazingly excellent plug-in called Firebug for Chrome. I sure hope it is being ported, although Chrome comes with some built in developer features that are quite decent.

The average user will just notice Chrome’s rendering speed, which tends toward blazingly quick. I had no idea so much of the slowness in Firefox was just its code trying to make everything look pretty. Of course, if the Internet is slow or congested, no browser will speed it up, but whatever Chrome is doing to render content quickly it is doing very well. It helps to have very deep pockets. Since a lot of our content comes from Google, Google can do a lot to put its content on the edge of the network so it will download quickly.

Simplicity and too much intimacy with your favorite browser have a downside. It would be nice, for example, if Chrome would refresh the page by pressing the F5 key, which I have used for the last 15 years. (Instead, it is Ctrl/Command-R.) It would also be nice if my bookmarks would appear on the side, as in Firefox, by pressing Ctrl/Command-B. I also like Firefox’s search box in the top right corner, although by integrating the URL field with search engines you arguably have a simpler interface. Perhaps those features will show up in time. Maybe it would be better if they did not. Simplicity also has a certain virtue. Most of us prefer cars that are simple to use. Too many gizmos and gadgets on the dashboard can make for a confusing experience

Here is hoping that the folks at Mozilla address the instability and page rendering issues so I can go back to it. I hate to give any monolithic company, even one as friendly as Google, all my loyalty. Still, Chrome is compelling in a way IE never was. If you try it for a couple days, you are likely to find yourself also hooked.

Love those Firefox Extensions!

Some time ago I wrote about my preferred browser: Mozilla Firefox. It was obvious to me months ago that those who tried it would probably feel the same way about giving up Firefox as the gun nuts would about giving up their firearms: when you pry our cold, dead hands off our keyboards. In a word Firefox rocks! It is now up to version 0.9 and only keeps improving.

As if the lovely standard features like tabbed browsing, easy in page search, Google search box and easily customizable toolbars weren’t enough, perhaps the best thing is how extensible Firefox is. That alone is reason to prefer it to Internet Explorer. Can you imagine Microsoft opening up its IE source code and allowing the user community to improve it? Actually it might happen one of these days since there is little money for Microsoft to make in the browser business and they are inept (at best) at patching its many security holes. Since Microsoft gives IE away it may make some sense to let others develop the code for free. Shareholders might appreciate it. For now its value is dubious and exists largely to market products by Microsoft and its affiliates.

But Firefox is wrapped around open source components like the Gecko rendering engine and the XUL framework. As a result very clever developers who don’t mind giving away their work for free are having a field day extending the usefulness of the browser. One fun thing you can do is simply download and install the many readily available themes. If you get bored you can just toggle from theme to theme. Suddenly the same old boring web pages aren’t as boring because the frame is jazzed up!

To me the coolest thing about Firefox is its tabbed browsing feature. Granted it inherited it from the Mozilla 1.0 framework, although most people first encountered it in Netscape 6 (which of course is Mozilla 1.0 under the hood). Once you get the hang of browsing with tabs you can’t let it go. Well earlier this week I discovered the Tabbrowser Extension for Firefox. Now I am not just in love with my browser but I am in ecstasy.

When I am online I live in my browser. I perfer having all my favorite pages open at once. Tabs give me an intuitive and easy way switch from page to page. Out of the box Firefox has cool features like the ability to open a whole folder of bookmarks with each page in a tab. But with the Tabbrowser extension I can finally have links behave the way I want them.

For example when I am in my email client and click on a link I don’t want it to open up a new browser instance. I want the page to appear in a new tab in the existing browser instance. Now I can do this with the Tabbrowser extension, after first adding a line to my prefs.js file and tweaking the Tabbrowser controls a bit. The Tabbrowser extension itself downloaded and installed in less than a minute. I had to close and reopen my browser. I discovered an extremely feature rich set of things I can do with tabs, thanks to the clever programmer Shimoda Hiroshi, who authored the Tabbrowser extension.

It took a lot of experimentation to get things the way I want. I will still tweak it from time to time. But most of the time I want any link on a page to open in another tab. But if the link belongs to the same site I don’t want it to open in another tab, I want it to overwrite the content in the current tab. It took quite a bit of experimenting but I finally figured out a way to get the extension to do just this.

And I’ve just scratched the surface. There are lots of things you can do with tabs with this extension. These include making bookmarks or items on your toolbars open in tabs. But I found most of the time I don’t want to enable this feature. Other neat features include displaying tabs in groups and anchoring tabs to the top, bottom, left or right sides of the browser window.

There are hundreds of extensions that can make Firefox behave the way that fits your mental model, not someone else’s. Admittedly some are more useful and professional than others. But all of them are fun for those of us who like to tinker. But even if you are not the tinkerer type for most people plain old Firefox out of the box will be just fine and a huge improvement over Internet Explorer’s many annoyances.

Firefox is not up to a production release version 1.0 yet but it shouldn’t be too much longer. It seems very stable to me. One tweak I would make to the out of the box Firefox interface would be to add the Print icon to the toolbar. It seems odd that you have to go to File>Print to print something out by default. Most novice users won’t bother to play with the customized toolbars.

At last: the browser done right! And it’s all free and cross platform. Do yourself a favor if you haven’t tried Firefox and download it now.

Goodbye Internet Explorer, Hello Mozilla Firefox

My SiteMeter reports tell me that 90% of you are viewing this site with Microsoft Internet Explorer.

Why? Perhaps you just aren’t aware that there is a much better and free browser choice out there. Or maybe you’ve heard the buzz about Mozilla Firefox and are scared to use it. Perhaps you are scared because it doesn’t come with the Microsoft seal of approval. Or that it is still in beta development (version 0.8).

If you are using IE I think it must be largely out of ignorance. If you use Mozilla, or especially it’s latest browser incarnation Mozilla Firefox you won’t go back to Internet Explorer. Rather you will realize how annoying IE was, rather like having to live with Windows Me before Windows 2000 hit the market.

Microsoft seems to have stopped enhancing IE. Occasionally a new patch will come out to plug the latest security hole. But it’s been years since they’ve added any new functionality to the browser. Perhaps with the browser market sewn up they figure why bother: they give the browser away for free anyhow. Microsoft has abandoned plans to make IE available for the Mac OS X. It figures the Mac community is content with the bundled Safari browser. Ironically Microsoft is now emulating Netscape, which lost interest in its browser around 1998 when it couldn’t figure out a way to make money from it anymore. You may recall the rest of the story: Netscape was bought by AOL and the Netscape project was allowed to flounder.

Well times have changed. As a parting gift the Netscape developers gave the original Netscape code to the open source community. For a while Netscape/AOL provided resources to keep the browser development going. But a couple years back they even stopped doing that. So for a year or two now the open source community has been improving the old Netscape code. It is called Mozilla. Mozilla is the same name Netscape gave to the project before they stuck a marketing brand on it. And a year or so back Mozilla 1.0 was released.

The Netscape web site is still around. The Netscape browser is still available. It is currently in version 7.0. But it’s really Mozilla 1.0 under the hood. You can download the latest Netscape 7 browser, but why bother? Do you really want to see pop up ads by default? Do you really want numerous links and advertising pitches to try AOL? You are probably just like me and want a browser that lets you do what you need to do quickly and efficiently.

So download the Mozilla Suite if you wish (includes email client and newsreader) and block pop up windows by default. You will also get a Google search field right next to the address bar and tabbed browsing. Once you try tabbed browsing you’ll wonder why it took so long to introduce such an obvious feature.

But most likely you are happy with Outlook Express to handle your email, so you don’t need the Mozilla email client. And you probably don’t care about the newsreader either. You just want a better browser. The Mozilla community recognizes this and has been working on a browser only product. It’s had many names including Phoenix, Firebird and now Firefox. But it doesn’t matter. Mozilla Firefox may be version 0.8 but it is ready for prime time. If you value your own time you will download it and use it. The browser will easily make you at least 10% more efficient when you are surfing the World Wide Web.

I have to think hard of any features I think work better in Internet Explorer. If pressed I could say that IE loads faster. This is because Microsoft integrated the browser into the operating system, so much of what IE needs to run is already resident in memory when you boot your machine. I also think IE has better features for accommodating the handicapped. But that’s it.

Aside from obvious and subtle improvements to the user interface that will make you markedly more productive, Firefox is also extremely standards compliant. This is really important because the arbiter of web standards is the World Wide Web Consortium (W3C). IE attempts but doesn’t quite succeed in the standards department. I noticed this recently when I was editing some cascading style sheets. I could get them to work in IE but I couldn’t get them to work in Firefox. What was the problem? I went over to the W3C CSS validator site, tried to validate the file and realized that I shouldn’t put semicolons at the end of my statements. Firefox was saying “this is ambiguous; you need to be more precise or I won’t render it”. But this is an excellent approach. IE allows you to be sloppy when you code your cascading style sheets. Sloppiness means you have no way of knowing how your code will actually be rendered. It is far better to require a web developer to be precise up front than allow such ambiguities.

IE, how do I loathe thee? Let me count the ways. I hate most of all that you let pop up windows blossom faster than dandelions in my backyard. And I can’t do much about it other than buy third party software that usually but does not always succeed in blocking them. I hate the way IE is used as a large Microsoft marketing machine, leaving bookmarks to Hotmail and MSN and all their partner sites that I don’t want. I hate the endless security problems with the browser. I hate installing the constant patches I need to supposedly keep me secure, but which often introduces new vulnerabilities. On a technical level I hate the way Microsoft, just because it can get away with it, is making web standards harder to enforce. The browser’s document object model, for example, is non-standard. It allows HTML tags like the marquee tag that were never approved by the W3C. I hate that so many web developers are so spineless that they will tweak their Javascript to use the IE document object model. I hate the way that we so willingly and in most cases naively do what Microsoft tells us to do.

Not only does it not have to be that way, you can get rid of all these annoying hassles simply by downloading, installing and using Mozilla Firefox. Here is a real browser that works the way I think. But also here is a true internet-based web development platform I can extend. I’ve installed a number of the many extensions available for Firefox. For example I downloaded an extension that will highlight my block oriented tags so I can see them when I am designing a web page. The same extension also allows me to validate my HTML against a number of standards (XHTML, accessibility to the handicapped etc) with just one or two clicks.

If you try Firefox I assure you that you won’t go back to IE. It’s a no brainer. It also helps that Firefox is free and available for virtually every operating system.

So what are you waiting for? Give Mozilla Firefox a test drive today!