by havoc

Good comments from Joe, inspiring me to
ramble a bit in a loosely-related way… I haven’t really written my
“personal thoughts” blog about Mugshot yet.

First, let’s not overcomplicate things by thinking there’s more to “get” than
there is… our goal was to get something out as quickly as we could
that showed the kind of stuff we wanted to do, with just 3 developers
initially (we’ve added one more now). On the one
hand I’m proud of what we’ve accomplished given the time and
resources, especially considering that we were a bunch of C
programmers who had to learn Javascript, CSS, Java, EJB3, databases,
ActionScript/Flash, Windows C++, COM, on and on all from scratch. And that
we went in various directions that didn’t work out before ending up
where we are.

On the other hand for this to be really exciting we have to do a lot
more. It would suck to do the lot more all behind closed doors for
another year, so we posted our codebase and our manifestos and notes
and hopefully some people will find it interesting.

One question I hope people
find interesting, whether as part of Mugshot or not: how can we go straight to people who
aren’t using Linux and open source already, and start providing
more of value to them more quickly? It’s an open question, I don’t pretend to
have the whole answer. With Mugshot we’re exploring only a small
fraction of possible angles on this. Firefox and Wikipedia are a
couple of existing successes. But there’s so much more to be

Getting people to switch their whole OS, or even web browser, is an
inherently hard activity… while there’s steady
progress, my hypothesis is that we could move open source a lot farther and faster by
supplementing and enhancing these efforts with additional directions whether Mugshot
or One Laptop Per Child or [your idea here].

We have done some quiet non-tech-community marketing… Mugshot was stealthily live in
various forms for the last few months or so, first with our friends
and family, then with people from Google ads we ran on “customize your MySpace” type of
sites. The ads landed on a focused page about the “music on MySpace”
feature and we had some success with this.
We still have a
generic placeholder ad landing page
that we aren’t using right this
minute, the old landing page was more focused on the “customize
MySpace” message (it probably always makes sense to hand-tune the
landing page to the context someone arrives from).

For signing people up a reality is that nobody will
watch a screencast or read a lot of text … we just have to make
signing up as simple as possible, and (more valuable) get to the
point where we have good word of mouth and friends are encouraging their
friends to try it. I won’t try to predict what that will require… if
we tune what we have a bit more it might be enough, or we might need
more or different offerings. The only way to find out is to try.

Writing the Google ad a while back was an interesting exercise because
there’s a brutal limit on number of characters and the ad has to work
in the context of a purpose-driven search or related page… I ended up using:

Current Song on MySpace
Free service - show what's playing
on your desktop, live on your page.

That’s just about the absolute max length Google allows. Remember this ad
ran on sites about customizing or creating MySpace profiles.
We don’t have immediate plans to run more ads (we have a ginormous
backlog of people wanting accounts already) but trying to write these
(and think of relevant places to run them) remains an informative
exercise – ideas welcome.

For the tech community a screencast is a fine idea, we’re hoping to go one better and just
clean off the “I would like an invite” list so people can try it out.

I do think the tech community’s “how is it
different?” question doesn’t exactly match how “normal people” would think
about it… especially when answered via equations: “links + social
networking + IM = yay!”, I have an
apropos blog post from
over a year ago
before Mugshot existed. My gripe about this mode of thinking is
that it ignores specifics of the concrete user experience that matter
quite a bit, while also missing the “big picture” inspirational goals I was talking
about a minute ago. In the tech world we tend to focus too much on the
intermediate abstractions, neglecting both the big picture meaning and the
important details.

When arguing against the
“social networking” label
I’m not trying to say that Mugshot is
the most revolutionary idea on earth, if only you understood it.

Instead, my idea is that for potential contributors, thinking
“social networking” or “links + social” or something like that won’t
get you on the same page as the existing Mugshot team. We’re trying to
think both more broadly (“open project,” “freedom,” “entertainment”, “design”)
and more specifically (prototypes and running code), and on our good
days we manage to focus on people’s needs.

Thinking about a category like “social networking” as the goal just doesn’t
work for me because it predefines what we can do. (I’m also not a fan
of goals like “a desktop” or “a web browser” or “a window manager,” by
the way, though in the past I obviously did think that way. If I were
dictator of GNOME today the first thing I’d do is change the project
definition on the front page of to something broader and
more open-ended.)

What I’d like to encourage is either thinking concretely about the
details of user needs or the user experience, or thinking broadly
about all the stuff the project could do in the big picture, and keep
some allergy to thinking in terms of existing technology names or
trends (even when they apply, to me they’re just a bad place to have
my head).

Joe asks how Mugshot will change your life… I think that remains
to be seen. What we have so far might be pretty cool to people, or
it might be flawed in fundamental ways requiring some whole new
directions, or flawed in simple/cosmetic ways that we have to fix.

My dream is to have a great userbase in a year or two made up of
people who aren’t using Linux and open source today. Lots of “ifs”
stand in the way but that’s my ideal scenario and I think it opens
up lots of opportunities for open source (and projects such as GNOME)
if we can accomplish it. In any case I’d rather try than not try.

Putting this abstract debate aside for a minute 😉 at the moment
we’re wrestling with unglamorous Nautilus 1.0 type performance bugs, if you’re familiar with that bit
of GNOME history… e.g. leaking 8 threads per http request
(amazingly, a modern 64-bit Linux system appears to survive this for
hours at a time!). The good news is that we can get 1000% performance
wins with 1-line fixes…

I have to stop talking and start hacking at this point 😉

(This post was originally found at

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.