Contents
The Web browser dance
The Operating System dance
What the browser and OS usage changes mean?
What Google Chrome is still missing?
Conclusion
The Web browser dance
Since the early days, the PHPClasses site publishes several types of statistics about PHP developers that use the site. Among those types of statistics, it publishes the ranking of the most used browsers by PHP developers.
The share of the three most popular browsers was compared now with the same browsers share about one year ago when it was published another article about the size of the PHP market.
Top browsers comparison chart
Browser | May 2009 | May 2010 | Change |
Mozilla Firefox | 68.0% | 63.5% | -4.5% |
Microsoft Internet Explorer | 18.5% | 13.6% | -4.9% |
Google Chrome | 6.0% | 15.7% | +9.7% |
---|
The Operating System dance
Top operating systems comparison chart
Operating System | May 2009 | May 2010 | Change |
Microsoft Windows | 84.3% | 82.6% | -1.7% |
Linux | 8.7% | 9.6% | +0.9% |
Apple Mac OS X | 7.0% | 7.4% | +0.4% |
---|
What the browser and OS usage changes mean?
These statistics are based on the user agent browser identification of all users that logged in the site at least once in the last 30 days. Currently that represents over 37000 users, which is a large enough number to allow taking some conclusions.
Despite not all PHP developers frequent the PHPClasses site, it is fair to extrapolate the figures and assume that this site user statistics are very similar to the statistics of the whole PHP developers community, given the fact that the number of sampled users is large enough.
The most evident conclusion we can take from the charts above is that Chrome has gained its share in the past year at the expense of loss of share of both Internet Explorer and Firefox.
Nowadays, Internet Explorer is only available under Windows. Therefore we might wonder if its loss of share could be due to the migration of users from Windows to Linux and Mac OS X. It does not seem to be the case, as Windows share loss is smaller than Internet Explorer share loss.
Recently I also switched to Chrome. I used to be a regular Firefox user. The main reason why I switched is that Firefox got too sluggish for me. It became too slow to start, to interact and to exit.
Chrome on the contrary always been much faster. Actually Chrome and Opera always have been very fast. The only reason why I did not switch to any of these browsers was that they lacked of important functionality and extensions that Firefox had. I felt I could not live without those extensions, so continued to use Firefox.
Internet Explorer 8 also has improved a lot. However it only works in Windows. I use Linux as my main development platform. Therefore Internet Explorer is not a solution that I may use in my main developer environment. I only use it in a virtual machine to test site features in Windows with Internet Explorer.
Although I do not expect that to happen anytime soon, maybe Microsoft will change their minds one day and develop software for Linux too. They already changed their minds regarding PHP and other Open Source software, it is not impossible that they support Linux too one day. I am not holding my breath though.
What Google Chrome is still missing?
Chrome is not yet a perfect browser. Actually it still misses several features, but those were not important enough to keep me stuck with Firefox. Here are some of the annoyances that I found so far.
Truncated link URL in the status bar
In Firefox when you drag the mouse pointer over a link, the status bar shows the full URL of the link.
Chrome also does that except that it truncates the URL when it exceeds a certain length. This is a bit frustrating when you need to check whether the URL of the links in pages of your Web sites are what you expect.
Not showing the selected HTML source
Sometimes you need to check the HTML of a given part of a page. In Firefox you just select the relevant part of the page and ask it to show the HTML source. Firefox shows the page source and selects only the HTML of the part of the page that you selected.
Chrome shows the source when you use the inspect element function but does not select the respective HTML of the selected page section. It makes it harder to locate and check only the parts of the pages you want.
No customizable toolbars
It does not seem to be possible to customize Chrome toolbars. In Firefox you can add or remove toolbars buttons using a drag and drop toolbar.
My biggest gripe with Chrome toolbars is that I am not able to configure whether buttons appear with label text below the icons. That would make it more usable for me at the expense of some window space. In Firefox that is an option.
Middle mouse button is ignored
In Firefox you can use the middle mouse button to click on a link or a toolbar button to make the respective URL open on a new tab. In Chrome the middle mouse button does not do anything.
The HTML editor pastes invalid HTML
Most of the current browser versions allow making a part of a page editable like using a visual interface (WYSIWYG).
Chrome also supports HTML editing but the paste functionality is quite broken. If you cut and paste part of the HTML being edited, often it inserts odd HTML like meta tags in the middle of the document. That makes the HTML invalid because meta tags should only appear in page head section.
Another oddity is the use of private CSS classes in the pasted HTML. It is not unusual for it to paste HTML elements with a CSS class named Apple-style-span . That seems to be a trace of the use of Apple Webkit engine.
Whatever that private CSS class means, it is bad that the HTML editor inserts it. When the edited HTML is saved and presented in another browser, it will certainly not make the page look the same because that style is not defined anywhere in the page.
Prompt windows block the whole browser
In Chrome, prompt and alert windows block the access to the whole browser when they are opened. Actually Firefox has the same problem.
It would be nicer if prompt windows would block only the current tab. That way I could still check other tabs or open new tabs to check information and copy text that I would like to enter in the prompt window.
Missing or limited extensions
Chrome extensions have improved over time but there are some extensions that Firefox has, but they are missing in Chrome, or the features of the equivalent extensions are too limited.
Here follow some of the Firefox extensions that I use most frequently and find lacking in Chrome. If you know any Chrome extensions that perform the missed functionality, just post a comment to let everybody know.
Firebug does not exist for Chrome. This is a vital extension for every Web developer. The equivalent functionality for Chrome is Developer Tools. It provides great part of the Firebug functionality but it is not quite the same. Several dependent extensions, like for instance
FirePHP, are not available. The functionality of others extensions like
Yslow is made built-in Developer Tools.
My biggest gripe with Developer Tools is how you start it. You need to find and use the Chrome menu where it appears. Firebug approach is much better. It just provides a button in the status bar at the bottom of the browser window that you can click and start Firebug immediately. Therefore you do not have to wonder where the heck is the Developer Tools menu.
JavaScript in Chrome is much faster than in Firefox. Actually Firefox JavaScript Debugger (Venkman) is quite sluggish. So, Chrome JavaScript execution speed improvements are quite welcome.
Chrome JavaScript debugging support is built-in Developer Tools. Despite its speed, I could not figure how to do certain things. One of such things is the ability to stop the execution of JavaScript when the page is loaded.
In Firefox JavaScript debugger you just use the stop button before loading the page. The debugger will stop when the first JavaScript code is about to be executed, even when it is some code on the page onload attribute. I could not find a way to achieve the same effect in Chrome.
This is a swiss army knife like extension that does many useful things for Web developers like emptying browser caches, resizing pages to certain sizes, disabling JavaScript, CSS, etc.. I have not found anything similar for Chrome.
This is an extension that lets you change the browser identification sent to the sites your are testing. It is useful to evaluate whether your sites work the way that is expected depending on the type of browser. I have not found anything similar for Chrome.
This extension lets you verify whether a page has HTML validation mistakes. It is useful to fix programming bugs that may cause the wrong HTML to be served. I have not found anything similar for Chrome.
This extension lets you check the HTTP headers that are sent and received from the Web server. I have not found anything similar for Chrome.
This extension lets you store pre-defined text that you may use to paste in form text fields. It is useful for testing Web applications with forms on which you may need to enter the same long text sentences over and over again. I have not found anything similar for Chrome.
Conclusion
Despite all the bugs and annoyances, Chrome seems to be the browser that many of us Web developers always have desired.
I tested Google Chrome 5 beta. That may explain why it has some annoying bugs. Given the time I am sure all those bugs will be fixed and the missing extensions will be developed.
What do you think? Is Chrome ready for you to switch? If not, what is holding you back besides the annoyances and missing extensions mentioned above? Feel free to post a comment with your opinion.