Boku (software)

From Wikipedia, the free encyclopedia

Boku
OS Windows
Platform PC, Xbox 360
Genre programming environment

Contents

[edit] Overview

Boku is a programming environment for children that runs on Microsoft Windows and the Xbox 360. It continues a lineage of visual programming and Children's programming languages extending back to Logo (programming language) in the 60s and continuing today in projects such as Squeak and Alice (software).

Boku is different from those other projects in several key ways: - it avoids typing entirely; users construct programs by assembling visual elements with a game controller - rather than a bitmapped or 2d display, programs are executed in a 3D simulation environment, similar to Alice (software)

[edit] Language Design

Boku's programming model is novel and rigorously streamlined. It dispenses with the majority of "serious" programming conventions, including symbolic variables, branching, loops, number and string manipulation, subroutines, polymorphism ... and so on.

This simplicity is achieved by situating the programming task in a largely complete simulation environment. The user programs the behaviors of characters in a 3d world, and programs are expressed in a high-level, sensory paradigm.

The typical "hello world" of Boku is:

see - fruit - move - towards

The grammar, as it were, of this expression is:

<condition> <action>

Where <condition> is:

<sensor> [<filter> ...]

And <action> is:

<verb> [<modifier> ...]

An illustrative variant of the above program is:

see - red - fruit - move - towards - quickly

[edit] Philosophy

The goals of the Boku project are primarily cultural. Boku seeks to instill in young children a perception of the computer (and the Xbox) as a malleable creative tool primarily intended for the creation and expression of original ideas. The creators of Boku are concerned about the rise of the consumptive, passive aspect of the personal computer. They seek a return to the "glory days" of personal computers with BASIC in the ROM - a device that is primarily, if not entirely, a creative tool.

An observation from early Boku design discussions with inventors of other children's programming environments is that small children were particularly disinterested in abstraction. The orientation of Boku's language towards physical senses and physical action is intended specifically to retain the active mental engagement of young children.

The aspirational goal of Boku is to provide a programming model suitable for five-year olds. In usability studies, eleven-year-olds seem much more ready to engage in productive use. We have seen children as young as seven construct unique behaviors in Boku, but this is exceptional. The problem for younger children seems to be more one of interest in planned creativity (i.e. working towards a goal) than comprehension of the language.

Another major design pillar of Boku is immediacy and seamlessness. We are targeting children (and adults) with short attention spans - we want creativity to be a continually engaging process rather than long periods of unrewarding labor interspersed with periodic reward moments. As such, the edit-compile-test cycle for Boku is well under a second. Modified programs can be tested with no more than two button clicks.

Boku is a project of the Creative Systems group in Microsoft's research division. Questions should be directed to mattmac at that company's obvious domain.


[edit] References

The Age (Australia): "Get With the Program"

Information Week: Microsoft Research Provides Sneak Preview Of 'Boku' Programming Environment For Kids

Wired: TechFest Demo: Boku

[edit] See also