A new project called "SweetTooth" aims to help improve the GNOME3 extension infrastructure, making it easy for the users to find and install approved extensions.

The extensions will be created by the users (so these will be unofficial extensions), but they will have to go through a review process and once approved, they will be hosted on http://extensions.gnome3.org (website not functional yet) and you'll be able to install them with a click as well as enable/disable them without having to restart GNOME Shell, like Chrome or Firefox extensions.

To be able to get live extension enabling/disabling as well as a better error handling when for instance dependencies are missing, the extensions API will have to change so that might break some of the existing extensions, unless they are updated:

As part of my work on SweetTooth, I'm planning on a bunch of changes to make the user experience for installing, enabling and disabling extensions better. Unfortunately, I'm gonna have to break some stuff unless someone can come up with a clever hack. These changes are not set in stone, but they're what I'm hacking on currently, and I'd like to discuss them to make sure I'm on the right track. Extension developers, I'm talking to you:



* I want live extension enabling and disabling. The user experience is "click a button on extensions.gnome3.org, it takes effect immediately".



* I want to make it safer and more usable for developers to import code and assets their extension directory.



* I want extensions to be smart about their dependencies. For instance, the systemMonitor extension depends on an introspectable GTop, which AFAIK is unreleased, and hasn't been packaged in F15. The only clue users have that something has gone wrong is the Errors tab in the LookingGlass.





- Jasper St. Pierre, the SweetTooth developer

The SweetTooth project page mentions how the review process will work: the extensions should only be rejected because of either malice or poor quality code and not because of any other issues like "extensions aren't allowed to add to the top panel", etc.

Thanks to Finnbarr Murphy for the tip!

You can read more about this in the " Extensions Infrastructure Work " @ GNOME Shell mailing list and https://live.gnome.org/GnomeShell/SweetTooth