The E-Learning Curve Blog has moved!

You will be automatically redirected to the new address in 10 seconds. If that does not occur for some reason, visit
http://michaelhanley.ie/elearningcurve/
and update your bookmarks.

Wednesday, October 7, 2009

Open Environment E-learning: DocBook and XXE

I received an unexpected but nonetheless very welcome comment on yesterday's blog post from Brent Schlenker. In his remarks, Brent reinforced my own view about the viability of open source-based e-learning development; he said that

I truly do believe that there are enough OpenSource tools out there that we can be creating completely opensource learning solutions/environments. Once people get past their initial fears and the stigma, the Open Source learning development community will grow exponentially.

...thanks for keeping the Open Source movement alive in eLearning.

Thanks Brent!

Now, on with the show.

As discussed in a previous post, we can say that there are certain unresolved philosophical matters surrounding the notion of open environments; I will return to these presently. However, the gratis/libre debate should not preclude you from taking advantage of the range of 'open' and 'free' tools to develop an effective e-learning solution.

As a reminder, here are the categories of tools I recommend to implement this open development environment:

  • Content Creation Tools
  • Media Creation and Integration: OSS Tools
  • Media Creation and Integration: Proprietary Tools
  • Content Delivery Platform
  • Optional Proprietary Tools

Click here for a full list of the applications and utilities.

While the tools themselves are a disparate group, their common characteristic is that they are XML-based. This, in theory at least, means that either the applications or their outputs are interoperable, and this creates the foundation for the "openness" that we seek.

Now read on...

Over the next few days, I will describe in detail the 'toolkit' used in this e-learning content development environment, before discussing pedagogical approaches and implementation processes. As the focus here is on developing e-learning in a specific environment, I am making the assumption that the learning content has already been developed, as learning content development and instructional design per se is not the topic being investigated. Click here to find out more about instructional design for e-learning.

The Powerhouse: DocBook and XXE

DocBook is a semantic markup language for technical documentation. While it was originally created for the purpose of writing technical documents for computer hardware and software, its inherent flexibility led to it being used authoring a broad range of documentation, including e-learning. Unlike proprietary word processors, DocBook documents do not describe what their contents "look like," but rather the meaning of those contents. For example, rather than explaining how an e-learning lesson page might be visually formatted, DocBook simply says that it is a page. An external processing tool or application is required to determine where the lesson page should go, and what it should look like – and to decide whether or not it should be included in the final output at all.

Because DocBook is XML-based, content can be authored and edited with any text editor.

XMLmind XML Editor (XXE) allows content creators to edit large, complex, modular, XML documents. In one sense, it is the friendly face of my open authoring environment. XXE is a ‘nearly’ WYSIWYG (What You See Is What You Get) editor that uses CSS to control the layout and style of DocBook XML (or XHTML) content. It successfully hides the complexities of XML markup from the author, so that the focus can be on the words, rather than the code.

In XXE, the document author does not see the DocBook XML tags; rather, XXE interprets the tags, and the application UI displays the content in the familiar look, feel, and style of a word processor interface (see Figure 1).

Figure 1 Screenshot of XMLmind XML Editor

Using XXE, the content author creates and edits content in the structured XML document by adding elements, setting attributes, selecting, cutting, pasting, and so on, and the editor automatically applies the appropriate styles.

The style is an interpretation of the DocBook DTD to simplify identification of the formatting elements without the need to understand all the XML tags.

Note, however that these styles are not linked to how the content is rendered. The final look and feel of the document is controlled by CSS style sheets.

XXE supports the following features:

  • Converts to XSLT-FO format then to PDF format
  • Converts to HTML format
  • Produces metadata files to support SCORM
  • Checks spelling
  • Checks that a document conforms to the DTD
  • Checks that a document conforms to relevant documentation conventions
  • Documents can be rendered as a number of separate files
  • Controls document look and feel

Transformations (outputting content to a commonly-used delivery format) are applied to the XXE-authored XML using Formatting Objects Processor. Formatting Objects Processor (FOP) is driven by XSL Formatting Objects (XSL-FO). A Java application reads a formatting object (FO) tree and renders the resulting pages to a specified output.

