Chrome added an annoying translation feature


Recently Google has added a built-in translation feature to Chrome that has some usability issues. Since these issues haven’t been fixed in the past couple of releases, they might be here to stay. So here is how it works: if you visit a page that is in a different language than your system language (or the main Chrome language), Chrome shows that little popup in the image below and asks if you would like to translate the page. Neat feature if you occasionally use it. However that is not the case when you often visit pages with another language. By the way, there’s a joke that goes like this:

What do you call a person who knows three languages? Answer: Trilingual. What do you call a person who knows two languages? Answer: Bilingual. What do you call a person who knows only one language? Answer: American.

So probably “Americans” designed Chrome but for the rest of the world, this is just a painful UX.

Why U visit pages in other languages?

Why U visit pages in other languages?

Let’s demonstrate with an example. Baidu is one of the most popular search engines in China. When you go to you just want to start typing in the search box. This is a standard behavior in Many people do it almost mechanically without even looking at the screen. However the translation popup gains the focus and doesn’t let you type. You have to click “Nope” or press “Esc” key on the keyboard so that the page regains the focus and you can type again. Note: as one reader reported, while the popup is open many other keyboard combinations on the browser level don’t work either. For example CTRL+W doesn’t close the tab.

Baidu in English Google Chrome

Baidu in English Google Chrome

Unfortunately this awesome language aid creates a bad user experience on many websites. The only options that are available for preventing this UX issue is to disable translation on the entire site or for that particular language altogether. But that’s not good if for example you are learning that language and still want to have some help when you need it. Besides there is a hidden tax: Chrome analyses every page upon load to guess its language and see if it needs translation. This costs an extra CPU usage and battery life for every single page (not a good thing on mobile devices). If you click “Nope” and visit the page again (or just refresh it), the stupid popup is going to ask you the same question again like you never rejected it a few seconds ago. Yup! Computers are stubborn, specially when programmed carelessly. It’s ironic that in an age where popup blockers are a built-in feature of the web browsers, they return even more annoying. Check out the comments on this post and Hacker News to see that people have actually left Chrome for its rivals just because of these UX issues.

Never translate this site or language

Never translate this site or language

Another examples: Try searching prices on (Sweden’t Pricerunner) and you have to pay that popup tax before you can do anything on the page. This annoyance appears in almost every interactive website that is in another language.


The UX wasn’t better before. There was a yellow bar at the top of the screen that asked if you want to have the page translated. This made the page jump a little to the bottom (to make space for that yellow bar) right after it was loaded. This visible jump was annoying. For example if you were going to click a button or link before Chrome found out that this page is in a different language, the page would jump right before you click the button. This special sequence of events may not sound very likely but has happens a lot. For example when a user is a regular visitor, his/her brain remembers where to click (for example navigation bar, menu or links) but this sudden jump makes it harder for the motoric part of the interaction and slows it down. This creates the perception that Chrome is slow even though it was just the language detection feature that took place after the page was loaded. The new interaction model with popup solves that problem. However the yellow bar still exists on the Chrome for mobile browsers (Chrome UX designers figured there was something off with it, so they changed its color to white probably to make it less distracting! Didn’t it help?).

Chrome mobile translate

Chrome mobile translate


Add an option to disable this proactive popup approach.

Let the users choose if they want automatic translation

Let the users choose if they want automatic translation

There is a similar setting under Settings > Languages (hidden under advanced settings):

Chrome Settings > Languages

Chrome Settings > Languages

This checkbox can be selected by default to comply with the current behavior of Google Chrome (occasional users of this feature will not be bothered to leave it selected). But when the user deselects this checkbox, Chrome should give up on guessing the page language every single time. Though the translation icon will be right there if it’s needed (see image below):

The translation button is still there

The translation feature is still there

If the user chooses “Nope” on a page, please remember this answer and don’t ask on every single load. The popup has a little tiny arrow at its top that makes it clear where it is coming from. User will be able to translate the page when needed. If usability tests show otherwise, add a “translate” menu item to the page menu right after “Find…”.

The translate menu in Google Chrome

The translate menu in Google Chrome

PS. one of the readers kindly suggested that such workaround already exists on Chrome. All you have to do is to disable translation altogether (using the aforementioned Settings > Advanced Settings > Languages) and whenever you want to translate a page, just right click and choose the translate menu item as shown below:

