Doing quite a bit of modules lately and finding myself thinking that I do lots of the same stuff everytime I start off a new one, I wondered if we should collect our ideas for improvements to the module-api for the upcoming 2.0 version. I volenteer to collect suggestions into the wiki if someone gather ideas in this thread.
I can start off with dividing my suggestions (sofar) into some categories:
1. core-functions
- a function which confirms a pageid/alias and returns either false or a confirmed pageid.
- easy function to check for data sent from preferenceform and saving to proper preferences (already in there for 2.0, sorry)
- some simpler redirect-functions... I always have to look up the parameters... why should be bother with $id and £$returnid everytime? In 98% of the cases I just want to return to defaultadmin and show either a message or an error...
2. frontend-layout-functions
- Some smooth way of maintaining smarty-templates without having to do the whole import-from-file-save-to-db-manage-textareas-saving-changes-to-db stuff every time. Some simple function to manage templates should be made. Actually I think it should go into the template-menu, possibly with a tab for module-template or something like that.
- Visa versa with module-stylesheets, which are a hazzle now, getting them imported to the stylesheet list etc...
3. admin-layout-functions
- tabbed design improved to support multiple levels (I haven't gottenit to work, anyway...)
- A formalized way of showing "you do not have acces to this adminpage"-stuff
- some easy way to do standard "label"-"input" sort of admin-pages without having to do templates/smarty/php stuff every time. (already in there for 2.0, sorry)
- some easy way to do standard table layout without having to remember table-classes, row0/1 stuff etc.
These things would also make it easier to maintain a (fairly) standardized layout of the admin-section, resulting in easier themability of this.
Some of these suggestions should perhaps not be module api, but included classes or core-stuff, but I mention them here as those are some of the time-wasters whenever I start off a new module.
If some of these are already implemented, I'm sorry for not finding them. Hope it's not all of them

Best regards
Morten/Silmarillion