Wednesday, September 10, 2008

Chrome and its processes

Wow, i gotta say "Thanks" to Scott Hanselman (who i must say is an excellent technical speaker, i met him briefly at TechEd NZ, not that he would remember me). Almost exactly a week ago i questioned all the processes being started by Google Chrome (here), and in an excellent post he has answered that exact question. You can find his post here

The problem with his answer is that it produces a lot more work for me - now that i know a little bit i have to go and research and become familiar with that design pattern. The possibilities could be interesting, maybe this would be a cool way to allow third parties to integrate into your application and give them a very limited access to your data or authentication services (i'm presuming that Chrome and IE8 totally isolate their addons).

Keywords: google, chrome, IE8, processes

Thursday, September 4, 2008

Chrome, 24 hours after installation

Okay, i need to correct a statement i made about Chrome in a previous blog post. If i'm going to criticise products then it is only fair that i be as accurate as possible.

Yesterday i stated "it must offer me some way to configure its there is no excuse for not having an options/settings UI". This could possibly be interpreted to mean that Chrome has no configuration options at all, when it does in fact have some. It kind of has some very basic tab configuration, you can clear the stored cookies and history, and there are some basic security settings, but not a lot else.

But wait, there's more!! In the last 24 hours i have found a few more things to have a spew about:

 - my machine is 64bit, running a 64 bit operating system. So why did the Chrome installer decide to install the 32 bit (x86) version of the application? Is it because some lazy slack ass developers have not compiled an x64 version? There must be something like 10 billion 64 bit machines out in the wild by now, so why is there no 64 bit version of Chrome?

 - if i go to the options and try to change the proxy settings.... WAIT ONE COTTON-PICKING MOMENT!!!!! Changing those proxy settings is also going to change the proxy settings for IE, and any other application that uses a plugin browser component, such as Windows Explorer, my RSS reader, Outlook, etc. WTF???!!!! Why doesn't Chrome use it's own set of proxy settings, instead of relying on the system ones? Firefox and Opera both have their own settings, why couldn't Chrome?

 - i can clear the browser history, but i can't alter any other history settings, like how long to keep it. I don't want my history retained. When i type Ctrl-T to open a new tab, i don't want a bunch of "you recently visited these sites" links. I want that new tab to be empty, with the focus already set to the address bar so that i can start typing. This is how real men browse, only weenies and Mac fanboi's want a bunch of recently visited links automatically populated onto their new tab.

 - it is OPEN SOURCE!!!! OMG!!! GASP!!! Yawn. Like the world hasn't already had umpteen open source browsers*, like a very famous one called, ummm, "Mozilla Firefox". Exactly what was the point of making it open source? Is it because that is the trendy thing to do at the moment? Or was it done that way so that Google could put their hand on their heart and swear on their mother's grave that "honestly, we are not trying to take over the world and 0wn all your base, and track everything you type in the address bar and every site you visit and send lots of secret tracking data to our great database in the sky, honestly, just check our source code"? Yeah right. Unlike a lot of morons out there, i do not trust or respect a product any more simply because it is open source. What is the point in releasing YAOSB? (Yet Another Open Source Browser).

I know that Chrome is in beta (and probably will be for the next three decades), but the only feature that has impressed me so far is the rendering speed. The rest of the browser has been somewhat underwhelming.

*Don't believe me? Check this link, scroll about halfway down, look at the table immediately underneath the General Information heading. Remember, those are just the browsers that made it big. Now check Sourceforge, there are about one zillion OSS web browsers under development there. I think that is enough to prove the point, we don't need to go check the various other publicly open source repositories.

Keywords: google, chrome, open source software

Wednesday, September 3, 2008

Google Chrome

Application being named and shamed: Google Chrome

I downloaded Chrome today to have a play with it, and before i start i must mention that it is a beta, but i think the shortcomings i am going to critique are important. I installed this onto a machine running Vista Ultimate, so your experience may differ. I am typing this blog post in Chrome, not that it really matters to what i am going to say :)

First problem: It's called "Chrome". This is also the term used to describe the title bar and menu bar area etc of the application window. This screenshot is the chrome area of IE:

It might be a cool sounding name and easy to market, but wtf using a piece of terminolgy that is in common use amongst Microsoft folks? Is this a sly shot at the company you are in close competition with?

Second: When you download Chrome, you are downloading a stub installer that when run goes back to the net without asking or notifying me and retrieves the rest of the install package. This may make life easier when you roll out the beta, because if any issues occur you can just fix the main install and you don't have to replace the stub which people have already downloaded. But it is bad because the installer has not told me what version of the product i am installing, and the version that i install on another machine tomorrow can be different from the version i installed today. The installer needs to be fully open and informative about what it is doing and exactly what it is installing. Where did the install package come from? Why do i not get a chance to virus scan it before installation?

Third: Chrome automatically installed itself into a user specific area on my machine. At no stage did i get asked for an install location. This is incredibly bad - this is my machine, and i dictate where things go on it (as it happens, i don't install *any* applications to my C: drive, they all go onto a drive reserved specifically for applications). 

Fourth: This is also bad because Chrome's data gets stored in the same location, and Chrome provides no way of changing that. This means that anything that is downloaded gets cached in this location. For me this is unacceptable - all the browsers i use (IE, Firefox and Opera) are set to store their cache items on a totally different drive. This means i can quickly and easily check, search or delete the cached content without starting the applications or navigating deeply into a folder structure. It means i can easily set ACLs (permissions) on folders and files, all in the one place. It also means that temporary files are not needlessly filling up my boot drive!!!!

Fifth: WTF is with all the processes being started by Chrome? This was with two tabs opened:

Sixth: if i right-click in the chrome area of Chrome (that was funny!!!!!!!), i get a context menu, and one of the options is "Task Manager":

too late Google - that name is already taken, it is the little system utility that i start up to check on system resources or to kill errant processes. But you know that already, so why choose that name for your dialog? Call it something else, maybe "Application Tasks", or "Tab Manager".

I have nothing against Google, and to be honest there are some things i also like about Chrome (but i'll blog about those once i've had more time to play). But to make simple and fundamental mistakes like they have is unacceptable, and if i was an IT administrator there would be no way i would allow this browser on my corporate network. Just because you are Google you don't have exemption from the rules or conventions.

When an application installs on my machine, it must:
1: if it fetches extra components then it must tell me what they are and where they are coming from - it is my machine and i have the right to know.
2: it must give me an option of where to install it to. If they want to restrict my choices that is fine, but i should have the right to cancel the install if i don't like the options available to me.
3: it must offer me some way to configure its options, like where the cached items are to be stored, and the tab behaviour i want, and whether i want to allow script to execute in pages, etc. A lack of configurability is fine in alpha software, but not beta. Labelling your software as "beta" means you are on the home stretch towards "going gold", not just starting the race**, so there is no excuse for not having an options/settings UI.

* i know that installing an application into %APPDATA% could solve a couple of issues, namely the application should have no issue directly accessing its data files/folders because Vista's file virtualisation shouldn't be triggered, but that's not the point - this area is for data, not the application. Or maybe Vista restricted the install to installing there as it was downloading (installing) from an untrusted location. At the very least the application should be installed into %PROGRAMFILES%. Better still it should give me an option, defaulting to %PROGRAMFILES%.

** i have to mention that this is something that Google seems to have redefined with their other applications, like Gmail. It is labelled as "beta" as soon as it is opened to the public, and is still called "beta" several (4? 5?) years later. Will this happen with Chrome as well?

Keywords: google, chrome, sub optimal, bad install