User: Password:
Subscribe / Log in / New account


Karma targets easier creation of educational software

February 17, 2010

This article was contributed by Joe 'Zonker' Brockmeier.

In January 2009, Bryan Berry proposed an "opinionated" activity framework that would make it easier to create interactive educational materials. Berry, the technology director for Open Learning Exchange (OLE) Nepal, found the One Laptop Per Child (OLPC) PyGTK activity framework lacking and saw a need to accelerate development by lowering the barrier of entry to creating learning activities. The result is Karma, an open source JavaScript library and framework that builds on standard Web technologies.

[Karma Introduction Page]

Rather than emphasizing integration with Sugar, Berry suggested embracing the most widely used development tools popular in developing countries, namely Web development tools, rather than platform-specific tools like PyGTK or other toolkits popular with educational projects. Berry also decided to avoid proprietary technologies like Flash that are widely used in creating educational content.

As a result, the Karma framework is based on JavaScript, HTML5, and SVG. This means that Karma only requires an HTML5-capable browser like Firefox or Google Chrome for users. Developers only need a text editor and Web browser to get started, and free tools like Inkscape to create graphics. Having Git also helps, as the framework is hosted on Gitorious. Eventually, the project should also support storing a student's work via Sugar's Journal and provide collaboration through the Telepathy real-time messaging framework.

The other consideration is resource constraints. Since Karma is being targeted at OLPC machines, the activities have to run on low-power machines. OLPC XO-1 laptops come with AMD Geode 433MHz (yes, MHz) CPUs with only 256MB of RAM. The lessons should run within a screen resolution of 1024x768, minus browser UI, and can feature images in JPG, PNG, or SVG. Developers can also include sound in Ogg Vorbis, but video is not yet supported (though it is on the roadmap).

[Karma Occupations Chart]

Karma and lessons are being worked on by SugarLabs and OLE Nepal. OLE Nepal is currently in the second phase of an OLPC pilot test, which has rolled out OLPC machines to 26 schools over six districts. As part of the pilot, OLE Nepal had written 60 lessons in Squeak (an open source version of Smalltalk) which are now being converted to Karma. The lessons are aimed at kids in elementary school, and include math, vocabulary, and geography lessons. According to the most recent meeting notes the group has managed to convert all but 12 of the 60 lessons from Squeak to Karma.

Code from the Karma project is under the MIT license. Lessons and content are licensed under the Creative Commons Attribution Share Alike license, which allows sharing and remixing of content so long as attribution requirements are met and requires distributors to pass along remixes under the same license.

[Karma Plants Chart]

The most recent release came out in early January. The release debuted the Karma API that covers working with audio, images, and the canvas, and a bundle for the XO. For those interested in seeing the fruits of Karma without a code checkout and without an XO at their disposal, the project has several demos on the front page of the Karma site that run just fine in a standard browser.

The Karma web site is a bit disorganized; it spreads out information between the main page and sub-pages hosted on the Karma Education blog, SugarLabs on Gitorious, and discussions on Google Groups. Once the project is farther along, some work on making it easier to get the tools and create a setup without scouring so many different pages will be a real help to developers.

The best way to get started currently is to do a quick Git checkout of the mainline Karma repository and follow Berry's tutorials. For developers familiar with JavaScript and Web development, it shouldn't be difficult at all to start developing lessons. For educators who aren't familiar with Web development, it will be a bit more difficult, though probably easier than PyGTK or other development frameworks.

The roadmap has 0.3 being released around March 31st. This release is slated to have full i18n support, several lessons that have been translated into three languages each, the Chakra browsing layout — which is a template for designing lessons — and a Narwhal build script that will create a bundle with all of the lessons under the Chakra layout.

Want to help move the project forward? The Karma team is actively seeking developers to help out. Discussions are hosted on the Karma.js Google Group, and the developers hang out on Freenode in #sugar and #olenepal, though #olenepal was empty when we checked earlier this week.

The Karma project seems to be on a good track for providing an interactive educational framework. A standard bundle for educational materials that runs in any W3C-compliant browser should be useful not only for students in developing countries using OLPCs, but also suitable for educational use around the world.

Comments (none posted)

System Applications

Audio Projects

JACK 1.9.5 released

Version 1.9.5 of the JACK Audio Connection Kit has been announced. "Continuing the JACK2 series. - Dynamic choice of maximum port number. - More robust sample rate change handling code in JackCoreAudioDriver. - Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more). - Fix port_rename callback : now both old name and new name are given as parameters. - Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver. - Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838). - Check dynamic port-max value. Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson)."

Comments (none posted)

Device Drivers

libshcodecs 1.0.0 released

Version 1.0.0 of libshcodecs has been announced, it includes code cleanup and documentation work. "libshcodecs is a library for controlling SH-Mobile hardware codecs. The [SH-Mobile] processor series includes a hardware video processing unit that supports MPEG-4 and H.264 encoding and decoding. libshcodecs is available under the terms of the GNU LGPL."

Full Story (comments: none)


