From MozillaWiki
Jump to: navigation, search

Also see WebmakerSkills/Hackasaurus for comments on how Hackasaurus fits into these criteria.

Content Creation

Linking and other non-linear style

How to link from one page to another. (Using that in a way that goes beyond “Page 1″, “Page 2″, …) This can both be anchor tags in html, but also things like embedding content in video, or any other outbound-pointer.

Why? Participating on the web means connecting your content with other content. This is both useful as a form of citation, but also in constructing a non-linear narrative.

Why not? It’s not essential to have links in order to create content online.

  • Atul: We might also want to stress the importance of also making your own content easy to be linked-to. e.g., if you make a big page, it's very useful to layer it with anchors that allow others to point to specific parts of it.

Style/Formatting (tags, etc.). ”Restaurant HTML”

A basic knowledge of how to style content. For example, big bold text, small text, colors, etc. Laying out a page how you want it to look.

Why? I don’t have a good “why” grasp here, but I intuitively feel like this is important. If all of your pages are totally plain-text, you can still get your message out, but it definitely loses some of the webiness, doesn’t it? I feel like it’s the social equivalent of poor spelling. Hrm.

Why not? If all of your pages are totally plain-text, you can still get your message out.

  • Atul: There seems to be a bit of a blurry line between linking and style/formatting, as both involve learning about tags, and even linking to something necessarily adds styling to it (my brain is actually frequently in "styling mode" when I hyperlink things, as I don't want the hyperlinking style to negatively affect the aesthetics of my page). Also, not sure where the <img> tag fits in here, but it's invaluable in webmaking and has the curious distinction of being an "embedded link" of sorts, which helps teach the important notion that "a web page is made up of parts that come from other places on the web".

Content vs Theme

An understanding of the difference between the content and the theme. Does not necessarily imply knowing CSS or style tags, but rather a grasp of how the style of something can change but the content remain the same, and vise-versa. The difference between the two.

Why? It’s been my experience that learners get excited about skinning the web (leaving the content alone) to their own aesthetic taste. Understanding the difference between the two is the first step here. It’s also an important step towards asking the right questions in web making: “where should I put this? how do I want this to look? what should this do?”

Why not? How is this different from offline media? Newspapers also have content and theme. Is this really a web-maker skill, or just a life skill?

  • Atul: Wait, is it necessarily a bad thing that something isn't only applicable to Webmaking? i.e., is there anything wrong with teaching a life skill that's also of crucial importance to Webmaking? Isn't it actually a good thing if folks can take powerful ideas they learned in Webmaking and apply them to different aspects of their life? And conversely, isn't it empowering to learn the webby way of doing something that one already knows how to do elsewhere? It seems like building bridges between different disciplines like this could be a powerful motivator for learning Webmaking, a bit like Seymour Papert's <a href="http://www.papert.org/articles/GearsOfMyChildhood.html">gears</a>. Maybe I am getting off-topic, though.

  • Jess: This is one of the underlying philosophies of Hackasaurus, in fact we are not teaching a 101 guide to the formal way of designing a webpage, but are baking hacker skills into our pedagogy- intentionally allowing the lines to blur so that within the learners <a href="http://mitpress.mit.edu/books/full_pdfs/hanging_out.pdf">hanging out</a> or messing around phases of discovery of html or css they are casually lifting up the hood and seeing how things work. That said, once a learner starts to "geek out", and really transition from "hacking" to "webmaking," I agree that we do in fact need to start to layer upon and refine the skills required for composition- because really what we are progressing to here is design and systems thinking.


Taking parts of the existing web, and changing them.

Why? Again, having trouble putting my finger exactly on why beyond a feeling here, but it seems like this type of building-on-something-else has become one of the strengths of the web.

Why not? 1) You don’t have to remix to web make. 2) This comes with a lot of necessary “safety” skills that it’s irresponsible to not teach, about copyright laws and the like. So it’s a heavyweight topic.

  • Atul: One might argue that the most basic form of remix is actually "view source": looking at what someone else made and putting it in your page--either by blindly copy-pasting it, or by learning from it and using your new skills in your own work. While webmaking may be possible without this, it's certainly a lot harder and a lot less fun--and also makes the Web seem no different from less transparent platforms like iOS.
  • Jess: +1 Atul and Michelle. Personally, i feel that remixing is the number one "skill" that we can teach anyone. This is why it is the first concept that we unpack in the Hackasaurus hack jams. Remixing is a skill that easily translates into other "worlds" (that is in addition to the world wide web). While this is one of the core concepts of the 'open web' and what makes the web unique, expertise in remixing gives a learner the ability to be inspired, tinker, hack and contribute to the conversation of whatever field or medium they are working in.