Chrome has a page-wide translation menu already

Chrome has a page-wide translation menu already

What is your experience with Google Chrome’s translate feature?

PS. If you’re from Google, take a look at the comments in Hacker News and help us reach the right people to fix this problem.

Google’s Response

This post got a lot of attention (10,000+ views) and fortunately it was noticed by Google engineers. Here is their comment:

I’m Kenji Baheux on the Chrome team and have been overseeing this feature with our UX team.

Please accept my apologies for the trouble. We’ve been listening and are making the following changes:

1. we won’t show the infobubble and rely on the omnibox icon if the focus is on an editable field. (fixed in M36)

2. the infobubble will stop stealing the focus: you will be able to type, perform shortcuts, scroll the page and so on.

3. we are experimenting with the idea of never showing the infobubble again and solely rely on the omnibox icon as soon as we observe more than X negative actions within a given timeframe T (starting with X=2; T=24h)

4. A few other adjustments around the “translated” infobubble (e.g. will not be shown for automatic translation, will not show up if the “translating” infobubble has been dismissed).

I’m eager to hear additional feedback and would appreciate if you could play with the feature in Canary as we land the different changes.


Google can’t search for vendor-specific CSS properties


Most browsers use a prefix for their experimental CSS features. For example -moz-boxsizing is used by Mozilla browsers to alter the default CSS box model used to calculate widths and heights of elements (reference). But when these properties are searched in Google, they generate no results:

Google can't lookup vendor-specific CSS properties

As weird as it looks there is a reason for it: Google interprets the leading hyphen as a negation operator. In other words when you’re searching for -moz-boxsizing, you are in fact searching the internet for all articles that don’t have “moz-boxsizing” in them. In fact at the moment Google search isn’t smart enough to know:

  1. Searching all internet excluding a phrase is a none-sense search
  2. When the only term in the search box starts with a hyphen, there’s a good chance that term is the actual search term

Of course there are several workarounds for this:

  1. Embed the search term in quotation marks to force Google search for your term. i.e. “-moz-boxsizing”
  2. Remove the hyphen from the beginning of the search term. i.e. moz-boxsizing

The problem is that the search experience is not as smooth as it can be and you have to edit your search term. Those few key strokes waste time and for a search engine that takes pride in its usability, this is a problem. It is the machine that should adapt to humans, not the other way around. Why? Because we created the machine to serve us, not the other way around.


Apart from the workarounds above, there is a very simple solution to this issue. The search interpretation algorithm can be optimised to consider two things:

  1. If the search term starts with hyphen and it is the only term in the search box, assume it is quoted. You can even show it as quoted in the result page, if you want to teach people about that workaround, but please don’t stop them with the wrong error message (no results) and expect them to find that help page. Remember, most people don’t even know the search operators. Should they be punished with waste of time, wrong error message and forcing them to edit their term? I don’t think so.
  2. As a quick hack, let people search for vendor prefixed CSS attributes. This solves the problem for web developers, but an extension to this idea can involve some R&D. The search analysts at Google probably can do a little research and see how many search terms that started with a negative operator is followed up with removal of that operator. Probably this gives a signal on what search terms actually need to start with a hyphen. As a practice I suggest you compare the result of searching for ls vs. ls -l

GMail attachment hint has a misleading message


GMail has a smart feature that tries to help you not to forget attaching files. Here is how it works: when you’re done writing your email and press send, GMail scans your email for the word “attach” or “attachment” and shows you a warning like this:

GMail attachement error

GMail attachment error

Now why is it a problem? Because when the user is done writing their email and press send they consider it to be over. Any message that comes after it, will be considered as a disturbance preventing them from reaching their goal of sending the email. So the disturbance should be eliminated as soon as possible so there is a higher chance that the message will not be read. More often than not, people are so confident in their action that they don’t bother reading the dialog and just press “OK” saying “I know, go ahead” in their mind.

I have been in a lot of user tests and if there’s one thing I’ve learned about dialog boxes is that users rarely read them. For most users the default (highlighted) button is what they press by default because they trust the designer of the system with choosing the best default.

Let’s look at the interaction in slow motion. User is done writing and now their goal is to send the email. He presses the send button. He sees a modal dialog that says “Did you mean attach files?”. He’s like “Ahhhh! Oops! Yeah! Positive!” so he presses the positive button that reads “OK”. Ummm, wrong button! The email is sent! Time to write another email with the attachment! By the way “this is a great way of punishing the users who don’t read your message“. I’ve heard it from programmers with no sympathy for the user.

gmail attachment error oops

Essentially this smart GMail feature is useless in this flow. Except warning the user that the email was sent without attachment which is better than nothing.


The feature itself is smart, so I wouldn’t remove that. However, the message needs to be re-formulated to solve the UX issue and this can be done at least in two ways:

  • Formulate the first line to read like: “Send anyway“? And describe the issue in the message body. This is not the best because it assumes everybody reads the body of the message. But at least the buttons are the direct answers to this question.
  • Change the message to “Send without attachments?” and in the message body describe a little more why GMail thinks there must be an attachment.

Side note

If you’re going to fix it, please keep in mind that when the user sees the error message, he’s half way outside the door so let him send the message as soon as possible if he choose to do. After all computers are not always right! Put the user in control and provide these smart features just as a hint. I think it is a wise choice to have “OK” (for Sending) as default button on that dialog. Please don’t change that otherwise the interaction flow can be like this:

  1. The user is done writing an email with the word “attachment” in it.
  2. Upon sending, GMail stupidly complains about the lack of attachment.
  3. Pressing “OK” actually doesn’t send the email and annoys the user forcing him to read the message.

One may argue that reading a message is not such a big deal. Users are supposed to do that. Well, we are human and humans are a mess. If you want to create a great user experience, don’t ignore that! :-)

Finally it should be mentioned that one of the most important parts of every error message is to offer a solution. The current messaging doesn’t clarify what’s the action that needs to be taken. We may assume that everyone knows that is an attachment, but that assumption may not be true for people who don’t know English very well and for whatever reason they are not using GMail in their mother tongue.

Pebble steals your email address from an unsubscribed form


Pebble makes smart watches –the kind of watch with a digital display that connects to your phone to show your messages and information that are shared via an application installed on the phone. Their website promises that it “can” do a lot and I have no doubt that there’s at least one thing it can do great: stealing my information!

Pebble promises to do everything you can imagine

Pebble promises to do everything you can imagine

So the story is that I went to Pebble’s website as a prospective buyer. I should admit the design of the website is fabulous and modern. So after getting some technical info I decided to buy one. I went to the checkout page and filled the information starting with my email address. But at the bottom of the page, it asked for my credit card number. With all due respect for its hefty features, I didn’t feel comfortable giving these sensitive information mainly because I don’t know the website (by the way, there’s a company that handles this kinds of risk).

Even though Pebble looks like a great concept, the website looks like a one-product start-up with no connection to a big brand that I know. It’s not Sony. It’s not Philips. It’s not Apple or Samsung. It’s Pebble, a brand I got to know a couple of days ago when talking to my geek friends. Therefore no trust is built on the first place. So I gave up the checkout page and headed to a shop I trust: Amazon!

A day later I got a marketing email:

Hi there,  You forgot me and your wrist is probably lonely. I just wanted to remind you how awesome I am, plus, they’re letting me ship anywhere in the world today for FREE!  I promise to sync seamlessly with your Android or iPhone and give you immediate access to what's most important to you. Want to know when the surf's up, check the scores or simply find your phone? I'm a Pebble. I can do that. Click here to take me home with free expedited shipping.  See you soon, Your Pebble

The capture your email address even without submitting the form

So the email is telling me that I’ve been sloppy and forgot the watch back in the shop and my hands are “lonely” without it. My immediate reaction was: “I didn’t forget you! I didn’t even want you because the shop that sells you wanted my credit card information and I don’t even know the site! PS. My wrist is not lonely! I have lots of watches!”

So the problem is: if I don’t trust the site on the first place, why would I be happy that they have captured my email address from an un-submitted checkout form and used it for spamming me with useless marketing insult?

I’m not sure if legally a company is allowed to capture user information that haven’t officially be submitted. Being a web developer myself, I went back to their website to see what’s going on. Turns out Pebble actually sniffs whatever I type in the email address field and dynamically sends it back to the server using an Ajax call. Here is an example of network message sent to their server when I wrote something in the email field:

