A week or two ago Kevin Marks pointed the IWC channel to a must-read talk called Inessential Weirdness in Open Source given by Sumana Harihareswa at OSCON this year. Weirdnesses are quirks of your project, community, or culture that might intimidate/discourage newcomers. Essential weirdnesses are foundational; without them, you’d be doing a different thing. Inessential weirdnesses are everything else, losing them might slow you down or make it less fun, but it wouldn’t change any fundamental aspect of the project. She makes a point of saying that inessential doesn’t mean unimportant or bad — your weird tools (ahem, git) help you get stuff done; jargon is useful shorthand; in-jokes are part of a group’s culture.
I really like this framing. It gives us permission to defend the essential, even if some of it is off-putting to some people. And it gives some direction for where newcomers should start, and what can be hidden/saved for later.
So inevitably my question is: what are IndieWebCamp’s weirdnesses? Folks, mostly Tantek, have done an amazing job defining the essential ones on the wiki under Different and Principles. Build stuff on the web, on a site you control. Have fun. Don’t worry too much about making it beautiful or well architected, polished, smart, or automated (unless those are the things you enjoy). Don’t just talk about building things, build things!
Some inessential bits are plumbing and protocols: rel-me auth, webmentions, micropub, microformats, bridgy, etc. etc. etc. It’s amazingly cool that some of these are or are on their way to becoming Real Web Standards (TM), and a testament to the amount of thought and work people have put into them. Buuuut it’s an overwhelming amount of information, and you can do all the stuff in the previous paragraph without any of it.
The Antipatterns section of the wiki reminds me of sections of the talk where she discusses open source developers snarking on Windows. The perceived distaste for databases, client-side rendering, or XML feeds. (Like with Windows) it’s not wrong, it’s valuable information, hard-won from experience, but it could be discouraging for a new person.
We’ve definitely done things to smooth over some jagged edges. Asking Loqi “what is…” in the channel is a low-pressure way to get explanations and definitions for jargon. Aaron’s made an incredible effort to make the IRC channel accessible to anyone regardless of technical savvy. And Known provides a dead-simple way for people to use most of the indieweb innovations without necessarily being developers.
What else can we do? The last two points in the talk speak to this: 4. Build and maintain differentiated but connected spaces
These newcomer-friendly spaces are like tidepools, connected to the ocean, but calmer, where things can germinate in a gentler environment.
We don’t really have this. People of all skill levels are always welcome to come to HWC and IWC events or hang out in the IRC channel, but they’re going to hear a lot of words that don’t make any sense. Sometimes new people come to Homebrew and they demo a cool portfolio site or a blog or a little web app they’re building for their resume, and I definitely feel awkward transitioning to jargon-heavy protocol minutiae.
and 5. Acknowledge the costs
And yeah, there’s a tradeoff here. You are going to reduce the amount of time that the outreach-centric folks spend in the pre-existing expert communities. Let’s acknowledge that different spaces are genuinely, irreconcilably different.
That one hit me hard… I try to give support or be welcoming, as long as it doesn’t interfere with the stuff I want to work on. I struggle with helping people get started at IWC because it cuts into my time to write something to demo. Even just acknowledging that there are costs is helpful for me, that having Loqi and being friendly on IRC isn’t enough.
It might be interesting to try having a separate IRC channel (I’m having trouble coming up with a good name though, #indieweb-newcomers, #indieweb-start (kind of a Java joke there), #indieweb-basics, #indieweb-welcome). This channel would be for people who want to set up a site for the first time, or the first time in a while. HTML, CSS, JS, DNS, hosting, static site generators, CMSes, etc. would all be on-topic. For federated comments, semantic markup, etc. we’d direct them to the main channel.
There might be cool things we could do with Homebrew Website Club too. Tantek has done sort of impromptu intro/demo sessions when we have a lot of new people, and I think those are great. Along those lines, we could designate an HWC a couple times a year as an “installfest”, where folks would leave with a simple personal website. I don’t know if there’d be interest … in organizing or attending (and it may be just straight up redundant in the bay area at least)
Part of this is deciding how far we’re willing to go, how much we’re willing to slow down. I genuinely don’t know the answer to that… it’s probably a good idea to start small and to think carefully about what we want to encourage in newcomer spaces or event — If it’s just troubleshooting wordpress installations that won’t be fun for anyone.
As someone mentioned in the channel the other day, I’m a little worried that we’re doing a lot of iterating and refining existing ideas but not coming up with much new stuff lately. And maybe that’s a sign that we’re too focused on those handful of ideas (which had pretty much all already been invented when I joined IWC in early 2014). Bringing in new people (designers, writers, journalists, artists!) with different perspectives would be ideal and is the goal, but I wonder if even just opening up a space that zooms out a bit from POSSE and webmentions and semantic markup, might generate some new avenues for exploration on its own.
Originally published at kylewm.com.