Last week I was at the MOOC Research Initiative Conference in Texas. The organisers (George Siemens, Amy Collier, Tanya Joosten and others) should stand up and take a bow for a fantastic event. I’m still digesting my thoughts from the event which was full of extremes and at times completely surreal. I leave Arlington with memories of going from being baked at 28C to –10C icestorms; memories of trekking down the freeway with some of the best minds in EdTech trying to make it back to our hotel, spending time with people I’ve long respected including a couple of hours in the company of Martin Weller and Jim Groom the result of which was: ...continue reading

1 Comment

A recent thought I’ve been pondering is the default closed approach to education. It’s interesting to reflect how the physical structure of the classroom with walls and doors gets replicated online with firewalls and logins. I can appreciate that in part this is needed to create a closed environment where the student feels safe and secure, but it is also has other factors like license to share copyrighted work or terms of license for learning platforms. It’s ironic that the ‘MOOC as a Service’ (MaaS/xMaaS) offering for Coursera, et al., whilst are open to register still default to a closed mode*, studying in their place under their terms. Even FutureLearn which is designed on social learning principles seems to only consider social in the system. ...continue reading


It seems that the only blog posts I write recently are about presentations … My latest outing is to the Jisc RSC Scotland ‘Open Education’ event which was a joint meeting of SMUG, SCOT-BUG, Learning Technologists', Scottish e-Assessment and Open Badges Forums. Originally I was billed to talk with my former colleague and ALT Learning Technologist of the Year Sheila MacNeill but she’s found somewhere warmer to go. Hopefully the RSC Scotland Live Stream will be behaving for her to tune in. It’s quite a line-up with Lorna Campbell and Joe Wilson giving an Open Scotland update, Sarah Currier and Jackie Graham talking about Open Repositories (no doubt including Jorum and Re:Source) and Julie Usher talking about Blackboard’s Xplor (full programme here). ...continue reading


Talking dirty codeOn Tuesday (10th September, 2013) I’ll be giving a short presentation at altc2013 on using WordPress as a course platform for ocTEL. You can read the full presentation abstract here. It’s been useful to think about what it all means. WordPress is a fantastic platform for putting things together. The diversity of plugins and themes, the majority of which are open source, means you can quickly put together a powerful platform. The huge headache having now gone through this process twice is integration.

For example, in ocTEL learners had their profile which they could edit using the forum plugin bbPress. Separately the FeedWordPress plugin was used to pull content from spaces being used by students such as Twitter and Google+. To allow students to administer their own blog feed as a source for this required this, this and this (and no doubt some other code I’ve forgot to highlight). If you were wondering what the image down the right hand side of this post is it’s the functions.php code written for ocTEL. This along is over 400 lines and there is more for page customisation.

In some ways this extra code isn’t needed, it’s there for a better user experience. Other staff including Martin Weller have very successfully used WordPress/FeedWordPress as a component of their online courses. The downside is that administrative burden is placed on the tutor rather than distributing to students (this burden could actual be a positive thing. If you are asking students to self register feeds there is a good chance it won’t happen. If you are is the position to directly ask or make response a requirement, say at entry, then it’ll get done.)

So do we wrap these experiments in a box or do we stand back, admire the fine lines and let the next platform author decide what ideas, snippets of code they want to reuse? This is the question Alan Levine (You Don’t Get ds106 in a Box) and Jim Groom (ds106: Will Work for Feed Syndication Framework), and I’m sure others, have been recently asking.

Boxing some of this would be good but whereas previously I was thinking about big boxes I’m more inclined to keep the boxes small and interoperable. Already Alan is extracting the ds106 assignment bank into a theme others can use. I recon my offer should be to turn the Course/Conference Reader into a plugin and revisit the Feed+ Machine to plug some of the syndication holes. 

Anyway I hadn’t planned to talk dirty code and I’m sure anyone who was planning on coming to my session is now having second thoughts. I promise to keep it light, to prove it my current slide desk is here (work in progress).


