Initial plans for BIM 2.0

I’m slowly getting out from under the thesis, which means I am starting to have some time to think about the next version of BIM. The following is an attempt to lay out some of the ideas I have for the next version of BIM. Beyond helping me gather my thoughts, I’m hoping it will generate some comments and ideas from others. I doubt I will be able to implement all of the suggestions, so I’m hoping to get a sense for what others think is most important.

Currently, I can think of the following categories of potential BIM improvements:

  1. Work with Moodle 2.0;
    This is the main driver for an upgrade. Moodle 2.0 will be out real soon now, and BIM will have to be modified to work with Moodle 2.0.
  2. Maintaining BIM 1.0;
    Not sure that everyone will be moving directly to Moodle 2.0. Suggests a need to maintain BIM 1.0 for a bit.
  3. Get BIM into CONTRIB;
    Good practice would see BIM in the Moodle contrib area.
  4. Miscellaneous improvements;
    Various ideas for how BIM can be improved have arisen from use of the current version. Would be good to action some of these.
  5. Improving the code design; and
    I’m shocked by just how spaghetti like the procedural code used in some of the Moodle modules (including BIM). It’s so inflexible, gets in the way of reuse, and just basically ugly and error prone. Surely there are nicer ways to code a Moodle module. A MVC framework?
  6. Scaffolding conglomerations.
    This is perhaps where my main research interest resides. The interest comes from the thesis and the idea that e-learning systems need to improve. One suggestion for how this might be done is scaffolding conglomerations. Borrowing ideas from distributed cognition to move these systems from simple configuration interfaces into scaffolding that helps teachers and students teach/learn.

Work with Moodle 2.0

Moodle 2.0 brings with it numerous changes to the various APIs which BIM relies upon. According to release notes, looks like the changes that will need to happen include: database queries, file handling, and perhaps some display code.

There are also other sections of Moodle that BIM does (or could) rely upon which have also undergone changes. This may also suggest a need for updates. Possible areas of interest include:

  • Plagiarism prevention;
    Adding this support is one of the existing issues for BIM and it appears that Moodle 2.0 might provide this service.
  • Backup and restore;
    Apparently there is an entirely new format, improved interface etc. Suggests a need to update.
  • blogs;
    Now includes support for external blog feeds. From scuttlebutt it sounds like this is done with SimplePie, which means BIM 2.0 probably won’t need to include it. For some this native support within Moodle raises questions about the requirement for BIM. The difference is (I think) what BIM does with the feeds in terms of management and marking support. Something I don’t think is done with Moodle 2.0, but should check.
  • Comments;
    Am wondering if this might offer an opportunity for students to comment within Moodle on other blog posts. Alternatively, as a way for staff to comment (mark) student blog posts, rather than BIM maintain its own record. This is probably the most questionable idea so far.

Installing and playing with Moodle 2.0

Much of the above is based on a skim of the Moodle 2.0 release notes. I’m sure to have missed important changes/additions and/or misunderstood the implications of other additions. Feel free to point out implications I’ve missed or misunderstood.

To remedy this I need to install Moodle 2.0 and start playing. Seems I already meet the system requirements. One less thing to do.

Maintaining BIM 1.0

I’m guessing that at least some universities will be a bit slow in moving to 2.0. The final release of Moodle 2.0 is not yet out, it’s supposed to be any day now. At least in Australia, that means most IT departments won’t seriously consider it until March or April next year since most Australian Universities essentially shut down for summer and then rush to get the first term going. Which suggests for some, it will be June/July before any decision about running a Moodle 2.0 trial, perhaps over summer term 2011. So it is likely to be 2012 before some move to Moodle 2.0.

Which suggests a need to maintain and evolve BIM v1.0. Actually, this is somewhat connected to improving the code design. If done well, an improved BIM code design could make it much less effort to maintain the two different versions. But it still means extra work.

At the moment, I’m leaning towards minimising updates to BIM 1.0 and focusing development on v2.0. If you think otherwise, let me know.


All the best Moodle plugins are in contrib. For various reasons I haven’t followed through on getting BIM into contrib. This needs to change.

However, I’m going to lean towards producing code first. i.e. I plan to use the BIM github area for development, work on getting v2.0 out, and along the way start the process of moving BIM into contrib.

