The "View Source" key

Posted by Chris Ball Sun, 29 Oct 2006 17:59:00 GMT

Don Marti has a thorough write-up of the cross-pollination happening between OLPC and a bunch of free software projects. I enjoyed the last paragraph of the article the most:

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."

Having "the freedom to view the source" can seem very abstract, and having a "View Source" key makes this feature of the machines clear to the users. Imagine one of these kids visiting an Apple Store1 sometime in the future and innocently asking where the "View Source" key is. "Let you view the source? But that's our property, it belongs to us, you can't have it."

For anyone wondering how the technical side to the key can work: almost all of the code the user runs is written in Python, and the system keeps precise track of what's running where.

One of the inspirations for OLPC is the powerful ability children have to learn with minimal guidance; an ability which is consistently underestimated by adults. By providing free software in this way, the very structure of the machine reflects the potential for self-guided learning that originally motivated the creation of the device.

We've added many new features to the laptop since I started working with OLPC — a webcam, SD card reader and dedicated NAND flash controller are the latest — but it's going to take something very special to supplant the "View Source" key as my favourite addition.

(1: I don't mean to pick on Apple; insert any such vendor here. I chose Apple 'cause they're both a hardware and software manufacturer. In fact, as the article points out, Apple have helped us out significantly by agreeing to let the Squeak Foundation release the Squeak Smalltalk environment under an Apache-style license. Squeak will be one of the main programming languages used by the kids.)

Tags  | 24 comments | 7694 trackbacks

Comments

  1. Corey said about 8 hours later:

    The view source key sounds like a fantastic idea. But whats so wrong with Caps Lock that it is getting the boot?

  2. Sam said about 13 hours later:

    BECAUSE CAPS LOCK IS CRUISE CONTROL FOR COOL

  3. Doug said about 21 hours later:

    No caps lock key. Seems quite arbitrary and not based on any kind of educational motivation. Perhaps Papert should have been put in charge of the program.

    Do they know you can already buy a real laptop for under $300? Used ones for much less.

  4. Mark said about 21 hours later:

    Makes it clear to the users? I'm not sure the target demographic of the laptop would come close to understanding what "code" is. And how many users of "regular" computers want to view code right now? Only the people that would write a paragraph like that, which isn't very many.

    I think it's an interesting idea, but it doesn't play at all into the purpose of that specific computer.

  5. Izaak said about 21 hours later:

    Sam, ... YOU ROCK DUDE

  6. CalvinR said about 22 hours later:

    Yeah doug you can buy a laptop for under 300 dollars, but normal laptops would be of no use in an area without power, these 100 laptops are charged with a handcrank. Also since the olpc creates a mesh network with it's wifi card it means that everybody doesn't have to be plugged into the wall or sitting around a wifi point to get connected to the internet.

  7. Chris said about 22 hours later:
    Makes it clear to the users? I'm not sure the target demographic of the laptop would come close to understanding what "code" is. And how many users of "regular" computers want to view code right now?

    I'm glad someone asked that. I think that the lack of people being interested in viewing source is a result of the huge effort needed to work with source in the current (proprietary) environment — you might get access to some source for some small part of your system, but it'll probably be difficult to recompile and be a huge time sink. The barrier to entry is extremely high.

    Now, consider how that might change when everything on your machine has source available, is mostly written in an easily-modifiable language (Python), and you can get to the exact line, ready for patching, with a single keypress.

    It is dangerous to assume that people "don't want to learn", and is much better to err on the side of them having interest and intelligence, and providing for that. Who knows how many kids will be interested in programming when "programming" is just hitting a button and trying different code until it does what you want.

  8. Steven G. Harms said about 22 hours later:

    But if you take away the caps lock key, what about people who remap it to have it sanely be the CTRL-key?

  9. Desh said about 23 hours later:

    View source? really? Can you give us a few compeling scenarios in a day of an OLPC user where you had to view the source? It's a good idea for PCs made for programmers and other geeks but majority of the population that would use OLPC will grow up to be a doctor, lawyer, artist, architect... a person who doesn't even care what source code means. Of course there are keys such as "print screen" that these non geeks don't have much use of and they are still there on their key boards eating up some real estate...

    I agree with Mark here that the idea will target wrong demographic. Having said that if there ever comes out such an app/key combo I'd be interested i one.... but only if its free ;)

  10. Chen said 1 day later:

    Is there a change-language key?

    What you will call a person that speak 3 languages?

    • Trilingual

    What you will call a person that speak 2 languages?

    • Bilingual

    What you will call a person that speak 1 language?

    • American.

    For non Americans there is a need for a key to switch the current language. Most people today use a clunky combination of Shift, Control and/or the Alt keys. Some of the more fortunate that runs free operating system can assign one of the redundant Windows key for that task, but it is high time someone put a key that say "switch language" on it, perhaps with an indicator led or two.

  11. mimo said 1 day later:

    The view source key is one part educational, one part political. On the educational side, someone who just likes punching keys out of curiosity might get a taste for learning how computers work --- when they might otherwise not have had the opportunity.

    On the political side, if you get people habituated to being able to see with little effort the code of the software they use, they might start to expect to have that ability all the time, and this would be to their benefit.

    Of course there are people who will never care about this, but why set the defaults to cater to them when setting them otherwise won't disturb them in their ignorance?

    Being able to easily view HTML is a start towards both of the above goals. I wonder how many people who have a knowledge of programming these days (either professional or hobbyist,) got their start looking at HTML?

  12. HE said 1 day later:

    So it's basically like the LispM? That's pretty cool.

  13. Chris said 1 day later:

    HE: Yup, exactly, but with Python.

    mimo: Excellent point!

  14. Tyler Karaszewski said 1 day later:

    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.

    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.

    Similarly, the barrier keeping most people from programming is not that starting an IDE is too hard without a dedicated key on the keyboard. It's that learning how to program is too hard.

    You want more people to program? Make programming easier to do and easier to learn. Adding a "launch debugger" key to the keyboard isn't going to do a whole lot of good if you don't know how the debugger works.

    And what exactly does a "view source" button do? Open the source code for the current foreground application, and jump to the currently executing line? How is this useful? I'd like to see a walk-through of the scenario in which this is helpful. This is what I'm imagining:

    1. Kid is using Application X. Kid presses enter, app does nothing.
    2. Kid thinks, "I should be able to make action Y happen when I press enter, instead of only happening when I click the mouse.
    3. Kid presses "view source"
    4. Kid sees either:
      "int main(args){...", whatever's on the first line of the entry point for the application. This does the kid no good, he's nowhere near the keyboard event handler code.
      or:
      he sees "wait()" or whatever the currently executing line is, which is basically nothing when the app is waiting for input. This is also not the keyboard handling code that he wants to modify.

    Seriously, how in the heck is the kid supposed to get to anything useful with a "view source" button?

    Call me a pessimist, but I don't see this being a useful addition to a PC. Especially if all it does is pause execution and load up the debugger. When the kid presses "view source" and his app stops doing anything until he starts pressing "step over" (BTW, people who don't program have no idea what "step over" means), it's just going to make the kid think the app crashed.

  15. mgsloan said 1 day later:

    A: The code is python, probably the most readable for non-programmers. In other words it is the best bet at getting kids to pick it up

    B: I gather that its a cross between a debugger, IDE, and compiler - basically you can modify the code on the fly. What I'm worried about is what happens if the kid screws up the code - is there a 'revert code' button?

    I for one taught myself to program when I was 7 years old, so I suppose I am rather biased in this matter.

    You can't imagine the amount I wanted that button. I wanted to know how the speech synthesizer program my ATARI ST had worked. No view source button. I dreamed at that young age of an operating system where programs are simply code, and not compiled.

    I definitely agree with the removal of Caps-Lock - I never use it. However, I also think one of the above comments presents a very good idea - the switch language key. Very handy particularly when the language a person reads differs from the official language of the region. Those knowledgeable in both languages could do the translation and upload it onto the mesh.

    Some universal view source functionality should definitely go in, but perhaps not as a key. Maybe a shortcut, or a gui element. My main worry is that a kid will be chuggling along on the laptop, hit the key, have a bunch of mumbo jumbo pop up and think its broken or messed up or something.

  16. Mauricio said 1 day later:

    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).

    The exaggerated focus on teaching programming seems to give reason to the critics that say the hidden goal of the project is to create cheap labor for the IT industry.

  17. Don Marti said 2 days later:

    Seriously, the "view source" functionality could easily be a menu item or control-something, and it wouldn't slow the would-be source readers down that much.

    But does "view source" have value as a symbol? Would it be too easy for a uniform piece of hardware, mandated by the ministry of education, to look like an instrument of control and indoctrination without a healthy dose of invitations to peek and hack?

  18. ich said 2 days later:

    Squeak/eToys on OLPC is not MIT or Apache style license. It's the proprietary non-free, non-opensource Squeak License. Apple only relicensed Squeak 1.0. Not SmallLand 3.8 which the OLPC Squeak image is based on and certainly not the 3.9.9 Squeak VM.

  19. stanabe said 2 days later:

    How about the Dvorak layout, isstead of the standard "QWERTY" layout? Is QWERTY still default?

  20. Antonio Ognio said 6 months later:

    Hey! A "View source" key in any computer system is a significant improvement and this claim has nothing to do with believing in opensource but open systems: Web browsers had "View source" menu option from the very first day they were around and that only has helped more people get a clue on how HTML, Javascript and most other web technologies work.

  21. Tomek said 6 months later:

    Thanks for very interesting article Chris. btw. I really enjoyed reading all of your posts. It’s interesting to read ideas, and observations from someone else’s point of view… makes you think more. So please keep up the great work. Greetings

  22. teen models said 6 months later:

    is there any mass edit plugs section? want to change my blog script - it's wp now.

  23. Simon Howard said 6 months later:

    This isn't the same as a hood release lever because you can use a hood release lever to fix your car if it breaks. A view source button lets you ... view the source. The equivalent of a hood release lever would be an "edit source" button, because that would actually be useful.

    Seriously, how is this a good idea? You make the argument that kids will get used to having a view source button and be annoyed when using a computer without one. But without being able to understand the source code or actually use this function for anything useful, to most people it's just a "display meaningless garbage" button. If kids get used to having this button at all, it will be in learning to avoid it: they'll learn that pressing it displays something confusing that they don't understand.

  24. Creatin said about 1 year later:

    Hey , thank you very much for this great stuff! Keep up your great work! Greetings Daniel

