Community consultation on MoodleNet’s Data Protection Impact Assessment

GDPR image

Over the last few months, the MoodleNet team has been working with Moodle’s Privacy Officer and Data Protection counsel on a Data Protection Impact Assessment (DPIA).

We are pleased to now be able to share the first version of this living document for community feedback: https://docs.moodle.org/dev/MoodleNet/DPIA

This is meant to be a user-focused document that explains in clear language what data we are collecting and how it will be processed. You may find it particularly interesting if you are interested in how we are planning for MoodleNet to work technically!

If you have comments or questions on this version of the DPIA, you may add them underneath this blog post. Alternatively, please follow the suggestions in the ‘Consultation process’ section towards the bottom of the document.

Sunsetting moodle.net

Now that we’ve proved the value proposition of the new MoodleNet service, we’re planning to ‘sunset’ (i.e. gracefully retire) the existing moodle.net service. The date we have in mind is in time for the inaugural Global MoodleMoot in November 2019.

This will take time and effort, as there are many services and subdomains related to moodle.net. You can track the progress of this project in its own right at the following Moodle Tracker epic: MDLSITE-5854. We welcome community input and suggestions, so please do comment on issues linked from that epic!

Welcome Karen and James, new MoodleNet backend developers!

The MoodleNet team is delighted to welcome Karen Kleinbauerů and James Laver who will both be working on backend development. Karen’s based in the Czech Republic, and James lives in The Netherlands. They’ll both be working 2.5 days on MoodleNet!

We would love to hear a bit about your work history?

Karen: I have previously contributed to Pleroma, an ActivityPub server that MoodleNet is loosely based on. In fact it was my presence on the Fediverse that has got me interested in programming and my love for the project that has made me contribute to it. Doing so has given me knowledge in ActivityPub, Elixir/Phoenix and the general struggles of hosting an AP server, both from a technical perspective and a community management perspective (Both are equally important!).

I’m also studying Japanese at a Prague university. I consider myself relatively proficient at the language and I’ve done volunteer translation work in the past.

James: I’ve consulted with a variety of companies, big and small to build (sometimes) cool and (often) interesting things. I’ve done a lot of things – everything from a CMS for a small artisan burger chain to a distributed backend control plane for an investment bank. As much as working on interesting projects, I like to work with interesting people, so I have a lot of stories from the code mines 😉

What do you love about what you do?

Karen: First of all, I simply enjoy programming. The combination of problem solving and creating things just scratches an itch that nothing else really does. Additionally, I’m excited to contribute to the ActivityPub network because I’m a passionate member of it and want to expose more people to it. Decentralised networks harbour unique communities that wouldn’t be able to exist in big, corporation ran silos.

James: I love solving interesting problems. In “the mythical man month”, there’s some lovely phrasing about “building castles of pure thought”. A lake of problems, limited only by my imagination. Cool!

What are your interests outside of work?

Karen: I’m your (maybe not so) typical nerd who enjoys video games, coffee, manga, music and such. I collect retro video games and consoles and also enjoy speedrunning my favorite titles.

I also have a deep appreciation for nature and enjoy taking strolls through forests, valleys and mountains. Tied to that is my interest with spirituality and animist religions, particularly Shinto.

James: I’m a keen cyclist, enthusiastic cook, eager video gamer and drinker of copious quantities of coffee. I listen to music, watch box sets of old TV and lose an afternoon at a time to wikipedia after I’ve made plans to go out.

Where is your favourite place in the world, and why?

Karen: This is a bit of a cheat answer as it’s a place which i haven’t visited yet, but I would love to visit the island of Tashirojima in Japan. It’s notable for its significant feline population, which outnumbers the human population 6 to 1. And I don’t know about you, but being smothered with cats sounds pretty wonderful to me!

James: My bed. I was once told that when you’re not in bed, you’re in
your shoes, so you should buy a comfy bed and comfy shoes.

Thanks Alex!

Alex working from a co-working space in Andorra, after moving from Barcelona earlier this year

Alex Castaño, MoodleNet’s first backend developer, is moving on this week. We wanted to take the opportunity to thank Alex, and reflect on what he and the team have achieved since last September.

Some members of the community might not understand the role of a backend developer. Could you explain what your role at Moodle has been over the last eight months?

