charles 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +10 -0
  5. data/Rakefile +13 -0
  6. data/bin/charles +23 -0
  7. data/charles.gemspec +25 -0
  8. data/lib/charles/document.rb +177 -0
  9. data/lib/charles/images.rb +77 -0
  10. data/lib/charles/internal_attributes.rb +40 -0
  11. data/lib/charles/misc.rb +84 -0
  12. data/lib/charles/version.rb +3 -0
  13. data/lib/charles.rb +66 -0
  14. data/optimise.rb +72 -0
  15. data/test/articles/20120525_1525_straitstimes.com.content.txt +5 -0
  16. data/test/articles/20120525_1525_straitstimes.com.html +1929 -0
  17. data/test/articles/20120525_1534_bbc.co.uk.content.txt +19 -0
  18. data/test/articles/20120525_1534_bbc.co.uk.html +1777 -0
  19. data/test/articles/20120525_1727_bbc.co.uk.content.txt +39 -0
  20. data/test/articles/20120525_1727_bbc.co.uk.html +1889 -0
  21. data/test/articles/20120525_1730_channelnewsasia.com.content.txt +19 -0
  22. data/test/articles/20120525_1730_channelnewsasia.com.html +963 -0
  23. data/test/articles/20120525_1733_channelnewsasia.com.content.txt +19 -0
  24. data/test/articles/20120525_1733_channelnewsasia.com.html +923 -0
  25. data/test/articles/20120525_1736_nytimes.com.content.txt +21 -0
  26. data/test/articles/20120525_1736_nytimes.com.html +856 -0
  27. data/test/articles/20120525_1743_nytimes.com.content.txt +11 -0
  28. data/test/articles/20120525_1743_nytimes.com.html +98 -0
  29. data/test/articles/20120525_1747_techcrunch.com.content.txt +11 -0
  30. data/test/articles/20120525_1747_techcrunch.com.html +1098 -0
  31. data/test/articles/20120528_0929_washingtonpost.com.content.txt +23 -0
  32. data/test/articles/20120528_0929_washingtonpost.com.html +3335 -0
  33. data/test/articles/20120528_0931_latimes.com.content.txt +45 -0
  34. data/test/articles/20120528_0931_latimes.com.html +6371 -0
  35. data/test/articles/20120528_0938_entertainment.time.com.content.txt +31 -0
  36. data/test/articles/20120528_0938_entertainment.time.com.html +1261 -0
  37. data/test/articles/20120528_0943_bloomberg.com.content.txt +13 -0
  38. data/test/articles/20120528_0943_bloomberg.com.html +2874 -0
  39. data/test/articles/20120528_0947_reuters.com.content.txt +35 -0
  40. data/test/articles/20120528_0947_reuters.com.html +1563 -0
  41. data/test/articles/20120528_1106_reuters.com.content.txt +5 -0
  42. data/test/articles/20120528_1106_reuters.com.html +551 -0
  43. data/test/articles/20120528_1109_musicthing.blogspot.co.uk.content.txt +19 -0
  44. data/test/articles/20120528_1109_musicthing.blogspot.co.uk.html +865 -0
  45. data/test/articles/20120528_1114_mobileinc.co.uk.content.txt +15 -0
  46. data/test/articles/20120528_1114_mobileinc.co.uk.html +550 -0
  47. data/test/articles/20120528_1119_forbes.com.content.txt +15 -0
  48. data/test/articles/20120528_1119_forbes.com.html +1406 -0
  49. data/test/articles/20120528_1122_techcrunch.com.content.txt +58 -0
  50. data/test/articles/20120528_1122_techcrunch.com.html +1131 -0
  51. data/test/articles/20120528_1126_blogs.adobe.com.content.txt +13 -0
  52. data/test/articles/20120528_1126_blogs.adobe.com.html +303 -0
  53. data/test/articles/20120528_1142_thestar.com.my.content.txt +27 -0
  54. data/test/articles/20120528_1142_thestar.com.my.html +943 -0
  55. data/test/articles/20120528_1146_suntimes.com.content.txt +33 -0
  56. data/test/articles/20120528_1146_suntimes.com.html +5166 -0
  57. data/test/articles/20120528_1148_asiaone.com.content.txt +27 -0
  58. data/test/articles/20120528_1148_asiaone.com.html +1070 -0
  59. data/test/articles/20120529_1120_online.wsj.com.content.txt +56 -0
  60. data/test/articles/20120529_1120_online.wsj.com.html +3035 -0
  61. data/test/articles/20120529_1122_online.wsj.com.content.txt +35 -0
  62. data/test/articles/20120529_1122_online.wsj.com.html +2725 -0
  63. data/test/articles/20120529_1127_smh.com.au.content.txt +13 -0
  64. data/test/articles/20120529_1127_smh.com.au.html +2034 -0
  65. data/test/articles.yml +221 -0
  66. data/test/test_charles.rb +70 -0
  67. metadata +279 -0
