What is Emoji ID?

One thing you may have seen in the prototypes and mockups for MoodleNet is something called ‘Emoji ID’. You might be wondering what that is, even if you’ve heard us refer to it in a presentation or at a workshop. In this post, it’s my aim to explain it in the simplest way possible.

Mastodon

The problem

MoodleNet is a decentralised social network. This means that, unlike Twitter, Facebook, Instagram, or other centralised social networks, you can join one of a number of ‘instances’. As it’s possible to join more than one instance, your username isn’t just, for example, @dajbelshaw but @dajbelshaw@mastodon.social or @dajbelshaw@scholar.social.

Think of it like email, which is also a decentralised system. You can’t just type someone’s username to send them a message, you also have to include the relevant domain name. So, for example, you can’t just enter ‘ibrahima’ but have to use ‘ibrahima@moodle.com’.

Back to social networks and let’s imagine that I’m looking for Mayel de Borniol, MoodleNet’s Technical Architect. Here’s what happens on Mastodon, which is kind of a decentralised version of Twitter:

Mastodon searching for 'Mayel'

Mayel’s got at least three accounts of which I’m aware. So which account should I use to start a conversation with him? If I get the wrong one he might not reply because it’s no longer in use, he uses it for other activities, or I’ve got the wrong Mayel.

Going further, what happens if someone deliberately sets up a parody, spoof, or catfishing account on a different instance but with the same username and profile picture? How do I know which one is the ‘real’ Mayel? Sure, I could perhaps try and memorise the longer username (e.g. @mayel@sunbeam.city) but that seems unwieldy.

Surely we can do better?

 

The idea

Earlier this year, on my personal blog, I proposed an idea for using ‘emoji triplets’ as identifiers in decentralised social networks. I’d already started using them to add a bit of personality to my username on both Twitter and Mastodon:

Mastodon: emoji triplets

Other people use them too:

Eylan Ezekiel Twitter profile Maddie Mastodon profile

This can aid with identifying someone, especially if they’ve got many accounts or a particularly common name. Humans are good at recognising patterns, especially with items numbering fewer than seven, so combinations of three emojis work well.

Of course, these examples simply involve people adding emoji to a text field such as their display name. There’s nothing to stop people adding the same emoji to their profile as someone else. However, what if there was a separate field for the three emoji that are unique to that user? What if, once that user chose a particular combination of emoji, no-one else could?

 

The implementation

Every platform, whether it’s an email service, social network, or something else, has to have a way of identifying individual users.

Simplifying things a bit, anything you do on a platform involves linking a particular user with a particular action. In the code this is usually done through numbers, so for example user ‘783’ followed user ‘392’. Meanwhile, in the user interface you see something like ‘@dajbelshaw@mastodon.social’ followed ‘@mayel@sunbeam.city’.

Mastodon profile - labelled

In other words, ‘@dajbelshaw@mastodon.social’ is a fixed alias of user ‘783’. While I can change my Avatar and Display name as often as I like, I can’t usually change my Username. If I decide that I instead want to be @doug@mastodon.social, then I have to register a new account.

So, instead of email-like usernames that are long and difficult to remember, what if there was a separate field for emoji triplets? All of a sudden this become not just a decorative feature but something like an ‘Emoji ID’. There are several advantages to this:

  • Quick and obvious way to recognise a user even if they change their display name and/or avatar
  • Provides a standard, searchable way for users to customise their profile
  • A first step towards ‘nomadic identity’ (i.e. a way to move from one instance of the network to another without losing your followers)?

Here’s how it works:

  • User goes to sign up at a MoodleNet instance which is connected to Moodle HQ’s API
  • MoodleNet instance offers up a random, unique, and currently unused emoji ID to the user as part of the sign-up process. They can accept this, or choose their own so long as it hasn’t already been taken by another user.
  • Once the user has chosen their emoji ID it is registered both at the MoodleNet instance level and by the Moodle HQ API service, which makes it unique across all instances.

 

Additional information

Whether it’s to follow them, find the collections they’ve curated, or get in touch, users can be found by searching either for their display name or Emoji ID.

Using Emoji IDs opens up a whole world of possibilities. For example, one of the advantages for organisations using Moodle’s Branded Moodle Mobile App (BMMA) is that, when logging in, users no longer have to remember and type in the the exact domain name of their Moodle instance. Emoji ID could provide a similar solution for MoodleNet users, who then only have to enter three emoji, not (for example) @username@moodlenet.university.edu.

We could also help indicate which instance a user is on by reserving the first emoji for that purpose. So, for example, 💥👻💪 and 💥🎄🐻 would both be users on the same instance. Perhaps, similar to Sony’s plan for PlayStation users to be able to change their usernames for a fee, you might be able to associate a new Emoji ID to your account at a future time.

 

FAQs

Before publishing this post, I shared several drafts with the team and various networks. Here’s some questions I received. Some of these are technical.

What’s the theoretical limit of unique emoji IDs?

Unicode 11.0 has 1644 unique emoji. So according to my calculations, there are 739,198,844 permutations. However, we may not use all the emoji as some are flags, Japanese symbols, etc. Either way, it’ll be a while before we have to worry about running out of unique Emoji IDs!

Doesn’t Emoji ID (and in particular a Moodle HQ API) break federation?

It doesn’t ‘break’ federation, it’s just a layer on top. Let’s say there’s a MoodleNet instance that isn’t connected to the HQ API. If a user on that instance wants to find a user or community on a different instance, they’d need the Emoji ID and domain name, or simply the URL.

Could I ever change my Emoji ID?

Theoretically, there’s nothing stopping us adding multiple Emoji IDs to a single backend identifier. So user ‘783’ might have several different Emoji IDs associated with it. We’d only ever show one, but the others would be reserved to prevent anyone else using them.


Many thanks to Mayel de Borniol, Emma Cragg, Noel De Martin, Brent Flanders, and Oliver Quinlan for their comments on earlier drafts of this post. Anything that leaves you confused or befuddled remains my fault. (Sorry!)

Reflecting on feedback from testers about the user sign-up process

User testing

Last week, the MoodleNet team were in Barcelona at Moodle Spain HQ. Much of the work week involved the kind of discussion and implementation that can be difficult to write about, as it mainly involved hooking up the backend and front-end code.

Kayleigh and Sam from Outlandish joined us in the office on Thursday and Friday, which meant that we had an opportunity to reflect on the results of some testing they did with users about the sign-up process for MoodleNet. Their findings are below (or click here).

Based on user feedback, which is always different from what you expect, we’ve decided to take a different approach to the sign-up process. It became clear that there are users who want to get straight in and start using platforms straight away. These are the kind of users who will complete their profile later.

On the other hand, there are users that want to complete their profiles straight away, so that they have a full ‘presence’ on the platform and others can find out more about them.

Our proposed workflow, which will have a knock-on effect on other elements of the user interface, is below (or click here).

What are your thoughts on this? Note that we’re planning to implement a (skippable) user tour for first-time users of MoodleNet. We’ll also be writing a post soon that explains ‘Emoji ID’ and why it’s more than just a cute thing to have on your profile!


Image by José Alejandro Cuffia used under the terms of an open license

Provide feedback on our draft Contributor Covenant!

Update: the consultation period is now closed — thanks for your comments!

Community

A ‘Contributor Covenant‘ is a code of conduct for contributors to Open Source projects such as MoodleNet. The original version, adopted by over 40,000 projects, is based on the work of Coraline Ada Ehmke.

We have been inspired by this and other approaches to create a draft Contributor Covenant for MoodleNet. It will be used for:

  • Code contributions and interactions between community members
  • Beta testing (after which there will be a user agreement)
  • Security reviewers

Before we call this ‘version 1.0’ we would like feedback on our draft Contributor Covenant from the Moodle community. Here’s how to do it:

  1. Read the entire document
  2. Think about a traffic light system for giving feedback:
    • What’s good? (green)
    • Do you have any questions? (amber)
    • Does anything concern you? (red)
  3. Select the relevant text and ‘add comment’

This document is open for feedback over a two-week period from Wednesday 21st November to Wednesday 5th December 2018.

Link to draft Contributor Covenant: http://bit.ly/2FvqrM0


Image by rawpixel used under the terms of an open license

Testing MoodleNet sign-ups

Update: sign-ups for this are now closed, and Outlandish will be in touch with those who registered their interest!

Usability testing

Over the next couple of weeks we’re going to be doing some online user testing of MoodleNet’s sign-up process. It will be run by Outlandish, with whome we’ve been working on front-end development and UX.

We’re aiming is to remove any barriers to adoption for the beta testing in January. So we need feedback on everything from “that button should be on the left” to “what on earth is that emoji ID thing?!”

It’s not remunerated, but you’d be front of the queue for a MoodleNet beta account (of which there’ll only be 100, initially) next year!

If that sounds like the kind of thing in which you’d be interested, here’s what to do:

  1. Introduce yourself here
  2. Check your availability for the following dates (GMT): Weds 14th (PM), Mon 19th (PM), Tues 20th November
  3. Fill in this form

Thanks in advance! We’re looking forward to making MoodleNet as awesome as possible!


Privacy notice: if you volunteer for testing, your details will be added to a spreadsheet, stored on Moodle HQ’s Google Drive. We’ll keep your information until the end of the testing process and share your details with Outlandish, who are overseeing the testing process. Before testing, you’ll be required to give your consent to ensure GDPR compliance.

Feedback from #MozFest and #MootUS18

Last week, members of the MoodleNet team ran well-attended sessions at the Mozilla Festival (London, UK) and the US MoodleMoot (Denver, CO, USA). The former was set within a wider framework of the decentralisation strand at MozFest, and the latter was an opportunity to gather ideas and feedback from a subsection of the Moodle community.

MozFest session post-its

#Mozfest

Notes from the session

As anyone who has been will know, the Mozilla Festival is a mind-blowing weekend of sessions, talks, and collaboration, all focused on the open web. Our accepted session proposal was based on MoodleNet, but also on the wider concept of decentralisation — particularly in relation to the ActivityPub protocol.

Participants in the session ranged from educators who were dipping a toe in the water of decentralised technologies, through to those who worked with, or for, the W3C.

