kidslaptop

a child's first computer


https://bitbucket.org/cariaso/hanagame

I have some experience teaching computers, including with the OLPC X0. I have lots of thoughts on why that project failed, but more important is to apply some lessons learned. More fundamentally I'm not trying to solve this for every child on the planet, I want to focus on working closely on just one particular child. I want her hands on a real keyboard, because I believe tablets are for consumers, keyboards are for creators. I want the machine to be something she genuinely enjoys using. I want the machine to be finely tuned to her particular needs and stage of development.

Click to see it in action

While the work isn't done, and probably won't be for many years, I have had enough progress and success to want to show this to others. Everything is open, and I'm confident that others with linux experience can replicate this, and help to make it easier for a wider audience to also use the project.

Demographics

Hana was 18months old when she started using this. I'm sure it's applicable for children considerably older, but I doubt before that age it's relevant, and perhaps even inadvisable.

Maze

The code is from the original OLPC project http://wiki.laptop.org/go/Maze with some customizations. Using the arrow keys moves a marker through a maze. A colored trail shows where you've already been. Mazes can be incredibly simple, but a simple keypress (+ or -) will gradually increase complexity to a level that most adults will find terrifyingly complex.

Icons across the top allow the choice of which directory of videos to play. When the maze is solved, one randomly chosen file from that directory will be shown.

Goals:

After a few weeks of exposure, Hana seemed to appreciate that she had her own machine, much like what she saw mom and dad using. She moved on to

HanaABC

Original code. The child is shown a word. Optionally, text to speech says the word, and a relevant picture is shown. The child tries to type the word. Color coded (Green vs Red) shows characters that are correct or incorrect. After 3 correctly spelled words, a video is randomly chosen and shown.

Goals:

HanaPhonics

Original code. The child is shown a word. ~4 pictures are shown, and the child must click on the correct picture. Correct clicks add +1, incorrect clicks -1. After a chosen threshold score a video is randomly chosen and shown.

Goals:

Content

The choice of what videos will be available is up to you, no video content is included. What materials your child is interested in should be the main driver. The videos themselves should be the reward, so it should be something they actually want to watch. Naturally you'll only want to use materials for which you have a legitimate copyright, perhaps ripped from your own home library. youtube-dl makes it easy to archive anything from youtube. Various collections are also available on piratebay, for which you may have the rights.

VLC is used as the video player.

Code

https://bitbucket.org/cariaso/hanagame

Installation

This is where I need your help. The current installation is very purpose built, and was done on hardware almost certainly different from what you'll use. In our specific case, I used

  1. gparted to preserve the previous MacOS installation, but repurpose free space into a new partition.
  2. fedora26 as a base linux install, however that was done via
  3. https://wiki.sugarlabs.org/go/Sugar_on_a_Stick this provides a GUI which is much more kid friendly than any other OS
  4. removed a bunch of the default apps from below /usr/share/sugar/activities/
  5. git clone the code below that point
  6. store videos below some directory tree of your choice, currently /home/olpc/videos is used in the code
  7. I'm sure there are quite a few gotchas with the install, but mike@biotechnomad.com will be happy to assist
  8. History

    The earliest version was me hacking on an olpc x0 and making it play videos when Hana clicked an icon that looked like her. That led to customizing the Maze, as a precondition of playing videos. Eventually that worked well enough, but the olpc hardware couldn't keep up with the video demands, nor the growing disk space needs. I repurposed Nicole's old laptop (2010 Macbook Pro 7,1). It now runs fedora 26 and sugar. Due to the broadcom chipset in that machine, wifi works, although currently not on boot. I do have a script that I run which fixes it, but I've not automated it into the boot sequence, since there is some appeal in knowing the box won't be on the internet until I take active steps. At the moment customizations are focused on additions to the Typing program.

    Predecessors

    Dynabook
    I'm aware of this as the spiritual ancestor to what I'm doing, but I'll confess that I've not actually read the materials.
    OLPC
    Great concept, but terrible execution, crushed under the weight of it's own ambition. So many successes, hobbled by a few failures, with the mouse pad driver's drift as a notable one. Hey mary lou jepsen, I still want to be able to buy this screen for daylight work on my own laptop!
    Khan Academy
    Such wonderful material, with the math being particularly worthy of praise. Focused, incremental self-paced progress from the number line to calculus with so much in between. But last I looked the entry point still required being able to read, and I need a device that helps to get a child to that level.
    KAlite & Kolibri
    Khan Academy's offline forks which I've used in the past while teaching. kidslaptop doesn't require an internet connection, but it can use one. I use this to allow me to do dev & code editing via ssh, to git push&pull, and occasionally to run firefox on the machine so that she can directly watch a special youtube video on an ad hoc basis.