@@ -0,0 +1,1131 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" dir="ltr" lang="en">
3
+ <!--
4
+ generated 22 seconds ago
5
+ generated in 0.435 seconds
6
+ served from batcache in 0.003 seconds
7
+ expires in 278 seconds
8
+ -->
9
+ <head profile="http://gmpg.org/xfn/11">
10
+ <!--[if IE]> <meta http-equiv="X-UA-Compatible" content="IE=edge" /><![endif]-->
11
+
12
+ <script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
14
+
15
+ <meta name="verify-v1" content="bRcWhIaUuN+lFbjto9ixv4B8n0+C2Rsh95AuN+N+cKs=" >
16
+ <meta property="og:app_id" content="187288694643718" />
17
+ <meta property="og:title" content="TechCrunch | Hey Kids, Get Off My Lawn: The Once And Future Visual Programming Environment"/>
18
+ <meta property="og:type" content="article"/>
19
+ <meta property="og:url" content="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/"/>
20
+ <meta property="og:image" content="http://tctechcrunch2011.files.wordpress.com/2012/05/seededfertilizedlawn.jpg?w=150"/>
21
+ <meta property="og:site_name" content="TechCrunch"/>
22
+ <meta property="og:description" content="When I was a graduate student at the MIT Media Lab fifteen years ago, my research group went on a retreat every year with Famous Computer Scientists from Xerox PARC. I greatly admired these people and their work. But I was young and in a hurry to get where I thought I was going. And it sometimes seemed that every time us young folks talked about our research, or showed a demo, someone would say something like, &quot;oh, that&#039;s very nice, when we did that at PARC ....&quot;
23
+
24
+ Fast forward to the present. For the last few years, every time I see a new piece of small, open, hackable, networked hardware, or a new reputation engine, or a generative art piece, or a product built around location tracking plus real-time information push, or � well, you get the idea � I have to bite my tongue and think of the PARC folks to keep myself from saying, &quot;oh, that&#039;s very nice, when we did that at the Media Lab ....&quot;
25
+
26
+ All of which just proves that the wheel of history revolves. New work is always new, by definition, even if it&#039;s not entirely new (which nothing can ever be)."/>
27
+ <meta property="fb:admins" content="605136095,1076790301,2225864,2500037,722617610,500065899,543710097,571872717,500024101,500071969,771265067,1661021707,726995222,10150182927251710,1550970059" />
28
+ <meta property="fb:app_id" content="187288694643718" />
29
+ <meta name="viewport" content="width=1024" />
30
+ <title>Hey Kids, Get Off My Lawn: The Once And Future Visual Programming Environment | TechCrunch</title>
31
+ <script>bN_cfg={h:location.hostname};(function(d){var s = d.createElement("script");s.src = "http://o.aolcdn.com/os/aol/beacon.min.js";d.getElementsByTagName("head")[0].appendChild(s);})(document);</script>
32
+ <link rel="me" type="text/html" href="http://www.google.com/profiles/techcrunch"/>
33
+ <link rel="alternate" type="application/rss+xml" title="TechCrunch RSS Feed" href="http://feedproxy.google.com/TechCrunch" />
34
+ <link rel="pingback" href="http://techcrunch.com/xmlrpc.php" />
35
+ <link rel="icon" type="image/x-icon" href="http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/images/favicon.ico?m=1317690167g" />
36
+ <link rel="shortcut icon" type="image/x-icon" href="http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/images/favicon.ico?m=1317690167g" />
37
+ <link rel="stylesheet" id="style-css" href="http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/style.css?m=1337799192g" type="text/css" media="all" />
38
+ <link rel="stylesheet" id="style-css" href="http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/print.css?m=1334688582g" type="text/css" media="print" />
39
+ <link href="https://plus.google.com/103037366582313115962/" rel="publisher" />
40
+ <script type="text/javascript">(function(){var po = document.createElement("script");po.type = "text/javascript"; po.async = true;po.src = "https://apis.google.com/js/plusone.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(po, s);})();</script>
41
+ <meta name="google-site-verification" content="4U1OC1LwZlFHAehLhCV4rt3YzWI_AyF7Gb0XqlaVEhE" />
42
+ <meta name="msvalidate.01" content="5ABD8A078F3356F3A6A8C8643C31FB8F" />
43
+ <script src='http://r-login.wordpress.com/remote-login.php?action=js&amp;host=techcrunch.com&amp;id=24588526&amp;t=1338175356&amp;back=techcrunch.com%2F2012%2F05%2F27%2Fhey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment%2F' type="text/javascript"></script>
44
+ <script type="text/javascript">
45
+ /* <![CDATA[ */
46
+ if ( 'function' === typeof WPRemoteLogin ) {
47
+ document.cookie = "wordpress_test_cookie=test; path=/";
48
+ if ( document.cookie.match( /(;|^)\s*wordpress_test_cookie\=/ ) ) {
49
+ WPRemoteLogin();
50
+ }
51
+ }
52
+ /* ]]> */
53
+ </script>
54
+ <link rel="alternate" type="application/rss+xml" title="TechCrunch &raquo; Feed" href="http://techcrunch.com/feed/" />
55
+ <link rel="alternate" type="application/rss+xml" title="TechCrunch &raquo; Comments Feed" href="http://techcrunch.com/comments/feed/" />
56
+ <link rel="alternate" type="application/rss+xml" title="TechCrunch &raquo; Hey Kids, Get Off My Lawn: The Once And Future Visual Programming&nbsp;Environment Comments Feed" href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/feed/" />
57
+ <script type="text/javascript">
58
+ /* <![CDATA[ */
59
+ function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}
60
+ /* ]]> */
61
+ </script>
62
+ <link rel='stylesheet' id='post-reactions-css' href='http://s1.wp.com/wp-content/mu-plugins/post-flair/style.css?m=1335512048g&#038;ver=4' type='text/css' media='all' />
63
+ <link rel='stylesheet' id='h4-global-css' href='http://s1.wp.com/wp-content/themes/h4/global.css?m=1334688594g&#038;ver=3.4-beta4-20943' type='text/css' media='all' />
64
+ <script type='text/javascript' src='http://s0.wp.com/wp-includes/js/jquery/jquery.js?m=1333391137g&#038;ver=1.7.2'></script>
65
+ <script type='text/javascript' src='http://s2.wp.com/wp-content/themes/vip/plugins/lightbox-plus/js/jquery.colorbox-min.js?m=1334688560g&#038;ver=3.4-beta4-20943'></script>
66
+ <script type='text/javascript' src='http://s2.wp.com/wp-includes/js/spin.js?m=1333981715g&#038;ver=1.2.4'></script>
67
+ <script type='text/javascript' src='http://s0.wp.com/wp-includes/js/jquery/jquery.spin.js?m=1333125831g&#038;ver=3.4-beta4-20943'></script>
68
+ <script type='text/javascript' src='http://s2.wp.com/wp-includes/js/swfobject.js?m=1334618467g&#038;ver=2.2-20120417'></script>
69
+ <script type='text/javascript' src='http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/js/jquery.cookie.js?m=1334688582g&#038;ver=1.0'></script>
70
+ <script type='text/javascript'>
71
+ /* <![CDATA[ */
72
+ var tc_ajax = {"ajaxurl":"http:\/\/techcrunch.com\/wp-admin\/admin-ajax.php"};
73
+ /* ]]> */
74
+ </script>
75
+ <script type='text/javascript' src='http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/js/techcrunch.js?m=1334066116g&#038;ver=3.4-beta4-20943'></script>
76
+ <link rel='stylesheet' id='highlander-comments-css' href='http://s0.wp.com/wp-content/mu-plugins/highlander-comments/style.css?m=1334188075g&#038;ver=20110620' type='text/css' media='all' />
77
+ <!--[if lt IE 8]>
78
+ <link rel='stylesheet' id='highlander-comments-ie7-css' href='http://s2.wp.com/wp-content/mu-plugins/highlander-comments/style-ie7.css?m=1334688595g&#038;ver=20110606' type='text/css' media='all' />
79
+ <![endif]-->
80
+ <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://tctechcrunch2011.wordpress.com/xmlrpc.php?rsd" />
81
+ <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://tctechcrunch2011.wordpress.com/wp-includes/wlwmanifest.xml" />
82
+ <link rel='prev' title='Mobile Online Shopping Holds The Real Opportunity In Mobile&nbsp;Payments' href='http://techcrunch.com/2012/05/27/mobile-online-shopping-holds-the-real-opportunity-in-mobile-payments/' />
83
+ <link rel='next' title='Digital Chocolate Downsizing? Founder Trip Hawkins Out As CEO; Reports Of Layoffs, Marc Metis As Interim&nbsp;CEO' href='http://techcrunch.com/2012/05/27/digital-chocolate-downsizing-founder-trip-hawkins-out-as-ceo-reports-of-layoffs-marc-metis-as-interim-ceo/' />
84
+ <meta name="generator" content="WordPress.com" />
85
+ <link rel='canonical' href='http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/' />
86
+ <link rel='shortlink' href='http://wp.me/p1FaB8-2m7n' />
87
+ <link rel="alternate" type="application/json+oembed" href="http://public-api.wordpress.com/oembed/1.0/?format=json&amp;url=http%3A%2F%2Ftechcrunch.com%2F2012%2F05%2F27%2Fhey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment%2F&amp;for=wpcom-auto-discovery" /><link rel="alternate" type="application/xml+oembed" href="http://public-api.wordpress.com/oembed/1.0/?format=xml&amp;url=http%3A%2F%2Ftechcrunch.com%2F2012%2F05%2F27%2Fhey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment%2F&amp;for=wpcom-auto-discovery" /><link rel='openid.server' href='http://tctechcrunch2011.wordpress.com/?openidserver=1' />
88
+ <link rel='openid.delegate' href='http://tctechcrunch2011.wordpress.com/' />
89
+ <link rel="search" type="application/opensearchdescription+xml" href="http://techcrunch.com/osd.xml" title="TechCrunch" />
90
+ <link rel="search" type="application/opensearchdescription+xml" href="http://wordpress.com/opensearch.xml" title="WordPress.com" />
91
+ <link rel="stylesheet" href="http://disqus.com/stylesheets/techcrunch/disqus.css?v=2.0" type="text/css" media="screen" /><script type="text/javascript">
92
+ jQuery(function($){
93
+ $(document).ready(function(){
94
+ $.fn.colorbox.settings.transition = "elastic";
95
+ $.fn.colorbox.settings.speed = 350;
96
+ $.fn.colorbox.settings.maxWidth = "85%";
97
+ $.fn.colorbox.settings.maxHeight = "85%";
98
+ $.fn.colorbox.settings.resize = true;
99
+ $.fn.colorbox.settings.opacity = 0.8;
100
+ $.fn.colorbox.settings.preloading = true;
101
+ $.fn.colorbox.settings.current = "# {current} of {total}";
102
+ $.fn.colorbox.settings.previous = "previous";
103
+ $.fn.colorbox.settings.next = "next";
104
+ $.fn.colorbox.settings.close = "close";
105
+ $.fn.colorbox.settings.overlayClose = true;
106
+ $.fn.colorbox.settings.slideshow = false;
107
+ $.fn.colorbox.settings.slideshowAuto = true;
108
+ $.fn.colorbox.settings.slideshowSpeed = 2500;
109
+ $.fn.colorbox.settings.slideshowStart = "start";
110
+ $.fn.colorbox.settings.slideshowStop = "stop";
111
+ $("a[rel*='lightbox']").colorbox();
112
+ });
113
+ });
114
+ </script>
115
+ <link rel="stylesheet" type="text/css" href="http://tctechcrunch2011.wordpress.com/wp-content/themes/vip/plugins/lightbox-plus/css/framed/colorbox.css?m=1334688560g" media="screen" />
116
+ <meta name="application-name" content="TechCrunch" /><meta name="msapplication-window" content="width=device-width;height=device-height" /><meta name="msapplication-tooltip" content="Startup and Technology News" /><meta name="msapplication-task" content="name=Subscribe;action-uri=http://techcrunch.com/feed/;icon-uri=http://0.gravatar.com/blavatar/ad5b2a2b10ddd8fc4e4588abd4e12a84?s=16" /><style type="text/css">#site-logo { background: url(http://tctechcrunch2011.wordpress.com/wp-content/themes/vip/tctechcrunch2/images/logos/green.png) no-repeat !important; }</style>
117
+
118
+ <link rel="stylesheet" type="text/css" href="http://s0.wp.com/?custom-css=1&#038;csblog=1FaB8&#038;cscache=6&#038;csrev=23" />
119
+
120
+ <script type="text/javascript" src="http://o.aolcdn.com/ads/adsWrapper.js"></script>
121
+ <script type="text/javascript">
122
+ adSetAdURL("http://techcrunch.com/wp-content/themes/vip/tctechcrunch2/_uac/adpage.html")
123
+ </script>
124
+
125
+ <!--
126
+ <PageMap>
127
+ <DataObject type="document">
128
+ <Attribute name="title">Hey Kids, Get Off My Lawn: The Once And Future Visual Programming&nbsp;Environment</Attribute>
129
+ <Attribute name="author">Contributor</Attribute>
130
+ <Attribute name="description">When I was a graduate student at the MIT Media Lab fifteen years ago, my research group went on a retreat every year with Famous Computer Scientists from Xerox PARC. I greatly admired these people and their work. But I was young and in a hurry to get where I thought I was going. And it sometimes seemed that every time us young folks talked about our research, or showed a demo, someone would say something like, &quot;oh, that&#039;s very nice, when we did that at PARC ....&quot;
131
+
132
+ Fast forward to the present. For the last few years, every time I see a new piece of small, open, hackable, networked hardware, or a new reputation engine, or a generative art piece, or a product built around location tracking plus real-time information push, or � well, you get the idea � I have to bite my tongue and think of the PARC folks to keep myself from saying, &quot;oh, that&#039;s very nice, when we did that at the Media Lab ....&quot;
133
+
134
+ All of which just proves that the wheel of history revolves. New work is always new, by definition, even if it&#039;s not entirely new (which nothing can ever be).</Attribute>
135
+ <Attribute name="type">article</Attribute>
136
+ <Attribute name="post_date">Sunday, May 27th, 2012</Attribute>
137
+ <Attribute name="unixdate">1338098459</Attribute>
138
+ </DataObject>
139
+ <DataObject type="thumbnail">
140
+ <Attribute name="src" value="http://tctechcrunch2011.files.wordpress.com/2012/05/seededfertilizedlawn.jpg?w=674" />
141
+ </DataObject>
142
+ </PageMap>
143
+ -->
144
+
145
+
146
+
147
+
148
+ </head>
149
+
150
+ <!--[if lte IE 6]><body id="techcrunch" class="single single-post postid-561681 single-format-standard ie6 typekit-enabled highlander-enabled highlander-light"><![endif]-->
151
+ <!--[if IE 7]><body id="techcrunch" class="single single-post postid-561681 single-format-standard ie7 typekit-enabled highlander-enabled highlander-light"><![endif]-->
152
+ <!--[if IE 8]><body id="techcrunch" class="single single-post postid-561681 single-format-standard ie8 typekit-enabled highlander-enabled highlander-light"><![endif]-->
153
+ <!--[if (!IE)|(gte IE 9)>--><body id="techcrunch" class="single single-post postid-561681 single-format-standard typekit-enabled highlander-enabled highlander-light"><!--<![endif]-->
154
+ <script type="text/javascript">
155
+ jQuery(document).ready(function($) {
156
+ if(navigator.userAgent.match(/iPad/i)) {
157
+ var num=1 + Math.floor(Math.random()*11);
158
+ var adNode = "<div id='aol_ipad_banner' style='width:1008px;margin:0px auto;height:45px;'>";
159
+ // 50-50 weight
160
+ if(num >= 1 && num <= 5) {
161
+ adNode += "<a href='http://t.aol.com?ncid=bannadnew00000354'><img src='http://tctechcrunch2011.files.wordpress.com/2012/02/aol-ipadapp-1.jpg' /></a>";
162
+ } else {
163
+ adNode += "<a href='http://t.aol.com?ncid=bannadnew00000358'><img src='http://tctechcrunch2011.files.wordpress.com/2012/02/aoli-ipadapp-2.jpg' /></a";
164
+ }
165
+ adNode += "</div>";
166
+ $(adNode).insertBefore("#top");
167
+
168
+ if($('#aol_ipad_banner').length > 0) {
169
+ $(window).scroll(function() {
170
+ if($(window).scrollTop() <= $('#aol_ipad_banner').height()) {
171
+ $('#aol_ipad_banner').show();
172
+ $('#site-logo-small').hide();
173
+ } else {
174
+ $('#aol_ipad_banner').hide();
175
+ $('#site-logo-small').show();
176
+ }
177
+ });
178
+ }
179
+ }
180
+ });
181
+ </script>
182
+ <a id="top"></a>
183
+ <!--JavaScript Tag // Tag for network 5322: TechCrunch // Website: TechCrunch // Page: Mainpage // Placement: Push Down Unit (1742120) // created at: Jan 4, 2011 6:12:47 PM-->
184
+
185
+ <div class="module-header" id="module-header">
186
+ <div class="top-container">
187
+ <div class="center-container">
188
+ <div class="site-logo-container">
189
+ <!-- no js backup -->
190
+ <a id="fixed-logo" href="http://techcrunch.com" title="TechCrunch" onclick="s_objectID='logo';"></a>
191
+ </div>
192
+ <form id="header-search" class="search-form" action="http://techcrunch.com">
193
+ <input name="s" id="header-query" class="query idleSearch" type="text" tabindex="1" value=""/>
194
+ <input class="btn-search" id="header-search-btn" type="submit" value="" tabindex="2" />
195
+ </form>
196
+ <ul class="main-nav"><li id="menu-item-335980" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-335980"><a href="http://techcrunch.com/tc/">Home</a></li>
197
+ <li id="menu-item-335981" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335981"><a href="http://techcrunch.com/startups/">Startups</a></li>
198
+ <li id="menu-item-335982" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335982"><a href="http://techcrunch.com/mobile/">Mobile</a></li>
199
+ <li id="menu-item-335983" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335983"><a href="http://techcrunch.com/gadgets/">Gadgets</a></li>
200
+ <li id="menu-item-508968" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-508968"><a href="http://techcrunch.com/europe/">Europe</a></li>
201
+ <li id="menu-item-335986" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-335986"><a href="http://techcrunch.com/video/">Video</a></li>
202
+ <li id="menu-item-335987" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-335987 menu-dropdown"><a href="#">More</a>
203
+ <ul class="sub-menu">
204
+ <li id="menu-item-335988" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335988"><a href="http://techcrunch.com/enterprise/">Enterprise</a></li>
205
+ <li id="menu-item-496479" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-496479"><a href="http://techcrunch.com/venture/">Venture</a></li>
206
+ <li id="menu-item-388513" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-388513"><a href="http://techcrunch.com/social/">Social</a></li>
207
+ <li id="menu-item-335991" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335991"><a href="http://techcrunch.com/greentech/">GreenTech</a></li>
208
+ <li id="menu-item-335990" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-335990"><a href="http://techcrunch.com/gaming/">Gaming</a></li>
209
+ <li id="menu-item-335992" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-335992"><a href="http://techcrunch.com/opinion/">Opinion</a></li>
210
+ <li id="menu-item-528533" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-528533"><a href="http://techcrunch.com/drama/">Drama</a></li>
211
+ </ul>
212
+ </li>
213
+ </ul> </div>
214
+ <div class="header-results-outer"><div id="header-bar-search-results"></div></div>
215
+ </div>
216
+
217
+ <div class="middle-container">
218
+ <div class="center-container">
219
+ <div id="site-logo-wrapper">
220
+ <a id="site-logo" href="http://techcrunch.com" title="TechCrunch" onclick="s_objectID='logo';"><img id="site-logo-cutout" src="http://s2.wp.com/wp-content/themes/vip/tctechcrunch2/images/site-logo-cutout.png?m=1334688582g" alt="" /></a>
221
+ <a id="site-logo-small" href="http://techcrunch.com" title="TechCrunch" onclick="s_objectID='logo';"></a>
222
+ </div>
223
+ <div class="content-container">
224
+ <script type="text/javascript">
225
+ <!--
226
+ adSetType('F');
227
+ htmlAdWH('93321392', '728', '90');
228
+ //-->
229
+ </script>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div class="bottom-container">
235
+ <div class="center-container">
236
+ <ul class="sub-nav">
237
+ <li class="product-guides">
238
+ <a href="#">Guides</a>
239
+ <ul class="sub-menu">
240
+ <li class="product-guide">
241
+ <a href="http://smartphones.techcrunch.com">Smartphones</a>
242
+ </li>
243
+ <li class="product-guide">
244
+ <a href="http://tablets.techcrunch.com">Tablets</a>
245
+ </li>
246
+ <li class="product-guide">
247
+ <a href="http://digital-cameras.techcrunch.com">Digital Cameras</a>
248
+ </li>
249
+ <li class="product-guide">
250
+ <a href="http://laptops.techcrunch.com">Laptops</a>
251
+ </li>
252
+ <li class="product-guide">
253
+ <a href="http://headphones.techcrunch.com">Headphones</a>
254
+ </li>
255
+ </ul>
256
+ </li>
257
+ <li class="events current"><a href="http://techcrunch.com/events/">Events</a></li>
258
+ <li class="crunchbase"><a href="http://www.crunchbase.com/">CrunchBase</a></li>
259
+ </ul>
260
+ <div class="hot-topics-container">
261
+ <h4>Hot topics</h4>
262
+ <ul id="menu-hot-topic-menu" class="hot-topics"><li id="menu-item-398668" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-398668"><a href="http://techcrunch.com/tag/facebook/">Facebook</a></li>
263
+ <li id="menu-item-398682" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-398682"><a href="http://techcrunch.com/tag/apple/">Apple</a></li>
264
+ <li id="menu-item-398687" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-398687"><a href="http://techcrunch.com/tag/google/">Google</a></li>
265
+ <li id="menu-item-394815" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-394815"><a href="http://techcrunch.com/tag/android/">Android</a></li>
266
+ <li id="menu-item-512159" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-512159"><a href="http://techcrunch.com/events/disrupt-ny-2012/">Disrupt NYC</a></li>
267
+ <li id="menu-item-506376" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-506376"><a href="http://techcrunch.com/events/disrupt-ny-hackathon-2012/">Hackathon</a></li>
268
+ </ul> </div>
269
+ </div>
270
+ </div>
271
+ <li id="tc_announcement_widget-2" class="widget widget_tc_announcement_widget"> <div class="announcement">
272
+ <a href="http://techcrunch.com/events/disrupt-ny-2012/videos"> <div class="announcement-text"><span>Miss</span><span>something</span><span>at</span><span>Disrupt?</span><span>Watch</span><span>the</span><span>videos</span><span>here!</span></div>
273
+ </a> </div>
274
+ </li>
275
+ </div>
276
+
277
+ <!-- BEGIN PAGE CONTENT -->
278
+ <div id="page-container">
279
+
280
+ <div class="column-container">
281
+
282
+
283
+ <div class="left-container">
284
+ <div class='post-category-name'><h3><a href='http://techcrunch.com/opinion/'>opinion</a></h3></div> <div class="post-share-widget" id="post-share-widget">
285
+ <div class="platform comments">
286
+ <a href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/#comments" class="btn-comment">Comment</a>
287
+ <div class="comment-count-bubble">
288
+ <div class="caret"></div>
289
+ <div class="fbcomment-count"><fb:comments-count href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/"></fb:comments-count></div>
290
+ </div>
291
+ </div>
292
+ <div class="platform facebook">
293
+ <fb:like href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/" layout="button_count" send="false" show_faces="false"></fb:like>
294
+ </div>
295
+ <div class="platform twitter">
296
+ <span style="float:left;width:100px;margin-right:5px;"><iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Ftechcrunch.com%2F2012%2F05%2F27%2Fhey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment%2F&amp;text=Hey%20Kids%2C%20Get%20Off%20My%20Lawn%3A%20The%20Once%20And%20Future%20Visual%20Programming%20Environment&amp;via=techcrunch" style="width:130px; height:20px;" allowTransparency="true" frameborder="0"></iframe></span>
297
+ </div>
298
+ <div class="platform linkedin">
299
+ <script type="in/share" data-counter="right" data-url="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/"></script>
300
+ </div>
301
+ <div class="platform gplus">
302
+ <g:plusone size="medium" count="true" href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/"></g:plusone>
303
+ </div>
304
+ <div class="bottom"><b></b></div>
305
+ </div>
306
+
307
+ <div class="module-post-detail __FIRST__ image" id="module-post-detail">
308
+ <h1 class="headline">Hey Kids, Get Off My Lawn: The Once And Future Visual Programming&nbsp;Environment</h1>
309
+ <div class="meta-info">
310
+ <div class="author contributor">
311
+ <span class="name custom-byline">Kwindla Hultman Kramer</span>
312
+ </div>
313
+ <div class="post-time">posted 14 hours ago</div>
314
+ <div class="comment-count"><a href="#comment-box"><fb:comments-count href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/"></fb:comments-count> Comments</a></div>
315
+ </div>
316
+
317
+ <div class="media-container media-loading"><img width="288" height="123" src="http://tctechcrunch2011.files.wordpress.com/2012/05/seededfertilizedlawn.jpg?w=288" class="attachment-image wp-post-image" alt="Seededfertilizedlawn" title="Seededfertilizedlawn" /></div>
318
+ <div class="body-copy">
319
+ <div class="post-first-image">
320
+ <img width="288" height="123" src="http://tctechcrunch2011.files.wordpress.com/2012/05/seededfertilizedlawn.jpg?w=288" class="attachment-image wp-post-image" alt="Seededfertilizedlawn" title="Seededfertilizedlawn" /> </div>
321
+
322
+ <p><strong>Editor�s Note:</strong> <em>This guest post is written by <a href="https://twitter.com/#!/kwindla">Kwindla Hultman Kramer</a>, who is the CEO of <a href="http://oblong.com/">Oblong Industries</a> � the company known for developing the gestural interfaces in the film <a href="http://en.wikipedia.org/wiki/Minority_Report_(film)">Minority Report</a>. The company�s current customers and partners include Boeing, SAP, GE, and others. Follow him on Twitter <a href="http://www.twitter.com/kwindla/">@kwindla</a>.</em></p>
323
+ <blockquote><p>When I was a boy of 14, my father was so ignorant I could hardly stand to have the old man around. But when I got to be 21, I was astonished at how much the old man had learned in seven years</p></blockquote>
324
+ <p>Mark Twain, &#8221;Old Times on the Mississippi&#8221;<br />
325
+ Atlantic Monthly, 1874</p>
326
+ <p>When I was a graduate student at the <a href="http://www.media.mit.edu/" target="_blank">MIT Media Lab</a> fifteen years ago, my research group went on a retreat every year with Famous Computer Scientists from <a href="http://www.amazon.com/Dealers-Lightning-Xerox-PARC-Computer/dp/0887309895" target="_blank">Xerox PARC</a>. I greatly admired these people and their work. But I was young and in a hurry to get where I thought I was going. And it sometimes seemed that every time us young folks talked about our research, or showed a demo, someone would say something like, &#8220;oh, that&#8217;s very nice, when we did that at PARC &#8230;.&#8221;</p>
327
+ <p>Fast forward to the present. For the last few years, every time I see a new piece of small, open, hackable, networked hardware, or a new reputation engine, or a generative art piece, or a product built around location tracking plus real-time information push, or � well, you get the idea � I have to bite my tongue and think of the PARC folks to keep myself from saying, &#8220;oh, that&#8217;s very nice, when we did that at the Media Lab &#8230;.&#8221;</p>
328
+ <p>All of which just proves that the wheel of history revolves. New work is always new, by definition, even if it&#8217;s not entirely new (which nothing can ever be).</p>
329
+ <p>That&#8217;s a long introduction to a short essay on programming tools. In particular, I&#8217;ve been intrigued by the online discussion recently around some very <a href="http://vimeo.com/36579366" target="_blank">nice work</a> on interactive development environments by <a href="http://worrydream.com/" target="_blank">Bret Victor</a> and a related Kickstarter project � and <a href="http://www.chris-granger.com/2012/05/17/light-table-is-in-yc/" target="_blank">now YCombinator company</a> � called <a href="http://www.kickstarter.com/projects/ibdknox/light-table" target="_blank">Light Table</a>, by <a href="http://www.chris-granger.com/" target="_blank">Chris Granger</a>.</p>
330
+ <p>Bret&#8217;s stuff is great. And Light Table is great. If you&#8217;re anything like me, you want to use the tools these two people are building. Go contribute to the Kickstarter project right now.</p>
331
+ <p>The funny thing is, though, that we had pretty interesting versions of these tools twenty years ago. By the late 1980s, professional LISP and Smalltalk environments were more than a little like Light Table.</p>
332
+ <p>When I discovered <a href="http://en.wikipedia.org/wiki/IBM_VisualAge" target="_blank">Visual Age Smalltalk</a> in 1996 I was blown away. Visual Age (and other Smalltalk tools) were built around snippets of code representing objects and methods. There were very few file operations. You could run your code and make live changes to the source, which were reflected in the running process.</p>
333
+ <p>There was no distinction between the development environment and the runtime. You could save out your working &#8220;image&#8221;. There were good tools for managing forks, versioning and merge � not just of source code, but of the full system image.</p>
334
+ <p>If you were writing a GUI application in Visual Age Smalltalk, all the elements on screen were interactively inspectable from inside the debugger. And all the system internals, including the virtual environment, the compiler and the debugger, were introspectible and hackable just by writing a little more Smalltalk code.</p>
335
+ <p>When I raved about this to my friends, some of whom had old <a href="http://www.obsolyte.com/sun_ipx/" target="_blank">SparcStations</a> sitting in their coat closets running their home networks, they said, &#8220;oh yeah, that&#8217;s nice, when we built all that stuff into our <a href="http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/symbolics.html" target="_blank">LISP machines</a> ten years ago at <a href="http://en.wikipedia.org/wiki/Symbolics" target="_blank">Symbolics</a> &#8230;.&#8221;</p>
336
+ <p><a href="http://xkcd.com/297/" target="_blank"><img border="0" /></a>So one question we might ask is why programming tools like this haven&#8217;t taken over, if we&#8217;ve had them for a long time and they are, indeed, generally better in objective or widely agreed upon ways?</p>
337
+ <p>I can think of a few possible reasons.</p>
338
+ <p>First, the requirement of a dynamic runtime to build these dynamic environments on top of is actually quite a big deal. Bret&#8217;s work is in JavaScript. Light Table targets JavaScript, Clojure, and Python.</p>
339
+ <p>These days, we have two classes of languages.</p>
340
+ <p>We use heavily engineered languages that are very, very static in their aesthetic and implementation choices. Truly interactive development environments are difficult to build for these C-family languages. And C-family languages have remained dominant until very recently, because they have both real advantages and &#8220;worse is better,&#8221; inertial advantages.</p>
341
+ <p>On the other hand, we have dynamic languages that, relatively speaking, are really just prototypes. Javascript and Ruby and Python are useful and interesting. But much of the work on the dynamic languages side of the fence seems to go into tweaking syntax, reinventing the wheel at the VM level, and community-based library development. All of which I&#8217;m actually a big fan of, but goodness, it does sort of make me pine for that 200-person (I&#8217;m guessing) crackerjack team working on VisualAge for ten years at IBM.</p>
342
+ <p>Maybe Google � in some ways the IBM of 2012 � will get us there again with JavaScript and <a href="http://code.google.com/p/v8/" target="_blank">V8</a>. Then we&#8217;ll have a dynamic language stack that is fully engineered in the same sense that IBM Smalltalk and Symbolics LISP were.</p>
343
+ <p>Second, I think that the web-enabled explosion of programming and programmers has set back the development of software tooling just as it (temporarily) set back user interface design.</p>
344
+ <p>Again, I hasten to make clear that I think what the web hath wrought is wonderful, on balance. But there&#8217;s no free lunch, and for ten years most of the tech world turned its attention to building out a new global platform that could not, in its early days, support very much in the way of new user interfaces or sophisticated runtime architecture work.</p>
345
+ <p>The web has grown up, though. The capabilities of modern JavaScript frameworks attest to that, as does the low-level work on implementations like V8.</p>
346
+ <p>Third, screen real estate matters. The traditional &#8220;<a href="http://lwn.net/Articles/411845/" target="_blank">everything is a file</a>&#8221; approach is wonderfully portable. You can build an environment for working with files even for a very small display. Heck, you can work with files if all you have is a line-mode terminal. But flexibly arranged code snippets and fully interactive graphical debuggers require a lot of pixels.</p>
347
+ <p>And there aren&#8217;t always enough pixels. I&#8217;m amazed at how often I visit Big Companies and see full-time programmers working at their desks on single, 15&#8243; monitors. That&#8217;s an enormous missed opportunity to enable productivity.</p>
348
+ <p>Pixels have gotten really cheap, though, and come in more and more form factors. We actually could build, today, a development environment designed to make use of a laptop screen and a tablet screen, simultaneously. A MacBook Air and an iPad, used together, would give me more pixels than I had on my dual-monitor desktop back when I fired up Visual Age Smalltalk every day.</p>
349
+ <p>Finally, if we really want to get away from files and static representations of programs, maybe we want to get away from text altogether. There&#8217;s been lots of good academic <a href="http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;arnumber=545279&amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D545279" target="_blank">work</a> on graphical � as in, really, graphical � programming environments over the years. But that&#8217;s another entire conversation.</p>
350
+ <p>Here are a couple of <a href="http://www.ugcs.caltech.edu/~weel/lispm.php" target="_blank">good</a> <a href="ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-514.pdf" target="_blank">pages</a> on <a href="http://pt.withy.org/publications/LispM.html" target="_blank">LISP Machines</a>, which really were the future before the future was quite possible to build. And, as far as I know, the closest anyone has ever gotten to creating a full dynamic environment for a C-language platform is Alexia Massalin&#8217;s Synthesis operating system. If you are a programmer of any kind, I&#8217;ll wager that Alexia&#8217;s <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871" target="_blank">dissertation</a> will blow your mind.</p>
351
+ <p>So, let&#8217;s make the old tools new again. I want to use Light Table, and whatever Light Table catalyzes that we can&#8217;t yet imagine. But I do promise that when that new thing comes along, I&#8217;ll tell you we built an early version of it at the Media Lab at the tail end of the last century.</p>
352
+ <br/> <div class="module-crunchbase">
353
+ <div class="configuration-neighbor">
354
+ <h2 class="global-module-header-default">
355
+ <span class="line-2">
356
+ <div class="cb-home-header cb-stack-home-header">
357
+ <a href="http://crunchbase.com">Crunchbase</a>
358
+ </div>
359
+ </span>
360
+ </h2>
361
+ <div class="container">
362
+ <ul class="tab-container">
363
+ <li><a class="tab item-1 current" href="javascript:void(0)" onclick="s_objectID='post_widget_crunchbase';">OBLONG INDUSTRIES</a></li>
364
+ </ul>
365
+ <div class="panel-container">
366
+ <div class="panel item-1 current">
367
+ <div class="leftgreen">
368
+ <div class="info-container info-container-stack-view">
369
+ <div class="left-align">
370
+ <span class="header-text">Company:</span>
371
+ <span><a href="http://www.crunchbase.com/company/oblong" onclick="s_objectID='post_widget_crunchbase';">Oblong Industries</a></span>
372
+ </div>
373
+ <div class="left-align">
374
+ <span class="header-text">Website:</span>
375
+ <span><a href="http://www.oblong.com" onclick="s_objectID='post_widget_crunchbase';">oblong.com</a></span>
376
+ </div>
377
+ <div class="left-align">
378
+ <span class="header-text">Funding:</span>
379
+ <span>$8.8M</span>
380
+ </div>
381
+ </div>
382
+ <div class="body-copy">
383
+ <p>Oblong Industries, Inc., a gesture recognition company, licenses human gesture-based operating system to licensee/development partners in various industries. It offers a gesture recognition engine that parses and interprets positions of elementary targets, such as the user&#8217;s hand and finger positions and orientations; and a motion tracking software system, which performs glove tracking.
384
+
385
+ Oblong Industries, Inc. is based in Los Angeles, California.</p>
386
+ </div>
387
+ <div class="profile-image">
388
+ <a href="http://www.crunchbase.com/company/oblong"><img src="http://crunchbase.com/assets/images/resized/0007/5664/75664v1-max-150x150.png" alt=""/></a>
389
+ </div>
390
+ </div>
391
+ <a class="learn-more" href="http://www.crunchbase.com/company/oblong" onclick="s_objectID='post_widget_crunchbase';">Learn more</a>
392
+ </div> <!-- End of panel item -->
393
+ </div><!-- End of panel-container -->
394
+ </div>
395
+ </div>
396
+ </div>
397
+ <div style="clear: both;"></div>
398
+ <div id="jp-post-flair" class="sharedaddy"></div>
399
+ <div style="clear:both;"></div>
400
+ </div>
401
+ </div>
402
+ <div class="single-tags">Tags: <a href="http://techcrunch.com/tag/minority-report/" rel="tag">minority report</a>, <a href="http://techcrunch.com/tag/oblong-industries/" rel="tag">oblong industries</a>, <a href="http://techcrunch.com/tag/kwindla-hultman-kramer/" rel="tag">Kwindla Hultman Kramer</a></div>
403
+ <div class="module-sponsored-ads"><p>Sponsored Ads</p><ul>
404
+ <li>
405
+ <script type="text/javascript">
406
+ <!--
407
+ adSetType('J');
408
+ htmlAdWH('93311141', '125', '125');
409
+ //-->
410
+ </script>
411
+ </li>
412
+ <li>
413
+ <script type="text/javascript">
414
+ <!--
415
+ adSetType('J');
416
+ htmlAdWH('93311142', '125', '125');
417
+ //-->
418
+ </script>
419
+ </li>
420
+ <li>
421
+ <script type="text/javascript">
422
+ <!--
423
+ adSetType('J');
424
+ htmlAdWH('93311143', '125', '125');
425
+ //-->
426
+ </script>
427
+ </li>
428
+ <li>
429
+ <script type="text/javascript">
430
+ <!--
431
+ adSetType('J');
432
+ htmlAdWH('93311144', '125', '125');
433
+ //-->
434
+ </script>
435
+ </li>
436
+ </ul></div>
437
+
438
+ <a name="comment-box"></a>
439
+ <div id="comments">
440
+ <div class="fb-comment-container" id="fb-comment-container">
441
+ <div id="fb-root"></div>
442
+ <fb:comments href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/" num_posts="25" width="630"></fb:comments>
443
+ </div>
444
+ </div>
445
+
446
+ <div class="module-sponsored-ads"><p>Sponsored Ads</p><ul>
447
+ <li>
448
+ <script type="text/javascript">
449
+ <!--
450
+ adSetType('J');
451
+ htmlAdWH('93311145', '125', '125');
452
+ //-->
453
+ </script>
454
+ </li>
455
+ <li>
456
+ <script type="text/javascript">
457
+ <!--
458
+ adSetType('J');
459
+ htmlAdWH('93311146', '125', '125');
460
+ //-->
461
+ </script>
462
+ </li>
463
+ <li>
464
+ <script type="text/javascript">
465
+ <!--
466
+ adSetType('J');
467
+ htmlAdWH('93311147', '125', '125');
468
+ //-->
469
+ </script>
470
+ </li>
471
+ <li>
472
+ <script type="text/javascript">
473
+ <!--
474
+ adSetType('J');
475
+ htmlAdWH('93311148', '125', '125');
476
+ //-->
477
+ </script>
478
+ </li>
479
+ </ul></div>
480
+ <div class="module-sponsored-ads"><p>Sponsored Ads</p><ul>
481
+ <li>
482
+ <script type="text/javascript">
483
+ <!--
484
+ adSetType('J');
485
+ htmlAdWH('93311149', '125', '125');
486
+ //-->
487
+ </script>
488
+ </li>
489
+ <li>
490
+ <script type="text/javascript">
491
+ <!--
492
+ adSetType('J');
493
+ htmlAdWH('93311150', '125', '125');
494
+ //-->
495
+ </script>
496
+ </li>
497
+ <li>
498
+ <script type="text/javascript">
499
+ <!--
500
+ adSetType('J');
501
+ htmlAdWH('93311151', '125', '125');
502
+ //-->
503
+ </script>
504
+ </li>
505
+ <li>
506
+ <script type="text/javascript">
507
+ <!--
508
+ adSetType('J');
509
+ htmlAdWH('93311152', '125', '125');
510
+ //-->
511
+ </script>
512
+ </li>
513
+ </ul></div>
514
+ </div> <!-- eof .left-container -->
515
+
516
+ <div class="right-container">
517
+ <div class="rr-mod module-got-a-tip">
518
+ <div class="headline"><a href="" onclick="s_objectID='got_tip';">Got a Tip? Tell Us.</a></div>
519
+ </div>
520
+
521
+ <div id="got-a-tip" style="display:none;">
522
+ <div class="orig_html">
523
+ <a href="javascript:void(0);" class="close">close</a>
524
+ <h1>Got a Tip? TELL US.</h1>
525
+ <form>
526
+ <div>
527
+ <input name="subject" class="title" value="Title..." onfocus="if (this.value == 'Title...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Title...';}" />
528
+ <textarea name="tip" onfocus="if (this.value == 'Your tip here...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Your tip here...';}">Your tip here...</textarea>
529
+ </div>
530
+ <input type="hidden" id="_wpnonce" name="_wpnonce" value="162f5b48d3" /><input type="hidden" name="_wp_http_referer" value="/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/" /> <input type="hidden" name="action" value="submit_tip" />
531
+ <button type="submit">Send</button>
532
+ </form>
533
+ <h2>So you've got the inside scoop on a story or topic that we've covered?</h2>
534
+
535
+ <h2>We respect your anonymity feel free to directly email us.<br /><a href="mailto:tips@techcrunch.com">tips@techcrunch.com</a></h2>
536
+
537
+
538
+
539
+ <a href="http://techcrunch.com/contact/" class="contact">Contact TechCrunch</a>
540
+ </div>
541
+ <div class="resp_html" style="display:none;"><h1 class="thanks">Thanks for the tip! <br /> We're following it up now.</h1></div>
542
+ </div>
543
+ <script type="text/javascript">
544
+ <!--
545
+ adSetType('F');
546
+ htmlAdWH('', '215', '35');
547
+ //-->
548
+ </script>
549
+ <div id="right-rail-ad" class="ad">
550
+ <script type="text/javascript">
551
+ <!--
552
+ adSetType('F');
553
+ htmlAdWH('93321393', 'RR', 'RR');
554
+ //-->
555
+ </script>
556
+ </div>
557
+
558
+ <div class="rr-mod module-upcoming-events" id="module-upcoming-events">
559
+ <div class="configuration-neighbor">
560
+ <h2 class="global-module-header-default">
561
+ <span class="line-1">Upcoming Events</span>
562
+ </h2>
563
+ <div id="list-upcoming-events">
564
+ <div class="rr-upcoming-event">
565
+ <div class="upcoming-event-date odd">
566
+ <a href="http://techcrunch.com/events/disrupt-sf-2012/">09/08/12</a>
567
+ </div>
568
+ <div class="upcoming-event-info">
569
+ <p class="upcoming-event-title"><a href="http://techcrunch.com/events/disrupt-sf-2012/" title="Disrupt SF&nbsp;2012">Disrupt SF&nbsp;2012</a></p>
570
+ <p class="upcoming-event-location">San Francisco, CA</p>
571
+ </div>
572
+ <div class="global-clear"></div>
573
+ </div>
574
+ <div class="global-clear"></div>
575
+ </div>
576
+ </div>
577
+ </div>
578
+ <div class="module-timeline">
579
+ <h2 class="global-module-header-default"><span class="line-1">minority<br />report:<br />Timeline</span></h2>
580
+ <div class="timeline-container">
581
+ <ul class="post-timeline-items">
582
+ <li class="item current even">
583
+ <a href="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment/">
584
+ <span class="date">5.27.12</span>
585
+ <span class="post-title">Hey Kids, Get Off My Lawn: The Once And&hellip;</span>
586
+ </a>
587
+ </li>
588
+ <li class="item item-521838 odd">
589
+ <a href="http://techcrunch.com/2012/03/18/the-next-next-thing/">
590
+ <span class="date">3.18.12</span>
591
+ <span class="post-title">The Next, Next Thing</span>
592
+ </a>
593
+ </li>
594
+ <li class="item item-189910 even">
595
+ <a href="http://techcrunch.com/2010/12/09/video-is-that-a-kinect-or-is-that-minority-report/">
596
+ <span class="date">12.9.10</span>
597
+ <span class="post-title">Video: Is That A Kinect, Or Is That Minority Report?</span>
598
+ </a>
599
+ </li>
600
+ <li class="item item-159253 odd">
601
+ <a href="http://techcrunch.com/2010/02/16/oblong-industries-minority-report/">
602
+ <span class="date">2.16.10</span>
603
+ <span class="post-title">The iPad Is Step 1 In The Future Of Computing. This Is Step&hellip;</span>
604
+ </a>
605
+ </li>
606
+ <li class="item item-54031 even">
607
+ <a href="http://techcrunch.com/2008/11/17/oblongs-g-speak-spatial-operating-interface-brings-minority-report-ui-to-life/">
608
+ <span class="date">11.17.08</span>
609
+ <span class="post-title">Oblong&#039;s g-speak spatial operating interface brings&hellip;</span>
610
+ </a>
611
+ </li>
612
+ </ul>
613
+ <a class="view-page" href="http://techcrunch.com/tag/minority-report/" onclick="s_objectID='post_topic_timeline_widget';">All Articles for minority report</a>
614
+ </div>
615
+ </div>
616
+ <div class="rr-mod module-popular-posts" id="grv-trending"></div>
617
+ <div class="rr-mod module-popular-posts" id="grv-personalization"></div>
618
+ <div class="rr-mod module-rightrail-social-widget" id="module-rightrail-social-widget">
619
+ <div class="configuration-neighbor">
620
+ <h2 class="global-module-header-default">
621
+ <span class="line-1">Crunch with us.</span><br>
622
+ </h2>
623
+ <div id="rr-social-widget-facebook">
624
+ <iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Ftechcrunch&amp;send=false&amp;layout=standard&amp;width=270&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:270px; height:80px;" allowTransparency="true"></iframe>
625
+ </div>
626
+ <div id="rr-social-widget-twitter">
627
+ <a href="https://twitter.com/TechCrunch" class="twitter-follow-button" data-show-count="true" data-size="large">Follow @TechCrunch</a>
628
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
629
+ </div>
630
+ <div id="rr-social-widget-google">
631
+ <g:plus href="https://plus.google.com/103037366582313115962" size="smallbadge"></g:plus>
632
+ </div>
633
+ <div id="rr-social-widget-chiclets">
634
+ <div id="rr-social-widget-chiclets-linkedin"><a href="http://www.linkedin.com/today/techcrunch.com/"></a></div>
635
+ <div id="rr-social-widget-chiclets-stumbleupon"><a href="http://www.stumbleupon.com/channel/techcrunch/"></a></div>
636
+ <div id="rr-social-widget-chiclets-youtube"><a href="http://www.youtube.com/techcrunch"></a></div>
637
+ <div id="rr-social-widget-chiclets-feedburner"><a href="http://feedburner.google.com/fb/a/mailverify?uri=TechCrunch&loc=en_US"></a></div>
638
+ <div id="rr-social-widget-chiclets-rss"><a href="http://techcrunch.com/rssfeeds/"></a></div>
639
+ </div>
640
+ </div>
641
+ </div>
642
+
643
+ <!--
644
+ <div class="rr-mod module-rightrail-announcements" id="module-rightrail-announcements">
645
+ <div class="configuration-neighbor">
646
+ <h2 class="global-module-header-default">
647
+ <a href="http://techcrunch.com/tag/gift-guide-2011/">
648
+ <span class="line-1">2011 Holiday</span><br />
649
+ <span class="line-2">Gift Guide</span>
650
+ </a>
651
+ </h2>
652
+ <div class="announcement-detail">
653
+ Your guide for the best gadget gifts of 2011
654
+ </div>
655
+ <a class="see-all" href="http://techcrunch.com/tag/gift-guide-2011/" target="_other">Read</a>
656
+ </div>
657
+ </div>
658
+ -->
659
+ <div class="aol-asl-ad">
660
+ <script type="text/javascript">adsonar_placementId=1530655;adsonar_pid=2360767;adsonar_ps=0;adsonar_zw=300;adsonar_zh=250;adsonar_jv='ads.tw.adsonar.com';</script><script language="JavaScript" src="http://js.adsonar.com/js/adsonar.js"></script>
661
+ </div>
662
+ <div class="rr-mod module-the-crunchboard" id="module-the-crunchboard">
663
+ <div class="configuration-neighbor">
664
+ <h2 class="global-module-header-default">
665
+ <a href="http://www.crunchboard.com"><span class="line-1">Crunchboard</span></a>
666
+ </h2>
667
+
668
+ <div class="container" id="board">
669
+
670
+ <ul class="tab-container">
671
+ <li><a class="tab jobs current" href="javascript:void(0)">Jobs</a></li>
672
+ <li><a class="tab services" href="javascript:void(0)">Services</a></li>
673
+ </ul>
674
+
675
+ <div class="panel-container">
676
+ <ul class="panel jobs current">
677
+
678
+ <li><a href="http://www.crunchboard.com/opening/detailjob.php?jid=13900" onclick="s_objectID='rr_crunchboard';"><strong>Senior Operations Engineer</strong>Taulia Inc.</a></li>
679
+ <li><a href="http://www.crunchboard.com/opening/detailjob.php?jid=13899" onclick="s_objectID='rr_crunchboard';"><strong>Software Engineer in Test</strong>Google</a></li>
680
+ <li><a href="http://www.crunchboard.com/opening/detailjob.php?jid=13898" onclick="s_objectID='rr_crunchboard';"><strong>Front End Software Engineer</strong>Google</a></li>
681
+ <li><a href="http://www.crunchboard.com/opening/detailjob.php?jid=13897" onclick="s_objectID='rr_crunchboard';"><strong>Software Engineer - Pittsburgh</strong>Google</a></li>
682
+ <li class="last"><a href="http://www.crunchboard.com/opening/detailjob.php?jid=13896" onclick="s_objectID='rr_crunchboard';"><strong>Software Engineer - Cambridge</strong>Google</a></li> </ul>
683
+ <ul class="panel services">
684
+
685
+ <li><a href="http://services.crunchboard.com/viewservices/index.php?id=5489"><strong>RelayStrategy</strong>Developers</a></li>
686
+ <li><a href="http://services.crunchboard.com/viewservices/index.php?id=5487"><strong>Smartsourcing Global</strong>Services</a></li>
687
+ <li><a href="http://services.crunchboard.com/viewservices/index.php?id=4459"><strong>Epsilon Concepts - LA Web Design Company</strong>Developers</a></li>
688
+ <li><a href="http://services.crunchboard.com/viewservices/index.php?id=3430"><strong>Arul & Associates LLC</strong>Accounting</a></li>
689
+ <li class="last"><a href="http://services.crunchboard.com/viewservices/index.php?id=3428"><strong>The Resumator</strong>HR admin</a></li> </ul>
690
+ </div>
691
+ <a class="see-all" href="http://crunchboard.com">See all</a>
692
+ </div>
693
+ </div>
694
+ <div class="powered-by">Powered by <a href='http://www.personforce.com' target='_blank'>Personforce</a></div>
695
+ </div>
696
+ </div>
697
+
698
+ <div class="global-clear"></div>
699
+
700
+ </div>
701
+
702
+ </div>
703
+ <!-- END PAGE CONTENT --> <div class="module-footer" id="module-footer">
704
+
705
+ <div class="content-box">
706
+ <div class="category-box">
707
+ <div class="category">
708
+ <h3 class="headline">Latest on TechCrunch TV</h3>
709
+ <ul class="link-list">
710
+ <li><a href="http://techcrunch.com/2012/05/27/video-highlights-from-disrupt-ny-2012-day-2-tctv/">Video Highlights From Disrupt NY 2012 &#8211; Day 2&nbsp;[TCTV]</a></li>
711
+ <li><a href="http://techcrunch.com/2012/05/27/video-highlights-from-disrupt-ny-2012-day-1-tctv/">Video Highlights From Disrupt NY 2012 &#8211; Day 1&nbsp;[TCTV]</a></li>
712
+ <li><a href="http://techcrunch.com/2012/05/27/backstage-at-disrupt-americas-cto-todd-park-is-giving-away-really-big-data/">Backstage at Disrupt, America&#8217;s CTO Todd Park is Giving Away Really Big&nbsp;Data</a></li>
713
+ <li><a href="http://techcrunch.com/2012/05/26/gillmor-gang-adventures-in-medication/">Gillmor Gang: Adventures in&nbsp;Medication</a></li>
714
+ <li><a href="http://techcrunch.com/2012/05/26/backstage-at-disrupt-greylocks-john-lilly-on-building-apps-for-phones-vs-tablets/">Backstage at Disrupt, Greylock&#8217;s John Lilly on Building Apps for Phones vs&nbsp;Tablets</a></li>
715
+ </ul> <div class="more-in-cat"><a href="http://techcrunch.tv">More on TechCrunch TV</a></div>
716
+ </div>
717
+ <div class="category">
718
+ <h3 class="headline">Latest in Gadgets</h3>
719
+ <ul class="link-list">
720
+ <li><a href="http://techcrunch.com/2012/05/26/devon-steampunk-tread-1-watch-looks-like-something-an-extraordinary-gentleman-would-wear/">Devon Steampunk Tread 1 Watch Looks Like Something An Extraordinary Gentleman Would&nbsp;Wear</a></li>
721
+ <li><a href="http://techcrunch.com/2012/05/25/sweating-the-small-stuff-sothebys-selling-original-steve-jobs-note-about-atari-circuit-improvements/">Sweating The Small Stuff: Sotheby&#8217;s Selling Original Steve Jobs Note About Atari Circuit&nbsp;Improvements</a></li>
722
+ <li><a href="http://techcrunch.com/2012/05/25/gadget-of-the-week-the-parrot-ar-drone-2-0/">Gadget Of The Week: The Parrot AR.Drone&nbsp;2.0</a></li>
723
+ <li><a href="http://techcrunch.com/2012/05/25/talking-and-rocking-with-gtar-creator-incident/">Talking (And Rocking) With gTar Creator&nbsp;Incident</a></li>
724
+ <li><a href="http://techcrunch.com/2012/05/25/up-close-with-the-xetum-stinson/">Up Close With The Xetum&nbsp;Stinson</a></li>
725
+ </ul> <div class="more-in-cat"><a href="http://techcrunch.com/gadgets">More in Gadgets</a></div>
726
+ </div>
727
+ <div class="category">
728
+ <h3 class="headline">Also on AOL Tech</h3>
729
+ <ul class="link-list"><li><a href="http://wow.joystiq.com/2012/05/27/know-your-lore-state-of-the-alliance-2012/">Know Your Lore: State of the Alliance,&nbsp;2012</a></li>
730
+ <li><a href="http://wow.joystiq.com/2012/05/27/the-queue-nine-seconds/">The Queue: Nine&nbsp;seconds</a></li>
731
+ <li><a href="http://www.joystiq.com/2012/05/27/thq-planning-reverse-stock-split-to-avoid-nasdaq-delisting/">THQ planning reverse stock split to avoid NASDAQ&nbsp;delisting</a></li>
732
+ <li><a href="http://wow.joystiq.com/2012/05/27/sunday-morning-funnies-retracing-steps/">Sunday Morning Funnies: Retracing&nbsp;steps</a></li>
733
+ <li><a href="http://www.joystiq.com/2012/05/27/new-gungnir-screens-show-off-battle-scenes-dialogue/">New Gungnir screens show off battle scenes,&nbsp;dialogue</a></li>
734
+ </ul> <div class="more-in-cat">More on <a href="http://engadget.com">Engadget</a>, <a href="http://tuaw.com">TUAW</a>, <a href="http://joystiq.com">Joystiq</a>, <a href="http://huffingtonpost.com/tech">HuffPost Tech</a></div>
735
+ </div>
736
+ </div>
737
+
738
+ <div class="auxiliary">
739
+ <h3 class="headline first">About</h3>
740
+ <ul id="menu-footer-links" class="footer-links"><li id="menu-item-397573" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-397573"><a href="http://techcrunch.com/about/">About &amp; Staff</a></li>
741
+ <li id="menu-item-388652" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-388652"><a href="http://techcrunch.com/advertise/">Advertise</a></li>
742
+ <li id="menu-item-388642" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-388642"><a href="http://crunchboard.com">Jobs</a></li>
743
+ <li id="menu-item-388643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-388643"><a href="http://techcrunch.com/events/">Events</a></li>
744
+ <li id="menu-item-388644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-388644"><a href="http://techcrunch.com/europe">Europe</a></li>
745
+ <li id="menu-item-388645" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-388645"><a href="http://fr.techcrunch.com">France</a></li>
746
+ <li id="menu-item-388646" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-388646"><a href="http://jp.techcrunch.com">Japan</a></li>
747
+ <li id="menu-item-388653" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-388653"><a href="http://techcrunch.com/contact/">Contact</a></li>
748
+ </ul>
749
+ <h3 class="headline">Subscribe</h3>
750
+ <ul class="footer-links">
751
+ <li><a href="http://techcrunch.com/rssfeeds/" onclick="s_objectID='subscribe';">RSS</a></li>
752
+ <li><a href="http://feedburner.google.com/fb/a/mailverify?uri=TechCrunch&loc=en_US" onclick="s_objectID='subscribe';">Email</a></li>
753
+ <li><a href="http://twitter.com/TechCrunch" onclick="s_objectID='subscribe';">Twitter</a></li>
754
+ <li><a href="http://www.facebook.com/techcrunch/"onclick="s_objectID='subscribe';">Facebook</a></li>
755
+ </ul>
756
+ </div>
757
+ </div>
758
+ <div class="terminator">
759
+ <div class="terminator-content-box">
760
+
761
+ <a class="aoltech-logo" href="http://aoltech.com"><span class="global-seo-copy">AolTech</span></a>
762
+
763
+ <div class="term-links">
764
+ <span><a href="http://privacy.aol.com/">Privacy Policy</a></span>
765
+ <span class="copyright">&copy; 2012 AOL Inc. All rights reserved.</span>
766
+ <span class="wordpress-vip">Powered by <a href="http://vip.wordpress.com/" rel="generator">WordPress.com VIP</a></span>
767
+ </div>
768
+ </div>
769
+ <div class="finalizer"></div>
770
+ </div>
771
+ </div>
772
+
773
+ <!-- BEGIN SCRIPT -->
774
+ <script src="http://o.aolcdn.com/os_merge/?file=/aol/jquery.sonar.min.js"></script>
775
+ <script type="text/javascript">
776
+ jQuery(document).ready(function($) {
777
+
778
+ $("img[data-src]").bind("scrollin", function(){
779
+
780
+ var img = this,
781
+ $img = $(img);
782
+
783
+ $img.unbind("scrollin"); // clean up binding
784
+ img.src = $img.attr( "data-src" );
785
+
786
+ });
787
+
788
+ //
789
+ // PAGE-SPECIFIC SCRIPT HERE
790
+ //
791
+ techcrunch.util.VideoPlayerManager.getInstance();
792
+ new techcrunch.module.Header("#module-header");
793
+ new techcrunch.module.PostDetail("#module-post-detail");
794
+ new techcrunch.module.RelatedArticles("#module-related-articles");
795
+ new techcrunch.module.GotATip();
796
+ });
797
+ </script>
798
+ <!-- END SCRIPT -->
799
+
800
+ <script>
801
+ jQuery(document).ready(function($) {
802
+ // Initializing the Autocomplete feature for search box in the header bar
803
+ $('#header-query').globalSearchBox({
804
+ apiUrl:"http://autocompletech.search.aol.com/autocomplete/get",
805
+ apiIt:"techcrunch",
806
+ apiDictionary:"en_us_techcrunch_h",
807
+ ui_form : "#header-search",
808
+ ui_input : "#header-query", // ui input field
809
+ ui_submit : "#header-search-btn", // ui submit button
810
+ ui_output : "#header-bar-search-results", // ui output container
811
+ allowBlankSearch: false
812
+ });
813
+
814
+ var id = setInterval(function() {
815
+ var $iframe = $('#module-header iframe');
816
+ if ( ( $iframe.length && $iframe.height() == 0 ) || false ) {
817
+ clearInterval(id);
818
+
819
+ $.get( tc_ajax.ajaxurl, { action:"screamer" }, function(response) {
820
+ if ( response.length > 0 ) {
821
+ $('#module-header .content-container div').remove;
822
+ $('#module-header .content-container').html(response);
823
+ }
824
+ });
825
+ }
826
+ }, 500);
827
+
828
+ function getShares( shareElement ) {
829
+ $.ajax({
830
+ url:'http://c.aol.com/read/_share_counts?permalink='+shareElement.data('permalink'),
831
+ dataType:'jsonp',
832
+ success:function(result) {
833
+ var count = 0;
834
+ if (result.status == 'OK') {
835
+ // parse results into proper containers
836
+ var facebook_count = result.shares.facebook ? parseInt(result.shares.facebook) : 0;
837
+ var twitter_count = result.shares.twitter ? parseInt(result.shares.twitter) : 0;
838
+ } else {
839
+ var facebook_count = 0;
840
+ var twitter_count = 0;
841
+ }
842
+ // console.log('url: '+shareElement.data('permalink')+' | fb:'+facebook_count+' | tw:'+twitter_count);
843
+ shareElement.find('.facebook-count').html(facebook_count);
844
+ shareElement.find('.tweeter-count').html(twitter_count);
845
+ var count = Math.floor( ( facebook_count + twitter_count ) * 1.6 );
846
+ if ( count == 0 ) count = 'NEW';
847
+ shareElement.find('.count').html(count);
848
+ }
849
+ });
850
+ }
851
+
852
+
853
+
854
+ getShares( $('#module-social-media-bar') );
855
+
856
+
857
+
858
+ });
859
+
860
+ </script>
861
+
862
+
863
+ <!-- Comscore tracking -->
864
+ <script type="text/javascript">document.write(unescape("%3Cscript src='" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js' %3E%3C/script%3E"));</script>
865
+ <script type="text/javascript">
866
+ COMSCORE.beacon({
867
+ c1:2,
868
+ c2:6036210,
869
+ c3:"",
870
+ c4:"",
871
+ c5:"",
872
+ c6:"",
873
+ c15:""
874
+ });
875
+ </script>
876
+ <noscript>
877
+ <img src="http://b.scorecardresearch.com/b?c1=2&c2=6036210&c3=&c4=&c5=&c6=&c15=&cv=1.3&cj=1" style="display:none" width="0" height="0" alt="" />
878
+ </noscript>
879
+
880
+ <!-- Google Analytics -->
881
+ <script type="text/javascript">
882
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
883
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
884
+ </script>
885
+ <script type="text/javascript">
886
+ try {
887
+ var pageTracker = _gat._getTracker("UA-991406-1");
888
+ pageTracker._trackPageview();
889
+ } catch(err) {}</script>
890
+
891
+ <!-- Omniture Analytics -->
892
+ <script type="text/javascript">
893
+ function runOmni()
894
+ {
895
+ s_265.pfxID="tcr";
896
+ s_265.pageName=document.title;
897
+ s_265.channel="us.tchcr";
898
+ s_265.linkInternalFilters="javascript:,mobilecrunch.com,crunchgear.com,crunchbase.com,techcrunch.com,techcrunchit.com,techcrunch.tv,uk.techcrunch.com,eu.techcrunch.com,fr.techcrunch.com,jp.techcrunch.com";
899
+ s_265.prop1="article";
900
+ s_265.prop2="techcrunch";
901
+ s_265.prop12=document.URL.split('?')[0];
902
+ s_265.prop19 = "minority report|oblong industries|Kwindla Hultman Kramer";
903
+ s_265.mmxgo=true;
904
+ var s_code=s_265.t();
905
+ }
906
+ s_account ="aoltechcrunch,aolsvc"; /* Use "aoltechcrunch,aolsvc"; for PROD */
907
+ (function(){
908
+ var d = document, s = d.createElement('script');
909
+ s.type = 'text/javascript';
910
+ s.src = (location.protocol == 'https:' ? 'https://s' : 'http://o') + '.aolcdn.com/omniunih.js';
911
+ d.getElementsByTagName('head')[0].appendChild(s);
912
+ })();
913
+ </script>
914
+
915
+ <!-- Chartbeat Real-time Analytics -->
916
+ <script type="text/javascript">
917
+ var _sf_async_config={uid:2905,domain:"techcrunch.com"};
918
+ _sf_async_config.authors = "Contributor"; _sf_async_config.sections = "minority report,oblong industries,Kwindla Hultman Kramer"; (function(){
919
+ function loadChartbeat() {
920
+ window._sf_endpt=(new Date()).getTime();
921
+ var e = document.createElement('script');
922
+ e.setAttribute('language', 'javascript');
923
+ e.setAttribute('type', 'text/javascript');
924
+ e.setAttribute('src',
925
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
926
+ "static.chartbeat.com/js/chartbeat.js");
927
+ document.body.appendChild(e);
928
+ }
929
+ var oldonload = window.onload;
930
+ window.onload = (typeof window.onload != 'function') ?
931
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
932
+ })();
933
+ </script>
934
+
935
+ <!-- Gravity Beacon -->
936
+ <script type="text/javascript">
937
+ var gravityInsightsParams = {type:'content', site_guid:'fca4fa8af1286d8a77f26033fdeed202'};
938
+ document.write(unescape("%3Cscript src='http://cdn.insights.gravity.com/moth-min.js' type='text/javascript'%3E%3C/script%3E"));
939
+ </script>
940
+ <script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?aa&#038;ver=3.4-beta4-20943'></script>
941
+ <script type='text/javascript'>
942
+ /* <![CDATA[ */
943
+ var WPGroHo = {"my_hash":""};
944
+ /* ]]> */
945
+ </script>
946
+ <script type='text/javascript' src='http://s0.wp.com/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1334688595g&#038;ver=3.4-beta4-20943'></script>
947
+
948
+ <script type="text/javascript">
949
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,posttag.minority-report,posttag.oblong-industries,posttag.kwindla-hultman-kramer,vip.tctechcrunch2011"};
950
+ function wpcomQuantcastPixel( labels, options ) {
951
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
952
+
953
+ labels = labels || '';
954
+ options = options || {};
955
+
956
+ if ( typeof labels != 'string' )
957
+ options = labels;
958
+
959
+ for ( i in defaults ) {
960
+ data[i] = defaults[i];
961
+ }
962
+
963
+ for ( i in options ) {
964
+ data[i] = options[i];
965
+ }
966
+
967
+ if ( data.labels ) {
968
+ data.labels += ',' + labels;
969
+ } else {
970
+ data.labels = labels;
971
+ }
972
+
973
+ _qevents.push( data );
974
+ };
975
+ (function() {var elem = document.createElement('script');elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";elem.async = true;elem.type = "text/javascript";var scpt = document.getElementsByTagName('script')[0];scpt.parentNode.insertBefore(elem, scpt); })();
976
+ _qevents.push( wpcomQuantcastData );
977
+ </script>
978
+ <noscript><div style="display: none;"><img src="//pixel.quantserve.com/pixel/p-18-mFEk4J448M.gif?labels=%2Clanguage.en%2Ctype.wpcom%2Cposttag.minority-report%2Cposttag.oblong-industries%2Cposttag.kwindla-hultman-kramer%2Cvip.tctechcrunch2011" height="1" width="1" alt="" /></div></noscript>
979
+
980
+
981
+ <script type="text/javascript">
982
+ /* <![CDATA[ */
983
+ (function($){
984
+ $(document).on( 'ready post-load', function() {
985
+
986
+ // Remove the login box when clicking the page
987
+ $( document ).mousedown( function( e ) {
988
+ if ( null == $( e.target ).closest( '#wpl-mustlogin' ).get( 0 ) ) {
989
+ $( '#wpl-mustlogin' ).remove();
990
+ }
991
+ });
992
+
993
+ // Handle clicking the like button itself
994
+ $('.wpl-button > a.like').click( function(e) {
995
+ e.preventDefault();
996
+
997
+ var postid = $(this).parent().attr('id').split('like-')[1];
998
+ $.post( 'http://techcrunch.com/wp-admin/admin-ajax.php', {
999
+ 'action': 'wpl_record_stat',
1000
+ 'stat_name': 'loggedout_like_click'
1001
+ } );
1002
+
1003
+ var tenMins = new Date();
1004
+ tenMins.setTime( tenMins.getTime() + 600000 );
1005
+ document.cookie = 'wpl_rand=17939dc4c6; expires=' + tenMins.toGMTString() + '; domain=wordpress.com; path=/;';
1006
+
1007
+ $(this).parent().siblings('.wpl-count').after( '\
1008
+ <div id="wpl-mustlogin"> \
1009
+ <form action="https://tctechcrunch2011.wordpress.com/wp-login.php" method="post"> \
1010
+ <p>Just one more step to like this:</p> \
1011
+ <label><span>Username</span> <input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="80" /></label> \
1012
+ <label><span>Password</span> <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" tabindex="81" /></label> \
1013
+ <input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="Log In" tabindex="82" /> \
1014
+ <input type="hidden" name="postid" value="' + postid + '" /> \
1015
+ <input type="hidden" name="redirect_to" value="http://techcrunch.com/2012/05/27/hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment?year=2012&monthnum=05&day=27&name=hey-kids-get-off-my-lawn-the-once-and-future-visual-programming-environment&like=1" /> \
1016
+ <input type="hidden" name="wpl_rand" value="17939dc4c6" /> \
1017
+ <p>Not a member yet? <a href="http://wordpress.com/signup/?ref=likebox" id="wpl-signup-link">Sign up with WordPress.com</a></p> \
1018
+ </form> \
1019
+ </div> \
1020
+ ');
1021
+
1022
+ $('#wpl-mustlogin').hide().slideDown('fast');
1023
+ } );
1024
+
1025
+ $('#wpl-mustlogin input.input').live( 'focus', function() {
1026
+ $(this).prev().hide();
1027
+ }).live( 'blur', function() {
1028
+ if ( $(this).val() == '' ) {
1029
+ $(this).prev().show();
1030
+ }
1031
+ });
1032
+
1033
+ $('#wpl-mustlogin input#wp-submit').live( 'click', function(e) {
1034
+ e.preventDefault();
1035
+
1036
+ $.post( 'http://techcrunch.com/wp-admin/admin-ajax.php', {
1037
+ 'action': 'wpl_record_stat',
1038
+ 'stat_name': 'loggedout_login_submit'
1039
+ }, function() {
1040
+ $('#wpl-mustlogin form').submit();
1041
+ } );
1042
+ });
1043
+
1044
+ $('#wpl-mustlogin a#wpl-signup-link').live( 'click', function(e) {
1045
+ e.preventDefault();
1046
+
1047
+ var link = $(this).attr('href');
1048
+
1049
+ $.post( 'http://techcrunch.com/wp-admin/admin-ajax.php', {
1050
+ 'action': 'wpl_record_stat',
1051
+ 'stat_name': 'loggedout_signup_click'
1052
+ }, function() {
1053
+ location.href = link;
1054
+ } );
1055
+ });
1056
+ })
1057
+ })(jQuery);
1058
+ /* ]]> */
1059
+ </script>
1060
+ <script>jQuery(document).ready(function($){ Gravatar.profile_cb = function( h, d ) { WPGroHo.syncProfileData( h, d ); }; Gravatar.my_hash = WPGroHo.my_hash; Gravatar.init( 'body', '#wp-admin-bar-my-account' ); });</script> <div style="display:none">
1061
+ </div>
1062
+ <style type="text/css">
1063
+
1064
+ .reblog-from img { margin: 0 10px 0 0; vertical-align: middle; padding: 0; border: 0; }
1065
+ .reblogger-note img.avatar { float: left; padding: 0; border: 0; }
1066
+ .reblogger-note-content { margin: 0 0 20px 35px; }
1067
+ .reblog-post { border-left: 3px solid #eee; padding-left: 15px; }
1068
+ .reblog-post ul.thumb-list { display: block; list-style: none; margin: 2px 0; padding: 0; clear: both; }
1069
+ .reblog-post ul.thumb-list li { display: inline; margin: 0; padding: 0 1px; border: 0; }
1070
+ .reblog-post ul.thumb-list li a { margin: 0; padding: 0; border: 0; }
1071
+ .reblog-post ul.thumb-list li img { margin: 0; padding: 0; border: 0; }
1072
+ .reblog-post { border-left: 3px solid #eee; padding-left: 15px; }
1073
+
1074
+ .reblog-post .wpcom-enhanced-excerpt { clear: both; }
1075
+
1076
+ .reblog-post .wpcom-enhanced-excerpt address,
1077
+ .reblog-post .wpcom-enhanced-excerpt li,
1078
+ .reblog-post .wpcom-enhanced-excerpt h1,
1079
+ .reblog-post .wpcom-enhanced-excerpt h2,
1080
+ .reblog-post .wpcom-enhanced-excerpt h3,
1081
+ .reblog-post .wpcom-enhanced-excerpt h4,
1082
+ .reblog-post .wpcom-enhanced-excerpt h5,
1083
+ .reblog-post .wpcom-enhanced-excerpt h6,
1084
+ .reblog-post .wpcom-enhanced-excerpt p { font-size: 100% !important; }
1085
+
1086
+ .reblog-post .wpcom-enhanced-excerpt blockquote,
1087
+ .reblog-post .wpcom-enhanced-excerpt pre,
1088
+ .reblog-post .wpcom-enhanced-excerpt code,
1089
+ .reblog-post .wpcom-enhanced-excerpt q { font-size: 98% !important; }
1090
+ </style><script type='text/javascript'>
1091
+ /* <![CDATA[ */
1092
+ var HighlanderComments = {"loggingInText":"Logging In\u2026","submittingText":"Posting Comment\u2026","postCommentText":"Post Comment","connectingToText":"Connecting to %s","commentingAsText":"%1$s: You are commenting using your %2$s account.","logoutText":"Log Out","loginText":"Log In","connectURL":"http:\/\/tctechcrunch2011.wordpress.com\/public.api\/connect\/?action=request","logoutURL":"http:\/\/tctechcrunch2011.wordpress.com\/wp-login.php?action=logout&_wpnonce=def57b4a98","homeURL":"http:\/\/techcrunch.com\/","postID":"561681","gravDefault":"identicon","enterACommentError":"Please enter a comment","enterEmailError":"Please enter your email address here","invalidEmailError":"Invalid email address","enterAuthorError":"Please enter your name here","gravatarFromEmail":"This picture will show whenever you leave a comment. Click to customize it.","logInToExternalAccount":"Log in to use details from one of these accounts.","change":"Change","changeAccount":"Change Account","comment_registration":"","userIsLoggedIn":""};
1093
+ /* ]]> */
1094
+ </script>
1095
+ <script type='text/javascript' src='http://s0.wp.com/wp-content/mu-plugins/highlander-comments/script.js?m=1337980317g&#038;ver=20110804'></script>
1096
+ <script type='text/javascript' src='http://s0.wp.com/wp-content/mu-plugins/notes/underscore-min.js?m=1333996480g&#038;ver=2012-05-04'></script>
1097
+ <script type='text/javascript' src='http://s2.wp.com/wp-content/mu-plugins/notes/backbone-min.js?m=1333996480g&#038;ver=2012-05-04'></script>
1098
+ <script type='text/javascript' src='http://s1.wp.com/wp-content/mu-plugins/notes/mustache.js?m=1334597730g&#038;ver=2012-05-04'></script>
1099
+ <script type='text/javascript' src='http://s0.wp.com/wp-content/mu-plugins/notes/notes-rest-common.js?m=1337892259g&#038;ver=2012-05-24a'></script>
1100
+ <script type='text/javascript' src='http://connect.facebook.net/en_US/all.js?ver=3.4-beta4-20943#xfbml=1'></script>
1101
+ <script type='text/javascript' src='http://platform.linkedin.com/in.js?ver=3.4-beta4-20943'></script>
1102
+ <script type='text/javascript' src='https://apis.google.com/js/plusone.js?ver=3.4-beta4-20943'></script>
1103
+ <script type="text/javascript">
1104
+ // <![CDATA[
1105
+ (function() {
1106
+ try{
1107
+ if ( window.external &&'msIsSiteMode' in window.external) {
1108
+ if (window.external.msIsSiteMode()) {
1109
+ var jl = document.createElement('script');
1110
+ jl.type='text/javascript';
1111
+ jl.async=true;
1112
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
1113
+ var s = document.getElementsByTagName('script')[0];
1114
+ s.parentNode.insertBefore(jl, s);
1115
+ }
1116
+ }
1117
+ }catch(e){}
1118
+ })();
1119
+ // ]]>
1120
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
1121
+ <script type="text/javascript">
1122
+ st_go({'blog':'24588526','v':'wpcom','user_id':'0','post':'561681','subd':'tctechcrunch2011'});
1123
+ function st_vt() {var x=document.createElement("img");x.src="http://stats.wordpress.com/g.gif?blog=24588526&v=wpcomvt&user_id=0&post=561681&subd=tctechcrunch2011&rand="+Math.random();}
1124
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXUVYmb2hZL0lEQT9qcF9NWi1bMDJfLy90VXNvY2U3ZFZ1RWlDan5dUUVCUnh3VDl+VFs/Vlp6LGVFLUMycFUtd0tha2VdOXN0amh6V1pxa21dbTFwRG9pczYvPVhJdGMtSk1KNWZ6ZVV5akpiX29MSEdEdjJiRnlHNUp1NlcrNHFxXXw9Q1ZMblh8TlhyRE1iKzdEaz1DSUY1NnBUSi5mYS0mNixEWnxrYV1URGN2ZUFwVytTZFBXaEVENFJDNGlFVGRdUDQ5RjFxYkM5LmlIQ05hVFRYQjc3YzhIRk03fnNTRjhQRUZxJXdaRltRL3R2dSZY'});
1125
+ addLoadEvent(function(){linktracker_init('24588526',561681);});
1126
+ </script>
1127
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
1128
+
1129
+
1130
+ </body>
1131
+ </html>