Are there negative implications of not being in CONTRIB that I’m unaware of? Should I push this a little harder?

Miscellaneous improvements

There are currently 13 open issues (there is a 14th one which is migrate BIM to Moodle 2.0) associated with BIM v1.0. Most of these are ideas for improvement from folk using BIM or solutions to problems experienced. The following is a quick and dirty attempt at ranking/grouping those issues. Feel free to express dismay at the mis-categorisation of your favourite issue.

Improving the code design

The BIM code is ugly. This is partially (mostly?) due to me learning both PHP and “Moodle coding” during the implementation of BIM. But it is also due to the primitive procedural coding approach used by most Moodle plugins. Even for someone coming from using a somewhat limited, home-grown MVC framework, it was depressing and frustrating to have to step back to what I now see as the dark ages. Surely there has to be a better way?

It looks like it has been talked about briefly and not always well within the Moodle community. I recognise the difficulty of adopting such a radically different approach for Moodle as a whole. But I am wondering if anyone has done this within a plugin. I played around with this earlier on and it seems to go okay. I guess performance would be one issue.

Will have to look at this further, but am likely to use an MVC approach within BIM v2.0. Is this a good idea? A bad one? What have I missed in the Moodle community?

Scaffolding conglomerations

If I had to be doing more research, this is the area in which I’d be doing it. Just finished another blog post trying to re-explain the ideas behind scaffolding conglomerations. I’d really like to try and incorporate these ideas into BIM v2.0. What follows are some concrete ideas. Sadly, they are still early ideas and need to be thought through a bit more.

Making BIM help collaborative

One of the principles for scaffolding conglomerations is

Embed opportunities for collaboration and interaction into conglomerations

In the context of BIM, this doesn’t mean what BIM already does in terms of blog posts etc. It has to do with how academics and students access help around using BIM.

BIM v1.0, like most Moodle plugins, includes some canned help pages. There are links to these pages in the BIM interface. Essentially these pages provide definitions/explanations (written by me) of basic BIM constructs and operations. These are not very good since I often write them as an after-thought and also because my familiarity with BIM (since I am its designer) almost certainly means that I see BIM very differently from other people. Nor do these help files enable any form of collaboration. They don’t leverage the collection of people using BIM.

I’d like to expand/extend the help pages into some sort of collection of services that enables the complete collection of BIM users to collaborate. And by complete, I don’t mean just within a Moodle instance. I mean across all Moodle instances that are using BIM.

Some possible examples:

  • Replace help pages with external wiki/blog;
    A wiki would allow anyone to edit the help pages or perhaps add comments. For some, going external might be seen as a problem. Might also confuse some people who are used to the standard process of using the institutional helpdesk.
  • Integrate the issues page from github;
    Provide some visible connection within the BIM interface to the BIM issues list. There’s a problem here of balancing local institutional problem solving and assistance (being directed to an institutional helpdesk service) with the global BIM community.
  • Supplement help pages with RSS feeds;
    Rather than replace the institutional/Moodle help processes, supplement them with the addition of feeds from more global collaboration areas.
  • Sharing designs; and
    I wonder if it would be possible to implement an approach were BIM designs could be shared. Currently, this would be limited to just the questions. But later versions could include other configuration options. Not sure how useful this would be.
  • Incorporate related literature.
    There’s a growing body of literature around the use of blogs in higher education. Would be useful to include links to this literature and reflections upon it within BIM. However, rather than hard-code this and make it something only I or some other technician can change. It would be more appropriate for it to be something people could collaborate around. Perhaps using functionality from Mendeley or

So, not easy. More thought given. What other strategies are there for making the BIM help services more collaborative.

Pro-active help

An existing BIM issue gives a concrete example. There are times when not all students using a BIM activity have been allocated a marker. BIM doesn’t highlight this at the moment. If BIM were more pro-active, it would raise a warning or show a summary of the total number of students and the number that are allocated markers. This could be done via email or via the web interface. There are numerous other examples of similar common problems, including: students who haven’t registered their blog, or posted a required post, or Markers who haven’t used BIM yet.

A more complete approach might involve some type of Moodle wizard. A step by step process that guides the designer of the BIM activity through the decisions and trade-offs they have to make when setting up the activity.