Privacy and Security

Where are your instincts wrong?

I’m not sure the full list of things here yet, but there’s definitely a bunch of them.

Why? I think this is the basic “don’t burn yourself on the frying pan” of web literacy. It’s almost irresponsible to teach cooking without it.

Why not? Getting a comprehensive list of these things is going to be hard and teaching some of them is also going to be hard. Are these more “web citizen” skills or “web maker” skills?


Who are you when you do things? What is anonymous? If you create a pseudonym for yourself, where is it linked to? That whole map.

Why? This is a big place where people’s instincts are wrong (see above), and it’s also hard to back-track on identity once you’ve made mistakes here.

Why not? I can’t think of any reasons why not.

“Privacy and Security” and “Create Content”

Public vs. Private

What information is available to everyone? What is available to some people? Who (eg: website providers, etc.) can see even the “private” stuff? What is one-to-one messaging versus one-to-many broadcasting?

Why? Choose your proper audience. Reduce privacy slips. Think about how important this is to activists in zambia.

Why not? A little information here can be dangerous. In a lot of ways “assume everything is public” is safer/more realistic than the assumed-private of some teaching. So this can be tricky.


If you link someone else’s image on your page, and I take a screenshot of your page, who owns the screenshot? Me, you, or the image-author?

Why? Anyone making things on the web should be aware of these issues. Especially in a remixing culture.

Why not? It’s complicated. Unfortunately.


If you make something “online”, how long is it there for? Where does it “live”? Can you “delete” things, and if so, are they gona completely? What if you change something?

Why? This is a big area where people’s instincts are wrong.

Why not? It may not be a “necessary” topic for being a web maker.


How the web works

This title sucks (mostly because I need to better-scope this), but I mean things like the components of a URL.

Why? Understanding how the web works helps you to better understand where you fit in it, and where the things you build fit in it. Also, helps to debug when things go wrong.

Why not? Until I scope this better, this is too big a topic. (yeah yeah, action item me.)

Reference vs. copy

(Nobody should call it that. If you call it that when teaching kids, I will seriously come over there and make you do wheatgrass shots.) The difference between emailing an attachment versus emailing a link.

Why? This can be a source of confusion if it’s not understood. ”Hey, where did it go?”

Why not? It’s possible to learn this on a case-by-case basis without learning the difference as an abstract concept.

Going to a webpage (basic)

How to type in a URL and visit that webpage. How to click on things. How to navigate back to the page you were on.

Why? Don’t assume people know this, dude.

Why not? … yeah, nothing here. People need to know this if they’re gonna be making things on the web.


Bullshit detection

So on wikipedia it says that I created the universe in my image. True or false? Also, developing a common sense (I guess it’s not really a “common sense” then, huh?…do we have an english word for “should-be-common-sense”?) about parody websites, expertise versus novices, etc.

Why? Although this is an off-web problem as well, I have a sense that it’s made worse by the internet because the number of authors is greatly increased and the barrier to authorship is lowered.

Why not? It’s an off-web problem as well. Also, it involves advanced social skills (eg: understanding “why would someone create a parody website of this company?”) to be able to fine-tune it.

General search

Find the information that you need. This is less about Google-syntax than it’s about knowing how to go from problem (“Apparently if you flush a toilet too often in a row, it can overflow. So…. how do I stop the exploding mess of awfulness that is currently happening in my bathroom?”) to solution.

