Friday, March 04, 2011

Capacity Focus, 2: Alice 3, Java, computer programming for all and open source software as catalysts for regional economic productivity and development

 Information and Communication Technologies (ICTs) are a critical enabling piece in our productivity toolkit for our people, businesses, churches, and region. But, the key element on the software side, programming, has a stiff entry barrier: learning how to do it.

For decades, many approaches have been tried to lower this barrier, indeed, even BASIC and PASCAL were developed as instructional languages. JAVA was supposed to be a universal language, and perhaps comes closest to that ideal, as it uses a virtual machine that maps to the particular computing device, from a cell phone to a supercomputer. 

But, even if "Hello World" Java style can be dissected and used to teach basic ideas, it is still significantly hard to learn Java.


Alice has been in development since the 1990's at the University of Virginia then at Carnegie Mellon University since 1997, as an educational programming language or authoring environment. The emerging version 3 (in an unfortunately slow -- but usable -- in-house Beta development stage), which integrates with Java and Java Integrated Development Environments [IDE's], now seems to be the candidate to beat:


(This Google Tech Talk from Dec 2007 (58+ minutes) gives a more detailed explanation of the emerging Alice 3.)

The Alice concept is to put three-dimensional actors moving on a stage [that begs for a robotics/mechatronics package!], as objects that do things based on methods; using all the traditional structured constructs for programming. There is the capacity to do interactive games, and to export in effect a computer animation movie, now with Sims 2.0 characters, through collaboration with Computer Arts; a leading games manufacturer.

The required methods -- all of this is linked to object oriented programming (OOP) -- are implemented with drag-drop menus, and so we get out of the problems of code that is doing invisible things that cause puzzling failures, and the related problem of an exacting syntax. (There was once a NASA rocket that had to be destroyed on liftoff because it was veering mysteriously and dangerously off-course; due in the end to a misplaced comma or something like that.)

The Java bridge, however, then allows the introduction of more standard programming environments and languages, opening the gate to more traditional programming.

Alice therefore is a very useful "programming for all" language, and with anticipated packs for physics, engineering dynamics, robotics etc. and purpose-built textbooks, and with free tutor support materials accessible online [cf here, here (tutorials: a whole course) and here for three key resource sites], it increasingly looks like it will be a worthwhile language in its own right: programming for the rest of us. 

Since it is available for Windows, Mac and Linux, and is a Java-based platform, that already makes it  accessible to a wide variety of operating systems. I would love to see adaptations to the OLPC Sugar interface and to smart cell phones, including the Android operating system. (Imagine the youth of our region motivated to learn and carry out programming of applications on their cell phones . . . the single most widespread set of computing capable platforms in the region. A great many cell phones use Linux [or at least Linux derived technology] and/or Java.)

Moving up to strategy, I suggest that the region should come together through implementing a collaborative software technology centre, that focuses on open source technologies, and adapts them to regional needs. This could be based on a consortium of regional universities and should be affiliated with a Caricom technology and capacity building for development unit. The unit should do development and adaptation work, contributing to the open source movement, and hosting a resource base for software adapted to our region's needs.

I suggest, as a first list, we should look seriously at:
OpenOffice office productivity software (also cf. PDF-XChange Viewer for a free PDF reader with markup facility.)


The Linux operating system, especially the Ubuntu distributions [Distros, in Linux speak] and Jolicloud's "click and play" cloud based distribution

Alice and Java as educational and general purpose programming platforms

The OLPC XO-1 educational netbooks (this machine launched the netbook market) and upcoming XO-3 tablets, with their Sugar Linux-based operating system and user interface [low cost, completely open on hardware and software, like the Heathkits of old]

Android Operating System for Cell Phones and tablets

OpenProj Project Management software (works with MS Project Files)

Project in a Box Community Edition (and the PRINCE 2 and log frame project approaches (cf, this critical success factors-based adaptation for project managers (as opposed to AID agency monitoring)] in the context of programme based project cycle management)

GnuCash small business accounting system

Kompozer WYSIWYG and CSS web authoring software

Amaya Web editor

Blender multimedia and 3-d content production software (with video editing capacity; cf basic tutorial here)

GIMP photo/image editing suite, or the Photoshop-ised interface adaptation, GIMPhoto.
(Also look at Irfanview image viewer, converter, slideshow and light duty image editor.)

Inkscape drawing package

Dassault Systemes' DraftSight 2-D CAD DWG standard software (including the educational packs)

Google Sketchup 3-D modeling software

The emerging VLC VideoLAN Movie Creator video editing suite, and in the meanwhile, ZS4 or Windows Movie Maker or the like

Audacity sound editing software
Businesses and individuals would then make money through applying the products to their own production of goods and services [e.g. education, entertainment, office productivity and multimedia software], or by providing value-added support services to businesses, individuals, government agencies and organisations, and through providing plug-in modules or extensions.

So, we here see a sketched outline strategy for cost-effectively moving the region from the consumption and entertainment side of ICTs to the production side, opening up an approach to identifying and exploiting profitable niches in the most dynamic sector of the global economy. END

No comments: