When can you learn JavaScript?

Khan Academy explores how far learners can get at different ages.

I picked up a brief guide to programming in 6th grade. There, on page 1, was A = A + 1. I knew that wasn’t possible, so I put it down, and came back to programming in 7th grade.

Khan Academy is having better luck with young students, but learning to program is kind of like learning to drive: the prerequisites aren’t obvious, but they’re helpful and often come later. At Fluent 2014, Pamela Fox explored the data Khan Academy has collected on learner age, and what it might mean for curricula going forward.

In her keynote, Fox explored:

  • What the world might look like if JavaScript were part of the curriculum as early as possible. (1:42)
  • Developing a sense of how kids respond to fairly easy challenges with Khan Academy’s participant data. (3:24)
  • What in the first programming challenge might keep people from succeeding? (4:37)
  • How different is the data for a logic challenge? At what age does completion level off? (6:16)
  • What might JavaScript skills enable in a high school curriculum? (8:24)

Read more…

Comment: 1

Keep me safe

Security is at the heart of the web.

Locks image: CC BY 2.0 Mike Baird https://www.flickr.com/photos/mikebaird/2354116406/  via Flickr

We want to share. We want to buy. We want help. We want to talk.

At the end of the day, though, we want to be able to go to sleep without worrying that all of those great conversations on the open web will endanger the rest of what we do.

Making the web work has always been a balancing act between enabling and forbidding, remembering and forgetting, and public and private. Managing identity, security, and privacy has always been complicated, both because of the challenges in each of those pieces and the tensions among them.

Complicating things further, the web has succeeded in large part because people — myself included — have been willing to lock their paranoias away so long as nothing too terrible happened.

I talked for years about expecting that the NSA was reading all my correspondence, but finding out that yes, indeed they were filtering pretty much everything, opened the door to a whole new set of conversations and concerns about what happens to my information. I made my home address readily available in an IETF RFC document years ago​. In an age of doxxing and SWATting, I wonder whether I was smart to do that. As the costs move from my imagination to reality, it’s harder to keep the door to my paranoia closed. Read more…


4 things that happened in PHP while you weren’t looking

PHP gains some modern features as it heads to a 7.0 release.

Image: CC BY 2.0 Chris Lott https://www.flickr.com/photos/fncll/ via Flickr

I think most programmers have come into contact with PHP at some point, editing a WordPress plugin or getting PHPMyAdmin running on a server. We think we know what PHP is, but the language has been very quietly growing up over the last few years, so here’s some headlines that you might have missed.

Upgrading is easy

PHP has always had frequent patch releases, but now its minor releases are approximately annual. This means that the differences between the versions, and therefore the painful experiences of an upgrade, are much reduced. It also means that there’s probably a relatively new version available at the time when a distro is rolling its new release.

PHP has also developed much greater consideration for its users when upgrading. From PHP 5.3 there is an error_reporting level, E_DEPRECATED, which will log any features you are using which will be removed in the next version of PHP. Nothing gets removed in a minor version that wasn’t already planned to be removed before the release of the previous minor version — so fewer surprises for those of us in userland.

Read more…


Power of the platforms

Uncertainty is a feature, not a bug.

Image: CC BY 2.0 NASA's Earth Observatory via Wikimedia Commons  http://commons.wikimedia.org/wiki/File:Southern_Lights.jpg#mediaviewer/File:Southern_Lights.jpg

After decades of work on programming, we finally got a development environment with massive reach and tremendous power. Somehow, though, the web isn’t centered on a comprehensive programming environment. The web succeeded with a (severely) lowest-common denominator, specification-driven approach that let it grow with time, technology, and multiple communities, across multiple platforms.

Almost two decades ago, I was all excited about Java. Write applets once, run anywhere, with libraries to make sure it all came out the same wherever anywhere might be. Java is still a powerhouse, but it all worked out differently than I expected. Even in Java’s early years, before the Java news was filled with security bulletins, applets felt like a strange mix with their surrounding web pages. Creating an applet demanded programmers to build every detail. Even with Java’s ever-improving libraries, creating a Java applet that did much was an intense experience focused on programming.

Java wasn’t the only comprehensive way to build web apps, of course. Flash demanded programming, but its values always incorporated design, action, and well, flash, in ways that meshed well with the way people built sites. Flash kept growing and growing before its ecosystem took a fatal hit from the iPhone as HTML5 offered replacements for some of its key strengths. I mostly notice Flash these days because it asks me to update it regularly and because pages tell me when it’s crashed.

Compared to either of those rich environments, web technology is a tangled mess. The early web was functional but unstyled, with no behavior beyond navigating among pages. That? That would dominate client-side computing? Read more…

Comment: 1

21st century communication with WebRTC

Engaging in-depth on the web with peer-to-peer connections.

As the web platform continues to evolve, tools have emerged for connecting people and computers in new and interesting ways. Web Real-Time Communication (WebRTC) stands out as one of the most significant and disruptive of these emerging technologies, allowing developers to embed peer-to-peer real-time communication in the browser without proprietary plugins, while breaking away from the traditional client-server paradigm.

Since Google released and open-sourced the WebRTC project in early 2011, the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C) have been working together to formalize the WebRTC standard and 1.0 stable release. Companies like Twilio and Vidyo have adopted WebRTC as a protocol for video chat in the browser, and established telco and VoIP players such as Cisco, Ericsson, and Telefónica have also lent support to the project.

At the most recent meeting of the IETF, Simon Pietro Romano, author of Real-Time Communication with WebRTC, hosted a panel to discuss developments in the WebRTC community and the road ahead. The panel, who are driving forces behind ongoing standardization and implementation, included:

  • Justin Uberti, tech lead for the WebRTC team at Google
  • Eric Rescorla of Mozilla
  • Dan Burnett, editor of the PeerConnection and getUserMedia W3C WEBRTC specification
  • Cullen Jennings, Cisco Fellow and Co-Chair of the IETF RTCWeb

I’d encourage you to listen to the whole conversation, but to get started, you might explore these highlights.

Read more…


The web is a critical part of the IoT story

In this O'Reilly Radar Podcast: Simon St. Laurent discusses the web's potential, and Tom Greever chats about experience design.

Simon St. Laurent, O’Reilly’s strategic content director for our web space and co-chair of our Fluent Conference, recently launched an investigation looking into the web’s potential to change not only computing, but the world in general. For this podcast episode, I caught up with St. Laurent to talk about the timing, what he’s exploring, and why the web isn’t dead. He said that in some ways, it has always been the right time to launch this investigation — after all, the web has continued to grow amidst market crashes and the dot-com bust — but noted the driving factors behind the health of the web are becoming more clear:

“Something different is happening, though, in the last few years. I think it’s rooted in the legitimization of JavaScript as a programming language. It used to be seen as this annoying, accidental scripting language. Doug Crockford and a lot of others demonstrated that if you looked at JavaScript in the right context, context that’s more functional, that is less obsessed with classical orthodox object-oriented development, that JavaScript is both amazingly flexible and incredibly powerful. That brought in a whole new generation of people to work on things.

“The concept of the web platform arose, which I like as a phrase to keep me from saying HTML5, CSS, and JavaScript over and over, but which gives people the idea that the web is a platform like Windows or the Mac, where you can really control thing pixel by pixel. Jeremy Keith has done a great job of explaining why that isn’t true, but there are a lot of people who come in expecting to be able to program on the web like they do for any other platform. They’re great JavaScript programmers frequently, but we need to be telling the story of the broader context and how all these pieces fit together for the long-term health of their projects as well as the web as a whole.”

Read more…