Why reporting bugs is so important

Here is a quote from the Google Chrome 12 stable release blog post:

We’d also like to call particular attention to Sergey Glazunov’s $3133.7 reward. Although the linked bug is not of critical severity, it was accompanied by a beautiful chain of lesser severity bugs which demonstrated critical impact.

My focus here is not on the money that Sergey earned with his bug report, even though that is definitely an important and motivating factor.  My focus is on the chain of the events.  While this chain of events happens pretty much every time a bug is fixed, few people know about it.  Maybe nobody, in fact, except for developers themselves.

The thing is that when a bug is discovered and fixed, pretty much every developer searches the code for problems similar to those brought up by the bug report.  Be those issues typing mistakes, documentation inconsistencies, memory leaks, security issues, performance bottlenecks, or anything else – the code will be checked to make sure that the same problem doesn’t come up twice. From this perspective, I think that bug reports are so important not because of the specific bugs that they report, but because of those other bugs which aren’t yet fixed and probably aren’t yet reported.

Conclusion: every time you come across a bug in the application, don’t just work around it – take a few minutes of your time to report the problem properly to the developers.  Chances are, they will fix some problems that you haven’t yet come across, but have pretty good chances to otherwise.

Firefox 4 is awesome!

If you’ve been reading this blog for a while, you know that I switched my default browser a few times already.  I went from Mozilla Firefox and Opera to Google Chrome and back a few times.  Recently, I’ve been very satisfied with Google Chrome.  The main advantage of it is that its super fast.  And the initial downside – extensions – got way better now.  There is pretty much any extension that I need.  Some extensions still have a bit of Firefox catching up to do, but overall, I’m covered.

Recently, Firefox 4 was released.  There has been quite a few improvements, especially in the area that concerned me the most – performance.  Firefox 4 is blazing fast.  Not as fast as Google Chrome, but pretty close.  But.  It also has a few things that I wanted for a long time and that Google Chrome doesn’t have yet.  Here are the two features that were a deciding factor for me to switch back to Firefox as my primary browser for the time being:

  1. Tab groups.
  2. Browser sync with support of the Android.

Tab groups is a feature I wanted for a really long time.  In fact, I’ve blogged about it back in October of 2007!  I was using hundreds of open tabs back than and not having groups was a real pain.  Now I am much more moderate with my tabs, but groups still make a lot of sense.  Have a look at the screenshot below.

With just a couple of clicks I can now group related tabs into groups.  When I switch between groups, in the list of tabs I see only the tabs open within the current group.  This saves plenty of time and confusion.  Also it makes keeping track of open tabs much easier.  Tabs can be dragged from one group to another group.  Groups can be renamed, rearranged, resized, and so on.  When I’m done with the task, I can close either a single tab or a whole group.  And I can even undo the closing operation on both.  Now that is the tool to boost productivity!

The new Firefox 4 also has the browser synchronization functionality, with which one can sync several computers and (now) even mobile devices.  You can choose what to synchronize and where. Bookmarks, history, passwords, form data, and even open tabs are supported! And this solves yet another problem for me.  I’ve been looking for an elegant solution to send URLs from my desktop to the mobile and back.  It’s a problem that I have on a daily basis.  And now it’s solved!  I simply installed Firefox 4 for Android on my mobile, enabled browser synchronization, and that was it.

With these new features in, and much improved performance, I don’t see any reason for why I shouldn’t switch to Firefox 4.  So that is exactly what I am doing starting today.

On a separate note, I have to once again highlight how important are competition and open standards.  Competition brings in the cutting edge technology and much improved end user experience. Open standards allow for simple switch between different implementations.  Kudos to all the open source developers, participating companies, and anyone else involved.  Keep it up guys!

Does Microsoft Internet Explorer really hate Google Chrome?

The other day I wanted to install Google Chrome browser on the nearby Windows PC.  Here is what I saw when I opened the download page in Microsoft Internet Explorer.

To help protect security, Internet Explorer blocked this site from downloading files to your computer.

I know, it’s probably a generic protection against downloading executable files, but it’s still funny.  Especially, the bit about MSIE protecting security by blocking Google Chrome.  Yeah, right.

Google Translate tip for Google Chrome

Here is something that I thought of today, played with, and found quite useful – integration of Google Translate with Google Chrome via the search engine configuration.  Of course, I know that there are addons for Google Chrome to integrate Google Translate.  Of course, I know that Google Chrome comes with certain integration out of the box.  But what I need is something else.  Once in a while, when I write an email or a blog post or something like that I’d forget a word in English that I know in Russian, or the other way around.  I usually open a new tab, go to Google Translate, and type the word in faster than I think of a better way to solve the problem.  It’s a completely automated process for me.  My fingers know how to do it.  Plus it’s all so fast because I do it from the keyboard with shortcuts, so even if I’d have some addon installed with a button in the toolbar, I’d need to reach for the mouse, which would slow me down.

So, here is what I did.  I went to Options->Basics->Default Search->Manage.  Of course, I didn’t want to change my default search engine from Google to anything.  Instead I wanted to add a new search engine.  See the above screenshot.  I named the search engine “Google Translate (English->Russian)” to avoid ambiguity when I add more search engines for translations between other languages.  I assigned the keyword “en,ru”, which is what I’ll have to type in the address bar for this search engine to kick in.  And I configured the search URL.  Nothing fancy.

Now, whenever I type “en,ru” in the browser address bar, Google Chrome switches from generic completion to a search engine, where I just have to type the word that I want translated and hit Enter.  Again, see the screenshot above for how the address bar looks.

In exactly the same way I can add more search engines to translate between different languages.  It’s even possible to use “auto” as the source language for Google Translate to figure out in which language the original word or phrase is.  And, of course, you don’t have to limit yourself to Google Translate search engines only.  I have search engines defined for PHP functions lookup, Wikipedia and IMDb searches, and more.  The trick is to find the search URL by performing the actual search on the site that you want to add, and then replace the search query with “%s”.  That’s all. Enjoy!

Back to Mozilla Firefox

About a month ago I praised Chromium browser (and Google Chrome incarnation of it).  It’s fast, slick, and like Firefox has a gadzillion extensions.  Unfortunately, I switched back to Mozilla Firefox for now.  And as much as I’d like to use Chrome, there is an issue that annoys me enough not to – profile corruption.

As any other young application, Chromium crashes quite often.   That is understandable.  But the problem is that every time it crashes, my browser profile is corrupted, which results in loss of history, saved passwords, and open tabs.  That’s just something I can’t tolerate.  Crash  all you want, but bring me right back to where I was, when I restart your sorry butt!

Hopefully this problem will annoy enough people for someone to step up and fix it.