Google Chrome – Why I Hate It And Continue To Use It

Update: striked-through a reference to the search bar overlapping search results. It doesn’t do that. (thanks to everyone who let me know).

This is the third time I have tried to use Chrome. The first two attempts lasted two days before I uninstalled it and went back to the comfort of Safari. Every time I use it, I end upventing my frustrations on twitter and face the inevitable backlash from my Chrome-loving followers. My problems with Chrome always revolved around its UI and UX, and this post will highlight the reasons I reached my conclusions.

First, I’ll highlight the things that Chrome gets right. Credit where credit’s due, and all that.

The Good

My current attempt to use Chrome as my default browser is much more successful than the previous ones. I’ve been using it for just over a week now and have finally gotten over the initial hump of disappointment. My hypothesis is that every time I try to use Chrome, I end up interacting with the browser itself for two days and not really using it to browse the internet. Once I got past the UI issues, I found Chrome to be a fine browser.

Unified search/location fields

By far, my favorite feature of Chrome is its unification of the search bar and the location bar:

This combination eliminates a decision every time I search/go somewhere. Not only that, sometimes I find myself switching between a search query and a URL mid-way through typing it!

Tab closing behavior

This one should already be familiar to you.

Tab exposé

This is an opt-in feature of the Canary builds which you can enable in about:flags

When I first found out about this feature, I thought it was a gimmicky but I found it works great especially with the trackpad (swipe three fingers down to activate).

Recently Closed / Restore session

These two go hand-in-hand, basically, being able to restore a session or re-open a recently-closed tab has saved my butt a few times and I appreciated the feature.

Developer Tools

The Chrome team has added some amazing debugging and inspecting tools to the webkit inspector (and they broke a bunch more, but we’ll get to that later). I find myself much more productive when debugging my web apps in Chrome vs. Safari.

The Update Process

…or lack thereof. The fact that Chrome sends you tiny diffs and updates its binary is amazing on a technical and UX level. It completely blurs the line between native and web app and I strong-heartedly stand behind this. More apps should do this and someone should release a framework that simplifies it.

The Bad

This is a list of what bugs me about Chrome. I will admit that on their own, a lot of these are tiny issues, but in aggregate, they form a sloppy browser. Death by a thousand cuts.

Lack of RGB Anti-Aliasing

Take a look at this zoomed-in screenshot of the New Tab page:

Notice how it’s using Black & White anti-aliasing? My guess is that they have

the text on a hardware-accelerated layer and not setting a background color on it, which causes the text to lose the anti-aliasing.

Look what happens when I give it a background-color: white;

Why this is something the Google engineers don’t do is beyond me. This happens in multiple places throughout the UI, not just the New Tab page.

Terrible PDF font-rendering

Chrome uses a non-native PDF viewer. That isn’t an inherently bad thing, you can be better than the native alternative, but this is anything but. Compare the text in the picture below between Safari’s PDF viewer and Chrome’s PDF viewer.

The Downloads Page

This one is a double-whammy. In Chrome, the downloads page opens in a separate tab, as opposed to a separate window (like Safari, Firefox, etc. all do).

Here’s my problem with this: Because the downloads window is a tab within the same Chrome window, they needed to add extra UI to show you the progress of your downloads are you browse. The way they do this is using the Downloads bar:

This bar eats up 43px of screen real-estate in the browser. If you wanted to reclaim your space, you can’t monitor the status of your downloads. If you don’t hide it, it stays visible long after all the downloads are done.

This is a solution to a problem that shouldn’t exist. By making the downloads manager a separate window, you can monitor it while you browse. Not only that, but you can view individual progress of your downloads vs. the aggregate.

You could tear-off the downloads tab and treat it as a separate window, but not only does that require user action, the UI isn’t designed to be compact, so you still can’t make the window small and get meaningful information.

The Title Bar

Because the tabs live in the title bar, and because the rest of the chrome (note the lowercase c) is not-draggable, the effective draggable area in Chrome is a thin 10px strip at the top of the window.

I’ve highlighted the section of the window which you can drag. It’s tiny!

The second problem with the tab bar being in the title bar is that when you have many tabs open, you have to rely on a tooltip to figure out what the title of the tab is.

Massive Preference List

When I first started using Chrome, I thought the preferences-as-a-tab was a heinous crime against humanity, however, after using it for a week, I’ve come to the conclusion that it doesn’t inherently present a UX problem. What does present a UX problem however, is the massive number of preferences Chrome exposes to the user:

I recognize that most people won’t peek “Under the Hood” but for most people, the large number of options makes finding what you want hard, even with the search feature.

Favicons Everywhere

I hesitated at first to list this, thinking it was too subjective. However, upon further consideration, I feel like I can lay out an argument for why it is actually bad.

