this is how easy it can be
by Christopher Blizzard
Greg DeKoenigsberg, based on a lot of good work by Owen Williams, put up a Red Hat Magazine article about how to build a simple activity for the OLPC XO laptop. The article itself is good, of course, but I want to point at something deeper here. Something that been pretty fundamental to how we’ve been building out the infrastructure for the interface on the laptop. Notice how incredibly simple it is to write an activity. Set up one descriptor file, one icon, and a source file. Copy those files into a directory on the laptop and you’re ready to go.
You don’t have to learn the entire RPM build system to be able to get an activity on the laptop. You don’t have to put random files all over the place on the file system nor do you have to know the details of %configure, or how the macro system works or how you need to re-run ldconfig if you happen to use a library. The cognitive load is shifted from learning everything about how we package software to actually writing the software itself. You also don’t need root access to install software and, holy crap, it’s trivial for me to give you a piece of software that I have on my machine.
The choice of Python + Gtk is a part of this story as well. Python and Gtk are about as close as we can get today in terms of being able to make something that’s super-easy to get started with. I think we could get better. It seems that squeak and tools of its ilk are on that path, but they march to a different beat in a lot of ways and aren’t integrated enough with our environment to be considered as of yet. But that’s not really the point. The point is, how low can we make the barrier to entry? How can we get people kicking ass as fast and early as possible?
Over the next few weeks we will be continuing to make it easier. We’ve gotten to the point where sugar is stable enough where other people might be able to hack against it and develop more activities. To that end, we’ll be releasing some livecd-like utilities on a regular basis so people can get some hacking done on top of it. It’s not just about sugar the environment anymore, now it’s about the ecosystem around it. Curious and adventurous folks (like Owen Williams, for example) have already been discovering what it’s like, with all its up and downs. But now we want to open it up even more.
More to come!
“So easy, even gdk can do it!” is the slogan. Run with it.
So, there is a share link on the menu, but no ‘edit source’? Is this going to be added?
monk.e.boy
Meet the OLPC Team Behind the “Sugarized” User Interface
After two days of constant OLPC XO BTest-3 hardware upgrade coverage, thoughts, and impacts, its time to remember the greater vision, the complete One Laptop Per Child program. What better way to remember that this project is about people, not machine…
At some point I hope we’ll add the view source option.
If you read brasilian portuguese, there are a complete course about the creation of Python activities for the x0, including the use of the SQL database.
Many codes, samples and a simplified kit to install an emulator at a Windows PC for recreation of the exercices.
The address is:
http://www.dmu.com/admin/admin0.html
I’m surprised that you’re going ahead with programming with python+gtk and branding it as an entry-level programming “game” for kids. I’m very enthusiastic about the idea of OLPC, and I was having a look at the mockup of the Develop software (http://wiki.laptop.org/go/Image:Develop-activity-very-early.png) and it really doesn’t seem like easy enough for kids. Python, though it might seem the best option for today thanks to its bindings to GTK and vast capabilities, is by far more difficult than HTML (which made the Web popular) and doesn’t even come close to being understandable to non-programmers. How is this supposed to be fun? Has anyone made any tests with children as to how they play along with the idea of Python programming? I really admire your creatity with the project, but I think that perhaps the task is over-ambitious. Imagine if Linux had something on par with AppleScript in terms of its simplicity and efficiency in coding.
I actually agree that the current develop activity is probably too hard for most kids to learn out of the box. But at the same time it’s a far cry from learning makefiles and compilers and whatnot. For programming, which still requires a lot of text and understanding flow control, I’ll take what I can get at this point. Python is better than Java, which in turn is better than C which is better than assembly. It’s just a matter of degrees.
Uruguay is the first country to buy XO laptops in large scale.
Here in Uruguay, the government plans to buy XO laptop not only for children, but also for school teachers. But for adults, the experience is very bad:
1) The laptop hangs frequently.
2) The operating system do not allow to create directories or copy files to internal memory.
3) The laptop dont recognize USB mouse (needed for adult’s fingers).
4) Also, this version of Linux do not recognize any printer.
5) Internet is unstable. Web pages with Flash hangs laptop.
MP3 files hangs the laptop too.
How our childrens can print his/her job? How about saving files? How the teachers can edit text created in Word in standard PCs?
Why the applications have bad translations , or no translations at all? (Here we speak Spanish).
Why the laptop hangs without an only error message?