Wednesday, January 11, 2012
Issue Tracking for the Real World
Bug trackers are an essential part of software development; I'm not sure how we'd get anything done without them! Yet it seems much of the rest of the world hasn't tuned into their value. It's certainly not that there aren't things to fix in the real world! Perhaps it seems overly complicated. Yet people seem to be able to figure out how to use, say, Foursquare.
Working at Mozilla I was particularly taken by Bugzilla, and what a difference it makes. Not the software specifically, and certainly not the UI, which is in fact extremely complicated. The thing I was struck with is how anyone could come in and contribute, whether it be a bug report, a better set of reproduction steps, suggested strategies for fixing, actual patches, etc.
I want this for the whole world. I want to be able to file a bug report for a pothole, or a piece of bad legislature. I want to be able to file a feature request for a new park, or a light rail stop.
Once the report is filed, it needs to be easy to connect problems with people who have solutions, and it needs to be possible to take ownership of an issue. The bug report then becomes a record of the progress, the discussion, setbacks, etc. If you wonder why things are the way they are, you can read the paper trail.
In this way we create a marketplace of problems and solutions, and we make it easier to shed light on what's needed to fix things. By opening it up to the world, we can encourage people to get involved and take action.
This seems like something that could be cobbled together with various tools that exist (you know, Ushahidi meets Get Satisfaction meets the Portland Reporter meets Bugzilla), but ultimately I don't think that would be good enough. For people to actually use it, it needs to be clear, clean, and easy, focused on this specific problem space. For that reason, I think it has to be built.
So, I'm going to get started on it… anyone want to help?
Working at Mozilla I was particularly taken by Bugzilla, and what a difference it makes. Not the software specifically, and certainly not the UI, which is in fact extremely complicated. The thing I was struck with is how anyone could come in and contribute, whether it be a bug report, a better set of reproduction steps, suggested strategies for fixing, actual patches, etc.
I want this for the whole world. I want to be able to file a bug report for a pothole, or a piece of bad legislature. I want to be able to file a feature request for a new park, or a light rail stop.
Once the report is filed, it needs to be easy to connect problems with people who have solutions, and it needs to be possible to take ownership of an issue. The bug report then becomes a record of the progress, the discussion, setbacks, etc. If you wonder why things are the way they are, you can read the paper trail.
In this way we create a marketplace of problems and solutions, and we make it easier to shed light on what's needed to fix things. By opening it up to the world, we can encourage people to get involved and take action.
This seems like something that could be cobbled together with various tools that exist (you know, Ushahidi meets Get Satisfaction meets the Portland Reporter meets Bugzilla), but ultimately I don't think that would be good enough. For people to actually use it, it needs to be clear, clean, and easy, focused on this specific problem space. For that reason, I think it has to be built.
So, I'm going to get started on it… anyone want to help?
Tuesday, December 20, 2011
I'm Writing a Book!
Well, not exactly: Jim Jackson is writing the book and I'm doing all the JavaScript code examples. The book is called HTML5 for the .NET Developer; it's an introduction to all the hot new goodness in the JavaScript world, for folks who have been living a sheltered .NET existence. Each chapter we explain a different HTML5 technology and build a functional demo with it. I'm having a great time at it; each one's a little Out of the Box Week project.
I need your help, though. I like to think my code is pretty clear and clean, but we could all use more eyes on our work to keep us honest, right? If you're a JavaScript coder, I'd love it if you could take a look at the demos we've done so far and let me know what you think of the code:
Canvas: code, demo
History: code, demo
Geolocation: code, demo
Drag & Drop, Web Workers: code, demo
All comments – from fundamental flaws to superficial style nits – are appreciated!
I need your help, though. I like to think my code is pretty clear and clean, but we could all use more eyes on our work to keep us honest, right? If you're a JavaScript coder, I'd love it if you could take a look at the demos we've done so far and let me know what you think of the code:
Canvas: code, demo
History: code, demo
Geolocation: code, demo
Drag & Drop, Web Workers: code, demo
All comments – from fundamental flaws to superficial style nits – are appreciated!
Monday, December 05, 2011
Startup Season
Last year, none of my friends had startups. Now at least 5 do (forgive me if I forgot yours!). They're all in various stages of launch, some with great fanfare and others more quietly, but they're all cool projects, and I'm delighted to see them growing.
Aza Raskin's Massive Health is seeking to bring a design renaissance to the world of health, starting with an iPhone app that makes it fun to watch what you're eating (and what your friends are eating).
Gary Flake's Clipboard helps you collect all the bits and pieces scattered around the web, organize and share them.
Aseem Kishore's Thingdom invites you to connect and converse around the things in your life that you love.
Kai Gradert's Cheers seeks to brighten your life with praise for the wonderful people, places, and things in the world.
Robert Bailey's GAIN Fitness is a personal trainer in your pocket, ready at the drop of a hat.
Maybe my Fathom is a startup as well? Hard to say. At any rate, Happy Startup Season!
Aza Raskin's Massive Health is seeking to bring a design renaissance to the world of health, starting with an iPhone app that makes it fun to watch what you're eating (and what your friends are eating).
Gary Flake's Clipboard helps you collect all the bits and pieces scattered around the web, organize and share them.Aseem Kishore's Thingdom invites you to connect and converse around the things in your life that you love.
Kai Gradert's Cheers seeks to brighten your life with praise for the wonderful people, places, and things in the world.
Robert Bailey's GAIN Fitness is a personal trainer in your pocket, ready at the drop of a hat.Maybe my Fathom is a startup as well? Hard to say. At any rate, Happy Startup Season!
Sunday, November 06, 2011
Following the Sun
So, Daylight Saving Time is a bit silly:
… but I do like the idea of being more in touch with the seasons. Perhaps rather than adjusting the clock twice a year, how about something a little more gradual, a little more personal? Why not get up with the sun? More and more of us work in jobs where we can set our own schedule, so get an alarm (such as this one, though surely it could be improved upon) that you can set in relation to sunrise, and enjoy your journey through the seasons.
Actually, I think it'd be interesting to live for a while with a clock that told time all day in terms of distance from sunrise to sunset, rather than hours and minutes; what new habits and ideas would you gain from this perspective? What sorts of beautiful time displays could this inspire? I'll meet you at the pub at 1/8 'til sunset and we'll find out…
… but I do like the idea of being more in touch with the seasons. Perhaps rather than adjusting the clock twice a year, how about something a little more gradual, a little more personal? Why not get up with the sun? More and more of us work in jobs where we can set our own schedule, so get an alarm (such as this one, though surely it could be improved upon) that you can set in relation to sunrise, and enjoy your journey through the seasons.
Actually, I think it'd be interesting to live for a while with a clock that told time all day in terms of distance from sunrise to sunset, rather than hours and minutes; what new habits and ideas would you gain from this perspective? What sorts of beautiful time displays could this inspire? I'll meet you at the pub at 1/8 'til sunset and we'll find out…
Labels: seeds
Wednesday, October 12, 2011
The Yin and Yang of Novelty
People may be frightened by change, but they also crave newness. At its worst, it can be a sickness, always bored with the old, driven to tear down the past. At its best, it can be healthy improvement, a source of joy and resilience.
I don't presume to have a bulletproof prescription for telling good novelty apart from bad, but it certainly seems like a worthwhile endeavor. At first blush it seems one indicator of good novelty is that it refines and embellishes upon existing structures, rather than seeking to destroy or replace them. I suppose the corollary would be that healthy structures are ones that are easily receptive to refinement (much as Stewart Brand said in How Buildings Learn).
There's been much talk of Steve Jobs lately, as he just passed away. People debate whether he was a visionary genius or just a huckster who repackaged other people's innovations. I suppose it won't get resolved anytime soon; that same debate has been going on for Thomas Edison for over a century. Anyway, I think Steve Jobs' genius was in the constant refinement… where others were happy to coast on the status quo, he always looked to make things better. In retrospect it looks like revolution, but along the way it was just steady evolution.
So maybe that's what I'm looking for as well… perhaps I'm not so much a revolutionary as an evolutionary.
I don't presume to have a bulletproof prescription for telling good novelty apart from bad, but it certainly seems like a worthwhile endeavor. At first blush it seems one indicator of good novelty is that it refines and embellishes upon existing structures, rather than seeking to destroy or replace them. I suppose the corollary would be that healthy structures are ones that are easily receptive to refinement (much as Stewart Brand said in How Buildings Learn).
There's been much talk of Steve Jobs lately, as he just passed away. People debate whether he was a visionary genius or just a huckster who repackaged other people's innovations. I suppose it won't get resolved anytime soon; that same debate has been going on for Thomas Edison for over a century. Anyway, I think Steve Jobs' genius was in the constant refinement… where others were happy to coast on the status quo, he always looked to make things better. In retrospect it looks like revolution, but along the way it was just steady evolution.
So maybe that's what I'm looking for as well… perhaps I'm not so much a revolutionary as an evolutionary.
Monday, October 03, 2011
Your Third Religion
Your 1st religion you can't see at all; it's like water to a fish. With nothing to compare it to, you don't even know it exists in any sort of meaningful way.
Your 2nd religion is the worst. You've suddenly seen the light — that everything you thought before was wrong — and you figure this time you've finally got it all figured out.
It's not until your 3rd religion that you start seeing the patterns between them. It's only then that you start to find the higher truths that transcend them. This is when your journey really begins.
Now, by religion, I'm not talking about God and church, per se, but any school of thought that large groups of people get passionate about. Furthermore, it's not enough for you to be simply exposed to it; you need to catch the passion as well. For example, a few of mine: JavaScript, new urbanism, Apple, Lego, programming on the right side of the brain, open source. I can talk to you with evangelical zeal about each of these (and many other) topics.
This devotion to an idea is one of the amazing things about being human, but you're not much good to the rest of us until you're on to your 3rd.
Your 2nd religion is the worst. You've suddenly seen the light — that everything you thought before was wrong — and you figure this time you've finally got it all figured out.
It's not until your 3rd religion that you start seeing the patterns between them. It's only then that you start to find the higher truths that transcend them. This is when your journey really begins.
Now, by religion, I'm not talking about God and church, per se, but any school of thought that large groups of people get passionate about. Furthermore, it's not enough for you to be simply exposed to it; you need to catch the passion as well. For example, a few of mine: JavaScript, new urbanism, Apple, Lego, programming on the right side of the brain, open source. I can talk to you with evangelical zeal about each of these (and many other) topics.
This devotion to an idea is one of the amazing things about being human, but you're not much good to the rest of us until you're on to your 3rd.
Thursday, July 28, 2011
Fathom: Discover New Music
I love music, and I love hunting for new musical treasures. I've spent countless hours prowling around music stores, searching for that next hot thing. Nowadays this happens online, which is infinitely more vast than the largest CD shop, yet the interface for exploration is woefully inadequate. You either have to wade through artist and album pages bloated with info, or you have to give up the hunt entirely and just let some recommendation engine pick things out for you.
Fathom is my humble attempt to turn this situation around. It strips it all back down to the crucial elements: the album cover and the music itself. It lets you glide effortlessly from album to album. It uses recommendations to make sure there is always more to explore, but you're the one in control, you're the one who decides which way to go next.

