I do not like the implementation of Comments for the various applications. It seems to me that they are antithetical to the development of community. Some of the problems comments have:
-They are not rich. You can't add media, formatting, etc.
-They are not threaded; they are treated as though you are always commenting on the original material, but in fact people often want to comment on other comments and have conversations
-You have to go looking for them to find them; they are not part of the stream of conversations that the forums represent
For our community, it is more natural to have all conversations in forums. For that reason, I would like to see Comments become forum threads. I have thought about a widget implementation something like this:
A new ANNOUNCEMENT database table with tuples of (URL, Thread ID).
When the NewComment widget appears on a page, it looks to see if the pages URL already has an ANNOUNCEMENT table entry.
If it does not, it places an "ANNOUNCE" button; pressing the ANNOUNCE button takes you to a forum compose window (in the forum specified in the Widget config) with the URL of of the original page already filled in to the body of the post. The user then makes an announcement post about the availability of the new page (which is a wiki post, blog post, event post, or whatever). The tuple (referring page's URL, Thread ID) is added to the ANNOUNCEMENT table, and the user is returned to the page.
If it did have a table entry, then the thread is displayed, with a "COMMENT" button appearing at the top&bottom of the thread (along with the REPLY buttons that appear next to each post). Pressing the COMMENT button does a reply to the originating post of the thread.
This would allow comment streams to live in forums where lively discussions could take place, and also host those discussions on the application post's page. Further, new events, wikis, etc. could be announced to Forum audiences, increasing traffic to those somewhat ghettoized areas of the site.
Any thoughts as to the practicality of this?