Enabling web conferencing in Ubuntu Linux

Ubuntu logoUbuntu Linux and other distributions like Edubuntu, Kubuntu, Lubuntu, and Xubuntu have come in leaps and bounds in recent years and are becoming more fully featured and easier to use. I think they are now getting to the stage where they are potential replacements for Microsoft’s Windows and Apple’s OS X for elearning. Well, almost…

Web conferencing usually requires Flash

Elearning increasingly includes live multi-way video web conferencing, which on Ubuntu Linux can be problematic. Most web conferencing platforms and systems require either Adobe Flash Player or Java Runtime Environment (JRE) to be installed. If you use the standard Firefox web browser, you need to install Flash Player as an extra, since it isn’t free and open source software (FOSS) and cannot be included in FOSS distributions. Luckily, it’s easy enough to do via Ubuntu’s software centre. It’s a similar process to installing apps on a smartphone or tablet but faster and easier.

More uses of Flash in Ubuntu Linux

There are other areas where Flash Player can be useful. For example, Ubuntu Linux doesn’t have support for the H.264 video CODEC. H.264 is used all over the web, including Youtube*, Vimeo, and Google Hangouts. Adobe Flash Player is an easy workaround to allow you to access and view those services. Also, the SWF Activity Module, Online Audio Recording, Soundcloud, WizIQ, LiveStreaming, and many more plugins for Moodle, as well as Moodle’s default media player, all use Flash.

* Youtube will play video without Flash or H.264 as HTML5 but only low-resolution versions intended for some mobile phones and not all videos are available in this format.

How to install Flash Player in Chrome, Chromium, and Opera

However, installing Adobe Flash Player doesn’t make it available to all web browsers on your operating system (Even on Windows, you need to install one Flash player for Internet Explorer and then one for other browsers). If you want to install Flash Player for other web browsers in Ubuntu, e.g. Google Chrome, Google Chromium (the FOSS version of Google Chrome) or in Opera, it’s a bit more complicated. This means using the Terminal (Ubuntu’s command line; press “Ctrl + Alt + t” to open it) and carefully typing in the following commands. After the first command, Ubuntu will prompt you for your admin password, which is usually the same password you use to log in with (if you’re the computer owner):

sudo apt-get install pepperflashplugin-nonfree
sudo apt-get update
sudo apt-get autoremove

How to install Java Runtime Environment

Some video web conferencing services and systems require Java Runtime Environment (JRE) to run on your computer. Most notably, Blackboard Collaborate, formerly known as Elluminate Live, requires JRE but even with it and the Iced-Tea browser plugin installed, it can have issues with connecting the audio. This is a frustrating issue that I haven’t found a workaround for yet. Please let me know if you know of one!

You can install JRE and the browser plugin from the Ubuntu Software centre. Look for the OpenJDK Java 7 Runtime and the Icedtea Java Browser plugin and install them both. If you’re feeling more confident with using the Ubuntu Terminal (Ctrl + Alt + t), it’s quicker and easier to install them like this and it will make sure that your computer uses the latest installed version of JRE by default:

sudo apt-get install openjdk-7-jre
sudo apt-get install icedtea-plugin
sudo update-alternatives --config java
sudo apt-get update

More uses of Java Runtime Environment

There are a number of web resources and projects for elearning that require JRE. These include Tufts University’s Virtual Understanding Environment (VUE), a feature rich concept mapping tool, as well as the NanoGong audio recording, Scratch learning games, Java Molecular Editor, Easy Java Simulations (and Open Source Physics), Jmol 3D molecular chemical structure, GroupDocs Viewer plugins for Moodle all require JRE.


So it looks like Ubuntu Linux is almost there… but not quite yet. Support for multi-way video web conferencing is there and is possible but not complete, especially in the case of Blackboard Collaborate. It’s also sometimes necessary to install additional software in ways that most “normal” users may find confusing and/or discouraging to do themselves on their own computers. Additionally, many learners and teachers may not know why their web conferencing platform doesn’t work or know that it can be fixed by installing the correct software. Let’s hope things improve further in the coming months or years.

Free and open source concept map app for Moodle

Concept MapI’m pleased to announce that the  Concept Map app is now available on my Github.com repository as a free and open source project. It works with the SWF Activity Module for Moodle 1.9 and 2.5+ and a compiled version of the app is included pre-installed with the latest version of the SWF Activity Module for Moodle 2.5+.

What does the Concept Map app do?

Learners are presented with a blank page and drawing and writing tools with a limited palate of colours and shapes. Limiting the colour and shape options is intended to reduce the time and effort that learners spend on those aspects and hopefully focus their attention more on their learning objectives. Learners can draw and write and move the drawn lines, shapes, and text. The app works with all the usual input tools such as mouse, keyboard, and touch screen.

When learners are ready, they can click on the camera icon button to send a copy of the image to the server which gets saved as a PNG image file. Subsequent camera icon button clicks will overwrite the existing image for that particular activity for that particular learner. However, if you’d like to keep a history of images, the service script that saves the images can be modified to do that. If it’s deployed in Moodle, a corresponding grade book entry is created for the learner and the image is embedded in the grade book feedback column. The saved concept map can then be viewed and graded by teachers. In addition, learners with the appropriate permissions can view their concept maps in the grade book or in the File System repository and embed them in other Moodle activities.

Free and open source

As a free and open source project, it’s free to download, use, edit, and redistribute under the terms of the GPLv3 licence. This means that you can develop the project further to perform more or different functions according to your learners’ particular needs and learning ideas. The project is configured to work with FlashDevelop, a free and open source Actionscript and Flash integrated development environment (IDE) but can also be edited and compiled with other Flash and Actionscript IDEs.

Useful links

Greenwood College SchoolAcknowledgement

The interactive whiteboard SWF idea was conceived at Greenwood College School as a means to further personalize the learning experience for its students. Greenwood is excited to be partnering with Matt Bury on this project because this module enhancement will help educators using Moodle to track student progress using a flexible, online input method.

Greenwood College School

Update on the free online interactive c-test generator

Flash logoIn January of this year (2013) I published an article on my C-Test Generator which I made freely available for everyone to use so that they can generate their own c-tests quickly and easily. Since then, it has occurred to me that it would also be useful to be able to generate text versions of c-tests that can be printed and photocopied for those who don’t have computers readily available or if teachers would like to create specific language proficiency tests for their learners.

What is it and what does it do?

Please see the previous article, Free online interactive c-test generator, for more information about what c-tests are, how they are an improvement on cloze tests, and what the C-Test Generator app does.

What has changed?

The c-test generator app, in addition to creating an interactive online c-test, now generates an additional pure text version. By clicking on the “Copy” button, the text is automatically saved to your operating system’s clip board. You can then paste it into a text document such as OpenOffice/LibreOffice Writer or MS Word. If you adjust the kerning (space between letters), you’ll be able to see one underscore for each deleted letter, which looks more like betw_ _ _ than betw___. In OpenOffice/LibreOffice:

  1. Highlight the text that you want to adjust the kerning on
  2. Go to Format > Character… > Position
  3. Under “Spacing”, select “Expanded” from the dropdown list
  4. In the “by” section increase the pts to widen the character spacing (You should see a preview). About 2.0 pts should be enough.

The process wil be similar in MS Word. Check their help and documentation for details. Please note the the same C-Test Generator app is embedded in this page and the previos C-Test Generator article page.

Click here for direct link to C-Test Generator app for full browser window.

There’s also a licensable version of the C-Test Generator app that integrates with Moodle and saves learners’ grades and c-test texts in Moodle’s grade book.

Update to SWF Activity Module for Moodle 1.9

SWF Activity Module logoThis is a quick update anouncement for the SWF Activity Module for Moodle 1.9. It fixes some issues that some users were experiencing with sending grades to Moodle’s grade book and some other functions. You can find the latest version released today on the project downloads page at Google Code.

What was the bug?