Why? Once this skill is achieved, a lot of the other skills (“how do I make html tables?”) can be self-taught.

Why not? At first glance, there’s not a lot of general knowledge here; a lot of it is today’s-technology specific.

Jess: In our hack jams, we noticed that many youth don't actually "search" the web, but instead go directly to the websites that they know- youtube, deviant art etc. Searching is actually a skill that needs to be taught. This starts to bleed over into the category of browser basics, in terms of understanding what a search bar is vs. an address bar, but part of it is about a certain acknowledgement that you can find things on the web if you seek them out.



If I see an amazing video of The Dark Knight Rises trailer audio mashed up with Lion King footage, and I want you to see it, how do I do that? What if I want everyone I’ve ever met to see it?

Why? Because it’s amazing! Oh, you meant “why that skill” not “why that video”. Making things on the web and then not being able to show your friends is sad. Also, sharing is such a big part of web culture.

Why not? It’s not necessary. You could make things and let them be found organically.

Community Etiquette

You’re on a forum and have a question. Is it okay to post a question here? Is there a FAQ you should look up first? What if you have a question on this blog? Is it okay to call someone a “douchecanoe” on this youtube video comment stream?

Why? Each community has its own etiquette, but discovering and respecting that etiquette is an essential skill in belonging to that community.

Why not? Does this need to be taught, or do people just generally figure this out on their own?

Push v Pull

I wouldn’t call it this to any students, but it’s what I mean. The difference between communication channels where I’m pushing a message to you, versus communication channels where you query for new information when you want it. And why/when you’d use each.

Why? This is both a part of community etiquette, as well as a part of getting new web makers to think about how they want their information to flow, and how they want to consume the information around them.

Why not? Can this just be intuited “well enough”, or does it need explicit instruction?

Sharing and Community

Get Help

I’m stuck. What do I do?

Why? Teach a man to fish…

Why not? No reasons. They should know this. Though this topic may be subsumed by another topic.


As you start gathering information, how do you curate it — for yourself? for others?

Why? A lot of web tech is built around helping you do this, especially now that there’s such a huge amount of information out there.

Why not? I’m not certain it’s a “fundamental” skill in web making. Needs more thought.

Create Tools

Solving problems vs. working around problems

A few months ago, my doctor suggested that I start taking 2 ibuprofen every 4 hours for life. That is called “working around a problem”. Instead, I saw a physical therapist and some registered dietitians and we discovered I have a grain allergy — now I don’t eat grains. That is called “solving a problem”. When programming (or really any kind of “inventing”), there’s a mindset difference between the two. If Google Calendar doesn’t have a feature you want, you can either suffer through it, or write a browser plug-in to do it for you. (Or write your own calendar. Though if this is your solution, I have some round objects for you to re-invent.)

Why? Once you start seeing the world as problems that can be solved, rather than just worked around, it creates enormous incentive to build tools to do so, and leads to greater happiness. (Citation: me.)

Why not? Some of the people I talked to believe that this is a personality attribute rather than something that can be taught.

Identifying problem “types”

If a Carpentry School asked me to create a website that listed their students in alphabetical order, I wouldn’t have to figure out how to alphabetize students. That’s because sorting students is the same as sorting a million other things that I have sorted before.

Why? Recognizing problem types is an important part of growing up as a from padawan-coder to jedi-coder.

Why not? It’s not a show-stopper to reinvent the wheel every time you need something round. I don’t wish it upon anyone, but it’s possible.

React on user behaviour

When the user clicks, mouses over, types the ‘K’ key, or wears a funny hat, do something.

Why? I was surprised how hard it was to explicitly state the “why” here. Something along the lines of: this is what a lot of tools do. It’s a necessary step for interactivity.

Why not? I guess if you don’t want interactivity, you don’t need this.

React on environment change

When the weather in Toronto gets above 0C, when my friends tweet a link, or when I get an email in my Inbox, do something.

Why? Tools don’t necessarily have to wait for user input to change. The user is just one of many signals they can react to.

Why not? Again, if you don’t want this type of tool, I guess you don’t need this.