« Roller 0.9.8.1 relea... | Main | Hallelujah. »

Mailing-list weblog integration.

Michael Thomas of the Triangle Internetworkers (INW) has an interesting idea. The Triangle Internetworkers is "a geographically defined, loosely knit group of technology workers who like to get together once a month and socialize." Between monthly gatherings the group hangs out on a busy, sometimes noisy, and comfortable mailing list. Michael sees value in the group's discussions and wants a way to share this value on the web by developing a community website that is driven by content posted to the INW mailing-list.

To make it easy for mailing-list subscribers to opt-in to the website and to ensure that the mailing-list's unique eco-system remains intact, Michael wants to develop a system based on simple markup-language that subscribers can use, or choose not use, within their email messages. The markup will indicate the message content and message meta-data like title, category, etc.  He's written up the requirements and the motivations behind this idea and some initial design ideas.

Michael's requirements and design do not mention weblogging even once, but this is obviously a weblog application.  By using a weblog the Internetworkers will have complete control over site layout and design, categorization, permissions, RSS feeds, Blogger API, comments, etc. Somebody has got to have done some mailing-list weblog integration work already, but I can't find anything except a plea for mailing-list weblog cross-polination from Tim O'Reilly. Finding nothing, I decided to come up with some suggestions on my own:

  • One approach would be to write a program that can itself subscribe to the mailing list. This program will receive each email message, parse the markup, and use some logic to decide what to do with the mail message. This program will use the widely-supported and XML-RPC based Blogger API to post and publish messages to a weblog. Using the Blogger API, messages could be "posted" and then the owner of the weblog could choose whether or not to publish them via the weblog's administration pages. Or, alternatively, all messages could be "published" automatically without intervention of the weblog owner. You could write this thing in Java, Python, Perl, C# or just about anything. It would be helpful to have a XML parser, or better yet an XML-RPC client library (there are many implementations), or best of all a Blogger API client library. The advantage of this approach is that you don't have to modify the weblogging software, so you would have the option of hosting your blog on one of various inexpensive or free blogging sites like Blogger.com, Typepad.com, or one of the free Roller sites.

  • Another approach might be to start with Moblogger. The open source Moblogger, developed by Russell Beattie, is a program that  "runs as a background process that monitors a POP3 email account for new email, then downloads it, detaches any files such as pictures, sound or video, uses the Blogger API to post the text in the email to your blog and uses FTP to post the files to your server." If you are a Java developer, this would be the quickest way to get up and running. It does almost everything you need, but of course, you would have to modify  Moblogger to plugin your markup processor and post/publish logic.

  • The custom blog approach: start with an open source weblogging package that supports weblogging via email, hack it so that it can subscribe to your mailing list and can understand your email markup language. There are a couple of disadvantages with this approach; it limits your choice of weblog software and requires you to pay for an ISP to host your own weblog. The first two approaches use the standard Blogger API to communicate with the weblog server, so they can be used with just any blogging software or blogging service.

Any other ideas? Has anybody implemented this type of system before?

Comments:

I still want to integrate Moblogger with Roller - or usable as a standalone app, I just haven't had the time. The source is out there though, and I even had it working with Jabber via IM at one point...

Posted by Matt Raible on October 24, 2003 at 04:17 AM EDT #

Thanks, Dave, for your ideas and suggestions!! I see that there are a lot of great tools that can help us develop "CommunityBlog."

I'd like to continue the discussion here...

First, I find O'Reilly's column that you cited on target. Specifically, there are both technical and social challenges in developing a blog for an email community. The social challenges are much more difficult and complex. (I find it amusing that most all of the comments about the article are about overcoming the technical challenges.)

The core CommunityBlog challenge is a signal-to-noise ratio problem. The CommunityBlog should distill content from the email list. To have a blog that really represents a community, the signal must be determined by the community, not just an individual. Thus, the work of the CommunityBlog should be distributed across the community.

I see the CommunityBlog as a simple workflow system that transforms email content to web content. Since the community is crucial for the success of CommunityBlog, I find it extremely important to take a requirements-driven, use case based approach to development. From a use case & UML perspective, I see the following actors:

Authors: people that send emails to the list and need to give permission for it to be published by the CommunityBlog. Content Editors: Content editors 'promote' email content that they want to see publish and aid in preparing the content for publishing. (After an email is 'promoted', permission must be secured from the original author.)

Layout Editors: Layout editors choose how content is published. "Which content is showcased on the homepage? Which content resides three links down? etc., etc."

Readers: Readers visit the CommunityBlog and read the content. They don't have to be subscribed to the email list.

Administrators: Administrators keep the CommunityBlog running.

For Triangle InterNetWorkers, I envision that anyone can be an author or a content editor. (I haven't thought to deeply about layout editors yet.)

Since anyone can be an author and anyone can be a content editor, it follows that anyone can self-publish content. This is where the markup language comes in. I'm thinking that we can do a meta-markup language. I.e., some people might like to signify the topic like:

:::::Politics:::::

while others might like:

-----Politics-----

Why not give them the choice? They are just tokens. We'll write a better parser if the tokens are plugable.

I see self-publishing to be primarily useful for "hey, check out this link" posts.

Self-publishing is the easy use-case. The harder one is promotion by another editor -- peer-publishing. For peer-publishing, we need a workflow system that secures permission from the author and allows the author and editor(s) to colloborate on the finished work.

The layout editor presents the promoted and published content to the web audience. It sounds to me like current blog tools can provide us the functionality we need for these use cases.

Posted by Michael D. Thomas, co-founder, Triangle InterNetWorkers on October 26, 2003 at 06:41 PM EST #

Post a Comment:
  • HTML Syntax: NOT allowed

« Roller 0.9.8.1 relea... | Main | Hallelujah. »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Blogging, some may be related to this entry.