It's still in development (and let me tell you, I've got big ideas!) – mind the sawdust and all that – but it's already plenty fun to play with. Please, come on in, check it out, and let me know what you think!
Fathom is my humble attempt to turn this situation around. It strips it all back down to the crucial elements: the album cover and the music itself. It lets you glide effortlessly from album to album. It uses recommendations to make sure there is always more to explore, but you're the one in control, you're the one who decides which way to go next.

It's still in development (and let me tell you, I've got big ideas!) – mind the sawdust and all that – but it's already plenty fun to play with. Please, come on in, check it out, and let me know what you think!
Labels: music
Friday, June 24, 2011
Provocative Parades & Liberating Limits
This weekend we attended Seattle's Fremont Solstice Parade. I love it, and Santa Barbara's version (which was actually the inspiration for the Fremont one); they're amazing outpourings of creativity and enthusiasm.
In fact, they're the only parades I've attended for so long that I forget that they're nothing like what most people think of when they think parade. Most parades are quite boring, an endless procession of the same old marching bands, cars with banners for the local hardware store, floats with beauty queens, horses in formation, and if you're lucky, Shriners driving little cars.
The Solstice Parades, on the other hand, are wild and crazy, unpredictable and delightful. There are many reasons why this could be, but I'd like to point to three simple rules that make all the difference:
That's something to think about, next time you're embarking on a project. What standard element can you remove to force you to come up with something more interesting?

