Writing forum software in Haskell

Hi all. The recent thread on email vs. forums inspired a bit of interest to get some forum software on haskell.org. Were we to go ahead with this, I think it'd be great to have this software written in Haskell itself. I'd also love to be involved in a collaboration should one be drummed up to write this kind of thing. Therefore, my questions: * What kind of forum are we aiming at? In my eyes, it'd be less like the bloated phpBBs out there full of oversized signatures and avatars, and more like the minimalistic bbPress on show at, for example, the WordPress support forums [1]. * What would be a compulsory feature list? * What would be a list of things to avoid like the plague? * Which web platform (HAppS, Hope, ...) would make the most appropriate target? Appreciate thoughts and opinions. -- -David House, dmhouse@gmail.com

On 9/24/06, David House
Hi all.
The recent thread on email vs. forums inspired a bit of interest to get some forum software on haskell.org. Were we to go ahead with this, I think it'd be great to have this software written in Haskell itself. I'd also love to be involved in a collaboration should one be drummed up to write this kind of thing.
I might be able to contribute some on my spare time.
Therefore, my questions:
* What kind of forum are we aiming at? In my eyes, it'd be less like the bloated phpBBs out there full of oversized signatures and avatars, and more like the minimalistic bbPress on show at, for example, the WordPress support forums [1].
I'd like a very lightweight forum when it comes to the "community" aspects. I.e. no signatures, no avatars, or anything like that. Just usernames and posts. Probably allow non-registered messages with the option for anyone registered to remove it (say, by having two registered people clicking "remove" - thus reducing spam/troll problems that you get without registration). Perhaps private messages, but it's probably better to have an "email proxy" system where private messages get sent via email through the forum+username. For the forum itself I'd like it to be more easily accessible than phpBB etc. So a threaded interface where you can see the first post in each thread (or perhaps just the first couple of lines of the first post). If you click a post you would see the titles for all of the child posts appear in a tree structure underneath (without reloading the forum!). Now, clicking any of these should show the full post, without reloading. Similar to gmail, in other words, but with better support for threading (e.g. allow branches). Much quicker and easier to navigate than forums based on reloading the webpage. The key is that you shouldn't have to wait for a full page reload everytime you want to do something. This system (or similar) is used on some web sites (e.g shacknews.com in the comments section) and leads to a very lightweight discussion forum. A mixture between real-time chat and mailing lists. Also there would be different categories, "newbies", "general", etc.
* What would be a list of things to avoid like the plague?
Too many formatting options (italic and bold should do it), avatars, sigs etc.
* Which web platform (HAppS, Hope, ...) would make the most appropriate target?
Not sure. I guess that depends on what type of forum you end up building. Hope looks promising. -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862

On Sun, 24 Sep 2006 13:20:54 +0100, "Sebastian Sylvan"
On 9/24/06, David House
wrote: [...] * What would be a list of things to avoid like the plague?
Too many formatting options (italic and bold should do it), avatars, sigs etc.
As text is more pleasant to read in proportional fonts, and code in monospaced fonts, I think a "code" formatting option is important to have. Some kind of TeX-based math markup could also be a useful addition, given Haskell's ties to formal computer science. Max Strini -- http://www.fastmail.fm - The professional email service

On 24/09/06, David House
WordPress support forums [1].
Forgot to reference this. http://wordpress.org/support -- -David House, dmhouse@gmail.com

