It's been one month since I "kicked off a research project for Mozilla, exploring whether or not the organization should develop a tool to help people learn HTML5. It's been rather a whirlwind, I must say, talking to a lot of smart folks -- 12 teachers and technologists (the links to my notes are below) -- about ideas around Web literacy and Web building.
Universally, everyone I interviewed agreed that society's Web literacy isn't up to snuff. There was consensus too that Mozilla was in a good position to do something about this. But what that something should be wasn't clear.
Where do you start? With teaching the fundamentals of Web architecture? With teaching HTML and CSS? With programming? And where do you go -- what are the limits to what you can do and teach in the browser?
No doubt recent events like SOPA seem to have raised the level of urgency around understanding the Web. It's not simply a matter of not having enough software engineers or Web developers. There are much broader, deeper issues at stake when we think about building and protecting the open Web. Will people have control over their own domains, their own Web presence, their identity and their data?
So to address all of this, do you build a tool? And/or do you build a curriculum? (How) Do you build a community of learners, mentors, remixers, teachers around it?
There's already a wide array of tools -- Web-based and otherwise -- that introduce people to programming (Hackety Hack, Codecademy, Scratch, Alice, for example). Lots of textbooks. Lots of online educational opportunities -- classes, forums, and so on. Even with the tacit support for the creation of a new tool from some of the people I interviewed, it's not readily apparent that there's a big demand for another tool, specifically one that supports HTML5.
But if Mozilla does move forward with its plans to build something, the concern I heard repeated from almost everyone I spoke with was that a tool shouldn't be "context-free." It shouldn't undermine people's self-efficacy. It shouldn't be a separate program that people would have to learn before moving on to the "the real thing." The tool should be an actual, viable Web-development tool.
This is one of the places where my using the analogy "Scratch for HTML5" might not have been a good idea. While there is much to like about the MIT Media Lab tool for teaching kids computational thinking and programming fundamentals -- it's easy to learn, the skills can be transferred to almost any language. But Scratch does have its limitations -- least of which is the sense that it is a tool for beginners and that you must go elsewhere to do "the real thing."
The "HyperCard for HTML5" is an interesting analogy to think about too. One of the most powerful and popular end-user languages ever, HyperTalk was easy to learn, but "expert programmers" hated it. "The wrong community of practice killed the tool," Mark Guzdial said in our interview. Everyday people didn't want to use something that the experts said was terrible. Of course, HyperTalk wasn't made for experts, but everyday folks didn't have a strong enough community to support one another either.
That question of "community of practice" is key here, I'd argue. (And community is, of course, something that Scratch most definitely gets right.) Who is the community that Mozilla has in mind for this tool? Novices? Beginning or professional Web developers? (How) Will novices be brought into that larger community of practice? Or, unlike in the days of HyperCard, is there a sizable and connected enough community of practices for novices to support tools that are different than those of the "experts"?
So what's next? There are still lots of people I'd like to talk to about the ideas of entry-level programming tools and curriculum and specifically a Mozilla-built Web-building tool. But it seems clear that the most important group that still needs surveying are potential and intended users and learners. What are they looking for? What do they want?
Time and time again, the people I interview stressed the importance of problem-based learning. That is, people will pick up the (Web/programming/tech) skills they need in the service of solving a problem, not just for the sake of the tech itself. But it's clear too that "building for the Web" is both very broad and a little off-base with what many students are interested in. That seems to be gaming and mobile app development. That's not to say the either couldn't be done with HTML5, of course. But meeting the demands for would-be game and mobile (Web) app developers seems to be a good entry point for some (but certainly not all) learners.
After all, until people have a better grasp about what exactly the Web is and the Web does, it's hard for them to grasp what they can do with it.
- Teaching Web-Building to Anyone
- Teaching HTML5 to Everyone: My Interview with Glen Bull
- The Spirit of Scratch: My Interview with Vanessa Gennarelli
- Computational Thinking Across the Curriculum: My Interview with Phil Wagner
- Learning Without Context Isn't Learning: My Interview with Julie Meloni
- Why Should You Care About a Scratch for HTML5?
- Lowering the Barriers to Entry: My Interview with CodeNow's Ryan Seashore
- Learn By Making: My Interview with the O'Reilly School's Scott Gray
- Wiring Up the Web's Components: My Interview with Jon Udell
- Avoiding Teaching Tech for Tech's Sake: My Interview with Harry Shah
- Situated Learning: My Interview with Mark Guzdial
- Puzzles and Pattern Recognition: My Interview with Jared Cosulich
- Middle School Computer Science: My Interview with Laura Blankenship
- Democratizing Game Creation: My Interview with Stencyl's Joe Dolivo