PHP 5.3 and above are becoming more widely used on servers that are hosting Moodle. Some of the old legacy core Moodle code contains functions that are deprecated in PHP 5.3 (some 400 or so instances of code) and are unlikely to be fixed. These deprecated functions trigger PHP to generate deprecation warnings, which in Moodle sometimes returns unexpected results that were interfering with the SWF Activity Module AMFPHP service classes. The result was that sometimes, grades weren’t being sent to Moodle’s grade book, and snapshot images from the Avatar camera and Concept Map MILAs weren’t being saved. It was an intermittent bug and difficult to track down but now, hopefully, everything should work for everyone all the time.

You can see some demos of the SWF Activity Module used to deploy Multimedia Interactive Learning Applications (MILAs) on the MILAs demo course on my R&D Moodle. You can login as a guest so no Moodle account is required.

SWF Activity Module for Moodle 2.5+

On a related topic, I’m nearing completion of a beta testing version of the SWF Activity Module for Moodle 2.5+. Please stay tuned for updates in the near future. You can subscribe to posts from this blog via email, RSS, and social media.

Free online interactive c-test generator

Free online interactive c-test generatorC-tests are a reliable, accurate method for assessing learners’ language proficiency at any level. I’ve decided to create a simplified version of my C-Test generator MILA (multimedia interactive learning application) and to make it publicly accessible so that learners everywhere can use it to help them with their reading, anywhere at any time.

What is a c-test?

The C-test was developed in the 1980s at the Universität Duisburg-Essen in Germany – based on theories of language redundancy relating to Gestalt theory. The Simtest, a computerised adaptive test of foreign language ability designed and developed at the Universitat Autònoma de Barcelona (UAB) in Catalonia, Spain, uses c-tests extensively. Esmat Babaii and Hasan Ansary published a research paper at Shiraz University in Tehran on an objective evaluation of the c-test. Also see Linnemann Wilbert (2010). The C-test. A valid instrument for screening language skills and reading comprehension of children with learning problems? by Markus Linnemann & Jürgen Wilbert, 2010, in R. Grotjahn (Ed.), The C-Test: Contributions from Current Research (pp. 113 – 124). Frankfurt a.M.:Lang.

What does the free online c-test app do?

Learners can find any piece of electronic text that they can copy (Ctrl + c)  and paste (Ctrl + v) into the C-Test generator text window. It then generates an interactive c-test that they can complete online in order to test themselves or the suitability of a text for extensive or intensive reading.

What doesn’t it do?

Unlike the fully functioning licensed version for learning management systems, the simplified version doesn’t send or record any user data, e.g. name, course, time taken, number of attempts, the source text used, or number of words completed. Also, you cannot download the C-Test generator app and use it elsewhere: It only works on this website. If you want to license the fully functioning version of the C-Test MILA, you can find out more about what it does here and how to license it here.

How to set the language proficiency level

The selected text used to generate the test determines the proficiency level. For example, if a learner is at B1 (CEFR) / Intermediate, they should select a text that is at that level. There are a variety of ways of determining the reading proficiency of texts, all with their specific uses and pros and cons, which are beyond the scope of this article. See this Wikipedia.org page for more details.

Conversely, it’s also a quick and easy way for learners to check if a text is at a suitable reading proficiency level for them. They can copy a sample paragraph of text, generate a c-test, and see if they can complete enough words on it. For example, if they score 95% or higher the text is suitable for Extensive Reading and anywhere below that will be suitable for intensive reading. A score below 50% will more than likely mean that the text is unsuitable for that learner.

Something that you may notice is that learners often score quite differently on texts that are supposedly at the same level of reading proficiency. This is usually because most learners acquire language “unevenly” and have strengths and weaknesses in particular topic areas. Typically, learners tend to score quite low on topics that are not interesting to them or that they’ve had little prior exposure to. You can experience this phenomenon for yourself by finding a text on a highly specialised topic in your native language that you know very little about.

The C-Test generator app

Please note: Number characters, e.g. 0, 1, 2, 3, 14, 50, 10th, 1984, etc. are impossible to predict in a c-test and must be changed to literal numbers, zero, one, two, three, fourteen, fifty, tenth, nineteen eighty four, etc., and don’t hyphenate numbers, e.g. eighty-four.  The C-Test Generator app also ignores paragraphing and removes “ ” ‘ ’ special punctuation characters, number characters, i.e. 0-9, and the following; ( ) { } [ ] < > & + * _ # / so that the generated c-tests are “reasonably completable.” The copied text is immediately filtred and so you can see the changes and edit them appropriately before you click on “Make C-Test”.