Currently supported output formats include:

  • Portable Document Format (PDF)
  • Printer Command Language (PCL)
  • PostScript (PS)
  • Scalable Vector Graphics (SVG)
  • eXtensible Markup Language XML (area tree representation)
  • Print
  • Abstract Window Toolkit (AWT)
  • MapInfo Interchange Format (MIF)
  • Text File (TXT)
The primary output target is PDF (see Figure 2).

Figure 2 Screenshot of PDF file generated from XXE via XSL-FO

Other outputs include HTML pages (see Figure 3) and help files.

Figure 3 Screenshot of HTML file generated from XXE via XSL-FO

These two outputs were generated from a command-line FO, because I’m a bit of a purist about this stuff, though I’m not a coder, so it must be straight-forward and usable!

Depending upon the level of expertise in your organization, you may decide to use a GUI shell to enable content authors to generate their outputs.

Figure 4 Screenshot of XSL-FO command line interface in Windows

More…

__________

Resources:

DocBook.org: http://www.docbook.org/

XMLMind XML Editor: http://www.xmlmind.com/xmleditor/

HyperWrite Ltd. (2006) Review of XMLmind XML Editor v3.0. [Internet] Available from: http://www.hyperwrite.com/Articles/showarticle.aspx?id=63 Retrieved 24th September 2009

--

Tuesday, October 6, 2009

A Toolkit to Develop E-Learning in an Open (XML) Environment

Returning from content development theory, the gratis/libre debate, and the pros and cons of each approach, this post will focus on the range Opensource.svg of tools that you need to develop e-learning content in a (relatively) open environment.

Now read on…

The key to developing e-learning courseware in an open environment is to use a production model that liberates instructional design and content authoring from your final media outputs. In my view, this means taking an XML-based approach to your e-learning development environment. I would suggest that you need tools and components like the following tools to create an effective authoring and delivering system:

Content Creation Tools

  • DocBook
  • XMLmind XML Editor (XXE)
  • GNU Image Manipulation Program (GIMP)
  • XSLT transformations and XS-FOP formatting object processors


Media Creation and Integration: OSS Tools

  • Audacity
  • CineFX
  • Kompozer
  • OpenOffice.org
  • GNU Image Manipulation Program (GIMP)

Media Creation and Integration: Free-to-use Proprietary Tools
  • Microsoft Producer 2
  • Windows Media Developer’s Kit
  • Garageband
  • iMovie
  • Jing

Content Delivery Platform
  • Apache / MySQL / PHP
  • Moodle
  • Joomla
  • Drupal

Optional Proprietary Tools
  • Adobe Flash
  • Camtasia
  • Roxio Easy Media Creator or Toast

I'll be discussing developing a production model using this toolkit, starting tomorrow.
--

Monday, October 5, 2009

E-Learning, the Cathedral and the Bazaar: Courseware Development Approaches

...or Top-down versus Bottom-up approaches to content design.

In his 1997 essay The Cathedral and the Bazaar, open source evangelist Eric S. Raymond suggests that

the closed-source world cannot win an evolutionary arms race with open-source communities that can put orders of magnitude more skilled time into a problem.
Raymond considers the development of software by traditional methodologies as analogous to building a mediaeval cathedral,
carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.
He asserts that all software could be developed using the bazaar approach, which he described as
a great babbling bazaar of differing agendas and approaches... open to the point of promiscuity.

In this so-called Bazaar Model, roles are not clearly defined. Gregorio Robles suggests that software developed using the Bazaar model should exhibit the following patterns:

  • Users should be treated as co-developers
The users are treated like co-developers and so they should have access to the source code of the software. Furthermore users are encouraged to submit additions to the software, code fixes for the software, bug reports, documentation etc. Having more co-developers increases the rate at which the software evolves. Linus' Law states that, "Given enough eyeballs all bugs are shallow." This means that if many users view the source code they will eventually find all bugs and suggest how to fix them. Note that some users have advanced programming skills, and furthermore, each user's machine provides an additional testing environment. This new testing environment offers that ability to find and fix a new bug.
  • Early Releases
The first version of the software should be released as early as possible so as to increase one's chances of finding co-developers early.
Frequent Integration
New code should be integrated as often as possible so as to avoid the overhead of fixing a large number of bugs at the end of the project life cycle. Some open source projects have nightly builds where integration is done automatically on a daily basis.
  • Several Versions
