Posts tagged: ActionScript

Dynamic phonetic chart application

I’ve just completed a new Flash learning application aimed at EFL/ESL learners and teachers which I believe is a good solution to many of the problems facing those who want to use phonetics in teaching English as a foreign or second language.

What does it do?

It can display any number of phonetic symbols which appear in groups as coloured buttons (see illustration).  When users click on one of the symbol buttons, a list of example words appears with the phonetic spelling and a play button next to each one so that they can listen to audio recordings of the example words.

The example on my Moodle deploys the symbols in a typical arrangement. They’re in columns of corresponding short and long vowels, dipthongs, corresponding voiced and unvoiced consonants and finally the remaining consonants.  By editing an external XML file, you can arrange and group the set or subsets of the phonetic symbols any way you like. For example, the past simple of regular verbs ending in /-id/, /-d/ and /-t/.

Why is it an advantage to make it dynamic?

Traditional phonetic charts (also known as phonemic charts) are fixed, static items that you cannot change. In most English courses, learners are presented with a single, very general, one-size-fits-all chart for the entire course. Such charts typically have a small, fixed set of vocabulary for learners to view and listen to and, more often than not, it bears no or little relation to the vocabulary being studied at any particular moment in the course. See this example on Oxford University Press’  New English File site or this example on the British Council’s BBC Teaching English site.

Making any Flash web application dynamic gives one very important advantage. Anyone can edit it without having to buy expensive software. In fact, all you need is a text editor and a little familiarity with XML  which is human readable and relatively easy to learn. Any teacher or course content developer can create any number of vocabulary sets and deploy them in Moodle along with the related course materials, giving learners specific pronunciation support for the target language in a particular module, unit or activity. Did I mention that it’s also very easy to correct any typos that you find?

Secondly (the technical bit), the Flash learning application contains no text or audio itself, all of that is loaded externally, making it only 12Kb in size which is less than half the size of the containing Moodle web page (a similar sized photo would be around 50 – 200Kb). This means that it appears almost instantly. The application then loads the words and phonetics as an XML file (XML is the de facto file format for dynamic learning content). The audio files are loaded as and when users play them. Typically, audio files tend to be quite large and so only loading them as required means that the application starts faster and only uses the internet bandwidth that is absolutely necessary – ideal for users with slow or intermittent connections.

How is using Flash an advantage over normal web page based phonetic charts?

Phonetic symbols have always been a bit of a problem on the internet, well actually, text and fonts in general. In order for a web page to be displayed with the correct font, e.g. Times New Roman, that font must be installed on users’ computers. If it isn’t, a substitute font is found automatically. The trouble is that not all fonts contain phonetic characters, in fact very few do, so what works perfectly well on one computer may be unreadable on another if it hasn’t got the correct font installed.

Flash resolves this issue by allowing developers to embed (include) fonts within their Flash applications. This means that the application carries the required fonts with it and will work on any computer regardless of whether it has any fonts installed or not. This is especially important with phonetic characters since so few fonts contain them. Problem solved!

Try the demo:

As always, I’ve deployed a demo of the chart, with 445 example words, on my Moodle demo course (Login as a guest). (Currently not available)

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
  • Share/Bookmark

My Flash MP3 player to be included in Moodle 2.0

In my last post, I described a project I had just started which was a Flash MP3 player that can be used for tests since teachers can determine exactly how many times a learner can listen to an audio file. Here’s an update on the latest developments…

MP3 Player for Tests

Part of Moodle 2.0

I’m pleased to announce that Gordon Bateson, a core Moodle developer and author of the very popular Hot Potatoes module for Moodle, has chosen to include my MP3 Player for Tests in the next major release of Moodle, Moodle 2.0. It will be part of the QuizPort module which is the successor to Hot Potatoes. Over the last few days, I’ve been working closely with Gordon on the exact specifications and functions of the player to optimise it for learners to take listening tests in Moodle.  The announcement came today on Moodle.org forums. You can login as a guest if you are not already a member of Moodle.org.

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)
  • Share/Bookmark

Moodle SWF Activity Module developer preview