An example of how Pebble sends your email address without even submitting the form

An example of how Pebble sends your email address without even submitting the form

The email definitely didn’t convince me to buy a Pebble. If anything, it gave me a reason to be suspicious to how they handle my personal information that will be naturally shared with my smart watch. If they are so aggressive stealing my information from an un-submitted from, how can I carry it on my arm on a day to day basis and give it full access to my email, SMS, Facebook and other personal information via pairing with my smartphone? Never ever!

It’s like you go to a shop to just take a look at the merchandise and next day when you wake up the delivery man is banging on their door saying: “hey you forgot to buy what you were checking out yesterday at that shop!”. So let’s make it clear. I’m not buying because:

  1. You tracked me even though I didn’t explicitly mentioned that I want to be in touch (some websites have a submit form that is more polite)
  2. You actively used this unwanted tracking information to approach me with unwanted advertisement (that says you don’t care about my privacy policy)
  3. I am not going to trust an aggressive data-gatherer with a product that is directly exposing my security to a 3rd party that I don’t even know! (who is Pebble after all?)
  4. You use negative copy and convict me of being sloppy and forgetting what I was about to do (let’s be honest, this may apply to 1% of people who have a fish memory, but the rest of us know why we leave an activity)
  5. Your email doesn’t give me any new information. The price is the same and the shipping is free even when I use an un-tracked new browser session.


First of all, marketing people are the most unpleasant people after the security people when it comes to user experience. (How many times they bother you by ads or stupid security mechanisms daily?)

Sending a marketing email to someone that has left the checkout form may sound like a smart idea at first glance, but they should keep in mind that if you have left their page it is for a good reason and they should respect your choice. It’s not like now that you have left their page, they have nothing to loose and can use the most aggressive marketing methods to hunt you down to come back and buy from them! People may leave a website for many reasons: some don’t have enough money at the moment, some cannot make up their mind and need to ask their friends or lookup the reviews, some are there just to see how much it costs because they are curious… Let people leave with good impression. They may come back. If not, they’ll talk nicely about you with others. This is exactly why a polite salesperson says goodbye and wishes you a nice day when you leave their shop without even buying something (not all of them do that though, but when they do, I feel connected and important. I will definitely keep that shop in mind when I’m out to buy next time).

So if you want to get in touch with your prospective customer, use a “submit to newsletter and offers” website. I submitted my email happily to Qualcomm’s Toq smart watch website and happily read their email.


Most smart watches need you to install an app into your phone in order to send the information to the watch or back to the servers of the company that made it. Pebble has such an app too. So I went to the Android market and found the Pebble app to see what kind of information it accesses and here is the list of permissions this app needs today:

  • read sensitive log data
  • read your contacts
  • full network access
  • Your personal information
  • receive text messages (SMS)
  • reroute outgoing calls
  • read phone status and identity
  • test access to protected storage
  • Your social information
  • read calendar events plus confidential information
  • modify or delete the contents of your USB storage
  • pair with Bluetooth devices
  • access Bluetooth settings
  • find accounts on the device
  • prevent device from sleeping

I don’t have any stats on how many people actually read the permissions before installing their apps (or even buying such “smart” devices), but it will not hurt to ask why a smart watch needs to re-route my calls or have full network access while having access to my personal information?

I’m sure Pebble has very good answers for the issues mentioned in this post, so I’ll contact them and share any information they want to share.

Airberlin looses users because of simple usability issues


I was reading an article on Salon, when an advertisement caught my attention. Normally I’m ad-blind like pretty much anyone else on the planet, but this one must have been designed very well to catch my attention for a click:

airberlin’s advertisement on

Living in Stockholm (Sweden) and recently coming back from a trip to Italy, I’m a little price-aware for the flights that go to mainland Europe. So I clicked hoping for a bargain for my next vacation but what I experienced was so terrible that I gave up immediately (here is the page):

It is very hard to select a city in airberlin’s list of airports

Now everyone who has worked with online advertisement knows that when users click on your ad, the landing page should keep them engaged within the first 10-30 seconds, otherwise the user is gone. In this post I only talk about the airport choice. There are multiple things wrong:

No scroll