David House wrote:
Hi all.
The recent thread on email vs. forums inspired a bit of interest to get some forum software on haskell.org. Were we to go ahead with this, I think it'd be great to have this software written in Haskell itself. [snip] * What kind of forum are we aiming at? In my eyes, it'd be less like the bloated phpBBs out there full of oversized signatures and avatars, and more like the minimalistic bbPress on show at, for example, the WordPress support forums [1]. * What would be a compulsory feature list?
1) I think anyone who posts should first have to register to avoid the problem of spam. 2) I think it would be good if it was possible to get away from the usual tree structure of posts. By this I mean that usually you have to choose a post to reply to, which is awkward if you want to comment on more than one previous post because then it's not clear what post to choose as the "parent". As a rough idea, perhaps something which considered paragraphs(*) as the basic unit of discourse ie data Post = Post {_author :: !Author, _time :: !Time, _topic :: !Topic, _paras :: ![PostPara]} data PostPara = Own !Paragraph | Quoted !PostPara !Author !Time !Topic data Paragraph = Text !ByteString | Code !ByteString and I'd imagine posts being edited using an editor which displayed a vertical sequence of PostPara's (ie edit boxes for the paragraphs you've written yourself and some other widget involving a static text box to display paras that you're quoting) Multiple consecutive paras that you write yourself would just be written in the same edit box. Actually the whole post could be written in one edit box if there was a special escape syntax for quoting (you'd select some text in some other post then click "quote" and it would be pasted into the post you're composing surrounded by the appropriate escape sequences and source info, and like the wiki editor, you could click preview to see how the whole thing would look when posted). This would give full support for DAG based discussions. (At the moment in the mailing list if I want to reply to more than one person I have to click "reply" on each email I'm replying to and cut and paste the indented text from the second person's email into my reply to the first and hope that I don't accidentally send the second blank reply by mistake, and if someone has chosen to include a signature with their message or sent it using HTML instead of plain text I have to manually indent each individual line myself because Outlook Express doesn't display the text of signed messages but instead puts it into a file like ATT000012.txt...) (*) Of course the above representation doesn't give any way to only quote part of a paragraph or to split paragraphs up so it might be too inflexible. It might also not be clear what should be regarded as a paragraph. Perhaps "span of text" would be a better "unit of discourse". 3) It would be nice if there was a way to put something in the "centre" to be discussed from different angles, instead of always being stuck with a linear flow, where important points made in previous posts can just get ignored altogether because they are too far back in linear time. The scenario I'm thinking of is: 3a) Person A makes 2 good points, A1 and A2 3b) Person B replies to A1 3c) Person C replies to B's reply of A1 3d ) Long discussion about A1 3e) A2 has completely been forgotten and is never addressed I'm imagining a visual representation of the text in the centre with the discussion around it though perhaps this is getting too complicated for what's possible just with HTML. 4) Another nice feature would be the ability to just say "cool" or "yes" or "no" without having to actually make a real post like a kind of vote for or against an idea. Anyway best of luck with whatever forum people come up with. I originally used to post to the mailing list using the Google group fa.haskell (strange name!!!) but though I liked the Google interface the posting didn't work properly - my posts were delayed several days and sometimes never got there at all. Regards, Brian. -- Logic empowers us and Love gives us purpose. Yet still phantoms restless for eras long past, congealed in the present in unthought forms, strive mightily unseen to destroy us. http://www.metamilk.com

David House wrote:
* What would be a compulsory feature list?
Ability to subscribe to forums by email and to post/followup by email. Alternatively, or in addition, a two-way NNTP gateway. (If you want us forum-allergic to participate in the discussions there, that is.)

On 9/24/06, David House
Hi all.
The recent thread on email vs. forums inspired a bit of interest to get some forum software on haskell.org. Were we to go ahead with this, I think it'd be great to have this software written in Haskell itself.
If you were to write all-new software, then I suggest: * Haskell.org single-sign-on: One username/password combination that is valid across all Haskell.org services (wiki, forums, mailing lists, CVS, etc.) * A forum-like interface to the existing mailing lists: Instead of building full-blown forum, why not create a web interface that nicely organizes the archives of the existing mailing lists into a forum-like interface. Then, add a mechanism for sending messages to those mailing lists through a forum-like posting interface (using username/password), which would result in a message being sent to the mailing lists. A lot of existing Haskell users are content with the mailing lists, I believe. Forums are not going to add a lot of value to the existing users. So, unless there is some gateway between the existing mailing lists and the forums, you should expect that most experienced Haskellers would likely ignore the forums altogether. That would make the forums less than useful, if questions were being asked in the forums that can only be answered by people that are exclusively using the mailing lists. Regards, Brian

On 9/25/06, Brian Smith
On 9/24/06, David House
wrote: Hi all.
The recent thread on email vs. forums inspired a bit of interest to get some forum software on haskell.org. Were we to go ahead with this, I think it'd be great to have this software written in Haskell itself.
If you were to write all-new software, then I suggest:
* Haskell.org single-sign-on: One username/password combination that is valid across all Haskell.org services (wiki, forums, mailing lists, CVS, etc.)
Any chance of using OpenID for the single-sign on? There currently does not exist a haskell library for OpenID but one definitely needs to be written in my opinion. OpenID was designed exactly for this purpose. Jason

Hi, Am Sonntag, den 24.09.2006, 13:02 +0100 schrieb David House:
* What would be a compulsory feature list? Stating the obvious: Haskell Syntax Highlighting (I didn't see it mentioned before, but that might be because of malaria)
Greetings, Joachim -- Joachim "nomeata" Breitner mail: mail@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: joachimbreitner@amessage.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org
participants (8)
-
Antti-Juhani Kaijanaho
-
Brian Hulley
-
Brian Smith
-
David House
-
Jason Dagit
-
Joachim Breitner
-
Max Strini
-
Sebastian Sylvan