SWF Activity ModuleOK, this is going to be a very techie post as it’s aimed exclusively at developers who are interested in integrating Flash and Moodle. If you’ve never written a line of computer code, then this article will most probably bore you to death!

What is the SWF Activity Module?

The SWF Activity Module deploys Flash learning applications as activities in Moodle courses. It uses standards compliant XHTML 1.0 Strict embed code and leverages SWFObject 2.2. For Moodle users, especially non-developers, it’s a quick, easy, reliable, and mostly importantly, non-techie method of embedding Flash.

What’s the developer preview?

I’ve just uploaded a two-part installer package to the SWF Activity Module project site on Google Code. The first part, like any other Moodle activity module, performs the installation in Moodle and acts as the user interface. The second part is the Flash Remoting service library which handles communication between Flash and Moodle. The particular implementation of this is AMFPHP. This package is a developer preview. It has not been extensively tested, has not been proven to be stable and is not intended for installation on public servers.

What does it do?

So far, the activity module does the following:

  • Installation
  • Backup and restore
  • Creates and manages SWF Activity Module instances
  • Creates and manages grade items in Moodle’s grade book
  • Custom grade reports

The Flash Remoting service library does the following:

  • Establishes fast, lightweight, powerful two-way communication between Flash learning applications and Moodle
  • Handles user authentication, capabilities and permissions
  • Allows Flash learning applications to push and retrieve grades and user data in Moodle’s grade book
  • Allows Flash learning applications to retrieve user data such as avatars, VoIP client IDs, groups, etc. to facilitate social networking and web communication between learners and teachers

Accurately track learners’ activities while on-line

The custom grade reports are particularly interesting because they provide a much asked for function in Moodle activities, namely tracking the amount of time that learners spend on activities accurately. The problem at the moment is that Moodle can only record the time elapsed between requests sent to the server while learners are using a module. Between server requests, Moodle can’t tell whether a user was studying or if they went for a tea break, either way the elapsed time logged is the same. Since Flash learning applications run on learners’ computers, they can track mouse, keyboard, camera and microphone actions over any given period of time. If a learner goes for a tea break, mouse, keyboard, camera and microphone actions stop and Flash learning applications can take this into account, for example, by discounting inactive time. I had to create the custom grade reports because Moodle has no provision for this kind of user data.

Open up Moodle to more web services

The SWF Activity Module is far more than we’ve come to expect from Flash based learning interactions. The Flash Remoting gateway opens up Flash and Moodle to a wide range of 3rd party web services. Here’s a few possibilities to consider:

  • Deploy web conferencing clients that use open VoIP and chat protocols. Here’s an example of an existing project could be leveraged.
  • Deploy Flash clients that leverage Google Wave’s open protocol, when it goes fully public, for real-time multimedia collaborative projects.
  • Consume map, video, search and data services from providers such as Google and Yahoo!
  • Or any combination of protocols and services for media-rich, collaborative learning interactions. The sky’s the limit.

How can I use the developer preview?

This is where I need your help. I’d like this module to be tested in as many environments as possible except, of course, public servers so if you are a developer and have a development server with Moodle installed, this is where you can help. Installation instructions are included in the developer preview package and the Flash Remoting gateway comes pre-configured for Moodle. There’s also a sample “Grade Pusher” Flash application that simply pushes grades into Moodle’s grade book. Please try it out on your development servers and let me know if you encounter any problems with it.

The SWF Activity Module project site is at: http://code.google.com/p/swf-activity-module/ where you’ll find downloads, documentation, examples, source code and the issues tracker.

The SWF Activity Module is proud to be open-source.

VN:F [1.9.3_1094]
Rating: 9.2/10 (5 votes cast)
  • Share/Bookmark

Flash MP3 player for tests

GNU GPL Open Source ProjectEver wanted to control the number of times a learner can listen to a recording in a listening test? Well, I’ve seen this request a number of times on Moodle.org’s forums recently and not so recently. So I’ve decided to develop and share this Flash MP3 player for tests.

What does it do?

