Andrew Clunis

Trending towards more awesome.

Develop for OLPC

Recently, I’ve started writing Develop activity, a simple Python IDE for the One Laptop Per Child project.

I’ve been putting particular emphasis on the idea of that development on the Laptop should not be multi-tiered. Students should have the same tools available (as much as technically possible; no C toolchain is available for capacity reasons) as the core developers do.

Right now, the editor component is provided by an embedded instance of gvim, with has some interesting pros and cons. Vim provides a powerful programmer’s editor that can be configured to be modeless (as it will be by default in Develop), but can be reconfigured to expose all of the hacker-friendly features. Many thanks to Ali of Pida, who wrote the vim embedding library.

Develop will also integrate tightly with the mesh networking system and provide a basis for students to be able to modify activities written by others (including the core developers) and collaborate together on writing new ones. As such, I’ve decided to include distributed version control functionality, which permits students to do all of those things, and can scale from tiny projects to large ones. It also fits in nicely with the journal and mesh metaphors described in the HIG.

Discussion about which version control system to use is ongoing, coming down to a deathmatch of sorts between git and bzr, which is documented in greater detail on the wiki page.

Read more about the project at the Develop OLPC wiki page.

Screenshot of Develop running on a real btest1 XO (many thanks to Flipo):