Click here for direct link to C-Test Generator app for full browser window.

Related articles

How well do you know the International Phonetic Alphabet?

I’ve just created some new MILAs Learning Content Cartridges (LCCs) focused on the International Phonetic Alphabet (IPA) and I cordially invite you to try them out and see how well you know the British English subset of the IPA. If you’re from north America or have little experience with British English pronunciation, the vowel sounds should be a particular challenge and it may give you some insights into how learners experience using the IPA.

By the way, if you’re a British English speaker and would like to challenge your abilities with north American pronunciation, you could try Dr. Ron Thomson‘s free online phonemic awareness training system, English Accent Coach. I tried it and my knowledge and awareness of Canadian vowels was terrible!

Which MILAs have you used?

For your entertainment and interest, I’ve deployed three examples of different MILAs. Each one loads a different LCC to generate IPA focused learning interactions which have British English audio recordings and phonetic transcriptions of single words. All the vocabulary used is what we would normally expect learners at around level CEFR B1 (Intermediate) and above to have acquired reasonably well. The combinations are as follows:

Listen and select MILA + Short vowels LCC

Listen and select MILA with Short vowels LCC

Listen and repeat MILA + Diphthongs LCC

Listen and repeat MILA with Diphthongs LCC

Look and describe MILA + Non-paired voiced consonants LCC

Look and describe MILA with non-paired voiced consonants LCC

What are Learning Content Cartridges?

Learning Content Cartridges contain learning interaction data, in the form of SMIL XML files (a W3C standard format for education and multimedia presentations) and media, in the form of images and MP3 audio files, and are loaded into MILAs to generate learning interactions. Learning Content Cartridges are open format, so they can easily be edited and adapted, and are interchangeable with different applications that can read them, in this case MILAs.

Related articles

Where can I try them out?

Live demos of all the MILAs shown on this site are available to try out. Click on the matbury.com logo below to go to the MILAs demo course on Matt’s R&D Moodle. Login as a guest and scroll down to section #9 Phonetic Chart:

matbury.com Moodle logo

“Unshuffled” option now available on MILAs

Listen and select MILA (unshuffled)I’ve added a new option to some of my Multimedia Interactive Learning Applications (MILAs). Teachers, curriculum developers and course content developers can now set MILAs to generate learning activities in sequential order, in other words, unshuffled.

Why generate unshuffled learning activities?

By default, MILAs shuffle the order that items appear in to make them less predictable and ensure that learners don’t rely on non-linguistic cues to find the correct responses, i.e. the answers and distractors are rarely in the same positions or order twice and so learners’ only option is to look and/or listen for linguistic cues. In the same way, it’s usually a good idea to shuffle a deck of cards regularly in a card game to make the order of the cards less predictable and the game more interesting.

However, in some instances it can be beneficial to learners if we present learning activities in sequential order. This allows a several possibilities I have thought of and probably many more that I haven’t. For example, if English as a Second, Foreign or International Language learners are acquiring language for daily routines, it would be more helpful to learners if they are presented in sequence at first, thereby preserving the narrative nature of the language and enabling learners to make sense of it (understand it) more easily, therefore making language acquisition more probable.

Another example would be using story telling/narratives to help convey meaning by presenting background and contextual story lines to teach salient points about more abstract concepts, ideas and theories. A narrative could convey background information and context, the HOWs and the WHYs and the process of discovery that the scientist or thinker went through before they arrived at their “eureka” moment; Otherwise known as a case study.

Yet another possible use would be to present incorrect or incomplete narratives based around some idea, topic or event as an introductory stimulus for a broader narrative inquiry based project. Learners would then have to discover what is wrong or missing and construct their own correct or complete narratives. Freer, more expansive narrative inquiry tasks could then follow.

…or it may be something as simple as matching pictures to the lines of a song.

I think (speculatively) such techniques can help learning to be more interesting, engaging and enjoyable for learners.

Which MILAs does this apply to?

The following MILAs now have the unshuffled option:

How do I use the unshuffled option?

