In part 1 of How to Make Activity Designers Happy, I talked about the paradoxical nature of open-source communities in developing countries, flaws in the current default activity development framework, and the urgent need for a new framework that makes activity designers happy.
By happy, I mean that the framework rewards their efforts almost immediately (roughly 15 minutes of effort) and it lets them focus on presentation and gameplay rather than infrastructure. Last time I offered some vague ideas how this framework might function. This time I will provide more details how this framework should work and why.
Building Good KARMA
Before we get too far, let's give this new activity framework a name so I can save us all a lot of excess verbiage. I call it KARMA, because the word is loosely-related to Nepal, my current residence, and I like to think creating open-source learning activities gives an individual good karma. Coincidentally, it is also the first two syllables of Rabi Karmacharya's last name--an individual put a ton of hard work and personal sacrifice into the OLPC project in Nepal.
Let's Ride The Internet Wave
The web will keep innovating at a breakneck pace. We need to ride that wave of innovation.
In the early days of OLPC, we all had a lot of grandiose and impractical ideas. The educational systems of developing countries would change overnight into constructionist hotbeds. Kids would build their own activities, eliminating the need for large investments in content development. A million PyGTK apps with built-in collaboration and "View-Source" key would spontaneously bloom . . . Well, we're older and wiser now. School systems anywhere are not blank slates that we can redraw from scratch using cheap laptops and Etoys. Similarly, we cannot expect thousands of developers to flock to a framework (PyGTK) that is not commercially popular.
Developing Country Developer Economics
As I wrote in Part I, the economics of open-source in developing countries is quite different than that in the developed world. Developers there have ample enthusiasm for open-source but much less time to contribute.
We need to lower the barrier of entry significantly in order to use their talents. In fact, we need to entice non-programmers such as graphic designers. In my limited experience, graphic designers are much better at designing learning activities than programmers. They better appreciate aesthetics and visual story-telling.
Well, I haven't actually made up my mind what the core technologies of KARMA should be. I need your help to work it out. Before I get into the technologies, here are my priorities. 1) These tools maximize programmer productivity and 2) are open-soure. Priority #1 is much more important than #2. 100% purely open-source activities that don't exist don't help kids learn. The current pygtk framework is purely open-source but you have to become a unix programmer to use it. As I noted in Part I, the vast, vast majority of programmers in the developing world are web developers and a successful activity framework will allow them to re-use their existing skills and tools.
It was easy to settle on HTML and CSS for the presentation but it is tougher to decide on the scripting toolset and on persistent data storage. Flash handles animations really well and it is easy to integrate audio into the animations. Adobe sells some really nice WYSIWYG tools for editing animation and adding audio. A lot of developers know flash so there is a large pool of talent we can draw from. Did I forget to mention that Flash is proprietary?
Flash Isn't Quite Open-Source
Flash is not _as_ closed-source as other software applications like Windows. The Adobe has published the specification for their SWF file format and the ActionScript 3.0 compiler is open-source. However, the Adobe's development tools such as Adobe Animator, Illustrator, Photoshop, etc. are not open-source. Nor is Adobe's flash player plugin. There is the open-source Gnash player but it does not fully support Actionscript 3 or Flash version 9. Rob Savoye and his team at Open Media Now do a great job but they seriously lack resources. Note: Rob Savoye, please correct my egregious errors.
Building Momentum for Gnash
I believe that the best way to increase interest in fully open-source flash is to make Flash more central in the evolving open-source education stack rather than minimizing its role. We definitely cannot wait for Gnash to fully support every feature of the proprietary flash before we begin using it. Open-Source starts when a single developer "scratches an itch" as the proverb goes. It follows then that the best way to bring Gnash up to speed we need to create a nasty, festering sore that irritates the open-source community into action.
Moving the Conversation Forward
Many people will likely hate my promotion of Flash for learning activities. It's OK if you hate me and Flash. I do hope you recognize that we need a more developer-centric activity framework that uses web technologies.
I have a lot more to write about Nepal's experiences developing learning activities and my ideas on Convention over Configuration in sugar activities. I will save those for another day.
Bryan W. Berry is the CTO of OLE Nepal, the Nepali NGO implementing Nepal's OLPC deployments in partnership with the Nepali government.
P.S. The graphic for Karma is actually the sanskrit word for "om" or everything and not the sanskrit word for karma. This is intentional as Om is also the name of OLE Nepal content lead Om Prakash Yadav.