In this post I want to cover three things. First I want to introduce a little app I’ve developed which allows you to create a RSS feed for any of your Gmail labels (with the option to remove certain links – useful if you don’t want others unsubscribing you from mailing lists). Secondly I explain how it was made and how you can use it yourself. Finally I want to discuss how this could be used in an open course environment, utilising the vast processing power from services like Twitter and reusing their target marketing emails to your benefit with a bit of ‘dark social judo’.

What is Gmail Label Feeder?

It’s a little Google Apps Script app that you can setup to select one of your Gmail labels, preview content (with the option to remove all the links you’d like not to publish, like unsubscription links) and publish a public feed of the result. This video (embedded below) gives an overview of the problem and how the ‘Gmail Label Feeder’ app works:

How can I setup Gmail Label Feeder and how does it work?

Whilst logged in to your Google account open this script and then follow the instructions below:

  1. In the Script Editor File > Make a copy (this makes your own personal copy of the script which lives in Google Drive. With this copy you can control permissions etc and means I except no liability if it goes wrong, breaks, doesn’t work)
  2. From the Script Editor Run > setup
    IMPORTANT: when authenticating use the Gmail account you want to create feeds for
  3. Still in the Script Editor File > Manage versions... and create an initial name and 'Save New Version'
  4. Then, Publish > Deploy as web app... and select 'Execute the app as: me' and allow anyone access even anonymously
  5. Finally open (and bookmark) the 'current web app url' to create (atom) feeds for your gmail labels

The process covering the creation of individual feeds is covered in the video above. The video below shows the five steps for the initial setup:

How it works

Having already used Eric Koleda’s Feed+ script when creating a similar app to turn searches into an RSS feed it wasn’t too much effort to change the source data to a Gmail account. It’s not the first time I’ve hacked the functionality of Gmail having already used my inbox to re-enable Google Reader social share features, so I already knew/had code to using the ‘label:’ search operator. One thing I struggled with was removing selected links from emails. The UI side was straight forward thanks to the fantastic framework already developed by Eric. Initially I tried Removing html tags and content where tag content matches an array of values using Xml.parse() but as you see from the answer and comments from Jonathan Broughton and Bruce Mcpherson (thanks guys!) I used regex instead (only after getting caught out by line breaks and tabs).

Dark social judo: Pulling the email push

I was first made aware of ‘dark social’ via Alan Cann (who is ironically quoted in the THE today for his work around social media) and in particular his move to email as the main communication tool for students.

Alexis Madrigal at The Atlantic — who writes about the influence of what he calls “dark social” on engagement and traffic patterns. While everyone is busy watching Twitter and Facebook because they are easy to track, Madrigal argues that most social traffic still comes from old-fashioned or difficult-to-track sources like email and chat messages – (From Dark social: Why measuring user engagement is even harder than you think)

The use of email is something we’ve paid particular attention to in the open online course ocTEL, developing a daily newsletter to push a automated summary of course activity (talking about automated summaries read Tony Hirst’s Notes on Narrative Science and Automated Insights). There’s nothing particularly new in this but one whole I wanted to plug was getting an archive of these back into the ocTEL Course Reader (an RSS aggregation of all available course activity), hence the Gmail Label Feeder. Whilst doing this and picking over my own inbox for example emails I started to think about the ‘push’ I got from social sites like Twitter, Google and LinkedIn keeping me aware of activity and making suggestions for people and content I might like. Whilst some of these are very basic action reporting others require a degree of processing to generate.

Social push

The particular scenario I had in mind was if for example you were running a course Twitter account, when you get the inevitable ‘suggestions similar to’ or ‘do you know’ would there be some value judo style ’pull when your opponent pushes’  and publishing this content so it’s available to all your students. Even if this is of little individual value to the student wouldn't aggregating this data in a machine readable way be useful down the line. Have a look at the menu of push options, wouldn't at least some of these be useful to your students. Should we be doing a bit more dark social judo?

Twitter dark social menu


Earlier today I popped in the site to see if they had anything new. After login in, having a quick nose I moved on. Minutes later I got this email:

Email from

My initial reaction was:

Looking at how they did this there are some clues in the email. Notice the email contains a link with ?source=intercom (campaign tracking), and the email domain for the sender is Visiting the site it’s immediate to see the pieces fall in place, Intercom providing a customer relationship tracking/engagement service which allows condition based automated messaging.

intercom dashboard

If you click ‘Start using intercom’ more is revealed about how this service works. By embedding a code snippet to your sight which returns the logged in user email (in the advanced setting this can be encrypted/hashed rather than plain text it appears you still need to send either a user_id or email in plain text as well as hashing)

intercom setup

And true to their word in 30 seconds I was able to track active on the ocTEL testbed site.

intercom test dashboard

Tracking user logins is a standard feature on most platforms (and can also be enabled in WordPress with the last login plugin), but there are nice features of Intercom that might make it a useful component within an open course situation. As well as tracking ‘last seen’ Intercom are able to track location, extended social profiles and levels of engagement. The fact it’s easy to install is a big plus, but if you are prepared to pay the $50/month you can get your hands on some nice additional features. As well as auto messaging you can reassign message replies to other users (the scenario I have in mind is reassigning messaging to other tutors).

So what would your reaction be if this tool was used in a course like ocTEL? Are there similar or better tools out there that you know about?

PS I’m currently having problems getting the email encrypted version of the embed code to work. Others might have more luck

Update: Here's the code to add to your theme's function.php to added support

1 Comment

As part of ocTEL on the 15th May at 16:30BST (check in your own timezone) I’ll be doing a webinar on platforms for Massive Open Online Courses (MOOCs), in particular focusing on some of the connectivist style recipes I’m aware of. As part of this I’ll be taking participants behind the scenes of the ocTEL course highlighting some of the configuration/customisation that’s been done to the WordPress platform. There will be lots of opportunity for questions so if you are thinking of hosting a similar style of course it’s a great chance to find out some of the pitfalls.

This week's webinar is on platforms for Massive Open Online Courses (MOOCs) and in particular focuses on the connectivist style of courses being often taught by individuals or small teams of academics. As well as an overview of emerging trends there will be an in-depth behind the scenes look at the ocTEL platform. ocTEL is built on the open source WordPress blogging platform which has been supplemented with a set of additional plugins and some custom coding. Participants will gain an insight into the challenges of developing and running a connectivist style open course and have the opportunity to quiz the platform architect Martin Hawksey.

You can access the Week 5 webinar via this link A recording of the session is here.


This was a useful post to write and reflect on some ideas. If you are here because you want to make RSS feeds for posts searches here's the Feed+ Machine Chrome Web App and the standalone Feed+ Machine App

Recently when reflecting on my career path two key moments came to mind. First around 1999 having graduated as a structural engineer I got a job converting course content marked up in Word documents into HTML. Why this was important was I was forced to understand the raw building blocks of the web, I was in a foreign world and I needed to learn the language and fast.

Luke, view the source

A decade later and my interests shifted, less about static content and more dynamic data. Tapping into the work, primarily of Tony Hirst, my eyes were opened to the opportunity of remixing the web. Taking existing data, a dash of code/3rd party services and creating new things and ideas. In this world data feeds are the new building blocks to play with. In particular RSS and Atom feeds are the prize. Usually openly available and easy to manipulate/render.

Luke, find the feed

Unfortunately this ease of access appears to be putting off the big 3rd party services. With the latest Twitter API atom isn’t an option, with Google+ RSS feeds should be forgot about. This is a great shame a number of open online courses recognise the value of learners finding their own space, feeding their activity into tools which can aggregate, potentially sense make, and feed the rhizomes of the networked learner.