As well as feedback on what we’re trying to build with MoodleNet, a key aim for the workshop was for participants to be able to explain the importance of decentralisation using stories, metaphors, and allegories.

Some of our favourites included:

  • “FREEDOM to do weird stuff”
  • “In nature there is no boss and it’s evolved, is sustainable and resilient”
  • “Distributed power, be it online, in person, or how we live”
  • “Put your OER to the fediverse and gain more attraction”
  • “You can have nice things without being the product”

MoodleMoot US post-its

#MootUS18

Notes from the session

MoodleMoots are events for the Moodle community which encourage collaboration and sharing of best practices. We ran very interactive session, with the aim to get as much feedback from workshop attendees as possible.

There were a range of participants, from Higher Ed CIOs, to K12 educators, to representatives from the corporate world. We learned a lot from the feedback we received, with some of the highlights being:

  • Insight into some of the tools that people are using that we haven’t come across before.
  • What participants liked about MoodleNet, what they have questions about, and what concerns them.
  • What we should add to MoodleNet after the core resource-sharing component.
  • Anything we’ve missed or haven’t discussed.

Interestingly, after the session, where participants had a lot of chance to ask questions and give feedback, two people came up to us separately and asked variations of the same question. Would organisations, they asked, be able to completely lock down MoodleNet so that it can only be used within that organisation?

We explained that this was not what we are aiming for with MoodleNet but that, of course, as open source software, there would be nothing stopping people from creating a version that would do this. We believe in the free and open sharing of educational resources, while recognising that there are some occasions (e.g. copyright, local laws) where resources would have to be restricted in some way.

We’re still working on working out the nuance here. One simple model is that which GitHub, the code-collaboration platform, uses. Creating a public repository on GitHub is available with a free account but, if you want to create a private repository, you have to pay. There’s an obvious parallel here with MoodleNet and collections, the key difference being the decentralised aspect.


Remember that anyone can suggest features for MoodleNet via our easy-to-use Changemap site!

MoodleNet front-end development update

Here’s a quick overview of the current front-end development work that the good people at Outlandish have been busy with over the last few weeks. It’s a work in progress, as you’ll see, but we thought you might like a sneak peek!

Click here to see the video if it’s not showing above. Please do leave your feedback either in the comments section below, on the moodle.org forum, or on YouTube.

An interview with Mary Cooch, Moodle’s Community Educator

We took the opportunity to sit down with Mary Cooch, Moodle’s Community Educator, and ask her questions about MoodleNet. With her deep experience of all things Moodle, we were interested in Mary’s perspective on what’s gone before and what’s coming next…


Mary Cooch1. Moodlers will know you best as Moodle’s Community Educator and your very visible work with the Learn Moodle Basics Moot, on the moodle.org forums, and at MoodleMoots. However, you also do a lot of work behind the scenes, including documentation and the existing moodle.net service. Could you explain a little bit about how you got involved with that and what it currently entails?

Shortly after I started to work full time for Moodle HQ, our CEO and founder, Martin Dougiamas, asked me to curate the content submitted to Moodle.net. This involves regularly checking the Moodle.net site to see which courses and other individual items are awaiting moderation. Every single item is downloaded and manually inspected. I look at the courses to see if they meet our course approval criteria and if they do, I make them publicly available.  (These are courses both which you can download and adapt for your own site, or courses into which you can enrol.) The same applies to individual items –  I add them to a test Moodle site to check that they work correctly and that their content is acceptable. New courses on Moodle.net then show up in the Resources feed on the front page of Moodle.org.

2. Some people might wonder why we’re building a new MoodleNet when Moodlers can already share courses via moodle.net. What are your thoughts on that?

Did you know that actually, the concept behind Moodle.net and the site itself date from before 2010? Things move on, technology moves on, and with people doing so much now from their smartphones, I think it’s a good idea that we have a revamp, and also get teachers sharing from their mobiles.

One issue with the current set up has always been that it’s not so intuitive how to submit your course or your content. We used to have a “Publish” button and people would mistakenly believe that by pressing this button it meant their own private course would be made accessible to their students, rather than share with the world. We’ve changed that now, so that it says “Share”. (See  What does sharing a Moodle course mean?) Unfortunately, many courses are still submitted in error.

We have some useful content uploaded – quiz questions, user tours, theme  and database presets, glossary entries, competency frameworks etc – but it would still be great if we had more educators sharing more content! It doesn’t have to be a whole course – maybe the thought of downloading and having to adapt a whole course is a bit overwhelming. I’d love it if you could simply go to Moodle.net, search for, say, a revision activity in your subject area, quickly find a recommended one, and add it  easily to your Moodle. In time for your class!

3. Social resource sharing via curated collections is only the first stage for MoodleNet. What would you like to see next?

From what I’ve seen it all looks very exciting. I just want it to be a hive of activity, an interesting place to hang out, a treasure trove of Moodle content!


Our thanks to Mary for taking the time to answer our questions. As you can see, MoodleNet is both an evolution from what has gone before and an exciting departure based on new thinking and technologies.

Questions? Add them in the section below, for either Mary or the MoodleNet team!