Open ALMS….

A year or two after graduating, and having failed in bid to become an independent music promoter with a couple of others (we booked Hawkwind rather than Nirvana; oops…) I was playing chess with a stoner of Buddha-like nature who showed me how the pieces moved. (That is, I knew how the pieces moved square-wise; but this was more in the sense of “doh… so if you do that……., then that, and that, and then this, then that and, …okay. Another game?”)

Sometimes, I get that feeling from OLDaily (the being taught how the pieces move thing; I can’t really comment on the adjectival bits). As a case in point, Stephen recently linked to an old piece of work from David Wiley, amongst others: The Four R’s of Openness and ALMS Analysis: Frameworks for Open Educational Resources.

The paper opens with a review of “The Four R’s of Openness”, the rights to reuse, redistribute, revise and remix and then goes on to consider Wiley’s ALMS framework, which represent’s Stephen’s move:

One of the primary benefits of an OER is that it can be adapted, or localized, to the needs of specific situations.

Even if a work has been licensed so that users are free to reuse, redistribute, revise and remix it, several technical factors affect openness, particularly in terms of revising and remixing. If producers of OER give people permission to use their resources, they should also consider giving them the technical keys to unlock the OERs so that they can adapt the OER to their own needs. … ALMS is an acronym that stands for: Access to editing tools. Level of expertise required to revise or remix. Meaningfully editable. Source-file access.

Access to editing tools. When people try to revise OER, one of the first questions they will need to ask is ―What software do I use to edit this resource? …

Level of expertise required to revise or remix. … Even if end users have access to editing tools, if they need 100 hours of training to use the tool effectively, revising OERs that rely on those tools will likely be beyond their reach. …

Meaningfully editable. Perhaps the classic example of OER that are not meaningfully editable are scanned PDF documents. If a person takes handwritten notes, scans images of those notes and puts them into PDF format, the contents of the resulting file cannot be meaningfully edited. The only way to revise or remix this work is to type out the words in the PDF into a word processor document and make revisions there. [TH: so you might argue that diagrams are typically not meaningfully editable.]

Source-file access. … A source file is the file that a programmer or developer edits and works with in order to produce a final product. …

Open educational resources will be easy to revise or remix technically if they are meaningfully editable (like a web page), access to the source file is provided (like an HTML file), can be edited by a wide range of free or affordable software programs (like an RTF file), and can be edited with software that is easy to use and is used by many people.

Open educational resources will be difficult to revise or remix technically if they are not meaningfully editable (like scanned handwriting), are not self-sourced (like a Flash file), can only be edited by one, single platform, expensive software program (like a Microsoft OneNote file), and can only be edited with software that requires extensive training and is used by relatively few people.

[T]echnical aspects of OER will affect how “open” they really are. Creators of OER who wish to promote revising and remixing should ensure that OER are designed in such a way that users will have access to editing tools, that the tools needed to will not require a prohibitive level of expertise, and that the OER are meaningfully editable and self-sourced.

So… I’ve tried explain some of my recent thinking around this topic in Maybe Programming Isn’t What You Think It Is? Creating Repurposable & Modifiable OERs and  OERs in Practice: Re-use With Modification, but that didn’t get anywhere. Inspired by the ALMS piece, I’ll try again…

…by talking about Binder and Binderhub, again… Binderhub is a technology for launching on demand a Jupyter notebook server that serves notebooks against a particular programming environment. The notebook server essentially provides an interactive user interface via a browser in the form of Jupyter notebooks. The specification for the computing environment accessed from the notebooks, as well as the notebooks themselves, can be published in a public Github repository. Binderhub copies the files in the repository, and then uses them to build the computing environment.

Think of the computing environment like your desktop computer. To open particular documents, you need particular applications installed. The installed applications are part of your environment. If I give you a weird document type, you might have to install an application in order to open that document. The document might open easily for me because I have customised my computer with a particular environment (which includes all the applications I have installed on it to open and edit weird document types). But it might be difficult for you to install whatever it is you need to install to open the document and work with it. How much easier if you could just use my computer to do it. Or my environment.

Some of the files in a public github repository, then, can be used to define an environment (they are the “source code” for it. Binder can use them to build for you a copy of the environment that I work in, particularly if the environment I work in is one built from me by Binder from the same repository. If the files work for me, they should work for you.

As well as being a technology, Binderhub is, currently, a free, open service. It can be used to launch interactive notebooks running in an environment defined via files in a public github repository. Try one: Binder From the Cell menu, select Run All.

The demos in that example relate to maths. If you prefer to see music related demos, use this Binder instead: Binder

The definition for the environment, and the notebooks (that is, the “content”) are here: psychemedia/showntell/maths and here:
psychemedia/showntell/music.

All the rich assets in a notebook – images, sounds, interactives – can be generated from “source code” contained in the notebook (from the toolbar, select the Toggle selected cell input display toolbar button to reveal / hide the code). In many cases the source code can be quite concise because it calls on other, powerful applications preinstalled in the environment. The environment we defined in the repository.

Actually, that’s not strictly true. We may also pull on third party resources, such as embedded Google or Bing maps. But we could, if we wanted to, add a service to deliver the map tiles into the local environment, by defining the appropriate services in the repository and building them into the environment “from source”. We could, if we wanted to, build a self-contained environment that contains everything it needs in order to render everything that appears in the notebook.

What Binder and Binderhub do, then, is remove the technical barrier to entry when it comes to setting up a computing environment that is pre-configured to run a particular set of notebooks. Binder will build the environment for you, from source code. If the author of the notebooks creates and tests the notebooks to their satisfaction in the same environment, they should work…

So now we get to the notebooks. What the notebooks do is provide an environment that can be used to author, which is to say edit, which is to say revise and remix, rich content (where “rich” might be taken to mean “including media resources other than static text”). They also provide an environment for viewing and interacting with those materials. Again, for the viewer / user, there is no need to install anything. Binder will provide, via your browser.

At the moment, most of the focus on the development, and use, of Jupyter notebooks is for scientific research, but there is growing use in education and (data) journalism too.

I think there is a huge opportunity for using notebooks as a general purpose environment for creating materials that can make use of compute stuff, and from there start to work as a gateway drug for learning how to make more effective use of computers by writing easily learned magic incantations, a line at a time.

As an example, see if you can figure out to embed a map located on an address familiar to you using the following Binder: Binder

To read more about that notebook, see Embedding folium Maps In Jupyter Notebooks Using IPython Magic and Extending the folium Magic…. For other examples, such as how to embed images showing Scratch like programs, see Scratch Materials – Using Blockly Style Resources in Jupyter Notebooks. For an example of how to use a Jupyter notebook to create, and display, an interactive slideshow, see OERs in Practice: Repurposing Jupyter Notebooks as Presentations.

For more references to the ALMS work, see: Measuring Technical Difficulty in Reusing Open Educational Resources with the ALMS Analysis Framework, Seth M. Gurell, PhD Thesis.

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

%d bloggers like this: