Safe social networking alternatives

Safe social networking alternativesIn a previous post that I co-authored with Jeff Dionne, A thorny issue: Protecting teachers’ and learners’ right to privacy, we highlighted some of the ethical and legal risks of using popular commercial social networking and micro blogging sites such as Facebook, Google+ and Twitter for educational purposes. Although modern LMS’ built on Social Constructivist approaches provide a number of tools for collaboration and social interaction, they don’t quite offer the persistence and immediacy of the services offered by Facebook, Google, Twitter, et al. So as a follow up to that article, here’s some secure, free and open source alternatives.

What are the criteria that make a social networking platform lower-risk?

For details about what some of the risks are, please see A thorny issue: Protecting teachers’ and learners’ right to privacy. Here’s a few points that make a social networking platform more ethical and legal for your learners to use:

  • Own and administer your teachers’ and learners’ personal information and user generated content.
  • Audit and monitor all channels of communication, including private messages.
  • Manage and define individual teachers’ and learners’ user access privileges.
  • Take down any inappropriate posts, comments or content as soon as they’re reported or detected.
  • Prevent inappropriate or distracting messages from being shown to teachers and learners, i.e. advertising, apps, games, etc.
  • In the case of younger learners, contact parents and/or guardians quickly and easily, e.g. via email, as soon as issues arise.

How can we achieve this?

There are free and open source projects that enable schools, academies, colleges, universities and companies to create and maintain their own social networking services. It’s early days but the outlook is promising.


StatusNet is free open source micro blogging software that offers functionality similar to Twitter, Facebook and Google+. However, StatusNet seeks to provide the potential for open, inter-service and distributed communications between micro blogging communities by adopting the OStatus micro blogging communications standard. Enterprises and individuals can install and control their own services and data.

StatusNet is ready for production use (Version 1.0.1) and I’ve installed an instance on my server:

[update] Having explored StatusNet further, I think it’s still not ready for production use. For example, there’s no moderator or admin interface for managing user accounts so you have to go into the database to find the list of users’ IDs in order to discover their profile pages.