It streams (progressive download) and plays a single MP3 (or AAC) audio file once. It has no play back controls whatsoever so there is no way for a learner to listen to the recording again except by refreshing the web page in the browser. There is an optional parameter that sets the number of times the MP3 file plays.

What is it for?

It’s for deploying in listening tests or activities where it’s necessary or desirable to limit the number of times a learner can listen to an audio recording. For example, Cambridge ESOL (English for Speakers of Other Languages) listening tests require that the learner only listen to each recording twice so it’s particularly useful in practice exercises for learners who are preparing to take one of these exams.

How can I use it?

Detailed instructions are included in the download package as well as some example embed code. Unfortunately, I can’t provide any easy to use plugins or modules for LMSs (Learning Management Systems) – It’s too complicated to explain here and now. For now, this Flash application can only be deployed by manually inserting the necessary embed code and editing some of the parameters. I’ve included some code examples and explanations for how to embed it in Moodle from the course files directory (moodledata).  This should present no problems at all for an experienced web designer or web developer and an IT savvy teacher or course content designer could probably deploy it successfully by copying and editing the embed code examples provided.

Do I need to buy a licence to use it?

No, this project is open source and completely free. You can copy it, change it and redistribute it in any way you like. The only condition is that you must leave my name and copyright on it and distribute a copy of the GPL open source licence with it. The Flash CS4 FLA and ActionScript 3.0 source files and full details are included in the download package.

How secure is it?

It’s worth noting that this MP3 player for tests is not secure. An IT savvy learner could easily look at the source code for the web page and see the URL of the MP3 file being played and download it directly. The very popular Firefox web browser also has a number of plugins that makes it very easy to download media files from virtually any source no matter how well they are protected, even streams from media servers that are supposed to be very secure. The easiest way to make it more difficult to cheat is to put a time limit on the listening test itself. That way, there isn’t enough time to listen more than once.

Update:

I’ve moved the MP3 Player for Tests to Google Code to make it more accessible to developers and easier to find and download. You can find the project page here.

VN:F [1.9.3_1094]
Rating: 10.0/10 (2 votes cast)
  • Share/Bookmark

Book review: ActionScript 3.0 Bible

ActionScript 3.0 Bible

By Roger Braunstein, Mims H. Wright and Josuha J. Noble

ActionScript 3.0 has to be regarded as an entirely new language when compared to ActionScript 1.0 and 2.0. It is not downwardly compatible and requires that Flash developers “migrate” to the new version. Having said that, the benefits of programming in ActionScript 3.0 are well worth the effort. For starters it’s up to ten times faster and offer much easier connectivity and networking capabilities, especially since XML is now a native data type in Flash.

The good things about this book:

It’s a project oriented book, full of tutorials that cover the majority of functions that a Flash developer is likely to come across in his or her work. It focusses squarely on how to do things and how to make stuff work rather than covering the more technical aspects of ActionScript 3.0 and object oriented programming (OOP).

The bad things about this book:

It feels like it was rushed through to publication. There are a lot of mistakes and some of the projects either don’t work or are incomplete. It takes some careful persistence to make some of the code work, which actually makes some parts of it a better learning experience, but I could see this being frustrating for a less experienced programmer.

To sum up, I have mixed opinions about it. On the one hand, it provides a much needed project oriented guide to programming some of the most frequently asked for functions of Flash using ActionScript 3.0 and is a good starting point. On the other hand, it contains too many typos and scripting errors to inspire confidence. I would say it’s got a lot of very useful information and is very practical but use it with caution and always read through and check any long projects actually work before starting them.

Recommendations

Personally, I’d recommend this book for intermediate ActionScript 2.0 programmers who want to migrate to ActionScript 3.0  and programmers who want to learn object oriented programming (OOP). If you’re more experienced with ActionScript 3.0 and would like to learn more about OOP, then I’d recommend Essential ActionScript 3.0 by Colin Moock. Colin Moock’s book goes into much more detail about the fundamental principles of OOP but it’s a little light on good examples and projects so I wouldn’t recommend it for beginners.

See preview of ActionScript 3.0 Bible on Google Books.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
  • Share/Bookmark

Video & Audio Comments are proudly powered by Riffly