Trackbacks

Use the following link to trackback from your own site:
http://blog.printf.net/articles/trackback/7631

  1. From G composite model rocket engines
    G composite model rocket engines
    engines G composite model rocket engines ...
  2. From Board ontario swinger
    Board ontario swinger
    swinger Board ontario swinger ...
  3. From Sex and the city kim catrall masturbation
    Sex and the city kim catrall masturbation
    masturbation Sex and the city kim catrall masturbation ...
  4. From How i become a shemale
    How i become a shemale
    shemale How i become a shemale ...
  5. From Mass gangbangs
    Mass gangbangs
    gangbangs Mass gangbangs ...
  6. From Renzulli triad model
    Renzulli triad model
    model Renzulli triad model ...
  7. From Sibel kekilli porn film
    Sibel kekilli porn film
    film Sibel kekilli porn film ...
  8. From Dana plato playboy pics
    Dana plato playboy pics
    pics Dana plato playboy pics ...
  9. From Hometown boy escort
    Hometown boy escort
    escort Hometown boy escort ...
  10. From Lynne austin playmate
    Lynne austin playmate
    playmate Lynne austin playmate ...
  11. From Grant mississippi parent state teen
    Grant mississippi parent state teen
    teen Grant mississippi parent state teen ...
  12. From Cowboy bebop yaoi doujinshi
    Cowboy bebop yaoi doujinshi
    doujinshi Cowboy bebop yaoi doujinshi ...
  13. From Archivio immagini porn
    Archivio immagini porn
    porn Archivio immagini porn ...
  14. From Sung hi lee nude
    Sung hi lee nude
    nude Sung hi lee nude ...
  15. From Jason hawke gay
    Jason hawke gay
    gay Jason hawke gay ...
  16. From Maa tv swathi nude
    Maa tv swathi nude
    nude Maa tv swathi nude ...
  17. From Average size of human penis
    Average size of human penis
    penis Average size of human penis ...
  18. From Ass captain stabbin
    Ass captain stabbin
    stabbin Ass captain stabbin ...
  19. From Lesbian hotels in palm springs ca
    Lesbian hotels in palm springs ca
    ca Lesbian hotels in palm springs ca ...
  20. From Samantha mumba naked
    Samantha mumba naked
    naked Samantha mumba naked ...
  21. From Adults nappies
    Adults nappies
    nappies Adults nappies ...
  22. From Harrison hot spring resort
    Harrison hot spring resort
    resort Harrison hot spring resort ...
  23. From Fetish foot foot high long sole tall
    Fetish foot foot high long sole tall
    tall Fetish foot foot high long sole tall ...
  24. From Pharrell and model jessica
    Pharrell and model jessica
    jessica Pharrell and model jessica ...
  25. From Bukkake free xnxx
    Bukkake free xnxx
    xnxx Bukkake free xnxx ...
  26. From Jenny nude porn sander star
    Jenny nude porn sander star
    star Jenny nude porn sander star ...
  27. From Breast denver reduction surgeon
    Breast denver reduction surgeon
    surgeon Breast denver reduction surgeon ...
  28. From Jezebel and lingerie
    Jezebel and lingerie
    lingerie Jezebel and lingerie ...
  29. From Charlie laine lesbian
    Charlie laine lesbian
    lesbian Charlie laine lesbian ...
  30. From Bookwormbitches member
    Bookwormbitches member
    member Bookwormbitches member ...
  31. From Natrual tits
    Natrual tits
    tits Natrual tits ...
  32. From Sexy michelle trachtenberg
    Sexy michelle trachtenberg
    trachtenberg Sexy michelle trachtenberg ...
  33. From Az club in phoenix swinger
    Az club in phoenix swinger
    swinger Az club in phoenix swinger ...
  34. From Carina lau naked
    Carina lau naked
    naked Carina lau naked ...
  35. From Free animated lebian porn
    Free animated lebian porn
    porn Free animated lebian porn ...
  36. From Unregistered sex offenders
    Unregistered sex offenders
    offenders Unregistered sex offenders ...
  37. From Anel gay sex
    Anel gay sex
    sex Anel gay sex ...
  38. From World sex quide
    World sex quide
    quide World sex quide ...
  39. From Women think about men wearing lingerie
    Women think about men wearing lingerie
    lingerie Women think about men wearing lingerie ...
  40. From Cartoon muhammad satirical
    Cartoon muhammad satirical
    satirical Cartoon muhammad satirical ...
  41. From Pant pantie pull thong
    Pant pantie pull thong
    thong Pant pantie pull thong ...
  42. From Husband sex spanking story wife
    Husband sex spanking story wife
    wife Husband sex spanking story wife ...
  43. From Alt sex erotica
    Alt sex erotica
    erotica Alt sex erotica ...
  44. From 12 17 horny olds year
    12 17 horny olds year
    year 12 17 horny olds year ...
  45. From Beach gay myrtle sc
    Beach gay myrtle sc
    sc Beach gay myrtle sc ...
  46. From Grany fucking
    Grany fucking
    fucking Grany fucking ...
  47. From Sheek louch kiss ya ass goodbye
    Sheek louch kiss ya ass goodbye
    goodbye Sheek louch kiss ya ass goodbye ...
  48. From Sexy japaneese girls
    Sexy japaneese girls
    girls Sexy japaneese girls ...
  49. From Corey hustler honey
    Corey hustler honey
    honey Corey hustler honey ...
  50. From Aqua teen wallpaper
    Aqua teen wallpaper
    wallpaper Aqua teen wallpaper ...
  51. From Dirt late model race car aluminum bodies
    Dirt late model race car aluminum bodies
    bodies Dirt late model race car aluminum bodies ...
  52. From 40 5e essay model rule writer
    40 5e essay model rule writer
    writer 40 5e essay model rule writer ...
  53. From Tvts shemale
    Tvts shemale
    shemale Tvts shemale ...
  54. From Skintight jodhpur
    Skintight jodhpur
    jodhpur Skintight jodhpur ...
  55. From Hustler zero radius lawnmowers
    Hustler zero radius lawnmowers
    lawnmowers Hustler zero radius lawnmowers ...
  56. From Kim lil nude rapper
    Kim lil nude rapper
    rapper Kim lil nude rapper ...
  57. From Jaime pressly blow job
    Jaime pressly blow job
    job Jaime pressly blow job ...
  58. From Heaton nude patrica
    Heaton nude patrica
    patrica Heaton nude patrica ...
  59. From Bare dirty fetish foot sole
    Bare dirty fetish foot sole
    sole Bare dirty fetish foot sole ...
  60. From Buy hk ump barrel
    Buy hk ump barrel
    barrel Buy hk ump barrel ...
  61. From Cam chat free romania sex web
    Cam chat free romania sex web
    web Cam chat free romania sex web ...
  62. From Ass eva mendes
    Ass eva mendes
    mendes Ass eva mendes ...
  63. From Pimples on penis
    Pimples on penis
    penis Pimples on penis ...
  64. From Peeping tom sex
    Peeping tom sex
    sex Peeping tom sex ...
  65. From Di jakarta pijat sex wanita
    Di jakarta pijat sex wanita
    wanita Di jakarta pijat sex wanita ...
  66. From Babe bikini clad
    Babe bikini clad
    clad Babe bikini clad ...
  67. From Euro inthevip party sex
    Euro inthevip party sex
    sex Euro inthevip party sex ...
  68. From How would you like to suck my balls mr garison
    How would you like to suck my balls mr garison
    garison How would you like to suck my balls mr garison ...
  69. From Fetish menstrual pad pantie
    Fetish menstrual pad pantie
    pantie Fetish menstrual pad pantie ...
  70. From Hard dick and bubble gum
    Hard dick and bubble gum
    gum Hard dick and bubble gum ...
  71. From Marisa miller nude gallery
    Marisa miller nude gallery
    gallery Marisa miller nude gallery ...
  72. From Robs unofficial celebrity website
    Robs unofficial celebrity website
    website Robs unofficial celebrity website ...
  73. From Starfox nude
    Starfox nude
    nude Starfox nude ...
  74. From Officio underwear
    Officio underwear
    underwear Officio underwear ...
  75. From Calculating model rocket speed velocity acceleration
    Calculating model rocket speed velocity acceleration
    acceleration Calculating model rocket speed velocity acceleration ...
  76. From By click lavalife phone
    By click lavalife phone
    phone By click lavalife phone ...
  77. From Cingular website sucks
    Cingular website sucks
    sucks Cingular website sucks ...
  78. From Animation insider teen titans
    Animation insider teen titans
    titans Animation insider teen titans ...
  79. From Back door mature sex shit
    Back door mature sex shit
    shit Back door mature sex shit ...
  80. From Drastic my soul mp3
    Drastic my soul mp3
    mp3 Drastic my soul mp3 ...
  81. From Nnteen models
    Nnteen models
    models Nnteen models ...
  82. From Teen pictures info
    Teen pictures info
    info Teen pictures info ...
  83. From Sicky handjob
    Sicky handjob
    handjob Sicky handjob ...
  84. From Anal ass flower fuck parade
    Anal ass flower fuck parade
    parade Anal ass flower fuck parade ...
  85. From Chads gay
    Chads gay
    gay Chads gay ...
  86. From 18 yr old sluts
    18 yr old sluts
    sluts 18 yr old sluts ...
  87. From Claude damme jean male nude van
    Claude damme jean male nude van
    van Claude damme jean male nude van ...
  88. From Film gratis sex tieners
    Film gratis sex tieners
    tieners Film gratis sex tieners ...
  89. From Brooke bennett daddy s little girls
    Brooke bennett daddy s little girls
    girls Brooke bennett daddy s little girls ...
  90. From Estella warren porn
    Estella warren porn
    porn Estella warren porn ...
  91. From Nice teen buns in thongs
    Nice teen buns in thongs
    thongs Nice teen buns in thongs ...
  92. From Tgirl on girls
    Tgirl on girls
    girls Tgirl on girls ...
  93. From Extrem fetish lingerie
    Extrem fetish lingerie
    lingerie Extrem fetish lingerie ...
  94. From Having a wank
    Having a wank
    wank Having a wank ...
  95. From Colin ferrell penis
    Colin ferrell penis
    penis Colin ferrell penis ...
  96. From Dana delaney nude pic
    Dana delaney nude pic
    pic Dana delaney nude pic ...
  97. From Free hentai image uncensored
    Free hentai image uncensored
    uncensored Free hentai image uncensored ...
  98. From Stewardess fuck
    Stewardess fuck
    fuck Stewardess fuck ...
  99. From Bare bottom free girl tgp
    Bare bottom free girl tgp
    tgp Bare bottom free girl tgp ...
  100. From Milf hunterkendra
    Milf hunterkendra
    hunterkendra Milf hunterkendra ...
  101. From Chick nude raver
    Chick nude raver
    raver Chick nude raver ...
  102. From Flesh gordon orgy
    Flesh gordon orgy
    orgy Flesh gordon orgy ...
  103. From Hirey cunts
    Hirey cunts
    cunts Hirey cunts ...
  104. From Pornography is harmful
    Pornography is harmful
    harmful Pornography is harmful ...
  105. From Japanese teens sex vedio
    Japanese teens sex vedio
    vedio Japanese teens sex vedio ...
  106. From Brune hardcore
    Brune hardcore
    hardcore Brune hardcore ...
  107. From Burlesque cat doll pussy
    Burlesque cat doll pussy
    pussy Burlesque cat doll pussy ...
  108. From Fuse pants off dance off
    Fuse pants off dance off
    off Fuse pants off dance off ...