There should be at least two versions of the software. There should be a buggier version with more features and a more stable version with fewer features. The buggy version (also called the development version) is for users who want the immediate use of the latest features, and are willing to accept the risk of using code that is not yet thoroughly tested. The users can then act as co-developers, reporting bugs and providing bug fixes. The stable version offers the users fewer bugs and fewer features.
  • High Modularization
The general structure of the software should be modular allowing for parallel development.
  • Dynamic decision making structure

There is a need for a decision making structure, whether formal or informal, that makes strategic decisions depending on changing user requirements and other factors (i.e. in extreme programming).

In Raymond's view, most well-known OSS products including Linux, Apache, and the GNU Compiler Collection align with the Bazaar model.
In the 'traditional' Cathedral model (advocated in Fredrick P. Brooks, Jr. in The Mythical Man-Month), development takes place in a centralized fashion. Clearly defined roles including experts dedicated to designing (the architects), established management styles, and 'craftsmen' (developers) responsible for implementation all contribute build a pre-established design according to a pre-agreed blueprint.


He goes further to say that in order to preserve the architectural integrity of a system, its design should be done by as few architects as possible.

Interestingly, the Bazaar model comes close (in manifestation, if not in philosophy) to what Brooks in the 1995 Anniversary edition of his text describes as "shrink-wrapped software." Brooks suggests:

For the developer in the shrink-wrapped industry, the economics are entirely different from those of the classical industry... the starkly different economies have given rise to starkly different programming cultures.

(p.284)


Rather than the traditional Cathedral model,
The shrink-wrapped industry... [is] freewheeling and fiercely focused on getting the job done rather than on process. in this climate, there has always been a much greater recognition of the talent of the individual programmer, an implicit awareness that great designs come from great designers [my italics]. The start-up culture has the capability of rewarding star performers in proportion to their contributions... [i]t is not surprising that many of the stars of the new generation have gravitated to the shrink-wrapped industry.

(p.284)


More tomorrow as I discuss towards the implications of these two models for the e-learning industry.

___________
References:

Brooks, R.P. (1995). The Mythical Man-Month Anniversary Edition London, Addison Wesley Longman, Inc.


Raymond, E. S. (2000). The Cathedral and the Bazaar Version 3, Revision 1.57 [Internet] Available from: http://www.catb.org/~esr/writings/
cathedral-bazaar/cathedral-bazaar/
[Accessed 22nd August 2009]

Robles, G. (2004) A Software Engineering approach to Libre Software, IN: Robert A. Gehring, Bernd Lutterbeck: Open Source Jahrbuch 2004, Berlin: Lehmanns Media. [Internet] Available from: http://www.opensourcejahrbuch.de/download/
jb2004/chapter_03/III-3-Robles.pdf
[Accessed 21st April 2008]
--

The Irish Students’ Blogs Website

Here's an enterprising idea: a number of Irish second-level students have got together and set up their own blog aggregation service: Irish Student Blogs. Being a product of the Irish education system myself, I thought that I’d give them a plug.

According to their introduction, the blog is:

...a website dedicated to the Irish secondary school students' blogs! Here [they] hope to grow the largest collection of these blogs and bring you the latest from this corner of the blogosphere!

Second-level education is not an domain I investigate in any great detail on my blog, unless of course, I can relate the topic to technology in education, but these blogs are from learners "on the front line."As such, these students' insights, ideas, and reflections represent the actuality and the experiences of those who are involved in learning and education, but whose views are perhaps not as regarded as highly as they should be.

irish_students_blogs Irish Student Blogs Homepage
[Click to Enlarge]

Certainly in Ireland (and in most Western countries I suspect) there can be a sense that teaching is almost inflicted on students, with little regard to their learning needs - and by that I mean, the skills that will enable them to flourish as citizens of the 21st century world.

While some of the topics the Irish Student bloggers cover are not learning-related per se, I would assert that they are a channel into the thoughts, concerns and motivations of this group of learners, and maybe shine a light on approaches to providing these students with a relevant learning experience (in the context of the broader curriculum).

Check out their site by clicking here: Irish Student Blogs.

--