Cursory Thoughts on Virtual Machines in Distance Education Courses

One of the advantages of having a relatively long lived blog is that it gives me the ability to look back at the things that were exciting to me several years ago. For example, it was five years ago more or less to to the day when I first saw video ads on the underground; and seven and a half years ago since I remarked on the possible relevance of virtual machines (VMs) to OU teaching: Personal Computing Guidance for Distance Education Students. (At the time, I was more excited by portable applications that could be run from USB sticks, the motivating idea being that OU students might want to access course software or applications from arbitrary machines that they didn’t necessarily have enough permissions on to be able to download and install required applications.)

Since then, a couple of OU courses have dabbled with the virtual machines – the Linux course that’s now part of the course TM129 – Technologies in Practice makes use of a Linux virtual machine running in VirtualBox, and the digital forensics postgrad course (M812) makes use of a couple of VMs – a Windows box that needs analysing, and a Linux VM that contains the analysis tools.

We’re also looking at using a virtual machine for a new level three/third year equivalent course due out in October 2015 (sic…) on data stuff (short title!;-). I haven’t really been paying as much attention as I probably should have to VMs, but a little bit of playing at the end of last week and over the weekend made me realise the error of my ways…

So what are virtual machines (VMs)? You’re possibly familiar with the phrase “(computer) operating system”, and almost definitely will have heard of Windows and iOS. These are the bits of computer software that provide a desktop on top of your computer hardware, and run the services that that allow your applications to talk to the hardware and out in to the wider world. Virtual machines are boxes that allow you to run another operating system, as well as applications on top of it, on your own desktop. So a Windows machine can run a box that contains a fully working Linux computer; or if you’re like me and use a Mac, you’ll have a virtual machine that runs a copy of Windows so you can run Internet Explorer on it in order to access the OU’s expense claims system!

Now when it comes to shipping course software, we’re often faced with the problem of getting software to work on whatever operating system our students are using. In a traditional university, with computer labs, the computers in the public areas will all contain the same software, installed from a common source. (OU IT are trying to enforce a similar policy on staff machines at the moment. Referred to in reverential terms as “desktop optimisation”, the idea is that machines will only run the software that IT says can run on it. Which would rule out the possibility of me running pretty much any of the applications I use on a day to day basis. Although I think Macs are outside the optimisation fold for the moment…?)

Ideally, then, we might want students to all run the same operating system, so that we can test software on that system and write one set of instructions for how to use it. But students bring their own devices. And when it comes to installing the software tools we’d like computing students, for example, to install, there can be all sorts of problems getting the software to install properly.

So another option is to provide students with a machine that we control, that doesn’t upset their own settings, and that won’t kill their computer if something goes horribly wrong. (We can’t, for example, require students to run the OU’s optimised desktop, not least because we’d have to pay license fees for the use of Windows, but also because students would rightly get upset if we prevented them from downloading and installing Angry Birds on their own computer!) Virtual machines provide a way of doing this.

As a case in point, the new data course will probably make use of iPython Notebook, among other things. iPython Notebook is a browser accessed application that allows you to develop and execute Python programme code via an interactive, browser based user interface, which I find quite attractive from a pedagogical point of view. (This post may get read by OU folk in an OU teaching context, so I am obliged to use the p-word.)

Installing the Python libraries the course will draw on, as well as a variety of databases (PostgreSQL and MongoDB are the ones we’re thinking of using…) could be a major headache for our students, particularly if they aren’t well versed in sysadmin and library installation. But if we define a virtual machine that has the required libraries and applications preinstalled and preconfigured, we can literally contain the grief – if students run an application such as VirtualBox (which thy would have to install themselves), we can provide a preconfigured machine (known as a guest) that they can run within their own desktop (part of the host machine), that will make available services that they can access via their normal desktop browser.

So for example, we can build a virtual machine that contains iPython and all the required libraries, that can be defined to automatically run iPython Notebook when it boots, and that can make that notebook available via the host browser. And more than that, we can also configure the Notebook server running on the local guest VM so that it saves notebook files to a directory that is shared between the guest and the host. If a student then switches off, or even deletes, the guest machine, they don’t lose their work…

VMs have been used elsewhere for course delivery too, so we may also be able to learn more about the practicalities of VMs in a course context from those cases. For example, Running a next-gen sequence analysis course using Amazon Web Services describes how virtual machines running on Amazon Cloud services, (rather than in boxes running within a VirtualBox container on the user’s desktop) were used for a data analysis course that made us of very large datasets. (This demonstrates another benefit of virtualisation: we can configure a VM so that it can b run in containerised form on a student’s own computer, or run on a machine hosted on the net somewhere, and then accessed from the student’s own machine.)

Something I found really exciting were the VMs defined by @DataMinerUk and @twtrdaithi for use in data journalism applications – Infinite Interns, a range of virtual machines defined using Vagrant (which is super fun to play with!:-) that contain a rang of tools useful for data projects.