Consider this site. I’ve put a lot of work into making sure that this website is as simple as possible, allowing you to, the reader, to focus as much as possible on the content without any distractions. However, in a typical session in Chrome, you’re innundated with favicons in the location bar, in the tab bar, and in the bookmarks bar. This not only clutters and cheapens the chrome of the browser itself, but it also distracts from the aesthetics of the article and impacts the motif I’ve built.

Another problem is that favicons are duplicated on the tab bar and on the bookmarks bar. However, the address bar doesn’t include them (just has that globe icon). This means that you end up seeing the same favicon multiple times unnecessarily, adding to the clutter.

While we’re on the topic of bookmarks. Notice that “Other Bookmarks” button? It’s empty. there’s the “»” button next to it, that shows me the “other bookmarks” which I can’t see because they don’t fit, but “Other Bookmarks” apparently means something else. I assume it means regular bookmarks (not on the bookmarks bar), but I couldn’t figure out how to add a page to that list.

Search Field

The search field covers the content of the site, if you were searching and a match was under the field, or you wanted to click a link/button under the search field, you’re out of luck.

In the case of a web app with a toolbar (This screenshot shows MobileMe, but the same UI model exists in most web apps), the search field actually covers the main parts of the UI, you have to dismiss it before you can use the app!

Status Bar

The status bar can be in one of three states: Bottom left, hanging off the window if it fits, or on the bottom-right. As you move your mouse in the bottom left corner, the status bar will move and jump around erratically.

The New Tab Page

The list of tabs is horizontal, instead of vertical, there’s not enough space to read the title, and it’s hard to quickly and visually see what page is what.

Note: In the Canary builds, there’s an option in about:flags to enable an experimental Tab Page which is much better.

The Tab Bar

Again, because the tab bar is in the title bar, if you have a lot of tabs open, you end up having to hunt for the tab you want, and you can’t read the title of the tab you’re on.

Loading UI

When a new page/tab is loading, the only indication is a small spinner in the tab. I continuously find myself wondering whether or not Chrome is doing something or not.

Can you tell at a glance whether this site is loading or not? (By glancing at the chrome, most sites don’t have a giant “Loading” UI in the middle of the page.)

Lack of Attention-to-Detail throughout

Everywhere you look, things are mis-aligned, and broken. Here are a couple of examples:

 Not only is this using ugly and non-standard menus, but the first item remains curiously selected.
Not only is this using ugly and non-standard menus, but the first item remains curiously selected.
  Broken gradient in the toolbar of the Developer Tools
Broken gradient in the toolbar of the Developer Tools
 There is a highlighted item in this menu, can you find it? Neither can I.
There is a highlighted item in this menu, can you find it? Neither can I.
  When you open a new tab and go to a page with a scrollbar, it overlaps the resize handler.
When you open a new tab and go to a page with a scrollbar, it overlaps the resize handler.
 Notice how the error icon overlaps filter list in the Network tab of the inspector.
Notice how the error icon overlaps filter list in the Network tab of the inspector.
  To change the sorting, you have to click on a header of a column (no indication that it’s clickable), and then select from a drop down. Who came up with this one?
To change the sorting, you have to click on a header of a column (no indication that it’s clickable), and then select from a drop down. Who came up with this one?

I’ve counted three different menu styles in Chrome. The bookmark bar menu, the contextual menu in the bookmarks manager, and the customized native one in the Tools menu. This creates a confusion among users as the three menus behave slightly differently.

The Network Tab

The Network Tab is an addition to the webkit inspector that still hasn’t made sense to me. Before it was introduced, The Resources tab was where you go to browse the…resources (js, css, html, xhr, etc) of your page and inspect the response/request headers. Now, you can access the same information in both the Resources tab and the Network tab in different UIs. The Resources tab doesn’t require a refresh, but the Network tab does.

The Network tab is also one of three ways you can view the contents of a file. Imagine an email app that has three different places to show you the list of emails in your inbox, in the same exact format, in three different places of the app.

To add insult to injury, the Network tab is the only place you can view the size/time statistics of your application, but you can’t view aggregate data. If someone could explain to me why the Network tab exists, I would be grateful.

Non-native behavior, Native look

Go to the developer tools, notice how it looks like it has a unified toolbar? Funny thing about that is, you can’t actually drag anywhere other than the title bar. Again, I’ve highlighted the area of the toolbar that’s clickable.


It’s been just over a week by now, and I continue to use Chrome. It may seem hypocritical, but the combination of search and address bar and the rate of iteration keep me hooked. I think it’s a bit like gambling, I keep using it with the hope that tomorrow all these problems will be fixed. As an anecdote, Google announces things like memory inspection that keep my interest in Chrome high. I feel like there’s a lesson here for other projects, maybe it deserves its own blog post.

As I said previously, a lot of these issues are small, but they add up to a broken experience and lots of little frustrations. I expect a lot of people to tell me that they don’t mind a lot of these problems, or that a lot of these problems are not in fact, problems. Finally, I also realize some of the problems tend to be subjective, but you came looking for my opinion, and I opined 🙂