Skip to content

Stian's ideas about lernanta functionality (outdated)

zuzelvp edited this page May 12, 2011 · 1 revision

We can split functionality in 2 parts, the first is everything that happens outside, or around courses:

course and student management functions

  • student registration and sign-up

  • student profiles

  • course draft creation

  • workflow for course draft -> community review -> running etc

  • interacting with courses

  • searching, browsing, signing up, following, etc.

And the second is what happens in each individual course. Here I will write about the second part, my suggestion for a possible architecture for Lernanta.

Within individual courses

  • some metadata related to each course (name, tags, language, instructors etc)
  • modules with different functionality
  • adapters for external content

Modules

modules will provide opportunities to interact and post content within each course. Some will be built in, such as a threaded discussion forum. They can also "encapsulate" external services more or less seamlessly, for example Etherpad, wiki, chat, Big Blue Button etc. (Encapsulation would mean that these services appear within the P2PU page, like we do currently with IRC and etherpad, and ideally in the future, we would offer seamless single-sign on and automated logging, for services that are open source and controlled by P2PU). (Big Blue Button would open in a new window, but would be integrated in that you can schedule chats through P2PU, ideally single-sign on, and in the next version, integrated recordings of meetings that are then automatically linked from the course page once the meeting concludes).

Some of the modules will be core modules, that will probably be used by every course organizer, but many will be "elective". Ideally the architecture would make it very easy to write a module without mucking around deep in the code, and to add modules.

The rationale for this is that there is a huge amount of different ways for people to communicate within a course. Not only will different course organizers want different modules, but we also want to make it simple to develop new modules - P2PU is an experimental platform, and we really don't know what the ideal way is. There has been a lot of experimentation with using graphical discourse tools, and research showing that they can lead to significantly deeper and more sustained interactions (I made a demonstration of one such tool here: http://www.vimeo.com/17143638). I am not suggesting that we should choose one and force everyone to use a tool that is unfamiliar and strange - but that we should make it possible to experiment with these different forms, either by writing modules specifically for lernanta, or by easily encapsulating external sites (possibly in a richer way than is possible with iframes).

Adapters

Much of student interaction will also happen on external sites, such as Wikipedia, Flickr, Github, YouTube, etc. An adapter connects to one or a group of services (which use common APIs etc) and allow for importing of activity streams, content, and statistics.

activity streams

in some cases, it might be enough to have changes and contributions done externally show up in individual and course activity streams "Stian posted a new page on Wikipedia", "Peter updated a project on github" (with links to the changes/contributions)

importing content

in some cases, we might want to actually import the content. this might be for safe-keeping (personal blogs might disappear, free social network sites might become for-pay, content might get lost), and also for remixing, peer-review, badges etc

statistics

there is a great deal of interest in gathering learning analytics data from P2PU for a number of different use cases - all from building dashboards and visualizations providing real-time support for learners, course organizers and administrators, via longer-term institutional research and evaluation, to rigorous academic research and hypothesis generating/testing, often involving external research collaborations

but data is not very valuable if we cannot capture learner engagement in external platforms. in some cases, this might overlap perfectly with activity streams, but in other cases not (we might for example want to capture who has attended a given Big Blue Button meeting, if possible).

(At the Learning Analytics conference in Banff, this was one of the hottest topics, gathering student data from interactions happening at a multitude of platforms. If we can solve this nicely, our platform gains a huge advantage. Currently students are very easily lost by activity happening all over the web - and courses that have significant presence outside of the P2PU platform often have "empty" course pages that look cobwebbed. Being able to capture this data is also crucial to any kind of analysis, development of dashboards, etc - otherwise we can only do that for courses that stay entirely within the P2PU.org website, which is not realistic or in line with our philosophy).

It is true that RSS feeds will do some of this, but the question is much more complex. One key problem is matching usernames (do you require people to use the same username on other platforms, or to manually "match" these? Which RSS feed do you subscribe to? A course-specific one (giving the problem of matching user names), or a user specific one (but which activity is relevant to this course)? Some platforms don't generate RSS feeds, or we'd like information we cannot get in the RSS feed (how much has someone typed in Etherpad, how much time did they participate in Big Blue Button, how many edits did they make in the wiki)...

I'm not saying that capturing this data is easy, or that having adapters for all the major platforms ready should be a goal by Q4. Rather I am saying: create an architecture that enables us to create these adapters, and I will happily play with creating a rich interaction with BBB, others might take on other projects.

(And of course, to as large an extent as possible, we should use existing APIs and methods - the fact that we're building on Batucada here is brilliant, since they are committed to this, and in some cases, we might even be able to modify the open source projects we integrate, such as BBB, OSQA, Etherpad, to enable them to produce standard activitystreams or similar - work that would benefit the bigger community).