Did You Know Moodle 2.0 Will….? (Online Educa 2009)

Martin Dougiamas spoke about Moodle 2.0 at the 2009 Online Educa in Berlin
Martin Dougiamas spoke about Moodle 2.0 at the 2009 Online Educa in Berlin. Photograph by David Ausserhofer and licensed under a Creative Commons Attribution 2.0 Germany License.

I have written about Moodle 2.0 before. But last week in Berlin I had the opportunity to attend two more presentations by Martin Dougiamas about the plans for the next major version of Moodle and I have gotten a better idea of how things will work.

Moodle.com is completely transparent about their plans. You can read the roadmap and view the latest version of the planning document at any time. 16 developers are in Prague right now, making sure all of this will actually happen (search for #moodledev09 on Twitter).

My overview below is not complete. It is just some of the things I thought were interesting. Here we go! Did you know Moodle 2.0 will…

  • …look much better. The way that themes work will change completely. This will allow for much more flexible templating and theming. Moodle has Patrick Malley as the theme coordinator. He has been commissioned to create 20 beautiful themes that will ship with Moodle 2.0. Moodle will not ship with any of the old themes. The old icons will be replaced with a new set based on the Tango guidelines. All of this is great news as most Moodle sites do use the default themes (see this 12.6MB image of registered Dutch Moodle sites for examples).
  • …break most things. The 2.0 release is seen as the chance to do things differently. A lot of code will be refactored. There will be a smooth upgrade from 1.9 to 2.0 for the core code, but any customisations and extra modules will more than likely need an update. Examples? Every designed theme will need to be updated, 1.9 backups will probably not restore in 2.0 (update: there is a workaround) and old ways of getting files into the system (FTP anyone?) will not work anymore.
  • …allow you to search for Flickr images with a particular Creative Commons licence and will add the license to the image itself. This is one of my pet favourites, because it shows how anyone who is willing to be part of the dialogue around Moodle development (regardless of whether they are a developer or not) can influence the feature set of Moodle. I created a request for this feature in the Moodle Tracker and Martin demoed it in both his presentations in Berlin. We still need to get the user interface right, but the functionality is there.
  • …have the concept of a finished course. In current versions of Moodle there is no way to let the system know that a particular learner has finished the course. The concept just doesn’t exist. A lot of people require this functionality. It could be used as a trigger for sending the course grade to some other system, or could trigger the creation of a certificate.
  • …allow for conditional activities. In 2.0 you can make the availability of activities and resources for a particular learner dependent on certain conditions. These conditions could be the completion status of a particular activity (what completed means depends on the type of activity) or a grade for a particular activity. Finally it will be possible to set up your course in advance and then let it run by itself! No facilitation required! If Skinner is still your educational philosopher of choice, you will be very happy with this functionality! On a more serious note: this will allow for even more flexible Moodle course setups and that is never a bad thing.
  • …import external blogs. I believe blogging should be done on a platform that is as open as possible. This way your audience can be as large as possible and that means the interactions and dialogue around your blog will be at its most valuable. This is the reason why I don’t use the internal blogs that my employer provides me with and why I don’t have an active blog on Moodle.org or on any other Moodle installation. Not only will Moodle have a proper RSS feed for your internal blog, it will also allow you to import an external blog (based on a feed URL and on tags) and make it available internally. Moodle will make sure that the posts are in sync: so if you delete a post on your internal blog, it will also be removed from your internal blog. Brilliant!
  • …have a decent HTML editor that works in more than two browsers. HTML Area, the HTML editor that current versions of Moodle use, is old and crusty and does not work in many browsers. Moodle 2.0 will integrate TinyMCE, an HTML editor that has a larger and vibrant development community. It will work on Internet Explorer, Firefox, Safari, Opera and Chrome/Chromium. All Moodle users will really appreciate this change (even if they might not be aware of it).
  • …allow comments on everything. This is the pedagogical big winner for me. It is possible to add a comment block to nearly every resource/activity in Moodle 2.0. This will allow for a lot of peer feedback which can then be aggregated in different places (in the course, in a users profile?). I recently did a course on Rapid e-Learning Design where one of the core activities was commenting on other people’s work. The richness of interaction that this created was amazing. I am just hoping that the development team will think real hard about some of the user interface decisions around the comment API: that will make all the difference.
  • …have a workshop module that you are not scared of using. Currently the workshop module is broken. I would not recommend anybody to use it. The peer feedback concept that it embodies is not broken though! David Mudrák has completely rewritten the workshop module and the first comments are very positive.
  • …will have a built-in feedback/survey module. Modules that implement survey functionality in Moodle have always been the most popular add-ons. Andreas Grabs’ Feedback module will become part of the Moodle core code from 2.0 onwards.
  • …will not eat disk space if a file is used or uploaded multiple times. We all know the problem. You have a course that has a 300MB presentation in it. The course is duplicated for another run. Now you have two courses with 600MB of presentations. This problem is a thing of the past in Moodle 2.0. All information about files and where they are used is stored in the database (drastically improving the security around who can access a particular file). The files itself are stored on the filesystem. A SHA-1 check on each new file will make sure that identical files are not stored twice.
  • …have a completely new way of navigating. The way users navigate a Moodle installation has gotten a complete rewrite. Tim Hunt has done a very commendable job involving the community in his design plans and there is an excellent page in the Moodle Docs explaining what it is going to look like. It boils down to a more consistent navigation bar, a new Ajaxy navigation block which allows you to jump to any resource/activity in any of your courses in one step and the moving of many of the module related settings that were hovering at the top right corner of the page to the administration block.
  • …be a reinvention of itself as a platform. Moodle was approaching the end of its life cycle as a “Walled garden” product. Moodle was ahead of the game in 2001, but has been passed by many of the developments on the Internet since its inception. When Moodle was first conceptualised things like WordPress MU, Ning, Flickr, Delicious and Wikipedia did not exist. Moodle needed to reinvent itself. The repository and portfolio APIs in combination with the Web Services layer will allow Moodle to become much more a platform than an application. Moodle will keep its relevance or will become relevant again (depending on your viewpoint on the state of educational technology). I am already imagining the Moodle App Store.
  • …change the world of education (if nothing else). I think that Moodle already has had a very positive impact on the world of education, but if the Moodle Hubs scheme works, it will be a lot easier for teachers to share the share their best practices and collaborate with other teachers the world over.

I am certainly looking forward to its release! Are you excited yet?

Will it Blend? A Presentation at Online Educa 2009

This morning I presented in the “The Moodle Experience: Moodle in Practice and New Developments” pre-conference session at the Online Educa in Berlin.

My talk was titled “Will it Blend” and the slides are available on Slideshare, as a PDF ( 4.9MB) and below (no audio unfortunately). If you have any questions about these slides, don’t hesitate to ask them in the comments.

[slideshare id=2631031&doc=091201willitblendonlineeduca-091202055317-phpapp02]

On Friday (14:30-16:00 in room Lincke) I will talk about the use of open source software in corporations. My talk is titled “Open Source: Getting Failure for Free (and Why That Is a Good Thing)” and is part of the “The Added Value of Open Source Solutions in Times of Crisis” session.

I do hope to meet readers of this blog there!

A Design Concept For a Mobile Moodle Application

Arjen Vrielink and I write a monthly series titled: Parallax. We both agree on a title for the post and on some other arbitrary restrictions to induce our creative process. For this post we agreed to create a design concept for a mobile Moodle application. The concept should include screen mockups. You can read Arjen’s post with the same title here. This month we are delighted to have two guest writers writing about the same topic. Marcel de Leeuwe (read his post here) and Job Bilsen (his post can be found here).

Mobile applications have taken off. This is largely due to the trailblazing work that Apple has done with the iPhone and the App Store. If you have been watching my Delicious feed, you will have noticed that I too have succumbed and will be part of the iPhone-toting crowd (I will write more about me losing my principles later).
Nearly every web service that I use has a mobile application. Examples are Last.fm, Flickr, WordPress, Dropbox, NY times, Paypal and more, the list is endless. Moodle, the web application that I use most often, does not have a mobile app yet. There have been a couple attempts at creating themes that display well on a mobile (such as here). These mobile themes usually try to deliver all of Moodle’s functionality, which often limits their phone specific interaction and their user friendliness. Other applications use JAVA applications that gives people access to specific Moodle functionality (examples here and here).

It would be great to have a true mobile Moodle application. Here are some initial thoughts for a design.

Audience
The audience for this Moodle application would mainly be students/participants. I want the functionality to focus on things that are easily delivered on a mobile platform. I don’t think grading and reporting interfaces lend themselves well to a smaller screen. The things that people like to do with a mobile device are usually: seeing what has happened/is happening, plan and communicate. This Moodle application will enable the users of a Moodle installation to do exactly those things.

Getting rid of the course paradigm
Moodle is extremely course centric. I have always thought that this has some great advantages, mainly that all the learning is very contextual. Students, however, often have to “multi-course” (doing multiple courses at the same time). A mobile application should make the most urgent or current events, actions and resources bubble to the top. This requires the application to get rid of the course paradigm and show a personal page per user.
People that have used Moodle for a while might know of the “My Moodle” page. This page also tried to pull up the most relevant information for a particular user, but would still display this information on a course by course basis.

This application will consist of four main screens. Each screen has its own icon at the bottom of the screen that stays available at all times. Each screen could of course lead to other screens that take you deeper into the Moodle installation.

1. Recent activity stream
Facebook and Twitter have really taught us the use of activity streams. These pages display short status messages about what is happening in reverse chronological order. Moodle has had an activity stream since its inception: the recent activity block. This block shows what has been happening in a particular course. Examples are forum posts, work being handed in or materials being added by the teacher.
This screen will work in a similar way, but will include all the courses a user is participating in. I would imagine that each update on the screen would include a date and a time, would link to an extended version of the update and would include a user image if the update concerns another user, or an activity icon if it concerns a particular activity. The newest updates would be at the top of the screen and the user would be able to scroll down to see older entries (very similar to Twitter). See below for an example:

Recent Activity
Recent Activity

You would have to think about each Moodle module and decide what a status update would look like for that particular module. Some examples of events that could trigger a status update:

  • A forum post is added to a course of which the user is a member.
  • An activity becomes available (either because it was added or because it had certain time that it would become available, like the choice or assignment activity) or a deadline has passed.
  • An entry is added to a database activity or a glossary that the user has access to.
  • A topic or week has been made current by the teacher/facilitator.
  • A message has been sent to the user.
  • The user hands in work for an assignment, fills in a choice, starts a lesson, gets the results for a quiz or starts a SCORM object.
  • A change is made to a wiki page that the user has access to.

These status updates could announce themselves on the home screen in a similar way to how the mobile platform shows that you have new email messages: by showing how many new updates are available.

2. Upcoming events
This screen is also an extension of existing Moodle functionality made course independent. Conceptually it is what you would see if you would scroll up on the recent activity screen. Upcoming events that can be displayed are:

  • Anything that is in the user’s calendar.
  • Activities that will become available or that have a deadline.
  • Courses that will start and that the user is enrolled in.

This screen would look very similar to the “Recent Activity” screen as shown above.

3. Social: contacts, interests and messaging
A mobile device is used for communications and a mobile Moodle application should facilitate that. This screen is an alphabetical list of all the users that a student/participant shares a course with, combined with an alphabetical list of all the interests that a user has put in their profile and all the courses the user is enrolled in. See example:

Social
Social

Selecting a user will take you their profile page. This page will focus on the ways that the user can be contacted. You can message the user from here, call (or Skype) them, send them an email and click on the links to their external websites (a blog, Twitter, Facebook, etc.). See this example:

Profile page
Profile page

Selecting an interest or a course will apply a filter to the alphabetical list. It will now only show users that share this interest or this course. It might allow the user to contact all these users in one go (if this role has been given the permission for this capability).

4. Browsing courses, activities and resources
I really like a side scrolling drill down navigation (examples are the way that email works on the iPhone or the “Slider view” on Grazr). A mobile Moodle application should allow the user to navigate to activities and resources in their course by constantly drilling down. This can be done it two ways: course centric or activity-type centric. The application should probably support both.
The first screen shows a list of all the courses the user is participating in and below that a list of all the activity types that exist in Moodle.
Clicking on a course will make the previous screen slide to the left and display a new screen. The first option on this screen will be called “Course overview”. If you click on this you will see all the section/topic summaries, all the activities and resources and all the labels in their correct order (blocks are completely ignored in this mobile application). Below the course overview are links to the overview pages of each activity type. Clicking these will display all the instances of a particular activity or resource.

If you click on an individual activity or resource you will be shown that activity (again by making the screen slide to the left). What is shown here and what interactions are possible is dependent on the activity module. The minimum it would show is the title and the description. This would probably be the case for SCORM modules for example or for “upload a file” assignments. You would not implement a mobile SCORM player, nor will people likely have files for upload on their phone. The one activity that would benefit from being a bit richer would be the forum activity. It should be possible to follow and contribute to a forum discussion from the mobile Moodle application.

Technical considerations
The (start of a) functional design that I describe above will certainly have technical consequences (not to write obstacles). Below some of my first thoughts:

  • What platform? The nice thing about web applications is that you only have to develop them for one single platform: the platform that the server is using. Of course it would be possible to create a mobile version of a Moodle site, but this would negate some of the great things that a native application can do. We are now in the unfortunate situation that we have multiple mobile development platforms. The two obvious choices for mobile development would be an iPhone app and an app for Android. But what about people who use a Blackberry, or a Symbian or Maemo phone? I have no knowledge of how easy it is to port an Android app to the iPhone, but I do know that multiple platforms will be a reality in the next couple of years. You better write portable code!
  • Where does the code live? It is easy for Facebook to create an iPhone application. They run a single installation and can have server-side code and client-side code to make it all work. Moodle’s install base is completely decentralised. That means that Moodle installations will have to get some code that will allow a client to talk to it. In the client you will then need to be able to say what Moodle installation you want to connect to. This poses a couple of questions. Will a mobile Moodle app require a special server module? Will Moodle 2.0 expose enough of itself to an external API to make a client like I describe above possible? Should one client be able to plug into multiple Moodle installations at the same time? I am not a software architect, so I would not have any answers to these questions, but they will need to be resolved.
  • Performance? Moodle’s data structure is course-centric and not user-centric. Moodle currently does not have internal functions that deliver the data in a format that the Moodle client can use. I think that the query to deliver a recent activity feed that is cross-course and has the perspective of a single user is very complex and will create a huge performance hit on the server. Again, I am not an architect, but I would imagine that this requires a special solution. Maybe more push and less pull? More database tables? Server-side pre-caching? Who knows? I certainly don’t!
  • Roles/permissions/capabilities? Any new Moodle client that uses existing Moodle data (as opposed to new modules) needs to be very aware of any existing capabilities. All of these need to be checked before information can be shown to the user. I am sure this has further performance implications.
  • Online/offline? A lot of mobile applications cache their information so that a user can continue to use the application even if an Internet connection is not available (e.g. the New York Times app). Even though it might be useful for a Moodle application too, I wouldn’t put any initial effort into solving that problem. Smartphones that have decent application support function well in a context where there is persistent mobile broadband. It is therefore okay for the first version of mobile Moodle application to assume that it is online.

A note on prototyping/mockups
I used the excellent Balsamiq to create the mockups that go with this post. This easy tool delivers quick static results, although it lacks a bit of precision that I would like to have added. Moodle has Balsamiq integrated into the Moodle Tracker, making it trivial for anybody to add a user interface mockup to any issue. There are other tools that could be used to do iPhone prototyping. This blog post gives a good overview.

Continuing the dialogue
I would really like an application like this (or something similar) to come into existence. I look forward to working with other people with a similar interest (bored developers? Google Summer of Code students?). Let’s make this happen! Any and all comments are welcome…

Invitation: Ned-Moove Organises a Moodle Meetup

 

Nederlandstalige Moodle Vereniging
Ned-Moove

On Wednesday, the 25th of November, Ned-Moove organises another Moodle Meetup. A selection of service providers in the open source educational technology space will be presenting their products.

The programme starts at 15:30 and finishes at 18:30. Topics include Edurep, Teleblik, Zimbra, Wintoets, and Mahara (and the presentations will be in Dutch).

 

The location is the Open Schoolgemeenschap Bijlmer on Gulden Kruis 5, 1103 BE in Amsterdam. Attendance (and parking!) is free, although we do require a registration: click here to register.

I do hope to see you there!

New Paradigms for Course Delivery

The Ministry of Instructional Design
The Ministry of Instructional Design

As I write this I am participating in two exciting courses. Each course is an example of how new paradigms for course delivery are coming to the fore in this online world. I will probably write more about both of them in the near future, but will kick off today with just a simple explanation of both courses.

Rapid eLearning Development
LearningAge Solutions has developed an online course about Rapid eLearning Development. I am a participant in the pilot group: I don’t have a course fee to pay, but have committed myself to giving weekly feedback so that the course can be fine-tuned.

The “Ministry of Instructional Design” (LearningAge Solutions)

Part 3D computer game, part social network, part collaborative learning, the ReD course will teach you how to build effective elearning and informal media using leading elearning author tools.

Designed by Rob Hubbard of LearningAge Solutions with input from some of the smartest people in the elearning industry including Clive Shepherd, Jane Hart and Patrick Dunn. This is a course unlike any other,  designed to show how great elearning can be and built using tools that you too can master.

The way that this course is created/structured is smart and inspiring (regardless of the content which is good too). The course is made from a loosely coupled set of (mostly) free online web applications.

The core of the course is a private Ning network which has links to all the other parts of the course. This is the place where participants do reflective blogging and where people hand in their assignments and comment on other people’s assignments.

Mindmeister is used for mindmaps that contain the learning objectives for each module, ClassMarker contains a couple of knowledge checks/assessments, Dimdim delivers the web conferencing functionality and there is a 3D game made with the gaming technology from Thinking Worlds.

To me this type of course design shows that it is not necessary to assume that one single tool should deliver the full learner experience. It is perfectly viable to use a collection of tools and use each for its strengths. Once I have finished the course I will post a bit more about my experiences.

Connectivism and Connective Knowledge

This is the second year that George Siemens and Stephen Downes (actually my two favourite learning gurus) organise the  “rather large open online course” Connectivism and Connective Knowledge. It is their attempt to destabilise the concept of a course.

The course is open to anyone. You attend freely if you do not need any university course credits, or you pay if you do. The course is decentralised (or maybe “loosely federated” is a better word): the two facilitators set out reading materials and organise a couple of webcasts every week, but the meat of the course is to be found in the discussions that participants have (online in Moodle forums) and the reflections that participants post on their blogs.

A single tag, CCK09, is used by all participants for their posts. This pulls the all the course activity together and makes it easy to find course related postings (e.g. on Twitter or in the blogosphere). By connecting to people with similar interests, it is possible to go on a tangent and explore the things that you want to work on in relation to connectivism and connective knowledge.

A daily newsletter is sent out. This is an edited version of the aggregated posts and discussions and includes commentary by Stephen Downes. Just reading the newsletter is already incredibly valuable.

I tried to actively participate in this course last year, but was not able to keep up with it. It requires a lot of discipline to study this way: there is no passive consumption of information. Instead it requires a lot of effort to select what you want to read and post your reflections. I hope I will be able to do better this year (although things are already not looking good right for that to be the case)!