Harald Welte: In six weeks from bare hardware to receiving BCCHs

Harald Welte writes about progress in creating an open GSM mobile telephone protocol implementation on his blog. "So, just to be clear on this: Neither OpenEZX, nor gnufiish nor Openmoko were ever about writing Free Software for the GSM baseband processor, i.e. the beast that exchanges messages with the actual GSM operator network. But this is what we're working on right now. [...] It's about time, don't you agree? after 19 years of only proprietary software on the baseband chips in billions of phones, it is more than time for bringing the shining light of Freedom into this area of computing."

Comments (8 posted)

Web Site Development

moin 1.8.7 released - important security and bug fixes

Version 1.8.7 of the moin wiki engine has been announced. "MoinMoin 1.8.7 is a security bug fix release. Please update as soon as possible. See for the release archive and the change log."

Full Story (comments: none)

Nagare web framework 0.3.0 released

Version 0.3.0 of Nagare web framework has been announced, it includes a number of new capabilities. "Nagare is a components based framework: a Nagare application is a composition of interacting components each one with its own state and workflow kept on the server. Each component can have one or several views that are composed to generate the final web page. This enables the developers to reuse or write highly reusable components easily and quickly."

Full Story (comments: none)

Desktop Applications

Animation Software

The Morevna Project: Anime with Synfig and Blender (Free Software Magazine)

Free Software Magazine takes a look at the Morevna Project, which is creating an animation based on a Russian folktale using free software tools. "From a more selfish perspective: this is a great opportunity to learn more about animation. The workflow this group has already created is already making huge bounds in defining paths for free-software-based animation production. Not only is this approach free as in freedom, it’s also free as in beer: anyone who’s worked with proprietary animation tools should realize this is worth a lot in itself. [...] From an advocacy perspective: engaging, fun, high profile free culture projects are amazingly good marketing, not just for free culture (the film will be released under the Creative Commons Attribution 3.0 license), but also for free software (everything used to make it is free software: Synfig, Blender, Inkscape, Gimp, Pencil, and so on)." (Thanks to Paul Wise).

Comments (3 posted)

Desktop Environments

GNOME 2.29.90 development release is out

Development release 2.29.90 of the GNOME desktop environment has been announced. "This is the first beta release release towards 2.30, which will happen in March; time flies. Please try this release and report your findings, so that we can make 2.30 smooth and polished. Please note that this milestone marks the beginning of the UI freeze."

Full Story (comments: none)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)


Kicad 2010-02-09-RC1 released

Version 2010-02-09-RC1 of Kicad, a circuit board CAD application, has been announced. Changes include: "All: Lot of changes, mainly in Pcbnew. Doc updated (French and English). Pcbnew: Lot of enhancements. Support of Netclasses (Please (re)read the on line documentation). Better DRC."

Comments (none posted)

Mail Clients

Sylpheed 3.0beta8 released

Development version 3.0beta8 of the Sylpheed mail client is available. Changes include: "* The new filter match type 'is in addressbook' was added. This can be used from filtering, query search and quick search. * The new account setup dialog was implemented. It also supports easy Gmail setup. * The address completion was modified. * The spell-checking and PGP settings are preserved for draft messages now. * The crash problem when trying to check PGP signatures while GnuPG was not available was fixed."

Comments (none posted)

Music Applications

MMA 1.5c now up and testing

Version 1.5c of MMA has been announced. "A development snapshot, version 1.5c, of MMA--Musical MIDI Accompaniment is available for downloading. Included in this release: - A new track, the Plectrum. This can generate a realistic MIDI guitar. Getting a realistic guitar sound using MIDI has been notoriously difficult as calculating the notes in each chord and strumming patterns can be very tricky. Now the MMA PLECTRUM pattern takes care of most of this for you so all you have to do is to enter the chords names and how when you want each string to be strummed or plucked."

Full Story (comments: none)

Rosegarden 10.02 released

Version 10.02 of Rosegarden, an audio and MIDI sequencer and musical notation editor, has been announced. "With this release, we finally bring an end to the long and difficult job of transforming Rosegarden from an obsolete KDE 3 application into a modern Qt 4 application. There was no precedent for an application following this upgrade path, and so we had to begin this process by writing our own custom porting tools. From there, we spent an entire year chipping away at an immense mountain of compiler errors before we could even get a glimpse to see if our new code was going to work. From that first peek until now swallowed the biggest part of a second year, digging into every dusty corner, and putting everything back in order."

Full Story (comments: none)

Office Applications

Gnumeric 1.10 is out

Version 1.10 of the Gnumeric spreadsheet has been released after nearly two years of development. New features include better ODF support, sheets that can be larger than 256 columns and 65,536 rows, improved graphs, better Excel compatibility, faster evaluation, a new ssgrep tool, and much more. Click below for the full release announcement.

Full Story (comments: 15)

Office Suites 3.2 is available