The default setting is shuffled so updating your copy of these MILAs will have no effect on existing learning interactions. Simply by passing in the “shuffle = false” parameter sets any learning interaction to generate the activities in the order in which they appear in the Learning Content Cartridge SMIL XML file. In Moodle, it works like this:

  1. Edit or create a new instance of the SWF Activity Module
  2. Select the MILA and Learning Content Cartridge in the usual way and set any other parameters as necessary
  3. In the FlashVars Learning Interaction Data section put: Name: shuffle Value: false
  4. Save and preview
  5. That’s it!


Live demos of all the MILAs shown on this site are available to try out. Click on the matbury.com logo to go to the MILAs demo course on Matt’s R&D Moodle. Look for the SWF Activity Module instances called Numbers 0 to 120, unshuffled:

matbury.com Moodle logo

Related links

And finally

I’d be very interested to hear of any other possible uses of unshuffled MILA learning interactions. What could you use them for?

Using the C-Test generator for self testing in extensive reading programmes

Using the C-Test generator for self assessment in extensive reading programmesThere’s growing interest in Extensive reading (ER), sustained silent reading (SSR), free voluntary reading (FVR), or reading for pleasure programmes for second language acquisition. They can be highly effective for second language acquistion and have been shown to significantly improve the fluency, complexity and accuracy of learners’ language use in authentic, real world tasks. If you’re considering introducing extensive reading programmes in your class(es) at your school, academy or institution, read on…

Why extensive reading programmes?

In short, extensive reading:

  • allows learners to meet the language in its natural context and see how it works in extended discourse beyond the language met in textbooks.
  • builds vocabulary. When learners read a lot, they meet thousands of words and lexical (word) patterns time and time again which helps them master them and predict what vocabulary and grammar may come next.
  • helps learners to build reading speed and reading fluency which allows them to process the language more automatically leaving space in memory for other things
  • builds confidence, motivation, enjoyment and a love of reading which makes learners more effective language users. It also helps lower any anxieties about language learning the learners may have.
  • allows learners to read or listen to a lot of English at or about their own ability level so they can develop good reading and listening habits.
  • helps learners get a sense of how grammatical patterns work in context. Textbooks and other study materials introduce language patterns but typically they don’t appear often enough in a variety of contexts to facilitate a deep understanding of how the patterns work.

Source: ER Foundation’s Guide to Extensive Reading handbook (PDF).

There has been a lot of research into extensive reading programmes for both first and second language acquisition in children and adults, which have given promising results. However, relatively little attention has been paid to the results by TESL and TEFL practitioners. A notable study was Dr. Patsy Lightbown’s New Brunswick Experiment* in which school children in French Canada where given 150 minutes (one 30 minute session per day) of extensive reading in English per week in place of traditional classroom instruction. It appears to indicate that learners can indeed “Do it themselves” and in some areas of language use, significantly outperformed classroom instructed learners, although the paper calls for further investigation.

The Extensive Reading Foundation provides help, advice, research evidence and reviews of graded readers and other books for anyone who’s interested in trying out extensive reading with their learners. A good place to start is with the ER Foundation’s Guide to Extensive Reading handbook (PDF).

*Lightbown, P. Can They Do It Themselves? A Comprehension Based ESL Course for Young Children, Comprehension based Second Language Teaching, by Courchêne, Glidden, St. John and Thérien (eds.), University of Ottawa Press, 1992.

Why use the C-Test MILA in extensive reading programmes?

It’s important and motivating for learners to be able to assess how much they are learning from their activities, i.e. how much progress they are making. Some learners (and teachers) can be sceptical about the value of extensive reading and reading for pleasure without a dictionary, grammar exercises or reading comprehension questions. The following is an attempt to address this issue constructively by allowing learners to do assessments specifically related to the texts that they are reading without changing the basic nature/procedure of extensive reading activities and requiring little, if any, extra input from teachers. An added benefit is that learners and teachers can easily monitor learners’ reading and overall progress from the c-test results in Moodle’s grade book.

How does it work?

Here’s one possible scenario for using the C-Test MILA for extensive reading. Learners:

  1. pick 3 paragraphs randomly from the text/book
  2. generate 3 c-tests by copying and pasting the 3 paragraphs into 3 instances of the C-Test MILA
  3. attempt the 3 generated c-tests; the c-test results and paragraphs of text are stored in Moodle’s grade book
  4. read the entire text/book over a period of hours/days/weeks
  5. repeat steps 1-3 with different randomly selected paragraphs from the text/book
  6. compare their results from before reading and after reading; Has their performance improved?

Additionally, if a learner scores particularly poorly on their initial attempts on the generated c-tests before they read, they may be well advised to postpone attempting to read that particular text until they’re “ready” for it and selecting an easier, more suitable text in the meantime. Learners can quickly generate as many c-tests as they need until they can find a book or text at a suitable level for them and that they’re interested in reading.

If your school has a library of graded readers, it would be considered fair use in most countries, i.e. within copyright law, to scan and copy paragraphs from each book and set up a selection of ready made c-tests for learners to take.

How to deploy the C-Test generator MILA

Example: How to set up the C-Test generator in Moodle. On the desired course page:

  • Create a new instance of the SWF Activity Module
  • Write the title, description, etc.
  • Select the C-Test MILA
  • In FlashVars Learning Interaction Data > Name, write “input”
  • In FlashVars Learning Interaction Data > Value, write “true”

FlashVars Learning Interaction Data

  • Click “Save and display” and test it with a suitable paragraph or two of text.

C-Test MILA Demo

There’s a demo set up on the Multimedia Interactive Learning Applications course on my R&D Moodle (login as a guest). Find a text to test yourself with (perhaps from Project Gutenberg?) and copy and paste it into the C-Test user input reading level test generator in the C-Test topic section (#11). There’s also some ready made c-tests there to try out.

Listen and select Multimedia Interactive Learning Application

What is it the Listen and select Multimedia Interactive Learning Application (MILA)?

Listen and select Multimedia Interactive Learning Application

It’s software for learning English as a Second or Foreign Language (ESL/EFL) written in Flash. When deployed in Moodle 1.9 using the SWF Activity Module, it has access to Moodle’s grade book and can save learners’ grades as well as other useful information. It can also be deployed in other learning management systems (LMS), in standalone web pages, and in content management systems (CMS) if you have some basic knowledge of HTML.

What does it do?

It loads multimedia learning content cartridges and uses the images and audio in them to generate simple, intuitive, interactive game-like activities. From a learner’s perspective, they:

  1. Look at the four images
  2. Listen to the audio recording
  3. Select the image which most closely corresponds to the audio
  4. If the learner selects incorrectly, they can try again until they find the correct image
  5. Go on to the next four images
  6. Repeat until all the images and audio have been matched

The Listen and select MILA automatically generates the activity and “shuffles” the images into random order each time it’s played. That way, each attempt at the activity is slightly different so learners can’t memorise the order they come in or remember any of the answers by their position. In other words, the only way to successfully select the correct image is to match it to the corresponding audio.

Common Objects Images Common Objects MP3s

Images and audio from the Common Objects multimedia learning content cartridge.

Since the multimedia learning content cartridges that it loads are external and interchangeable, the Listen and select MILA can be reused to generate any number of activities with different cartridges. For example, an elementary English course (A1) may include vocabulary related to the alphabet, numbers, phone numbers, jobs, flats and houses, food, times and dates, and common verb expressions. You can deploy an instance of the Listen and select MILA for each of the vocabulary sets or even break the vocabulary sets up into smaller, “bite size” activities and spread them out over the course of the week.

The cartridges themselves are open format, i.e. separate, reusable media files, which means they can be edited to create new combinations of images and audio, and with a little knowledge of SMIL XML (easy to learn) and some basic audio and image editing skills, you can create new cartridges of your own. Additionally, the images and audio in the cartridges can be used in other pages and activities in your CMS or LMS, for example in Moodle’s Glossary activity module to create picture and audio dictionaries.

When deployed in Moodle, the Listen and select MILA records the number of correct selections as a percentage of the total, the time taken to complete the activity, and the total number of images in the activity in Moodle’s grade book. The SWF Activity Module generates progress charts from Moodle’s grade book entries that show graphs of previous attempts over time, which can encourage learners to develop mastery of the activities.

Where can I try it out?

You can see a working demo of it deployed in a course in Matt’s Moodle here. Log in as a guest and go to section 5 of the MILAs course. Guest users cannot save their grades in Moodle’s grade book. Please contact Matt if you’d like to have a free and confidential learner account on the course so you can see how the progress charts work.

How can I get it for my school’s or organisation’s site?

You can buy a licenced copy of the Listen and select MILA by contacting Matt directly. All MILAs are licensed under a generous 30 year agreement which allows you to deploy as many instances as you like from the specified domain or website as well as any local testing servers or intranets you or your organisation might use. They also come with a free Common Objects starter multimedia learning content cartridge to get you started. Licences include updates, enhancements and bug fixes. Full details of the licence agreement are available on the MILAs demonstration course.

Are Flash and HTML5 locked in a mortal struggle for control of the internet?

Are Flash and HTML5 locked in a mortal struggle for control of the internet?

It’s a loaded question, isn’t it? The kind of attention grabbing headline we’ve come to expect from the mainstream media who receive a substantial portion of the $691,000,000 (2010) of Apple Inc.’s annual marketing budget. So what of this epic struggle between Adobe’s flagship software platform and the open source, open standard HTML5?

Some sobering facts

  • HTML was born* in 1995.
  • Javascript was also born in 1995.
  • CSS was born in 1996.
  • Flash was born in 1997.

* By “born” I mean the first working versions of the respective languages and runtimes were released to the public, i.e. HTML 2.0 and Flash Player 2.0.

So none of them are new and they all get significant new features added to them from time to time. HTML, CSS, Javascript and Flash have co-existed, collaborated and integrated with each other for the past 14 or so years. They’ve done very well together and if we took any one of them away, the WWW would be a poorer place for it. They all have their merits:

  • HTML is open specification and great for flexibility and accessibility. HTML text flows naturally across the screen, browsers can apply anti-aliasing to make it smoother on the eye, the text can be resized (Ctrl + mouse wheel) which is perfect for the sight-impaired, assistive technologies can convert the text to speech for accessibility, etc. In short HTML is wonderful for everyone.
  • CSS (Cascading Style Sheet) defines the physical appearance (look and formatting) of web pages, for example defining text fonts, sizes, colours and styles, the arrangement of areas of text, images and other elements on the page.
  • Javascript is a flexible, open format, object oriented scripting language that runs natively in web browsers. It adds interactivity to web pages transforming static, inert HTML elements into interactive objects that respond to users’ actions. Since 2000, Javascript has also been commonly used in elearning SCOs, e.g. Adobe Captivate, Articulate and Raptivity, to relay data from Flash applications to Learning Management Systems’ SCORM modules. It’s now becoming more widespread with the introduction of code libraries such as JQuery and MooTools which make programming with Javascript’s idiosyncrasies much easier.
  • Flash and its native programming language, Actionscript, provide the whiz-bang wow factor on the WWW. Its role has always been to do the things that web developers couldn’t and can’t currently do on the WWW with HTML, CSS and Javascript alone or where it is impractical to do so. Its primary rise to internet fame was in providing a platform to display scaleable vector graphics (SVG) and animation in web browsers, i.e. images that move and don’t get pixelated when you expand or zoom them. Shortly after that it provided support for sound and then video. Before Flash Player supported video, it was possible to play video on web pages with other plugins like Apple Quicktime, Windows Media Player and Real Networks Real Player. However, they all used different, proprietary video formats that weren’t cross-compatible (See Youtube API Blog link below). Flash Player is currently the only way to do web conferencing with access to webcam and microphone in a browser. The most recent version of Flash Player (11) introduces 3D graphics engines and GPU hardware acceleration: http://away3d.com/

In short, they’ve all had a long and productive history together and they’ve all contributed to making the web a richer, more enaging, more accessible medium. At one time or another, they’ve all had their critics and predictions of their demise. Will HTML5 kill Flash? More likely, HTML5 will gradually replace HTML4 and some but not all of what Flash currently does. No killers, no victims and not very sensational after all.

Further reading