It looks like analytics (of some description) will play an increasing part in e-learning, especially in large classes. Analytics could form the basis for some form of scaffolding in BIM and not just for teachers. For example, some form of analytics that shows how the student is going with the BIM activity compared with other students. Potentially as some form of encouragement. e.g. the progress bar block.

Conglomerations and conglomerations

This raises the question of how much should BIM do itself? Short answer is that BIM shouldn’t reinvent the wheel. Where possible it should integrate with existing tools, like the progress bar. And this brings up the other aspect of conglomerations. A conglomeration is not meant to be just something like BIM. It’s conceptualised as a combination of different services that are designed to act together.

So, someone who decides to use BIM, may not be aware of the progress bar block. BIM should perhaps actively inform them of that block (or other useful tools) and be able to work both with and without the progress bar block. Which raises the question of how/if BIM might use services provided by the progress bar block to provide scaffolding.

I think this is getting close to a problem I have with stepwise refinement and which somewhat arises from the modular design of Moodle. If I focus too much on BIM, I miss the overall whole of Moodle. I miss the opportunities to work with the progress bar block.

However, it’s more than me being aware of the whole of Moodle. It’s the assumptions within the APIs etc of Moodle and the mindsets of the other plugin developers. If they are focused too much on stepwise refinement, they focus too much on what their module does. Not on what might be possible by enabling different plugins to leverage off each other.

This is an idea that needs further thought.

Scaffolding, context-sensitive conglomerations – v2.0

This is an excerpt from Chapter 5 of the thesis. It’s a re-do of an earlier post, I’m a bit happier with it than v1.0. I’m posting it here because it connects with some work I’m doing preparing to work on BIM v2.0 and also because it summarises what I think may areas of further research in e-learning would be, if I were to do any.

First, there is a definition of what I mean by scaffolding conglomerations, then there is some brief justificatory knowledge on which this very early, rough idea is based.

The last sentence in the following, summarises why I think this idea has some value. To put it another way, I’d probably argue the following:

  • The vast majority of university e-learning is not very good.
  • The common response is based on a deficit model of the academic.
    i.e. the academic doesn’t know enough about learning and teaching, so let’s force them to do a formal education qualification and all will be good. Alternatively, lets send them on some LMS training or require them to complete checklists. At best, let’s employ educational developers to work with the academics to design their courses and course sites.
  • This type of approach fails to connect with academics and their intrinsic motivation and subsequently is very unlikely to work.
  • This type of approach fails to recognise that much of the deficit in the university e-learning system arises not from the academic, but from the information systems used to implement it and the general university environment.
  • The proposition is that adding well-designed scaffolding, context-sensitive conglomerations addresses the limitations in the information systems and improves the level of knowledge within the system in a way that may be more effective.
  • However, adding the conglomerations is only one step. Fixing the limitations in the university environment (e.g. research is more important than teaching; bad management robbing academics of their passion etc.) is also required.

What are scaffolding conglomerations?

The design of e-learning in universities requires the combination of skills from a variety of different professions (e.g. instructional design, web design etc), and yet is often most performed by academics with limited knowledge of any of these professions. This limited knowledge creates significant workload for the academics and contributes to the limited quality of much e-learning. Adding experts in these fields to help course design is expensive and somewhat counter to the traditional practice of learning and teaching within universities. This suggests that e-learning in universities has a need for approaches that allow the effective capture and re-use of expertise in a form that can be re-used by non-experts without repeated direct interaction with experts. Such an approach could aim to reduce perceived workload and increase the quality of e-learning.