When you click the link to choose the airport, a list opens but the mouse scroll doesn’t work. So the user have to repeatedly click on the scrollbar buttons or drag the scrollbar handle while keeping an eye on where in the list he is. It takes more than 10 seconds to find sweden. But if you are used to the comfortable and fast navigation methods like Macbook’s trackpad or mouse wheel, browsing that airport selection combobox is an attraction killer.

No keyboard

Failed at using trackpad, I changed to keyboard (that’s also an attraction killer, because every change from mouse to keyboard and back takes time and distracts the user). Normally in the web, when there is a combobox, you can just start typing a word and it will automatically navigate to an option that is closest to what you have typed: So I typed “stockholm” and ended up here:

After typing “stockholm”

Why Makedonien (Macedonia in Swedish)? Because the stupid combobox doesn’t navigate to what you typed, but it just navigates to a word that starts with the last letter you have typed. So if I want to choose Stockholm, I have to type “S” and I’ll see the first word with “S” and left alone. From there I have to click my way keeping an eye on the list till it shows my destination. Some may argue this is not such a big deal, but for a user who came to a website just for a quick check, this is a flaw.

It’s not easy to go back

Learning from my mistake, I decided to keep pressing “S” until I see Sweden or Stockholm. I kept pressing:

  1. Shweiz
  2. Serbien
  3. Seychelles
  4. Singapore
  5. South Africa
  6. Spanien
  7. Sti Lanka
  8. Storbritannien
  9. Sverige

The list was longer than I expected because since the offer was about Europe I thought I’m going to see only 4 options: Slovakia, Slovenia, Spain, Sweden. But after 4 times of pressing “S” I didn’t see Sweden. Instead I saw “Singapore” so I realized this list is not about Europe so being irritated I kept pressing faster. But apparently it was too fast because on my 9th try, I passed “Sverige” which is the swedish word for the name of the country Sweden. So I ended up in Shweiz again:

I ended up on Schweiz again!

One thing about this particular combobox control is that it jumps everytime you press the key so you really don’t know if you have reached the end of the list unless you keep track of the words and keep their order in your mind. So I kept pressing “S” to reach to Sverige again, and this time it took 9 more tries. I passed it again (my fault). I tried 9 more times and stopped at Sverige.

By that time I totally lost my interest. My attention was focused on the challenge that I had in hand: choosing the country Sweden. By the time I finished the challenge, I was too distracted to think about the destination and hey look: there’s another combobox right under it for choosing the destination!

Damn! There are two of them!

“no, no, no” I said and immediately closed the page.

Freeway vs. gravel road

Think about it like this: you are driving smoothly in a clean and nice freeway, suddenly you see a sign to some place you may like to try, you decide to change your path and go there, but the new path is a gravel road that you have to drive slowly and it’s just painful soon you decide to go back to the freeway again. In this case, airberlin is loosing potential customers simply because the navigation is too painful.


First of all, the origin (“Från” = From) could be pre-selected to Sweden. The ad was about Sweden so it’s a safe guess to say whoever clicks it is either in Sweden or knows Swedish. The URL from the site suggests that it knows that the visitor actually knows Swedish!

Secondly, as a web developer, I’ve seen something similar to this hard-to-use control. It resembles Adobe Flex/Flash visual controls. There might be some technical reasons why developers of this website have decided to use these controls instead of the standard browser controls. But my best guess would be: somebody was trying to learn new things instead of keeping things simple. But that’s just a guess and there’s a high chance I might be wrong! I’m just saying! ;) Anyway, a good solutions would be to use the standard browser controls. Something like this code can be good:

A suggested combo box using standard controls


<option>&nbsp;&nbsp;&nbsp;Airport 1</option>
<option>&nbsp;&nbsp;&nbsp;Airport 2</option>
<option>&nbsp;&nbsp;&nbsp;Airport 1</option>
<option>&nbsp;&nbsp;&nbsp;Airport 2</option>
<option>&nbsp;&nbsp;&nbsp;Airport 3</option>
<option>&nbsp;&nbsp;&nbsp;Airport 1</option>
<option>&nbsp;&nbsp;&nbsp;Airport 2</option>
<option>&nbsp;&nbsp;&nbsp;Airport 3</option>
<option>&nbsp;&nbsp;&nbsp;Airport 4</option>
<option>&nbsp;&nbsp;&nbsp;Airport 5</option>
<option>&nbsp;&nbsp;&nbsp;Airport 1</option>
<option>&nbsp;&nbsp;&nbsp;Airport 2</option>
<option>&nbsp;&nbsp;&nbsp;Airport 3</option>