In fact, they're the only parades I've attended for so long that I forget that they're nothing like what most people think of when they think parade. Most parades are quite boring, an endless procession of the same old marching bands, cars with banners for the local hardware store, floats with beauty queens, horses in formation, and if you're lucky, Shriners driving little cars.The Solstice Parades, on the other hand, are wild and crazy, unpredictable and delightful. There are many reasons why this could be, but I'd like to point to three simple rules that make all the difference:
- No motor vehicles
- No words or logos
- No animals
That's something to think about, next time you're embarking on a project. What standard element can you remove to force you to come up with something more interesting?

Photos by Klaas Langhout and Beth Jusino
Wednesday, June 15, 2011
Apprenticeship Culture
A number of years ago I put my tech career on hold and spent some time in Hollywood. I dove in without any formal training and worked my way up from Production Assistant to Grip to First Assistant Director in about a year. I learned an awful lot in that time!
You can do this with filmmaking because of its built-in apprenticeship culture. Making a movie is a real-time collaborative process, so if you don't know what you're doing, there's always someone nearby who can show you the way — all you have to do is pay attention. There are constantly new people coming into the industry, so before you know it you're the one passing on sage advice to the next generation.
This last year, I did a similar thing at Mozilla. When I started working on Panorama, I knew nothing about the Mozilla technology stack, the culture, or what it takes to be part of an open-source project of that size. A year later, I had learned a ton and was already leading others.
It took me a while to identify the feeling I kept encountering during those early days at Mozilla, but I finally recognized it: it was like being back on a movie set again. Mozilla is distributed geographically, but the hive is always buzzing on IRC and the countless websites that serve as the virtual headquarters for the team. It seems chaotic at first, and it may seem like everyone has something better to do than help you out (just like on a movie set), but if you pay attention and show that you're dedicated to learning the ropes, you'll find there are plenty of folks ready to mentor you.
I've worked in the tech industry a long time, on small teams and large, but I've never seen an apprenticeship culture as strong as Mozilla's. Seems like usually the company you're working for figures that if you're smart enough to get hired, you're smart enough to just shut up and do your work. They give lip service to "career growth" and send you off to special training programs, but it doesn't really have any sort of impact, because it doesn't hit you where you live and breathe. If you want your team to be constantly improving, then learning and teaching needs to be part of everyday work, not reserved for some quarterly seminar.
You can do this with filmmaking because of its built-in apprenticeship culture. Making a movie is a real-time collaborative process, so if you don't know what you're doing, there's always someone nearby who can show you the way — all you have to do is pay attention. There are constantly new people coming into the industry, so before you know it you're the one passing on sage advice to the next generation.
This last year, I did a similar thing at Mozilla. When I started working on Panorama, I knew nothing about the Mozilla technology stack, the culture, or what it takes to be part of an open-source project of that size. A year later, I had learned a ton and was already leading others.
It took me a while to identify the feeling I kept encountering during those early days at Mozilla, but I finally recognized it: it was like being back on a movie set again. Mozilla is distributed geographically, but the hive is always buzzing on IRC and the countless websites that serve as the virtual headquarters for the team. It seems chaotic at first, and it may seem like everyone has something better to do than help you out (just like on a movie set), but if you pay attention and show that you're dedicated to learning the ropes, you'll find there are plenty of folks ready to mentor you.
I've worked in the tech industry a long time, on small teams and large, but I've never seen an apprenticeship culture as strong as Mozilla's. Seems like usually the company you're working for figures that if you're smart enough to get hired, you're smart enough to just shut up and do your work. They give lip service to "career growth" and send you off to special training programs, but it doesn't really have any sort of impact, because it doesn't hit you where you live and breathe. If you want your team to be constantly improving, then learning and teaching needs to be part of everyday work, not reserved for some quarterly seminar.
Labels: mozilla
Tuesday, May 24, 2011
Making iPlayboy
Playboy has just released iPlayboy, a web-based collection of every issue from December 1953 to June 2011 (and beyond). For a fee, you can flip through the very first issue to see where it all began, you can marvel at the advertisements and hairstyles of bygone eras, and if you're a SIGGRAPH nerd you can get in touch with your favorite test image.
I, along with my compatriot Aseem Kishore and the folks at Applied Information Sciences, made the iPad version of this web app feel as smooth and interactive as a native app, using touch events, hardware accelerated CSS transforms, and plenty of custom JavaScript. It's certainly not perfect (yet!) but I'm quite pleased with how well you can swipe, pan, and zoom through hundreds of high-resolution pages per issue. As a way to get around 130,000 pages of content, it's pretty good.
The buzz for the site has been phenomenal, and the quantity of subscriptions already has well surpassed expectations. Most of the reviews have focused on the web app approach as a way to get around Apple's nudity restrictions, which of course is a valid concern, but there are a number of other advantages as well. For one, going through the web, Playboy doesn't have to give Apple 30% of their subscription revenue. It's also easier to support a wider variety of devices, and it integrates better with people's existing modes of sharing, allowing the word to spread faster.
Of course, all business concerns aside, I just enjoy working with JavaScript, so I'm pleased to see its potential continuing to come to light. Hopefully this will be the first of many magazines to make the leap into the world of native-feeling web apps. If Bondi Digital (the folks behind iPlayboy) have anything to say about it, there certainly will be more.
I figure it actually makes sense that Playboy would be leading the way. It shouldn't surprise us that Hugh Hefner, a man who's fought plenty for the First Amendment is now joining in the Open Web fray, in his own way.
I, along with my compatriot Aseem Kishore and the folks at Applied Information Sciences, made the iPad version of this web app feel as smooth and interactive as a native app, using touch events, hardware accelerated CSS transforms, and plenty of custom JavaScript. It's certainly not perfect (yet!) but I'm quite pleased with how well you can swipe, pan, and zoom through hundreds of high-resolution pages per issue. As a way to get around 130,000 pages of content, it's pretty good.
The buzz for the site has been phenomenal, and the quantity of subscriptions already has well surpassed expectations. Most of the reviews have focused on the web app approach as a way to get around Apple's nudity restrictions, which of course is a valid concern, but there are a number of other advantages as well. For one, going through the web, Playboy doesn't have to give Apple 30% of their subscription revenue. It's also easier to support a wider variety of devices, and it integrates better with people's existing modes of sharing, allowing the word to spread faster.
Of course, all business concerns aside, I just enjoy working with JavaScript, so I'm pleased to see its potential continuing to come to light. Hopefully this will be the first of many magazines to make the leap into the world of native-feeling web apps. If Bondi Digital (the folks behind iPlayboy) have anything to say about it, there certainly will be more.
I figure it actually makes sense that Playboy would be leading the way. It shouldn't surprise us that Hugh Hefner, a man who's fought plenty for the First Amendment is now joining in the Open Web fray, in his own way.







