Forum .LRN Q&A: An educational blog app
"As an aside, it occurs to me that another way to build a kind of
marketing/informational tool would be to create a section of
OpenACS.org where community members could maintain project blogs,
i.e., they could describe their project work as it unfolds. The
problem with discussion boards is that it's too easy for other folks
to jump in and create distracting tangents.
"I have an idea for a UI that would allow the best of both worlds; one
of these days I'll get around to posting the idea."
Dave Bauer Replied:
"We are planning a projects section for the new site. We are using ETP
to manage it, so it would be simple to setup a page to keep track of
the progress of the project."
What I'd like to see is a blogger with discussion board features built
in. On the one hand, you want to see the blogger's posts as one
uninterrupted thread. This isn't so hard to do by itself, and ETP wuld
probably be as good a code base as any for it.
However, you also want to be able to have people comment on each blog
entry. I'm picturing a link to comments similar to the link you'd see
in a threaded bboard interface. When you click on that link it takes
you to what looks like a (flat) bboard discusion thread, with the
parent blog post at the head. Obviously, you'd also want a "back to
the blog" link at the top.
This could have great educational uses; lots of classes use journaling
with peer review.
Another way would be to use forums to create the original content also, but just display top level posts on the weblog pages, and links to the full threads.
I very much want to have blogging capability within dotLRN. Would you mind leading a thread discussing what the feature set should be. In the meantime, I will try to obtain funding. Thanks,
"Would you mind leading a thread discussing what the feature set should be. In the meantime, I will try to obtain funding."
I'd be delighted, Al!
Let's start by brainstorming some use cases. I'll start us out with a couple:
- First case: An introductory literature class. The professor divides the students up into groups of three. Each student is to keep a weekly journal, responding to specific issues about the literature they are reading. The students are also expected to comment on each other's journals. From time to time, the professor may want to call attention to a particularly interesting discussion or journal entry. The professor will probably want some sort of list view to see a summary of the activities of individual students (a type of functionality that is generally weak in dotLRN at the moment).
- Second case: A researcher wants to keep public notes on works in progress. In classic blog style, the researcher posts updates on her latest thoughts regarding the experiment or progress. She then makes the blog available for comment by selected peers, who give her feedback as she goes. The researcher is probably going to want email alerts for blog comments.
- Third case: In a corporate training course, learners are required to implement a course-related project on-the-job and post regular progress reports. Other usage details are probably similar to the literature course above.
That's a good start. How else might blogs be useful in an educational context?
Dave doesn't think it would be too difficult to build using ETP2. I've asked him to come up with an estimate of what it would take in order to finish the work off on the app. He and Luke have been working on it intermittently for the past few months but haven't had the time to finish it completely.
Lars, this is pretty much exactly the UI that I had in mind. Thinking back to the use cases above, how might we need to set permissions and scoping on such an app in the dotLRN context? And what other features would be useful? (For example, I'd like to see a general-ratings package work with blog posts.)
Integrating with ratings is an obvious to-do. Also, general-comments isn't usable enough, as noted above.
It's currently not in the OACS repository, but if there's enogh interest, I could remove all the references to my name in the code and the name of the package, and stick it in there.
Of course the bug tracker's in our tree despite only supporting PG but I'm trying to avoid our doing this as much as possible. Of course once we have the download repository set up on the new 4.x-based site we can have user-contributed packages that only support one db or another but I'd like to have our "official" packages support both.
Yon took a stab at porting it a while back. Nothing much has changed since then, so we're half-ways there, but I haven't gotten anything done about it since then.
Here's the info:
I wanted to mention Lars' blog, but Lars beat me to the post earlier today.
I not only like the UI... but the content as well!
I have been secretly looking at lars-blogger and lars-ratings... waiting.
I do have some experience running a community using Weblog software (the European Medical Students' Association) and it works pretty well (yet I have not advertised the fact that we have a really easy to use content management software in that community, because I am waiting for something better... cough cough).
The software I am using for the community is based on Frontier (I am sure most have heard of it) created by Userland (a company that I am sure we can learn a lot from). They have been pushing XML-RPC, SOAP, RSS, and OPML for years. The software not only has XML-RPC based content management functionality but also some nice features in the area of membership, discussion groups, and ratings. I use the discussion groups on our pages as an editorial room. I moved the site to the platform more than a year ago because I did not have the time to support content creators anymore. The content management features in Frontier made it possible for anyone to post information (give a couple of people a 20 minute HTML course... make them editors... they get mails from the server when an author posts... they correct the bad HTML and approve the posts).
Sadly I have not had the time to scratch the surface of some of the things that make Frontier so interesting (the XML-RPC/SOAP part of it)... the fact that this software is teeming with standard based hooks and handles that can be called over the net makes it worth looking at. I hope to see web-enabled standardized hooks and handles hanging out of OpenACS/dotLRN soon.
As group projects and problem based learning are gaining popularity... collaboration space, clear group permissions, and summaries of an individual's contributions to the group become even more important.
If I am in a class with you I want to be able to list all contributions you have made to the class so I can get a feel for who I am talking with (in other words, being able to list class contributions of an individual should not be limited to the professor).
We must not forget that students need to be protected. Should contributions be limited to the audience it would reach in a traditional learning situation (I might not want my professor in Medical Ethics hearing what I said in my Philosophy course last year)? Should the student decide (I might need to remove the evidence... after posting something really stupid)? The best solution might be to link the "about me" view permissions with the context of the contribution (if bboard is only viewable by users in course X... all users registered in course X should be able to see a listing of my contributions in that course on my "about me" page). I get the feeling it is just boils down to where we put the switches (the infrastructure seems to be in place).
Before calling it a night, I would like to add a slightly modified use case: Lets say we are both in the Introduction to Literature class. With 90 people in the course the professor cut the total number of blogs to 30. Now we have to work in groups of three and consolidate our opinions. We are required to publish our group's opinion (each of us signed-off each contribution). The post is then sent to one of the three course assistants. Each assistant reviews the various contributions approving and rejecting them... approved contributions get sent to the professor and those that are rejected back to the groups (with comments included). The professor then publishes the gems for the whole class, which are then used in the general class discussion.
The use case you raise is an interesting one. I'm imagining that the teacher would want to give each group its own subgroup to work in so they can share file-storage, discussion boards, group-internal deadlines on the calendar, etc. Given that situation, you'd want the group to be able to work out their blogs together and then publish the results to the class level.
Now, how would the publishing process work within the group? You have two pieces to the workflow that require very different social actions. First, the group has to decide which posts are worthy of publishing. This requires consensus-building. Then somebody has to pull the switch and actually publish. This is more of an executive act. You could use a general-ratings package as a voting mechanism within the group. Once a consensus (or, at least, a majority) is established, somebody could be assigned the privilege of flipping the switch to publish the group's choice(s) up one level to an aggregation portlet for the class blogs.
What you are describing sounds more like a source management system than a blog. You know, the standard collaborative groupware stuff, with checkin, checkout, and publish.
Where do you see the blogging coming in?
To me, blogging implies simply logging what you have to say at a single point in time, and being able to see your history of things said. People have the ability to comment on what you said.
So, when you get into the realm of security and collaborative posting and publishing, I think you are definitely going beyond the world of blogs. Not that there is anything wrong with that...just trying to understand what you might be looking for...
You're raising a chicken-and-egg situation, essentially. Many complex web apps (especially in the education arena) have both publishing and collaboration facets to them. So whether you start with a publishing app and add collaboration features or start with a collaboration app and add publishing features depends largely on your aims and what's easiest to do given what you already have to work with.
The larger context of this conversation is using blogs in an educational setting. So we start with a single person's journal (or blog) and add the ability for people to comment on it. Once we have that in place, though, if we step back and squint a little the blog app (functionally) looks a lot like a discussion board with minor tweaks to the permissions and the UI.
That, in turn, leads me to speculate that maybe what we need here is really one app for both blogging (or single-user-directed thinking out loud) and discussion boards (or community-centric thinking out loud). By aggregating the needs here, we may be able to come up with one base idea app and a small handful of parameters that can be tweaked to support a number of different educational goals.
I agree, but what's keeping us to make blog a core part of OACS. Looking at the global attention the concept gets?
What's becoming clearer in my own mind is that, in an educational context, we're always talking about conversations. On bboard, we're used to a more or less egalitarian conversation. Moderated bboard puts a bit more control into the hands of one discussion leader, but is still fairly egalitarian. A blog-like app with built-in bboard-like commenting features moves further in the direction of putting the moderator in control.
Ideally, we would have one tool for various kinds of educational conversations that would enable (and perhaps even guide) instructors to make particular fine-grained choices about the preference settings for a particular conversation (or package instance, to think of it from the code perspective) depending on their particular educational goals.
The tool that I happen to be very impressed by is MovableType (http://www.movabletype.org), which I mentioned earlier in the thread. In general, it seems that there are very positive reactions to MT by its users. I was attracted to it because the admin UIs for MovableType are very nice. Dave and I were hoping to base our initial spec work off of MovableType.
Also, from what I can glean from the conversation on this thread, much of the functionality is also available that you guys are seeking. If you visit the MT features page (http://www.movabletype.org/features.shtml) and MT Screenshots (http://www.movabletype.org/screenshots/screen-mainmenu.html) you may get a better sense.
See http://www.movabletype.org/docs/mtmanual_trackback.html for details.
also checkout the extensive list of links down the right hand side of this site, too many to mention.
There are many more.
So a blog-with-comments sounds more like a bboard to me, which is probably why Jerry chose to just modify the existing software. To recreate this you don't have to import old code, just take the same approach with v4 bboard software.
Do you remember how the old bboard software worked? It had 3 modes of presentation: flat Q&A format, what we use here; threaded, clunky framed layout; and editorial, where follow-up repsonses are displayed on a seperate page.
The editorial format seems pretty blog-like. The reverse chronological listing of threads within a forum also fits the mould, with the listing of forums representing the listing of blogs. The only missing element is that recent forum postings have only their title displayed rather than bubbling the content directly to the top. That would be trivial to add to any of the various bboard packages, as I guess Jerry's already shown.
On the issue of referral logs vs. discussion threads, they both seem useful in an educational context. If, for example, you want to have students primarily focus on journaling and occasionally cross-pollenating as they see fit, then referral logs is definitely the way to go because it doesn't force excessive structure on the conversation. On the other hand, if you *want* a structured conversation where students have a conversations which are triggered by the initial thought of a particular person (either a student who is journaling or an instructor), then threads are the best. So in an ideal world an instructor would have the ability to choose which mechanism is best suited to the instructional goals at hand.
Note, by the way, that the referral mechanism could be useful in a conventional bboard app to make connections between threads easier.
- Does blogging (or discussion board) at the small group level and the whole class level
- Does file sharing/collaboration (allow the small team to beat on a document until they are sure that have what they want)
- Does workflow (manages the flow of the document and the discussion between the collaborator...)
- Does file publishing to the wider audience (allows the small team to decide that they are "finished" and share the doc with the class)
What else does it need to do?
First of all, I don't think that the app itself has to (or should) have a publishing mechanism in it. From a functional perspective, yes, users need to be able to publish up the community-level hierarchy. However, that's actually a general problem throughout dotLRN, and I suspect that we'd want a generalized publication mechanism that could be utilized by this and other apps. In other words, we need to think about publication in our design considerations here but we don't necessarily need to cram that functionality into one piece of code.
Second, I'd want to put pretty sharp bounds on the degree to which we think of this as a document management tool. For the most part, I'm imagining that the typical content item that would be hammered out for group consensus would be something the length of a typical blog entry or discussion board post. Now, you could certainly use the tool to discuss document drafts, but I think management of those drafts themselves probably belongs in a separate module, like file-storage.
It might be more accurate to say that I want to build an app that helps manage the workflow of the conversation. Do you need to build consensus on an idea? Do you need to have occasional feedback on your train of thought as you develop it? Do you need a strong moderator who can close one avenue of conversation and open another one? Different educational conversations have different flows to them and correspondingly different traffic rules. What I'm really casting about for here is an app that shows some sophistication in terms of supporting those different traffic rules.
As Stephen points out, what this could end up looking like is a highly configurable threaded bboard with some blogger-like features (e.g., referrals) thrown in, and maybe a collaborative rating/voting system. At set-up time, you allow the instructor to decide who can start threads, who (if anyone) can end them, and how the threads are displayed in the UI. S/he also decides whether the participants can rate (or vote on) each others' posts. That's pretty much it for the app itself (though the devil is in the details).
For publication, you can pretty much hook into the ratings system, particularly if it can distinguish who did the rating (as is the current proposal for general-ratings). You have an aggregation portlet at the class level that pulls all content items that meet certain ratings criteria. Maybe it pulls all the ones that were flagged by the professor or TA. Maybe it pulls the ones that got the highest aggregate rating from the members of each group. Etc.
I recognize that there is a real danger of an overly broad scope here, and it may turn out that a blogger is a blogger and a bboard is a bboard and never the twain shall meet. However, I do think it worthwhile to make sure we're not being overly narrow in defining the educational problem we're trying to solve.
The content-repository already has a way to link items, and there is the acs-rels system, but no user interface to say, this bboard post is related to this weblog item etc...
It would make it easier to blend discussions in one space to the other.
And we are not (necessarily) talking about documents.
I have never RUN a moderated discussion board/list, but I have been on a could. Does anyone here have any experience running one? Does it do what Mike is looking for?
Rating? Are you talking about participants rating the posts of other participants? "Gee, I didn't like the way Bob said that. I give him a 3 out of 10"? Or am I missing something here?
USE CASE: Teachers keep parents informed and involved. Teachers keep a daily blog of classroom events. Huge benefit to keeping parents involved and supportive of their child's education. With a four-year old in pre-school, I can't tell you how eager I am to get the photocopied page at the end of the week. Daily blog would be better, along with feedback mechanism. Right now I have to write a note and safety-pin it to my daughter's shirt the next day. As a father who usually can't find his car keys in the morning, where am I going to get a safety pin?!
USE CASE: Subject matter expert shares daily life with students. There have been some notable forms of this on the web where scientists communicate with classrooms while they explore the ocean, etc. Blogging could bring this tool to the masses. Example: Have your city mayor blog for a month to support a civics class.
I think the discussion thus far is supportive of these cases. Clear need for flexible permissions and security.
Finally, in terms of features, I've found "Thermal Mapping" of calendars and posted topics to be helpful in many situations. This color-coding feature is CLEARLY a nice-to-have rather than need to have. You can read more about this and see it in action at http://l.editthispage.com/2002/07/13
First, there is the dynamic of the template and the stack as it is complicated by a group-based permissions system. Before you log on you are presented with the Main Page, the standard template and with public content, but when you lgo on this same template is then filled with the additional content of your enrolled groups stacked one on top of the other, without an indication of which group the posts are coming from. This is far different from logging on to .LRN and choosing houses (groups) and rooms (tabs and subgroups) and where each house and room is closed off to the rest. Instead, it is as if all the different community conversations going on in my head, like my email, are being added to -- pushed onto -- the top of a stack and the continuity comes not from the partition of spaces in the interface, but in my picking up on what is going on in my community and in my head in, basically, real time. Another way to put this is: instead of having to visit these different spaces, I've got a stack I can work my way down to where I left off.
Second, there is the dynamic of public and private for students who are not used to going public with their homework. In one class, the students are writing a short book review every week: I post an article, they post their reviews, I offer brief comments on their posts, sometimes they offer comments on posts, but there is not a lot of commenting/forum work going on: it seems to be enough that they "go public" -- it concentrates their minds, and when successful and in the context of what I like to think is a supportive classroom environment, they are going though a cycle of hazarding a post, finding it respected, gaining confidence (they are non-native speakers of English learning how to write academic English), and noting how others are completing and learning from the assignments, too.
At the start, I thought, well, this is not as successful as some of my class forums where, once they got into problem-solving, there could be dozens of posts by a dozen or so students in a working group in a week -- you know, lots of forum postings suggesting that there is online community and making my forums look like a happening place and making the technology look like it is being used and me look good having created a machine that would sorta run by itself. But not all classes and groups work what way. I began to realize that for many students it took some courage to make their work public (and we are still speaking of limited group access, you won't see their work on the blog until you log on), that unlike motor mouths like myself many of them are not ready to go on and on, and some of them can't handle too much criticism either, so that it might be quite enough to have made the step to make something public -- to put this as an understatement: that going public and building the confidence to do so has something to do with creativity and community and learning: that there is a moral dimension to posting.
Third, I put 3-4 related articles in folders named "Advice for Writers," "About Elearning," "Course Materials" and "Using This Blog" such that the private space where we are doing our work is framed with something public -- relevant articles by experts in the field and a couple by me, plus some interesting photos having nothing to do with the course for color and amusement. I thought of these files as setting up a limited, strategically-organized -- part class and part professional -- frame of reference in the manner of: "oh yeah, I gotta get my head into this world for long enough to get my homework done", and this is not trivial for students who are enrolled in six or more classes and are working and so experience the problem of "getting their heads into this space" maybe four times a week plus the 90 minute class itself. I would add that there must be something significant going on when I see a log of the last five people who logged on as so many breadcrumbs or traces reminding you that the site is alive and well, it includes a community, I recognize their first names ... and I'm writing for them!
Finally, this is leading me to a minimalist strategy: wanting to turn off all but one or two elements of functionality so we can concentrate on just a few basic course goals and concentrate on learning just a couple of things the online technology might do to master them. This blogging software not only makes web publishing easy for me and my students, but it puts elements together in unique ways and that comparisons of this uniqueness might best involve a detailed phenomenological description.