WebmakerSkills
Community
Sharing
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.
Curate
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.