A software package a day. Day 1: Google Chrome

I have decided that the best way to get into the habit of adding content to this dusty site is talking about something that I have a lot to say about: software packages. I am a tool user. I love new tools, learning them and then either putting them to use or pasture. There are tools I use every day. There are tools that I use once a month, but would miss dearly if I didn't have them at my beck and call. Tools are what amplify our effort or hinder our progress. I have things to say about both situations, as even overcoming shortcomings can be a useful.

There won't be any specific order to my discussion of the tools: as I use a tool, I will create a post about the use I put it to and how it worked or didn't for the situation. I will add other posts to fill any gaps (some tools are so standard they would be ignored if I only concerned myself with "exciting" use-cases).

So, where to begin? Well, I think I will talk about what I'm composing this blog post in: Google Chrome.

I was an early adopter of Chrome. It was a bit rough at first: there were sites that didn't render properly or JavaScript that failed to operate as intended. After a few months the number of problems have vastly diminished. In part I attribute that to the many updates that silently installed (something I'm not sure I care for, but it is useful enough in this case I allowed it). I also have seen changes to the coding of sites to accommodate Chrome's quirks. The sites I am responsible for didn't need many changes, and in every case I was able to migrate to a more standards compliant way of doing things that made both Chrome and the rest of the browsers happy.

There are many things to like about Chrome. First off, I really like the speed at which it loads and runs. It beats both Firefox 3.5 (although not a fair fight: my Firefox is loaded with development tools) and IE into memory, and is comparable to Safari. This last point makes sense as Safari and Chrome both use WebKit for rendering. Page rendering is also very fast and I enjoy the new tab "most visited" feature... it turns out I use far more than 9 sites during the day, but there are 9 that I use so often that it turns out to be useful to be able to just click and go. Finally, I like the speed at which JavaScript and Flash run: some Flash based sites that lagged in other browsers run smooth as silk in Chrome.

All that aside, the biggest reason for using Chrome is the security model. Chrome breaks each tab into a process independent of all the others. These sandboxes are managed by Chrome outside Chrome's main address space. What this means is that it would require two exploits to break out from Chrome and into the operating system. One must still be aware of other exploits such as malicious scripts that modify the user interface of a site to steal passwords, but I must say that I feel much more secure only worrying about web-based attacks such as that rather than the exploit of the day (such as this one in IE).

However, everything isn't prefect yet. My biggest complaint is the lack of plugins. Although in the back of my mind I know they are what slow my Firefox down, I still love the plugins available for Firefox. However, I was able to work around the plugin I missed most: AdBlock Plus by loading Privoxy and setting my browser to use it as my proxy server. The only downside to Privoxy is that it isn't as simple to unblock sites as it is with AdBlock Plus. This is a problem for me because I believe strongly in supporting sites I visit in whatever way I can, and in most cases that means viewing advertising. Why bother at all with blocking then? Because I want to choose what I'm subjected to myself, rather than suffering randomly... especially when stumbling around the web looking for an answer to a technical question.

Back to Chrome though... the lack of plugins really is the major "problem". Considering that I still have Firefox available for when I do web-development related tasks, it isn't really that big of a problem. Effectively I have adopted Chrome as my primary "personal use" browser and I retain Firefox for development. I do like Chrome's "inspect element" feature for development, but the JavaScript debugger is privative compared to FireBug. My other early problems with rendering have vanished, so Chrome is my first click when heading out on the web.