New module idea... User Favorites
I've spent a couple hours today beginning to rebuild a website that I intended to offer up as a community activity tracking tool for the open source BASIC derivative language called FreeBASIC called the FB Tracker. Notes about the language itself (which rocks) aside, the site would be a fairly basic matter of allowing users to post and track projects, tutorials, snippets, sites, etc. through a single source. Most of this can be accomplished through some skillful use of Views + CCK, but there are a few community features I'll most likely be writing a module to implement. I have dubbed the module User Favorites and will post a few of my brainstorm ideas below...
I searched for a module similar to what I'm looking for and only found the Favorites module which is a far cry from what I need. The User Favorites module will actually allow users on a site to add content to a favorites list. It makes sense to give users the option of creating multiple favorites lists and will be fairly trivial to implement. Any of these lists may be set to be private or public lists. Users on large community or directory websites will be able to tag and track content through the site itself using their in site favorites list as well as provide feedback to the community regarding the value of content on the site.
Users will be able to browse the public favorites lists kept by other users as well as see who else on the site has favorited a specific piece of content. Favorites lists will be broken down by content type and sorted alphabetically, with users having the option to star a specific piece of content to make it sticky at the top of a list. Integration with Views means site developers will easily be able to create and sort lists of nodes ranked by how many times they've been favorited and/or starred. (Perhaps for the purposes of ranking, favorited content should count as 1 point while starred content should count as 3. Or rather... I can simply make that an administrative decision.) Integration with Userpoints means you can give users some love for providing feedback to other members of the community.
I'm happy to consider any further integrations with this module and am quite excited at the prospect of it being a first of its kind. However, if someone else knows of a module that may do something similar, please post it up here so I don't needlessly duplicate someone else's effort.
EDIT: A Tuesday morning, it's no longer past midnight, idea struck me on the way to work... I forgot to mention the idea of favoriting other users. This would allow you to track content posted by others and allow a ranking system for users similar to the one I mentioned above for content. It could be fun to use these statistics to display user relationships, user favorites compatibility (how much of your favorites match?), and other things like that. Maybe I can get Balazs to draw me up a user relationship graphic with his Drawing API.
EDIT 2: Several folks have been posting up some very helpful pointers to modules that implement different parts of this idea. Let's just say... I'm never going to start a new module without doing a post like this first. This has been an invaluable learning experience, and hopefully I'll find some time to review the various modules and build on someone else's foundation.