Creating a web literate planet
I remember learning a few weeks ago that folks who professionally break into buildings (firemen, thieves, etc.) never use the door anymore. Doors are simply too fortified. Instead, one of the best ways to gain entry is often to attack the wall next to the door, which is usually a little weaker because of the door frame, and much weaker than strong fortified door locks.
5% of folks used 12 or more characters in their password, which is really commendable when you’re trying to prevent folks from guessing your password.
Unfortunately, when your passwords are stored in plaintext, the way that yahoo did, it’s kinda like adding extra locks to your door when someone else has left a window open. 😦
Last week a bunch of us MoFos had a discussion about how to build out our instructor community. How do we find folks out there who are teaching this stuff, or similar stuff, and how do we “bring them into the fold”? How do we measure success?
The more I thought about it, the more I realized that there are still some big questions out there about what we mean by “instructor community”, and why we want them, and why they want us. Here are my rough notes while thinking about this. (Including some thoughts by Mark Surman.)
Three classes of instructors:
That first-touch experience:
Providing them with things they find useful
Providing them with reasons to contribute back
These are important questions because I believe they should shape our goals. For example, if we believe that what we’d be providing instructors with is A, B and C, then we should make sure to actually do A, B and C.
Lots of open questions, though. I’d love any thoughts that you might have!
“Teach a man to fish and you’ll feed him for a lifetime.
Teach a man to teach fishing, and you won’t have to go around teaching fishing for the rest of your life.”
… okay, it’s a little less catchy than the original. And, honestly, we already have so many overfishing problems in the world that this probably isn’t the right analogy. But you know what I mean!
There’s sort of two solutions to this problem. One is to scale our engineering efforts: become a software company with tons of developers, engineering managers to manage them, product teams, UI teams, managers for those teams, etc.
The other solution, and one that feels more Mozillaey to me, is to use the developers we do have to build tools / processes / etc. that empower everyone else in the world to do the fishing.
For example, one of our top feature requests is to create a simpler version of MDN (the definitions we link to in Thimble) that would make sense to novices. This seems like a great opportunity to create a quick interface to allow anyone out there to provide/edit the definitions. If we open it up to the world, then not only can it evolve at the speed of the web, but we can also get things like localization.
There are often lots of folks who want to help and participate, but like all of us, they don’t want to do it if it’s going to be a lot of work to just get started. These things have to be easy, designed processes. That’s not to say that they have to be complicated.
Compare and contrast two tech support systems.
1) A form that you can fill out on a webpage somewhere to ask questions. It emails an internal list, and someone there answers the question.
2) A twitter hashtag where you can ask questions. Suddenly not only can internal people answer the questions, but maybe you know the answer too.
It’s a good example of how designing for community participation doesn’t necessarily mean creating a complicated tool or program. It just means including participation as a first-order design principle.
There’s absolutely no way that the Mozilla Foundation can personally host events to teach web making to the world. But I do think that if we do this right, we can build a movement that others build on, and make their own.
We can teach people to teach people to teach people to fish. And soon there will be no fish left in the sea. (But in this case, that means “everyone learns web making” so it’s not quite so ecological disastery. … I hope.)
What do you think?
The big caveat here was that the students already had:
1) Two days of Python. (In other words, programming wasn’t brand new.)
2) Two days of HTML/CSS. (So writing for the web wasn’t brand new.)
Overall, I’m going to say that the lesson plan was a stunning success. The kids picked it up remarkably quickly. There was enough open-endedness in the activities that the faster kids had stuff they could work on, and most of them managed to get their very own image search engine working by the end of the day, which is awesome.
There’s only three big things that I’m going to change when I run this next time in August:
1) I don’t think they reeeeally understood how APIs work; at least not deep in their bones. What I mean by this is that they were able to rattle off the definition back to me, but further probing revealed that I don’t think they actually understood that when they called the flickr api, flickr was giving them information that they did not have hardcoded anywhere. They were talking to a different computer. They were one half of a two-computer conversation. That said, they’ll be writing their own backend later this week, so by then I’m sure they’ll understand it better.
2) I relied pretty heavily on “this works just like foo in Python”. While that’s fine for teaching these kids, it means that the curriculum isn’t reusable with a group that doesn’t have those two days of Python experience, so I want to re-think this a little.
3) A few kids were pretty confused at the end about best practices in terms of when to use HTML versus CSS versus JS. This is a reasonable confusion since it is confusing. 🙂 But I want to give some thought to how to better break down some rules of thumb for them.
So there you go. One student later blogged:
The Mozilla Summer Code Party kicks off this weekend, and look at the huge number of awesome events that are planned:
Want in on the action?
This huge convergence of awesome has been the work of sooooo many people. Big shout outs and twinkles to all of them!!
Make sure to get plenty of sleep tonight, because the party’s just gettin’ started.