The main task of a backend developer is to create the business logic of the application. He also stores the data maintaining its integrity at all times. And last, but not least, he ensures the data is delivered correctly and safely to the rest of the systems.

So my work at Moodle has been basically to discover the needs and the goals of the project, to create a computer system to simulate it and to develop a protocol to get the stored information to be presented in the form of a web page.

What would you pick out as some of your highlights of working as part of the MoodleNet team?

I particularly enjoyed the creation of a generic library for ActivityPub. It was a big challenge, and although it’s not 100% finished, I think it’s a very interesting project.

Creating a GraphQL API has been another big challenge for me. I only knew the technology of having read about it, but had never put it into practice. I was able to learn first-hand about its advantages, but also its drawbacks.

Another interesting part of the project has been the research of the different technologies available and how they could be integrated into MoodleNet. This also includes the study of different free software and how they solve the different problems you face. It is an enriching process and you learn a lot from the experience of other developers. It’s the great advantage of free software, and I hope that other developers will find inspiration in my work to achieve their goals.

As you move onto a new opportunity, how can people follow your work and keep in touch?

I don’t write as much as I’d like, but in my blog (https://alexcastano.com) you can follow my next steps and you can  also find my contact details.

Thank you very much for everything


MoodleNet v0.9.3 alpha update

The MoodleNet team is pleased to announce the release of v0.9.3 alpha. It’s also World Turtle Day!

Functionality added

  • Users can enter location in profile

UI tweaks

  • New icon to represent ‘Communities’
  • Header image in profiles
  • Improvements to dark theme

Bug fixes

  • Clicking ‘Load more’ no longer takes you to the top of the list

Ivan, our designer and front-end developer, is updating our styleguide, which will make it easy for admins of federated instances to customise the look and feel of MoodleNet.  

We almost had usernames ready for this release, but want to do some more work on that. Once we have introduced usernames, you will (eventually) be able to @-mention other users. We’ll also make it easy for users to change the default header image in an upcoming release.

MoodleNet at the Creative Commons Summit 2019

Lisbon, Portugal
Lisbon, Portugal

Last week, Doug Belshaw (MoodleNet Lead / Product Manager) spent three days at the Creative Commons Summit in Lisbon, Portugal. This annual event features “hundreds of leading activists, advocates, librarians, educators, lawyers, technologists, and more” coming together for “discussion and debate, workshops and planning, talks and community building”.

The focus was on Creative Commons and its licenses, but also on the more general concept of the ‘commons’, defined by Wikipedia as:

The commons is the cultural and natural resources accessible to all members of a society, including natural materials such as air, water, and a habitable earth. These resources are held in common, not owned privately. Commons can also be understood as natural resources that groups of people (communities, user groups) manage for individual and collective benefit. Characteristically, this involves a variety of informal norms and values (social practice) employed for a governance mechanism. Commons can be also defined as a social practice of governing a resource not by state or market but by a community of users that self-governs the resource through institutions that it creates .

Wikipedia

The MoodleNet team did not run a session at the Summit this year. Instead, our aim was to make connections with as many people and projects as possible. The Summit was very useful in that regard, and this posts serves to list (in no particular order) some higlights in the form of potentially-relevant projects.

1. Creative Commons Network Platforms

Image with CC logo

In order to facilitate community dialogue, Creative Commons is setting up a number of ‘network platforms‘, or working groups. These are currently being set up via mailing lists such as Google Groups, synchronous workplace chat apps like Slack, and monthly teleconferences.

There’s a real opportunity, we think, for MoodleNet to be the default open place that people from different organisations come together to organise, discuss and share.

2. Wikidata

Screenshot of Wikidata website
Screenshot of the Wikidata website

Wikidata is very well summarised on its main page:

Wikidata is a free and open knowledge base that can be read and edited by both humans and machines.

Wikidata acts as central storage for the structured data of its Wikimedia sister projects including Wikipedia, Wikivoyage, Wiktionary, Wikisource, and others.

Wikidata also provides support to many other sites and services beyond just Wikimedia projects! The content of Wikidata is available under a free licenseexported using standard formats, and can be interlinked to other open data sets on the linked data web.

There are currently 50 million items that have been contributed by 20,000 users on the platform. They describe it as the largest Open Educational Resource ever!

We’re particularly interested in Wikidata as a way to represent, in an objective, multi-lingual way, the data used by the resources added and uploaded to MoodleNet instances.

3. Global Digital Library

Screenshot of Global Digital Library website
Screenshot of Global Digital Library

Global Digital Library (GDL) is a project that aims to “provide access to free, high-quality, early grade reading resources in languages that children use and understand”. A key component of their strategy is that, instead of simply translating OER produced in English by western educators, content is created locally in around 100 languages.

We’re interested in the work GDL are doing in terms of the glocal (“reflecting or characterized by both local and global considerations”) perspective they bring to OER. We’re aiming to do something similar with MoodleNet! Interestingly, the presenter, Chris Gunderson, also talked about the newly-formed Digital Public Goods Alliance, which we will keep an eye on.

4. OER World Map

Screenshot of the OER World Map
Screenshot of the OER World Map

The OER World Map is a project which aims to “illuminate the global Open Educational Resources movement by facilitating interaction and collaboration”. It does this by collecting and sharing “open data about actors and activities related to OER”. One of the people involved in the project, Adrian Pohl, kindly left a comment on our recent Voodoo categorisation post.

We think that the OER World Map is a great visual representation of the work that’s going on in our field. The data that we can gather on educators’ work through MoodleNet would be a useful way to augment this map, and we can also learn from the work they’ve done around categorisation.

5. CC Search

Screenshot of CC Search
Screenshot of the new Creative Commons Search, now out of beta

Creative Commons Search is now out of beta! It currently searches 300 million images across 19 providers, as well as a small number of 3D designs courtesy of Thingiverse. In addition, they have one-click attribution tools to really focus the search on reuse.

Later this year, Jane Park the project lead told us, CC Search will also feature open textbooks. They’ve already got an API for accessing the data they have, but are also looking to create a ‘Push API’ so that data from other sources can make it into CC Search.

We’re particularly interested in the potential of a ‘Push API’, as it means that original OER uploaded to MoodleNet could make it into the global CC Search to be discovered and reused by educators worldwide!

An honourable mention should also be given to OASIS, another OER search portal, which we’ve discussed in a previous post. It’s actually been created by two guys from the State University of New York in their spare time.

Concluding thoughts

Panel session at CC Summit
Panel session at CC Summit

There were so many other great sessions and conversations in which we took part. However, in the interests of time, we’ve reduced some of them to bullet points:

  • Open by default vs Privacy by design — an interesting discussion that led us to think that perhaps the meta issue here is coercive power relationships?
  • CC ID — some researchers in China have proposed a system similar to Digital Object Identifer (DOI) for Creative Commons-licensed works. We have our reservations about this, but will see how the project progresses.
  • H5P — lots of excitement about this in regards to Moodle. We think it’s going to be great to curate collections of activities in MoodleNet!
  • Wikimedia — we were part of discussions about the Wikimedia Foundation’s goals for 2030 in regards to education. More on this soon, no doubt.
  • Open pedagogyLeigh-Ann Perryman from the Open University spoke about the vital importance of educators operating in the open.

On the third and final day, we were involved in a Virtually Connecting session right at the end of the Summit, which you can watch below:

It was a great Summit, and we look forward to putting in a proposal to present at next year’s event!


A final, special shout-out to Bryan Mathers’ Remixer Machine, which produced a whole gallery of ‘stamps’ relating to Lisbon and the CC Summit. Check out the beautiful images that were created by participants below:

Stamps created by participants at CC Summit using The Remixer Machine
A gallery of ‘stamps’ created by participants at CC Summit using The Remixer Machine

MoodleNet v0.9.2 alpha update

Screencast overview of MoodleNet v0.9.2 alpha

Today, we’ve recently released the latest iteration of MoodleNet. Version 0.9.2 alpha is focused on UI tweaks and bug fixes. Thanks to Ivan for his hard work on this!

UI tweaks

  • New, separate settings page (instead of pop-up modal)
  • Moved ‘new community’ from icon in menu bar to top of the ‘all communities’ feed
  • Updated login page graphic

Bug fixes

  • Various bug fixes

We’ve also manually updated ‘featured’ communities and collections, which we’ll continue doing every release until this is automated and algorithmic.


In addition, this past week we’ve also been issuing this badge to testers:

MoodleNet Experimenter badge

The team is currently hiring a replacement to Alex for the backend developer role, so Doug and Mayel are spending time screening applicants and interviewing this week and next!

We’re hiring a new backend developer!

Update: we’ve closed the job listing for this role and will be making a decision soon!


With MoodleNet we’re building a resource-centric social network for educators. One key differentiating feature is that MoodleNet will be federated, meaning separate instances can communicate with one another. To enable this to happen, we’re using ActivityPub, an official W3C recommended standard, and to ensure scalability we’re using Elixir, a dynamic, functional programming language.

There’s several parts to MoodleNet’s federation: receiving or fetching activities from other instances, interacting with them, and of course pushing new activities to followers. Alex Castaño, the backend developer who joined us at the end of September 2018, has almost completed the first part of this equation. He’s decided to move on at the end of May, which means we’re looking for a new backend developer to complete the work on federation.

This is a flexible position and can be based remotely, or out of the Moodle office in Barcelona. View the job listing for details, and please pass this along to any developer you know who might be interested.


Voodoo categorisation and dynamic ontologies in the world of OER

Voodoo masks

Introduction

In a previous post on this blog, I described how we’re planning for search to work in MoodleNet. In this post, I want to dig into tagging and categorisation – which, it turns out, is an unexpectedly philosophical subject. Fundamentally, it comes down to whether you think that subjects such as ‘History’ and ‘Biology’ are real things that exist out there in the world, or whether you think that these are just labels that humans use to make sense of our experiences.

What follows is an attempt to explain why Open Educational Resources (OER) repositories are often under-used, how some forms of categorisation are essentially an attempt at witchcraft, and why assuming user intent can be problematic. Let’s start, however, with everyone’s favourite video streaming service.

Netflix

If you asked me what films and documentaries I like, I’d be able to use broad brushstrokes to paint you a picture. I know what I like and what I don’t like. Despite this, I’ve never intentionally sat down to watch ‘Critically-acclaimed Cerebral Independent Movies’ (Netflix code: 89), nor ‘Understated Social & Cultural Documentaries’ (Netflix code: 2428) nor even ‘Witty Independent Movies based on Books’ (Netflix code: 4913). These overlapping categories belong to a classification system developed by Netflix that now stretches into the tens of thousands of categories.

Netflix screenshot
Screenshot of Netflix user interface

Netflix is popular because the content it provides is constantly updating, but mainly because it gets to know you over time. So instead of presenting the user with a list of 27,000 categories and asking them to choose, Netflix starts from a basis of the user picking three movies they like, and then making recommendations based on what they actually watch.

There aren’t a lot of actions that users can perform in the main Netflix interface: it’s essentially ‘browse’, ‘add to list’ and ‘play’. In addition, users don’t get to categorise what they watch. That categorisation is instead performed through a combination of Netflix’s algorithm and their employees, which work to create a personalised recommendation ‘layer’ on top of all of the content available.

In other words, Netflix’s categorisation is done to the user rather than by the user. Netflix may have thousands of categories and update them regularly, but the only way users can influence these is passively through consuming content, rather than actively – for example through tagging. More formally, we might say that Netflix is in complete control of the ontology of its ecosystem.

Voodoo categorisation

In a talk given back in 2005, media theorist Clay Shirky railed against what he called ‘voodoo categorisation’. This, he explained, is an attempt to create a model that perfectly describes the world. The ‘voodoo’ comes when you then try to act on that model and expect things to change that world.

Voodoo dolls
Image CC BY Siaron James

Shirky explains that, when organisations try to force ‘voodoo categorisation’ (or any form of top-down ontology) onto large user bases, two significant problems occur:

  1. Signal loss – this happens when organisations assume that two things are the same (e.g. ‘Bolshevik revolution’ and ‘Russian revolution’) and therefore should be grouped together. After all, they don’t want users to miss out on potentially-relevant content. However, by grouping them together, they are over-estimating the signal loss in the expansion (i.e. by treating them as different) and under-estimating the signal loss in the collapse (i.e. by treating them as the same).
  2. Unstable categories – organisations assume that the categories within their ontology will persist over time. However, if we expand our timescale, every category is unstable. For example, ‘country’ might be seen as a useful category, but it’s been almost thirty years since we’ve recognised East Germany or Yugoslavia.

The ontologies we use to understand the world are coloured by our language, politics, and assumptions. For example, if we are creating a category of every country, do we include Palestine? What about Taiwan? These aren’t neutral choices and there is not necessarily a ‘correct’ answer now and for all time. As Shirky points out, it follows that someone tagging an item ‘to_read’ is no better in any objective way than conforming to a pre-defined categorisation scheme.

This is all well and good theoretically, but let’s bring things back down to earth and talk very practically about MoodleNet. How are we going to ensure that users can find things relevant to what they are teaching? Let’s have a look at OER repositories and the type of categories they use to organise content.

OER repositories

The Open Education Consortium points prospective users of OER to the website of the Community College Consortium for Open Educational Resources. They have a list of useful repositories, from which I’ve chosen three popular examples, highlighting their categories:

This slideshow requires JavaScript.

These repositories act a lot like libraries. There are a small number of pre-determined subject areas into which resources can be placed. In many ways, it’s as if there’s limited ‘shelf space’. What would Netflix do in this situation? After all, if they can come up with 27,000 categories for films and TV, how many more would there be for educational resources?

Ultimately, there are at least three problems with OER repositories organised by pre-determined subject areas:

  • Users have to fit in with an imposed ontology
  • Users have to know what they are looking for in advance
  • Users aren’t provided with any context in which the resource may be used

We are trying to rectify these problems in MoodleNet, by tying together individual motivation with group value. Teachers look for resources which have been explicitly categorised as relevant to the curriculum they are teaching. Given the chance, great teachers also look for ideas in a wide range of places, some of which may be seen as coming from other disciplines. MoodleNet then allows them to provide the context in which they would use the resource when sharing their findings with the community.

Dynamic ontologies in MoodleNet

Our research has shown that, as you would expect, educators exhibit differences in the way they approach finding educational resources. While there are those that go straight to the appropriate category and browse from there, equally there are many who prefer a ‘search first and filter later’ approach. We want to accommodate the needs of both.

The solution we are proposing to use with MoodleNet includes both taxonomy and folksonomy. That is to say, it involves both top-down categorisation and bottom-up tagging. Instead of coming up with a bespoke taxonomy we are thinking of using UNESCO’s International Standard Classification of Education (ISCED) fields of education and training which provides a three-level hierarchy, complete with relevant codes:

UNESCO ISCED codes
Example of some of the UNESCO ISCED fields of education and training

MoodleNet will require three types of taxonomic data to be added to communities, collections, and user profiles:

  • Subject area (ISCED broad, narrow, or detailed)
  • Grade level (broadly defined – e.g. ‘primary’ or ‘undergraduate’)
  • Language(s)

In addition, users may choose to add folksonomic data (i.e. free-text tagging) to further contextualise communities, collections, and profiles. That would mean a collection of resources might look something like this:

Mockup of what tags could look like in a MoodleNet collection
Mockup of taxonomic and folksonomic tagging system in a MoodleNet collection

The way Clay Shirky explains this approach is that “the semantics are in the users, not in the system”. In other words, the system doesn’t have to understand that the Bolshevik Revolution is a subset of 20th century Russian history. It just needs to point out that people who often tag things with ‘Lenin’ also tag things with ‘Bolshevik’. It’s up to the teacher to make the professional judgement as to the value of a resource.

We envisage that this combination of taxonomic and folksonomic tagging will lead to a dynamic ontology in MoodleNet, powered by its users. It should allow a range of uses, by different types of educators, who have varying beliefs about the world.

Conclusion

What we’re describing here is not an easy problem to solve. The MoodleNet team does not profess to have fixed issues that have beset those organising educational for the past few decades. What we do recognise, however, is the power of the web and the value of context. As a result, MoodleNet should be useful to teachers who are looking to find resources directly relevant to the curriculum they are teaching. It should also be useful to those teachers looking to cast the net more widely

In closing, we are trying to keep MoodleNet as flexible as possible. Just as Moodle Core can be used in a wide variety of situations and pedagogical purposes, so we envisage MoodleNet to be used for equally diverse purposes.