I also wonder about the extent to which the various MOOCs have made use of VMs… And whether there is an argument to be had in favour of “course boxes” in general…?

PS for a hint at something of what’s possible in using a VM to support a course, imagine Mining the Social Web: Data Mining Facebook, Twitter, LinkedIn, Google+, GitHub, and More as course notes, The official online compendium for Mining the Social Web, 2nd Edition (O’Reilly, 2013) as the way in to your run-at-home computer lab, and Mining-the-Social-Web-2nd-Edition – issues on github as instructor/lab technician support. ’nuff said. The things we’re gonna be prepared to pay for have the potential to change…

All Set for a Year of Internet Appliances?

Towards the end of last year, my better half rediscovered the joys of radio… Around the same time, James Cridland wrote a post extolling the virtues of the Pure Evoke Flow wifi radio (Pure Evoke Flow – what it means for radio, or see this video walkthrough), so that was that Christmas present sorted…

As JC pointed out in his post, gadgets like the Evoke Flow could indeed be a game changer. On Christmas Day, we were wifi-less, which meant that the first experience of the radio was as a DAB radio. A quick self-tune on start-up, and a good selection of DAB channels were available. Getting back home meant we could get the wifi channels too – configuring the radio with a wifi key went smoothly enough, and getting an account with the online Lounge service provided a key to register the radio with lots of online goodness.

Wifi radio channels can be favourited online, along with podcast subscriptions, and stored in separate folders; the favourites are then also available on the radio itself. Radio stations can also be browsed and favourited on the radio itself – favouriting them also adds them to a particular folder in your online account.

So here are a few of my immediate impressions:

  • being able to just switch the radio on and tune into a wifi radio or podcast station is really attractive; no need for the radio to receive content via an intermediary PC – it gets its network connection directly from your wifi router;
  • within a few minutes of being connected for the first time, the appliance found a software update and offered to install it – a process which was achieved quickly and efficiently; in an age where automatic software updates are increasingly possible, what does this mean for built-in/planned obsolence?
  • the integration between the appliance itself and the online account means that the radio has a full web browser interface and management tools, if required. (I’d quite like an iPhone interface too;-) I’ve written about “dual view” working before (Dual View Media Channels) – here’s an example of it in action with an interface for one device being provided through another.
  • the appliance makes good use of soft/programmable buttons – a bit like a mobile phone, the functionality of the “buttons” is context dependent; the “undo” (or “go back” a step) button is incredibly useful, too.

I haven’t tried streaming music to the appliance from another computer, but that facility is also available.

From even just a couple of days playing with the Pure Evoke Flow, I’m sold on it – and the idea of streaming, dedicated internet appliances in general. So the idea of the BBC/ITV set-top box – Project Canvas – really appeals… (e.g. Canvas and the connected home and Partners to bring broadband to the TV; looking forward, this is also relevant: IMDA – Internet Media Device Alliance, a trade alliance for agreeing on protocols and formats for streaming digital media).

While on the topic of internet TV (sort of!), I noticed an advert last night on ITV for the ITV player… which is something I’d missed… Assuming that this revamp would be of yet another Windows only player, I was pleasantly surprised:

So if, as with me, the announcement passed you by, here’s a catch-up: in early December, 2008, ITV rebranded its online catchup TV service as ITV Player.

(Sky also launched a (subscription based) online TV play, called – can you guess? – Sky Player (e.g. as reported here: Sky and ITV launch new Silverlight online video players). Channel 4’s watch again service is still tethered to Windows, although some Channel 4 content – such as Shameless – is available via the Flash powered Joost.)

Unlike the Adobe Flash’n’Air approach taken for the BBC iPlayer, ITV and Sky have both opted for Microsoft’s Silverlight (as described in ITV’s case here: Silverlight on the ITV Player).

PS I’m not sure what this means, if anything, but both Apple and Intel have been buying into Imagination technologies, the parent company of Pure (Intel ups stake in Imagination following Apple’s buy-in). Imagination own the IP to the semiconductor cores used in a wide range of digital appliances, so tracking their news releases and OEM relationships over the next year or two could prove interesting…

PPS the consequences of this imagined phrase kept me awake a couple nights ago: “Pure Camvine Flow“. If Project Canvas resulted in an Imagination core capable of streaming BBC and ITV content, what would it mean if those cores were integrated within Camvine “digital signage” screens, so you could just plug your screen in, connect it to your home network, and start streaming watch again and catch-up content? (Ideally, of course, there’d be an iPlayer desktop like facility too…:-)

PPPS Here’s an interesting interview with Reed Hastings, CEO of Netflix (via GigaOM: Here Come Broadband TVs). The topic of internet TVs is discussed from about 1m15s in…

Vodpod videos no longer available.