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.

Google push for modern browsers

Here is a quote from this Google blog post:

[…]soon Google Apps will only support modern browsers. Beginning August 1st, we’ll support the current and prior major release of Chrome, Firefox, Internet Explorer and Safari on a rolling basis. Each time a new version is released, we’ll begin supporting the update and stop supporting the third-oldest version.
As of August 1st, we will discontinue support for the following browsers and their predecessors: Firefox 3.5, Internet Explorer 7, and Safari 3. In these older browsers you may have trouble using certain features in Gmail, Google Calendar, Google Talk, Google Docs and Google Sites, and eventually these apps may stop working entirely.

All I have to say to this is: Bravo Google!  Enough is enough!

As pretty much anyone with a computer science degree, I was a big supporter of backward compatibility at the beginning of my career.  Backward compatibility just comes naturally.  Each and every textbook, boss, and mailing list opponent tells you to care about each and every user out there.  Often, with a complete disregard for your own costs.  Completely forgetting that backward compatibility is extremely expensive.

There has also been a huge change in software development since my college times.  The change is called the Web.  Backward compatibility was more important in the old days, when software was installed on a computer and when it had to be distributed via such inefficient ways as compact disks.  Since then, software development had largely moved into the Web.  Updates can be pushed out to users several times a day and they require no effort on the client side.  That has to count for something.  All that is asked in return is that your web browser is of a reasonably recent version.  And not even that it is of any particular brand – you can chose from a few options, and you can have the choice no matter what kind of computer or operating system you use.

To those scared of the updates and what such changes can bring to them, consider other example, which exist in open source software.  Fedora Linux distribution, supports less than two releases back.  Painful?  Maybe.  But it’s a desktop oriented software collection, with a very painless upgrade process (albeit a few examples, such as a recent Fedora 15).  What is the result?  Most of Fedora users are upgraded to the latest or so version. Compare that with a huge chunk of enterprises running Windows XP, which is a 10 year old operating system, and you can see the difference.

Most modern browsers provide automatic upgrade functionality, which makes user life so much easier that there is really no reason not to upgrade.  The only argument for older browsers that I’ve heard to now is support of legacy applications that only work in specific versions of specific browsers.  And you know what, I have no problem with getting rid of those.  The world will be a better place.  It’s been years since we have web standards, browsers that support them, and plenty of tools that assist in development and migration.  If you haven’t moved your application in all these years, chances are you’ll never will.  In which case, you deserve all the troubles that you are about to get.  The world shouldn’t hold its breath waiting for you to upgrade.

Heck, when even Microsoft is jumping out of its pants for people to upgrade MSIE 6 to something newer, you know there is a problem.  And solving it once and for all (rolling release version support) is an excellent approach.  I hope more people will follow this example.

P.S.: Please excuse the lack of links.  The things I mentioned have been discussed many times all around the web and I do see them as obvious truth. Those of you who need references, shouldn’t have any troubles finding some.  If you do – let me know.

Recommendation engine that finally makes sense – Google +1

I’ve heard plenty of rumors about an upcoming Google social network.  I have no idea if they are true, and really I don’t care.  I have enough social networks as it is.  But what I haven’t heard about until now is Google +1 – a new recommendation engine that Google is trying out.

[youtube=http://www.youtube.com/watch?v=OAyUNI3_V2c]

At first, when I read about Google +1 and that it was yet another attempt for recommendation engine for Google search results, I didn’t think it was interesting at all.  There were a number of tries in that area – some of them long gone, some still alive.  I’m talking about results reordering via drag-and-drop, starring of result items, and others.

All of them shared the same problem – promoting items from within search results doesn’t work very well, because the user hasn’t yet visited the page itself.  He’s eager to navigate away from the results.  And on top of that, page title, description, and a thumbnail aren’t always enough to make a judgement.

On the other hand, recommendation engines are doing pretty well with social networks like Facebook, Digg, Twitter, and others.  Every other page on the web has a share button that supports one or more social networks.  And people use those.  Even though sharing pages on Facebook and Twitter might be useful, it isn’t as useful as increasing the karma of those pages in order to rank them higher in your future search results.

That’s where Google +1 comes in.  It makes perfect sense.  Now you can search Google, visit the results, and +1 those of them that you liked (and, of course, those of them that support the Google +1 sharing).  Not only it would be trivial to push those +1 to other social networks, but also now users have way more stimuli to share things, since that would improve their own search results.

Google +1 is yet available to everyone. Google will take some time to roll it out.  But if you want to try it out now, you can enable it on experimental page.

Switch to Gmail

Gmail blog announces Switch To Gmail – a new website that should assist all those who haven’t switched yet.  On to of that they added email migration support for another 14 domains – mostly Asian Hotmail, Live, and Yahoo sites.

This announcement is surprisingly close to the recent accusation of Chinese government interference:

“This is a government blockage carefully designed to look like the problem is with Gmail,” a Google spokesperson said.

Google is building a better boss

Here is an interesting New York Times article about Google’s Project Oxygen, which is, in essence, an initiative by the company to improve management.

In Project Oxygen, the statisticians gathered more than 10,000 observations about managers — across more than 100 variables, from various performance reviews, feedback surveys and other reports. Then they spent time coding the comments in order to look for patterns.

Like in many other technical companies, team and project leaders are assigned from the best of technical people.  It turns out that being good at programming does not necessarily mean being good at managing people.  That’s something that some of us knew for years.

For much of its 13-year history, particularly the early years, Google has taken a pretty simple approach to management: Leave people alone. Let the engineers do their stuff. If they become stuck, they’ll ask their bosses, whose deep technical expertise propelled them into management in the first place.

But Mr. Bock’s group found that technical expertise — the ability, say, to write computer code in your sleep — ranked dead last among Google’s big eight. What employees valued most were even-keeled bosses who made time for one-on-one meetings, who helped people puzzle through problems by asking questions, not dictating answers, and who took an interest in employees’ lives and careers.

But just knowing that technical skills aren’t at the top of the list for a manager is not enough.  One needs to know what is important.  And that’s what Project Oxygen is all about.

Things like this make me appreciate and respect Google.  Even if they don’t publish the results of the studies and use it internally only.  One thing that should be kept in mind is that Google employs a lot of people.  And those people come and go.  So even if they get a glimpse of a better way while at Google, that knowledge will eventually get out, will get applied to other companies, and will make the (office) world a better place.