In order to detect the individual <option> selections, the web developer can use element id. Simple, usable and elegant! airberlin would earn the money spent on improving their advertisement landing web page.

Amazon sends stupid recommendation emails


The battery on my Casio Pro Trek watch died a couple of weeks ago. These amazing sport watches have a few battery-hungry features like compass, barometer, thermometer, altimeter, alarm and light. As a result it has 4xSR927W batteries.

Sony SR927W batteries for Casio Pro Trek watch

Searching the Internet I found the exact Japan-made Sony batteries on Amazon UK and ordered them. No problem with payment and delivery but today, 1 week after the order I opened my mailbox to see a ridiculous advertisement email from Amazon! Based on my purchase Amazon has suggested me “similar” batteris! Here it is:

Amazon battery recommendation advertisement email

OK, so let’s see what Amazon thinks I should buy:

  • 1 x Sony 377 SR626SW
  • One (1) X Sony 371 SR920SW
  • One (1) X Sony 321 SR616SW
  • 1 x Sony 321 SR616SW
  • 1 x Sony SWN-PB, SR621SW
  • … (other non-interesting batteries)

I bought 4 x SR927W batteries. That’s what my watch needs. I’m done! The watch is working! Why would Amazon think that I need those different batteries? There are several problems:

  1. None of the batteries that Amazon has recommended don’t fit this watch. The recommendation system may work for books but not for spare parts! “Similar Books” can be a good email, but “Similar Batteries” is an epic fail!
  2. I have already bought the spare part I need. Why would Amazon try to sell me what I don’t need anymore? Except if it assumes that the first batteries didn’t work and I need new batteries within a week. Again, this advertisement method may work for books but not spare parts!
  3. This particular watch needs 4 batteries. I know I can increase the number of an item in my shopping card. Those “1 x” and “One (1) X” prefixes on those recommendations is unnecessary. It just makes the email crowded. One may argue that Amazon is trying to mention that it is only one battery. But I would say it’s not necessary to mention that in the email.

Sending such stupid advertisement messages questions credibility and intelligence of sender. I most often don’t even open advertisement messages. But Amazon was different. As a top high-tech companies founded by one of the greatest minds of our time, Amazon had enough credibility for me to open their email and spend my time to read it. Yet it was complete garbage.

The reason I spent more time to write this post is because Amazon is well-known for having smart Business Intelligence algorithms and great usability. If they manage to screw it up, there are many smaller companies who can screw it up too!


There comes several solutions to my mind.

  1. Use a smarter advertisement method for spare parts. For example, when I buy batteries for my watch, it means I can repair a watch. Maybe I would be interested to the equipment for repairing watches.
  2. If you can’t send a meaningful recommendation, don’t sent it at all! I wouldn’t contact Amazon support complaining why they don’t send me a recommendation! The important point to realize is: if you have nothing important to say, just shut up! In this case, not only Amazon didn’t sell me anything, it got itself bad reputation.

If you have any other solution/suggestion, please share your thoughts in the comments.

WordPress update fails


I was trying to update my other blog which runs WordPress on a PHP host. After about a minute, the following error showed up:

WordPress 3.4 update error

Naturally the first thing I did was to click the “Help” button. But nothing showed up! In fact it seems the “Help” is there just to make you more annoyed about what things don’t work! ;)

There is no clear action to do –no button, no suggestion! The error description is not very understandable for the average user. Obviously there is an error in line 200 of some PHP source code of WordPress software. But am I (as a blogger) supposed to solve it?

Some other users had a similar problem after upgrading from WordPress 3.3 to 3.4.


Provide simple information about what went wrong and how the user can fix it. In this case, maybe the error can suggest an error code to search on the Internet, or simply suggest the user to send an error report. Sure there’s someone in WordPress community who can take care of the error in line 200 of that PHP file!

But the best error is the error that doesn’t happen. My blog is pretty simple in terms of software –no special extension or fancy plugin! Yet it failed to upgrade. WordPress developers probably haven’t tested this release thoroughly. And poor quality is the last thing I would like to assign to a popular software like WordPress, but quite frankly I expected better from such a widely used product.