Version 3.2 of the office suite has been announced. "At the start of its tenth anniversary year, and with over three hundred million downloads recorded in total, the Community today announced the release of the latest version of its personal productivity suite. 3.2 gets to work faster, offers new and improved functions, offers better compatibility with other office software, and fixes bugs and potential security vulnerabilities. In just over a year from launch, 3 had recorded over one hundred million downloads from the central download site alone, and the number continues to rise."

Full Story (comments: 2) Newsletter

The February, 2010 edition of the Newsletter is out with the latest OO.o office suite articles and events.

Full Story (comments: none)

Video Applications

Announcing the dvd_menu_animator DVD authoring tool

Lawrence D'Oliveiro has launched the dvd_menu_animator project. "The idea is that you use Inkscape to do the main design of your menu, with all the design tools that that makes available. You also add information to the Inkscape drawing indicating the placement and names of the menu buttons. You then bring the drawing into DVD Menu Animator, assign additional colours for the highlighted and selected states of the buttons, then save the results in a form that can be fed to the spumux tool in the dvdauthor suite."

Full Story (comments: none)

Gnash 0.8.7 released

Version 0.8.7 of Gnash, a flash video player, has been announced. "Improvements since the 0.8.6 release are: * Automatic and spontaneous screenshots support in all GUIs * Significant memory savings in parsing large XML trees and in some function calls * Enhancements in video streaming * Non blocking load of bitmaps, movies, data * Refactoring to eliminate most static data and get closer to re-entrant VM * Cygnal now supports multiple network connections, handling multiple video streams * Cygnal now supports plugins for server side scripting in C/C++ * Improved packaging support for deb and rpm".

Full Story (comments: none)

Languages and Tools


Caml Weekly News

The February 16, 2010 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)


Parrot 2.1.0 released

Version 2.1.0 of Parrot, a virtual machine aimed at running all dynamic languages, has been announced. "- Core changes: + GC performance and encapsulation were greatly improved. + PMC freeze refactored. + More Makefile and build improvements. - API Changes: + The Array PMC was removed. + Several deprecated vtables were removed. + The OrderedHash PMC was substantialy improved. - Platforms + Packaging improvements on some operating systems. - Tools + Some cases in pbc_merge are now handled. + Improvements were made to the dependency checker. + New tool nativecall.pir added."

Full Story (comments: none)


Celery 1.0 released

Version 1.0 of Celery has been announced. "Celery is a task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on one or more worker servers. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is already used in production to process millions of tasks a day. Celery was originally created for use with Django, but is now usable from any Python project."

Full Story (comments: none)

CodeInvestigator 0.22.0 released

Version 0.22.0 of CodeInvestigator has been announced. "CodeInvestigator 0.22.0 was released on Feb 13. I have changed the recording process to make it run faster. CodeInvestigator is a tracing tool for Python programs."

Full Story (comments: none)

unicode 0.9.4 released

Version 0.9.4 of unicode has been announced. "unicode is a simple python command line utility that displays properties for a given unicode character, or searches unicode database for a given name. It was written with Linux in mind, but should work almost everywhere (including MS Windows and MacOSX), UTF-8 console is recommended."

Full Story (comments: none)


Tcl-URL! - weekly Tcl news and links

The February 12, 2010 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)


pyxser 1.4.2r released

Version 1.4.2r of pyxser has been announced. "I'm pleased to announce pyxser-1.4.2r, a python extension which contains functions to serialize and deserialize Python Objects into XML. It is a model based serializer."

Full Story (comments: none)


Leo 4.7 rc1 released

Version 4.7 rc1 of Leo has been announced. "Leo 4.7 rc 1 fixes all known serious bugs in Leo; minor nits remain. Leo is a text editor, data organizer, project manager and much more."

Full Story (comments: none)

Test Suites

Linux Desktop Testing Project 1.7.2 released

Version 1.7.2 of the Linux Desktop Testing Project has been announced. "This release features number of important breakthroughs in LDTP as well as in the field of Test Automation. This release note covers a brief introduction on LDTP followed by the list of new features and major bug fixes which makes this new version of LDTP the best of the breed.".

Full Story (comments: none)

Linux Desktop Testing Project 2.0.3 released

Version 2.0.3 of the Linux Desktop Testing Project has been announced. "Changes in this release: Return always unicode string in gettextvalue, required to fix automated test script in VMware Workstation Fix ooldtp compatibility with LDTPv1 as reported by Mago [1] team Patch by James Tatum for getallstates compatible with hasstate function Fix bug b.g.o#608413 Fix Firefox preference accessing bug, reported by Aaron Yuan".

Full Story (comments: none)

Version Control

Git released

Version of the Git distributed version control system has been announced, it includes numerous bug fixes and documentation work. "The latest maintenance release Git is available at the usual places".

Full Story (comments: none)

Git 1.7.0 released

Version 1.7.0 of the Git distributed version control system has been announced. "The latest feature release Git 1.7.0 is available at the usual places".

Full Story (comments: 2)

Page editor: Forrest Cook
Next page: Announcements>>

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds