How many times have you seen a cool layout on a web page and wondered to yourself, "How'd they do that?" Now, how often did you take the next step and viewed the HTML source code for that page? Or went further and copied that code for your own work?
Back in the early days of websites, I copied HTML code with abandon, learning code as I went along. I still view HTML source code at least once a day, usually to copy my own formatting for a new post, and I love the ability in Firefox to view specific source code.
Walter Bender, President, Software and Content for One Laptop Per Child views much more source code than I. In fact, he has a whole vision of viewing source code for the One Laptop Per Child $100 laptop CM1 2B1 XO Children's Machine.
To quote John Madea:
For as long as I’ve known Walter, he’s always claimed that the secret of the Web’s success was the way in which web browsers always had access to the source code of each web page through the "View Source" command.And now Walter is pushing to add a view source capacity to the OLPC laptop. And not only for HTML as a right-click per today's Explorer/Firefox browsers, Walter wants to upgrade view source to its own "Src" key on the OLPC keyboard for the OLPC operating system.Because most of the Web was built in this open source manner, it became easy to replicate the knowledge of the Web with a simple cut and paste. He reasons that without this ease of playing with digital information in such an open manner, the Web would never have caught on.
In his recent Linux World article Don Marti, reports that:
Just as the CM1's software is getting an overhaul, so is the keyboard. "Nicholas Negroponte's one absolute demand is to get rid of Caps Lock," Gettys says. And, Bender says, "There's one new key they get that's the important one and that's the View Source key."While I commend the OLPC team for re-examining the keyboard, removing low-use keys and adding new ones, will a view source key really be that transformative? Will non-geeks really care to view source? Especially the Python source code that underlies the OLPC operating environment?
Or has Tyler Karaszewski said it the best on Chris Ball's "View Source" post?
This has been done. There's a "hood release" lever on pretty much every car sold in the world. Of all the hundreds of people you know that drive cars, how many of them do you know that pull the hood release lever with any regularity? Only mechanics.And that barrier keeps rising. With HTML, a relatively intuitive code, the barrier is already too high for old-school hand coders like me, bewildered by all the Java, Flash, and Ajax (but thankfully, less frames), running around on websites today. And most people would consider me a serious geek.Do you think that the hood release lever on cars has led to a greater understanding by the general public of how cars work than there would have been had it required a wrench to remove the hood?
The barrier keeping people from fixing their own cars is not that getting the hood open is too difficult (nor would it be if the hood was bolted shut). Turning a wrench is trivial, understanding how the engine works, why it's broken, and what it will take to get it fixed is the barrier keeping people from learning to fix their own cars.
Those that are not geeks, those that just want the OLPC to work, and this will be the vast majority; a view source key will not help them. Or as Mauricio observes in another reply on Chris Ball's "View Source" post:
This story sums what I feel might be the main problem with the OLPC project. It appears that many of the involved consider the main objective of the program as teaching children how to write code. I would guess that would be the interest of 2 or 3% of the population, at best. These computers were supposed to help children in their educational process as a whole (language, communication skills, math, geography, the lot).Right, Mauricio, it's a learning project, not a laptop project.
don't forget you are talking about children! children are curious, not the settled down consumer-creatures we become in our 20-ies.
if you give childlen infinite number of levels in DOOM or Mortal Combat many of them will play forever. if you give them just two levels - they play them till it gets boring and then start looking for a way to change and expand things - children so much more creative than we are. Given the limited ressources (limited internet connection at home, limited wikipedia-alike,etc)and limited recreational opportunities elsewhere, many of them will start expanding and changing parts of the software . very much the way you've copyed HTML around. they don't think why, they just do, for no particular purpose -they are playing.
I know this is an old thread, but I thought I'd chip in regardless.
Tyler's comment about the "open hood" lever, while intended as an argument against the "view source" key, actually explains how useful this key could be.
You can go to any small village in (say) South America (at least any with a road through it), and you'll find a car mechanic.
If you ask him how did he get started, you'll get the same answer: "I like cars, I started tinkering with them when I was young... ten years later I'm the town's mechanic".
All of these mechanics (I assure you) started the same way: by opening the hood to a car and tinkering with it.
I agree completly with jorge,
I started to develop by cloning and modding vb6 code. although that didnt made me a developer at all it was a greate starting point to get me into programming.
The ability to see the source won't make hackers out of the children, but if they can't even see the code, they will never be able to hack it.
and whats a better way to learn that play around with what you allready have at you finger tips !
Will the children only see the code or will they be able to change the code? If the view source key lets them see the code, that is okay. If they can edit the code there will be a problem. They will break the code in minutes and the machines will be come bricks.
Carlos, if they could see the code but not change then it wouldn't be Free Software, would it? Of course they will break things. OLPC's goal is that the system should be easy to fix instead of being hard to break. See the previous comments about the educational value of this approach.
I really enjoyed this idea. I will love the ability to read code and research how it works. I want a view source key on my computer now!
The CAPS LOCK key is the most evil key on a computer. I knew a company where the developers put standing coins next to the key just to prevent them accidentely hitting it. Dropping it is a decision I will celebrate.
The View source code is brilliant too. XO is written in Python. Maybe not your or my favorite scripting language, but a very clear and clean one.
The idea is that just like ALL (casual) web developers started with "View source", all programmers started by reading source. It is also true that a car with the hood welded shut is worthless in the developing world.
The OLPC is the children's own laptop, so they should be able to control it. They should be able to write their own (little) programs to adapt it, for which they must look at existing code. Some will manage much more and some teenagers will even start to do really advanced work.
And just like cars. If the car is readily servicable, it is not that EVERYone should be a mechanic, just that everyone should KNOW one. And the OLPC allows children to exchange application bundles in a safe way.
And then, if there is a really difficult problem, your top MIT scientist can guide this Nepalese kid by writing her:
Open X, hit the show source key, scroll down to "procedure Y()", and change "n > j" into "n >= j". Sorry for the inconvenience, we will post this on-line and change it in the next release.
(or, if it more difficult, "replace procedure Y() by procedure Y'() printed below")
We know it works this way because it is Python, which doesn't need a tool chain. This is what has been happening for years in FLOSS. If have solved really difficult Linux driver problems by following receipts on discussion boards.
Winter
I think the possibility to read and to modify code its not only a great idea; it is a right that everybody should have.
Im not a mechanic, and never will be one, but I want to have the right to work in my car, to fix it, to learn about it or to broke it. The same for computers.
All this is about the right to learn, whatever the matter is.
I'd like to chime in with a "me too" . . . sure most people don't find much use for the hood latch on a car, but we're glad it is there: it allows us to get in if we need to. For the smaller number of people who DO want to play under the hood, the hood release is invaluable. We all learn differently and and those who are going to get into computers ought to be given the access and encouragement to learn.
I played with computers for a decade before I learned to program. Maybe a "view source" key might have gotten me going faster.
As for code complexity: you can still view the source on this very page and understand much of it. I understand that Python is constrained to 80 columns and is highly highly readable.
As for breaking things: EXACTLY!! The kids ought to have access to break the code on their computers. Rather than turning them in to worthless bricks: worst case you reinstall the OS! talk about a LEARNING experience!! Anyway, programmers use revision control: hopefully an XO could provide some rollback mechanism. :)
It should also be good for long-term security ... people will learn that computers execute code, and code can have flaws an exploits. If the kids can monkey with their own code, you KNOW they're going to have some early transformative learning experience NOT to paste in "cool" code mods from the Class Hacker. ;)
Cheers,
-danny
"The OLPC is the children's own laptop, so they should be able to control it" This in not totally true. As I found out after changing some of the software and then doing an upgrade only to see my changes gone. To beat the car metephore a bit more. I added power stearing then brought my car into the station and came out the power stearing removed.
As for looking under the hood. In that village how many mechanics are there?
As for the caps key. I don't see how that's such a bad thing. I like to comment my code in caps makes them stand out. I see how it saved space on the kb and that reason I buy. It being bad. Name one time it ever did anything bad that couldn't be un done with a backspace. I mean honestly...
" if they could see the code but not change then it wouldn't be Free Software" Um yes it would be free. I've sent quite a few apps out into the world and they were all free. I've had plenty of free beer but not once have I seen the recipe. Free to change perhaps not but free is tied to the effort I put into getting it (cash or other wise) not it's mutability