An emergent university e-learning information system should:

  • Provide the ability to easily develop, including end user development, larger conglomerations of packaged services.
    A conglomeration is not simply an e-learning service such as a discussion forum. Instead it provides additional scaffolding around such services, possibly combining multiple services, to achieve a higher-level task. The scaffolding should generally embody and provide easy access to forms of expert knowledge that help encourage and enable effective use of the service. On the other hand, while many conglomerations would be expert designed and developed, offering support for end-user development would increase system flexibility and serve to embody and enable the re-use of contextual knowledge. The Webfuse default course site approach (Section 5.3.5) is one example of a conglomeration. A default course site combines a number of separate page types (services), specific graphical and instructional designs, and existing institutional content into a course website with a minimum of human input. Another form of conglomeration that developed with Webfuse was Staff MyCQU. This “portal” grew to become a conglomeration of integrated Wf applications designed to package a range of services academics required for learning and teaching.
  • Design conglomerations to provide a range of scaffolding to aid users, increase adoption and increase quality.
    There is likely to be some distance between the knowledge of the user and that required to effectively use e-learning services. Scaffolding provided by the conglomerations should seek to bridge this distance, encourage good practice, and help the user develop additional skills. For example, over time an “outstanding tasks” element was added to Staff MyCQU to remind staff of unfinished work in a range of Wf applications. The BAM Wf application was designed to support the workload involved in tracking and marking individual student reflective journals (Jones & Luck, 2009). A more recent example focused more on instructional design is the instructional design wizard included in the new version of the Desire2Learn LMS. This wizard guides academics through course creation via course objectives.
  • Embed opportunities for collaboration and interaction into conglomerations.
    An essential aim of scaffolding conglomerations is enabling and encouraging academics to learn more about how to effectively use e-learning. While the importance of community and social interaction to learning is widely recognised, most professional development opportunities occur in isolation (Bransford, Brown, & Cocking, 2000). Conglomerations should aim to provide opportunities for academics to observe, question and discuss use of the technology. Examples from Webfuse are limited to the ability to observe. For example, all Webfuse course sites were, by default, open for all to see. The CourseHistory Wf application allowed staff to see the grade breakdown for all offerings of any course. A better example would have been if the CourseHistory application encouraged and enabled discussions about grade breakdowns.
  • Encourage and support conglomerations that are context-sensitive.
    Effective integration with the specific institutional context enables conglomerations to leverage existing resources and reduce cognitive dissonance. For example, the Webfuse default course site conglomeration was integrated with a range of CQU specific systems, processes and resources. The Webfuse online assignment submission system evolved a number of CQU specific features that significantly increased perceptions of usefulness and ease-of-use (Behrens et al., 2005).

Some justificatory knowledge

The concept of constructive templates (Catlin, Garret, & Launhardt, 1991; Nanard et al., 1998) was developed in response to the difficulty faced by content providers in developing hypermedia structures that followed the known principles of interface and hypermedia design. Constructive templates helped content experts to create well designed hypermedia (Catlin et al., 1991). The “conglomeration” principles build on the constructive template idea through insights from distributed cognition and related ideas. Amongst other important aspects, Hollan et al (2000) describe how distributed cognition expands what is considered cognitive beyond an individual to encompass interactions between people, their environment and the tools therein. Boland et al (1994, p. 459) define a distributed cognition system as one that “supports interpretation and dialogue among a set of inquirers by providing richer forms of self-reflection and communication”. Scaffolding, context-sensitive conglomerations aim to improve or increase the quality and quantity of cognition within an e-learning system and support self-reflection and communication.


Behrens, S., Jamieson, K., Jones, D., & Cranston, M. (2005). Predicting system success using the Technology Acceptance Model: A case study. Paper presented at the Australasian Conference on Information Systems’2005, Sydney.

Boland, R., Ramkrishnan, V., & Te’eni, D. (1994). Designing information technology to support distributed cognition. Organization Science, 5(3), 456-475.

Bransford, J., Brown, A., & Cocking, R. (2000). How people learn: brain, mind, experience, and school. Washington, D.C.: National Academy Press.

Catlin, K., Garret, L. N., & Launhardt, J. (1991). Hypermedia Templates: An Author’s Tool. Paper presented at the Proceedings of Hypertext’91.

Hollan, J., Hutchins, E., & Kirsh, D. (2000). Distributed cognition: Toward a new foundation for human-computer interaction research. ACM Transactions on Computer-Human Interaction, 7(2), 174-196.

Jones, D., & Luck, J. (2009). Blog Aggregation Management: Reducing the Aggravation of Managing Student Blogging. Paper presented at the World Conference on Education Multimedia, Hypermedia and Telecommunications 2009. from

Nanard, M., Nanard, J., & Kahn, P. (1998). Pushing Reuse in Hypermedia Design: Golden Rules, Design Patterns and Constructive Templates. Paper presented at the Proceedings of the 9th ACM Conference on Hypertext and Hypermedia.