Experimental Extension APIs
Monday, March 01, 2010
Labels: extensions
You might have already noticed this, but we now have some APIs that we’re referring to as experimental. The idea is that we can add new APIs to the platform that may not be ready for prime time. This allows you to play with these APIs and give us feedback before they’re final, which in turn helps us get them out to everybody more quickly.
Our first two experimental APIs — chrome.experimental.history and chrome.experimental.processes — are available on the dev channel. The history API lets you query and modify the user’s browsing history. When it’s finalized, we’ll also allow you to replace the history page with your own, just like you can replace the new tab page today. The processes API allows access to information about Google Chrome’s process model, including process IDs and the CPU usage of individual tabs. The processes API is incomplete, but you can see upcoming features in its design doc.
These APIs have a few major limitations. First, to use an experimental API you must add a command-line flag when you start Google Chrome (--enable-experimental-extension-apis). Second, you can’t upload extensions that use experimental APIs to the Google Chrome Extensions Gallery. Finally, these APIs will change in incompatible ways, so the code that you write today isn’t guaranteed to work tomorrow.
What this really means is that these APIs are only useful for you to play with. You won’t be able to share extensions that use these APIs with a lot of people. However, we’d really like you to try them out and give us feedback. Doing so will help us release the APIs more quickly and make sure they do everything you need. Playing with the experimental APIs is also a way for you to get experience with them before most other developers.
We expect to add more experimental APIs over time, so keep an eye out for future announcements.

7 comments:
Konrad said...
Good, because (as a Chromium user) I hate limitations of extensions.
The number of available extensions is impressive already and they cover all the typical user needs.
Now I hope the system will be further improved.
One of my every day examples of an annoying limitation: the website needs to *fully load* before extensions are activated.
This means that - for example - mouse gestures do not work as long as the website (or even a background tab, as long as it is the same instance!) is still loading.
I regularly use mouse gestures to "escape" from a website (to previous or next tab) while it is still loading, and as of now, I can't do that.
I also hate that they store all their settings in cookies, and user is either bound never to clear cookies (security-wise, bad idea) or wipe the settings out; many people complain about it.
Finally it is annoying that user has no control over the extension buttons on the toolbar. Right now they're ordered randomly and you cannot arbitrarily hide any specific buttons. This can really clutter up the toolbar if one uses a lot of extensions.
March 1, 2010 11:03 AM
Martin said...
I would really like to be able to put the link from the status bubble in the omnibox, just like in Safari.
http://code.google.com/p/chromium/issues/detail?id=1455
March 1, 2010 12:12 PM
Pies said...
I think this kind of browser API is the way to go. What about password management?
March 1, 2010 12:39 PM
Konrad said...
Pies, LastPass works very well under Chrome. And being a multi-platform extension, it makes it easy to synchronize your passwords not just across computers but different browsers
March 1, 2010 2:39 PM
Elizabeth said...
Maybe I'm doing something wrong, but I can't seem to get chrome to accept a packed extension using the experimental API even when I include the --enable-experimental-extension-apis flag. It works fine for unpacked extensions, is anyone else having this problem? I get an "invalid value for permisions[x]" error... :(
March 1, 2010 6:47 PM
Luigi said...
Please enable HTTP headers to be read from Extensions. This would make developer-centric extensions (like JSON Pretty View) do what they need to do.
March 2, 2010 6:52 AM
ElasticThreads said...
I'd like to see more GUI access APIs. Extentions should be able to access/control from the contextual menu, for example.
Better tab/window management apis would also be great.
March 2, 2010 10:15 AM
Post a Comment