Like other open courses this is the challenge we face in ocTEL, pulling distributed activity into the machine. For some services RSS is still championed.  Diigo where the RSS badge with pride..

RSS from Diigo

JISCMail go even further also flying the auto-discovery flag (yet another front being eroded) …

RSS from JISCMail

What about Delicious …

Where's the RSS from Delicious

Mendeley … exists but you have to go digging

Mendeley have some, but not telling you

Google+ … this is where it gets interesting

[trumpets] Feed+ by Eric Koleda

Eric Koleda has created a Chrome Web App (Feed+) that lets you create RSS(Atom) feeds for Google+ searches. Using Google Apps Script Eric has created a user interface and it does all the negotiation with the Google+ API converting the data into RSS. Given the availability of a Scoopit API and using Eric’s base code I’ve forked the project to create the Feed+ Machine Chrome Web App and the standalone Feed+ Machine App (Google login is required to manage your feeds). To begin with it only supports creating feeds from! post searches, but given Eric has done such a great job on the design it’ll be easy to extend. I’ll spare you the details of the code but the source files are here if you want to unpick what’s going on and ask questions.

Here’s an example of a feed for Scoop.its referencing ocTEL, which we are already digesting in the ocTEL Course Reader. But why do this? My interest is primarily in capturing as much of the digital landscape, each artefact collected adding more detail to the map. Whilst material pulled from is potentially yet another churn of existing content, who is sharing and any insight they add provides additional context and may be another way in which participants can identify and migrate to new clusters of activity.

There is a downside to this to this approach. Having a search feed from is useful but having wrestled with the ScoopIt API there is much more data available not being captured such as metadata around posts and topics. So perhaps like others I should abandon the feed and favour JSON and start filling the Tin Can

PS NEW!!! CETIS briefing on Activity Data and Paradata for more developments in this area.


The term ‘dashboard’ currently seems to have a similar effect to marmite, you either love it or hate it. Fortunately it looks like the trend is towards increased personalisation of the way data is presented for both visual and exploratory purposes (an example of this is Thomson Reuters finance system Eikon), so if you don’t like marmite you can have something else instead.

One of the reasons I like using Google Spreadsheets is it’s a fairly easy environment to pull data into, provide specific views and share with others. Recent examples of this include the work I did providing a summary of the discussion activity within the open online course LAK13 (btw the recording of the recent ‘Geek Out’ webinar covering this is available from here). This example takes the existing Atom feed from Canvas discussion boards, which contains all forum posts, and provides some lite summary of activity (shown below – click to enlarge).


When faced with a similar challenge for ocTEL it made sense to evolve this existing work rather than reinvent. As previously outlined in the ocTEL course recipe, we use the WordPress platform as a course hub, creating additional functionality using plugins. For the discussion forums we use the bbPress plugin. Like the rest of WordPress, bbPress creates a number of data feeds that we can use for forums, topics and replies. As far as I can tell though these feeds follow the WordPress global reading settings for the number of items available and are limited to RSS2.0.

One of the really nice things however about working with WordPress is once you have you basic stack of plugins its easy to customise using your themes functions.php script. And that’s what we’ve done for ocTEL. Using WordPress’ extensive codex documentation we can see it’s possible to create our own feeds. So by adding this custom action in our theme functions.php and including this feed template in our theme folder we have an Atom feed for all our forum activity. With some very minor tweaking of the Canvas example mentioned above I’ve now got an overview of ocTEL forum discussions dashboard.

[If you have your own bbPress forums you can use the code above to create your own data feed and File > Make a copy of the spreadsheet to dashboard your forums.]

So now we have some insight to the ocTEL forum activity it raises some interesting question. Besides turning the insight into action the questions at the top of my mind are: how do we promote this data endpoint? what other data feeds and formats would be useful? How do we license the data? Your thoughts as always are very welcome. 

PS My colleagues Lorna Campbell and Phil Barker have recently published an Activity Data and Paradata briefing paper