Diaspora* is currently in Alpha development so it isn’t yet ready for production use. It’s a free personal web server that implements a distributed social networking and micro blogging service. Installations of the software can optionally form nodes (termed “pods”) which make up the distributed Diaspora social network. Diaspora is intended to address privacy concerns related to centralized social networks, such as Facebook, Twitter and Google+, by allowing users set up their own server (or “pod”) to host content; pods can then interact to share status updates, photographs, and other social data. It allows its users to host their data with a traditional web host, a cloud-based host, an ISP, or a friend. (Source:

There are currently a number of experimental Diaspora* pods up and running that users can join. If you want to try it out, here’s a list of available pods.

The development team are currently working on a feature whereby teachers and learners can export their own data, making it easier for schools, academies, colleges, universities and companies to comply with existing freedom of information laws.


BuddyPress is a plugin for WordPress which transforms it into a social networking platform. It’s smaller in scope compared to StatusNet and Diaspora* but it’s also ready for use on production servers. It isn’t possible to connect instances of BuddyPress into a network so users have to rely on RSS feeds and pingbacks to keep track of other BuddyPress sites. It’s suitable if you only want your social networks to run from a single site and collaboration between different schools, academies, colleges, universities, agencies and companies will be difficult.

I’m currently experimenting with an installation of WordPress + BuddyPress here. Please feel free to enroll and join in!


Elgg is an award-winning open source social networking engine that provides a robust framework on which to build all kinds of social environments, from a campus wide social network for your university, school or college or an internal collaborative platform for your organization through to a brand-building communications tool for your company and its clients. (Source:

I’ve installed elgg. on my server and I’m exploring its functions and possible uses for educational purposes.


Do you want to get started with Moodle?

Do you want to get started with Moodle?My first article of 2012, and here’s a quick “How to” guide for teachers, directors of studies, academic managers or anyone who wants to get started with Moodle from a non-IT background. It’s easy, cheap (free) and doesn’t require you to make any commitments or sign any contracts.

About Moodle

As you may already know, Moodle is free and open source software. It’s distributed under a GNU GPL3 licence which means you get it for free and there’s no restrictions on what you can do with it, except that you have to maintain the same free and open licensing with any subsequent modifications you make to the software. However, any learning content, courses, teaching ideas, etc. that you develop on Moodle are yours to decide how you want to copyright, share, distribute, license or sell.

Why learn about Moodle?

Elearning is growing exponentially. At some point in the not-too-distant future, many job ads for teaching positions will include either a requirement or a preference for teachers with experience of using a learning management system (LMS). The best known open source LMS in the world is Moodle. I recommend having a look at Moodle’s statistics page to see just how widely used it is. If you have Moodle experience on your CV/Resume, it’ll make you a more attractive candidate for a teaching or teaching management job and broaden your horizons.

Also, Moodle is founded on a Social Constructivist approach to learning and teaching, making it an ideal platform for trying out or implementing alternative, progressive learning and teaching approaches such as collaborative or group learning, informal learning, second language acquisition, etc. as well as some of the more traditional approaches in EFL/ESL such as Communicative Language Teaching.

Getting started

I’m going to describe a 4 stage process in which you can install a working version of Moodle on your computer. It won’t be connected to the internet and so it’s a very safe way to play around, explore and learn about what it can do and how it works. The steps are as follows:

  1. Download and install a localhost server on your computer.
  2. Download and install a good text editor on your computer.
  3. Download and install Moodle on your localhost server.
  4. Participate in the Moodle community.

WampServerDownload and install a localhost server on your computer

This is the easiest part. I recommend using the free and open source (GPL3+) WampServer, assuming that you’re running Microsoft Windows on your computer. They give very clear installation instructions and support on their website so I won’t repeat any of that here. WampServer requires that you run it as an administrator on your computer. If Windows firewall asks you to let “Apache” to access the internet, click “Yes” or “Allow”. It isn’t actually connecting to the internet, it’s connecting to itself. If you’re running Linux, then you already know how to do this stuff (Why are you reading this?) and if you’re running Apple OSX, there are a number of localhost (MAMP) servers available.

Unless you know what you’re doing (in which case why are you reading this?), whatever you do, DON’T CLICK ON “Put Online” in WampServer. It’ll expose your computer to the ravages of the open internet; something that your poor home computer is not set up to cope with.

NotepadDownload and install a good text editor on your computer

Microsoft Notepad is unsuitable for editing web files and pages. A good, free and open source (GPL3+) alternative is Notepad++. It’s also useful for “cleaning” text, i.e. removing formatting, before you paste it into a web page editor, wiki, forum, etc. Your web pages will look much tidier, more consistent and easier to read.

MoodleDownload and install Moodle on your localhost server

Installing Moodle is a little bit more difficult. You may not get it right first time but be patient and don’t be shy about asking for help (See “Participate in the Moodle community”). If you can install Moodle on your computer, then installing it on a server is basically the same process. First, download the latest build of the version of Moodle you want to use, either Moodle 1.9 or Moodle 2.x. Generally, Moodle 1.9 is easier to run on a public server and, since it’s been around longer, has a bigger selection of stable 3rd party activity modules to choose from, i.e. you can add on more features. Moodle 2.x has quite high requirements for servers and may not work on all web hosting services. If you start with 1.9, you can upgrade to 2.x or later at any time if you want to but you can’t downgrade from Moodle 2.x to 1.9.

  1. Extract (unzip) the Moodle download and put the /moodle/ directory and all its contents into WampServers’ /www/ directory. (directory = folder)
  2. If you have Skype on, shut it down completely (Quit). Start WampServer and wait for the (W) icon to turn from red, to amber, to green. Open your favourite web browser and type “localhost” into the address bar. You should see the WampServer contents page. You can start Skype again, once WampServer has started.
  3. On the WampServer contents page, under Tools, click on the phpmyadmin link and this is where you’ll create a database for Moodle to install on. phpMyAdmin is standard database management software that you’ll find on most server hosting providers. The installation steps here will be much the same as you’ll use for your final public installation of Moodle and any other database driven software such as WordPress, MediaWiki, Joomla, Drupal and Mambo, so it’s really useful to know.
  4. Create a new database, e.g. “moodledb”, and set the collation to “utf8_general_ci” from the (very long) drop-down list. The default user name is “root” and the default password is blank, i.e. no password. You can change these if you wish but since you’re not connecting Wampserver to the internet, this is unnecessary.
  5. With a good text editor, e.g. Notepad++, open the file (/wamp)/www/moodle/config-dist.php and re-save it as (/wamp)/www/moodle/config.php. This is the file that you’re going to put the database name and password in so that Moodle can install correctly. In config.php, you need to locate and edit 5 lines so that they look like the lines after point 6*.
  6. In your web browser address bar, type in localhost/moodle/. The Moodle installation page should appear. Follow the instructions. If you have any installation problems, please don’t post questions here. REMEMBER TO WRITE DOWN YOUR MOODLE USER NAME AND PASSWORD. It’s very difficult to recover them if you forget them. forums and docs have everything you need to know to resolve almost any issue with Moodle, which brings us to the final part of, “Do you want to get started with Moodle?”

PHPEdit these lines in config.php:

$CFG->dbtype    = ‘mysql’;       // mysql or postgres7 (for now)
$CFG->dbhost    = ‘localhost’;   // eg localhost or
$CFG->dbname    = ‘moodledb’;      // database name, eg moodle
$CFG->dbuser    = ‘root’;    // your database username
$CFG->dbpass    = ”;    // your database password

* In later builds of Moodle, the installer edits these lines for you so it’s possible to skip this step and enter the details in the Moodle installation form. I just think it’s quicker and more reliable to do it manually.

Moodle communityParticipate in the Moodle community

If you’ve successfully got to this part, you now have a fully working installation of Moodle on your computer. You can do anything you like with it, safe in the knowledge that you have a secure sandbox to play around and experiment in. I strongly recommend joining Moodle forums. It’s a huge community of teachers, academic directors, course content developers, software developers, admins, education researchers, etc. who all use Moodle with varying degrees of experience who are very helpful and supportive. This is the best place to ask questions and get help with all aspects of using Moodle. You may even get help from me on there if it’s a Flash or multimedia issue you’re asking about.

If you like instruction manuals and specialised guides, PacktPub have a wide range of books and ebooks (currently 28) on many different aspects of Moodle.

Learning and teachingWhat’s next?

When you’ve played around with Moodle for a while and have some learning and teaching ideas that you’d like to try out, then you’re ready to install Moodle on your server or web hosting service provider (or find a web hosting provider), set up some courses and enroll some learners and teachers on them.

Useful links

[EDIT] Thanks to Dr Saurabh Bhatia for pointing out that there’s self-installing versions of Moodle on for both Windows and Macs. However, I don’t recommend these for two main reasons: (a) They aren’t fully functioning localhost servers and so some web services won’t work on them thereby limiting what you can try out on Moodle, and (b) they install Moodle as the only application and at the WWW root so that you can’t install any other web apps on it, for example if you want to try out other open source software such as WordPress, Joomla, Drupal, Mahara, or safer, more private alternatives to Facebook, like Elgg or StatusNet.


Installation issues with Moodle 2.5 and later

You may find that when you try to install Moodle 2.5, it stops at a blank screen or displays an error message about a memory limit or code execution timeout. Don’t panic, it’s easy to fix:

  1. Click on the green WampServer “W” icon – A context menu will appear
  2. Click on PHP > php.ini – This will open the php.ini file in a text editor
  3. Search for “memory_limit”
  4. Change the line memory_limit = 512M (or whatever it’s set at) to memory_limit = 1024M
  5. Search for “max_execution_time”
  6. Change the line max_execution_time = 60 (or whatever it’s set at) to max_execution_time = 160
  7. Save the changes and close the text editor
  8. Click on the green WampServer “W” icon – The context menu will appear again
  9. Click on “Restart All Services”
  10. Restart the Moodle installation again from the beginning