Ian Bicking is a computer programmer living in Minneapolis.
When and how did you originally become interested in technology?
I went to a small alternative school, and a couple computer programmers (Bob Brose and Pat Moose) volunteered doing weekly computer/programming classes. I started off with Logo, so probably when I was 6 I started with the modest SQUARE.
At what age did you write your first computer program? What did it do?
When I got to BASIC I’m pretty sure I quickly reinvented the program all children reinvent:
10 PRINT “[INSERT NAME OF KID NEXT TO ME] IS DUMB”
20 GOTO 10
Since it simply filled the screen with the insult the infinite nature of it was abstract and not visible to the human eye, yet still satisfying.
Which do you prefer in programming, the struggle or the achievement?
I look for tasks that involve more achievement than struggle. I try to find tasks that seem ripe, ready to be consumed. Reach too far and you won’t get there. Even with a big imagination, if you can’t imagine achievable intermediate steps that are themselves satisfying, you probably haven’t thought through a good idea. At least that’s my experience from coming up with many ideas that weren’t very good, and maybe a couple that were.
What people, groups, projects, or resources were most influential in your development as a nerd?
The GNU Manifesto was incredibly inspiring to me when I first encountered it. In my first real CS class they forced us all to use Emacs, and every time it started up it advertised this “manifesto” thing, and eventually I read it. This first class was a night class, full of middle-aged guys freshening up their programming skills, so as a teenager I didn’t really have anyone with which to deconstruct these ideas, and the rather utopian ideals of the GNU project didn’t resonate with any of the people whose ears I would bend. This was well before “open source” was even a term, and before any of it was seen as valid.
But fixing that isolation is practically what the internet was built to do! It wasn’t long before my most important collaborators were people I’d never met (and most I would never meet) on the net.
And I should also give a shout out to PSEO <http://education.state.mn.us/MDE/StuSuc/CollReadi/PSEO/> which is what made it possible for me to take CS classes during high school. It’s an incredible opportunity for kids in Minnesota, and blows honors classes and AP out of the water.
What do you do now?
I work at Mozilla, in the Labs group. There’s no Mozilla office in the Twin Cities so I work from home – though there are now a half-dozen Mozillans doing so from the Twin Cities. Working for a company dedicated to open source is great, and that Mozilla is also a mission-driven organization makes it even better.
My current project is TogetherJS <https://togetherjs.com> – a real-time collaboration service that can be added to any website. It’s been a lot of fun to work on, but I’m more excited about what it can be used for. We want to bring the kinds of tools you might be familiar with in Google Docs or Etherpad to any website. I’m hoping we can show that there are still new ways to hack the web – everyone has finally become comfortable with HTTP, but there’s still so much more to explore in HTML and the DOM. And when I say “hack” I mean find new ways to work with what we already have – not a new framework or new paradigm, but extending and enriching the paradigm we already have. There’s deep structure available in the browser, yet still too often it is treated as write-only. TogetherJS has been technologically satisfying because it’s been able to leverage so much by simply reading the DOM and creating a multi-user experience from that.
At the prototype phase a couple of us have been working on something code-named Hotdish <https://github.com/mozilla/hotdish/> (a hat tip to Minnesota), which takes these collaboration ideas and expands them to include the entire browser session. We want to find ways for people to work together much more closely on computers than they can now – which we believe involves both the more intense collaboration of a live shared session, but also letting people look at each other’s thought processes and working process, and selectively participate in that process.
If you were to be doing anything else, what would that be?
I wonder about this, but haven’t ever figured it out. I’m very happy to have a craft, which I think is something different than a profession. But what other craft would I pursue? Maybe in another decade I’ll feel compelled to find out, but not yet. I feel very privileged to be able to spend my time making new things.
What concerns you most about where technology is headed? What excites you most about where technology is headed?
“Concern” feels like a very conservative stance, as though I would scold the world for being what it is.
I consider myself a modernist. In part because I am optimistic about where the world is going. But more so, I accept the world will progress and I feel all of us are individually far more capable of good by trying to pull the future towards whatever direction we see fit, than to simply resist or try to decelerate that progression. So I am biased towards excitement because it is more actionable.
I’m stodgy because I think our greatest task is the work of the internet that is well along yet still unfinished: the communication of a billion people crossed with a billion people, where each of us is trying to figure out what best to do, what to think, what the facts are, how to respond… the scope of that problem is incredible. There’s more potential in multiplying the effectiveness of what we have than in creating new networks.