Hi Everyone,
Glad to see a nice community is evolving around Roundcube. I wanted to point out something to keep in mind before development got too far ahead. By nature, any good piece of software will try to find a middle-ground between feature-bloat, and bare-bones mode.
Since most developers have decided that they cannot figure out exactly what will make all of their users satisfied, they develop a plugin architecture into their product, which enables third party developers to add features to the program. Almost all of the successful programs, whether desktop based (Firefox, thunderbird, etc.), or web based (wordpress, squirrelmail), etc. have done this.
Roundcube allows for a certain degree of customization though skinning, which is great, but I believe as we move forward, we should expose a plugin API so that third party developers can develop great plugins. Squirrelmail has been quite successful in this regard: http://squirrelmail.org/plugins.php , fostering an active development community of plugin authors, who might eventually move into core development after they get comfortable with the code.
So basically to summarize, I'll outline what I think the advantages that a plugin API gives us are:
implemented without "bloating" the core code, yet fit into the program nicely for people that want them.
really wants a feature, they can easily implement it as a plugin. If the plugin gains popularity, it can later be rolled into the main code.
wordpress have been very successful at attracting third party developers because of how easy they make it to develop extensions.
I'm sure there are many more advantages to a plugin api, but these are the main ones i could think of.
Also, as far as implmentation goes, I believe wordpress has an excellent plugin API, simple to develop on, as well as simple to maintain.
Take a read here: http://codex.wordpress.org/Plugin_API
Sorry for the super-long mail guys, but I thought this was an important issue to be addressed (IMHO) :-)
-- Praneet Kandula