When we designed the extension system for Google Chrome, we looked at how extensions in other browsers worked. One problem we noticed was that many users ended up with tons of toolbars installed. These toolbars used lots of vertical screen real estate, and users didn’t know how to get rid of them. And because toolbars were easy to create, they were sort of the default form factor for extension developers. There was no incentive to try and conserve real estate — instead, developers would just fill up their toolbars with controls because they had the space.
We decided to create an extension framework that encouraged developers to make UI that fit in nicely with the Google Chrome’s minimalist look. You can add a button to the main browser toolbar using browser actions (http://code.google.com/chrome/ex…), or to the omnibox using page actions (http://code.google.com/chrome/ex…). Other UI surfaces include context menus and desktop notifications. These surfaces are designed to interact nicely with the browser UI at scale, so that users can install many extensions without degrading their experience.