Archive for the ‘Bumblebee Labs Main Blog’ Category

March 12 2010

Hacker News Dinner Party #2

by Hang

From March 6th – 21st, I’m down in the bay area looking for work as a social interaction designer. I thought it would be fun way to meet people, while down here, to cook for a bunch of Hacker News folk. This is a recording of those dinners.

Two nights ago, I cooked for Gabe Smedresman and Dani Fong and a few of their close friends at their San Francisco apartment.

Gabe was at Yale when he created the Turf game (archive.org link) which became somewhat of a minor sensation on campus and he’s now in San Francisco working on a new game which I describe as SimCity meets Fantasy Football. From what I understand, he plans on building a virtual map of the world in which players can buy, run and sell real businesses in virtual space. It sounds like a fascinating project and Gabe has some really interesting thoughts on social game design, backed by real experiences with his work on Turf.

Dani is a fellow PhD dropout like me but far more accomplished. Dani is the co-founder of a alternative energy startup,working on more efficiently storing energy as compressed air. They had just announced series B funding that day so that put us all in a celebratory mood. Dani also keeps an articulate, fascinating blog with tons of fresh insight.

The Plan

Gabe & Dani’s was the first party where I had no idea about what I was going to cook until I got to their house. Menu planning is somewhat of a skill, independent of cooking ability. The art of coming up with a good menu involves a good many things: Making sure you showcase high quality ingredients, you’re getting good value for your money, you have the right equipment to cook all the dishes at the right times, making the menu descriptions sound appetizing, and dozens more. But by far the two most important criteria are balance and contrast. A dinner that is too rich and fatty will end up leaving diners bloated, too many soft textures can end up resembling baby food. Instead, a great dinner should contain enough variation to keep the palate awake and interested.

For a geek like me, menu planning is like a giant constraint satisfaction problem. Relatively casual cooks will struggle just to fulfil the basic requirements of a good menu but for more advanced cooks with a deeper repertoire, combinatorial explosion happens and the challenge is, instead that there are too many possible menus, all of which would be good.

So especially for cases in which I need to make up a menu on the fly, I will often end up making completely arbitrary constraints on myself that reduce down the possibilities to a manageable set.

In this case, my first additional constraint was that the food should be vegetarian friendly since 3 of my guests would be vegetariants. Once I got to the market, my thinking went that the green beans looked really good and the lamb shoulder was on special so I wanted dishes that would incorporate those two. Salad Nicoise popped into my head since I hadn’t made it in a while and, while no french lamb dishes were instantly appealing to me, I really wanted to explore how lamb and fruit paired together and a lamb & apricot tagine really spoke to me (and chickpeas would be an easy sub for the vegetarian guests). Given two roughly Mediterranean dishes were on my mind, I thought a really interesting theme would be a study of how different countries around the same region would be drawing from roughly the same larder and yet use different philosophical approaches to come up with drastically different cuisines.

With the menu gelling together, lets get cooking!

First Course

Nicoise/Tuna Nicoise Salad


One of the things I associate with the French cuisine was it’s deep classicism and penchant for fussy, technical cooking. Tuna Nicoise is a dish that’s deeply old school without feeling tired or outdated in any way. This is not a reinterpreted or deconstructed Tuna Nicoise, it’s simply a deeply unironic rendition of the original because it’s original components work so well together. At the same time, it’s also an absurdly fussy dish. The eggs, potatoes & beans are each cooked separately, to just the right consistency, components are individually placed on the plate rather than being mixed up in a jumble like a normal salad and eating it requires you to actually pay attention so that you can assemble a complete salad on your fork.

In the end, it was fresh, light and a good way to start off the evening.

Second Course

Tuscan Kale Soup


In this dish, I really wanted to highlight the skill of Italian food at bring out deep flavor from a set of very humble ingredients. The soup was deliberately minimal: kale, onions, garlic, red pepper flakes, olive oil, white wine, vegetable stock, salt & pepper. Italian food is all about little tricks that add just that one iota more flavor that, when combined together as a whole, end up stunning the people who are eating it. The onions were very thinly sliced and then sauteed over low heat for over an hour until they were brown and subtly sweet. The stems from the kale were separated from the leaves and cooked alongside the onions in the last 20 minutes. The kale leaves were briefly sauteed to add just a bit of browning. The blanching liquid from the Nicoise was used to add just a subtle amount of body. All really minor details that separate a merely ordinary kale soup from a truly special one.

The end result was a soup with a stunning depth of flavor for such a humble pile of ingredients. I’m always surprised when I cook Italian food since it’s not a cuisine I prefer cooking but it’s almost always voted as the best dish of the night. This case was no exception.

Third Course

Chickpea/Lamb & Apricot Tagine with Cous Cous


The Tagine was my baby of the evening. Even though I enjoy the ethos French & Italian cuisine, the lamb tagine was far more my style of cooking. The tagine really highlighted Morrocan cuisine’s masterful way with spices so that it all comes together as a harmonious, complex whole. Morrocans have been cooking sheep for generations and their cuisine has gotten very good at using the complex interplay of spice to tame the rich gaminess of lamb. Also, the blurring of the lines between sweet & savory with fruits & honey being a major component of savory dishes is also something I love playing with because it’s so alien to the classical western tradition.

In the end, the Lamb Tagine accomplished all of those things. The lamb was tender and moist, the broth was thick, complex and well balanced and the dish was warm and satisfying. Just when I was thinking that the Tagine was the perfect cap to the meal, one of Gabe’s roommates had another surprise for us all…

Fourth Course

Home Made Banana Bread with Nutella


Gabe’s roommate, Daniel, went and baked us all some banana bread and we all slathered them thick with nutella while they were still warm out of the oven. Remember when I said that the most important criteria for a good menu is balance and contrast and that careful thought needs to go into every course to ensure that they fit well into the meal as a whole? Well, this banana bread was a completely unplanned addition added at the last minute with no consultation with me and, you know what? It was a great addition to the menu because the most important criteria for a successful menu is that it is made with love and care and this had both in spades.

My dinner party with Dani & Gabe was possibly the funnest time I’ve had in San Francisco this trip because, not only was there good food, there were also great people to be sharing it with. It’s experiences like this that made me glad I did this little experiment.

Tomorrow, I will be cooking at the house of Tony Stubblebine & Sarah Milstein for 30 people. Unfortunately, tickets for this event is already sold out but if you’re coming, I look forward to cooking for you!

Museum 2.0: Nina Simon

by Hang

It was a stroke of luck that I decided to come down to the Bay Area the time I did because I managed to catch what was possibly one of the best presentations I’ve ever seen in my life. Nina Simons is a woman with the most ridiculously awesome job in the world. She flies all around the world, helping museums figure out how to turn their exhibits into social spaces. On top of that, she also runs the Museum 2.0 blog and has published a book. I managed to catch her presentation at BayCHI last night.

I often make the analogy that our online social spaces can be thought of like real, physical spaces and I draw inspiration from examples of successful interaction in physical space and how it can teach us how to fix broken social interaction online. Nina, instead, draws inspiration from examples of successful social interaction in virtual spaces and figures out to fix broken social interactions in physical museum spaces. It was fascinating seeing this inversion of viewpoints and it’s got my mind churning about the possible implications that her work has on social interaction design.

Participatory Spaces

After Dunbar’s Number, the 90/9/1 rule is probably the second most heard of and misunderstood snippet of pop psychology that dabbling amateurs know about social interaction design. What most people believe the 90/9/1 rule implies is that it’s the natural order of things that only 1% of your users will ever be active contributors and the rest will be passive consumers. This may be fine for consumer Web 2.0 companies who build their business model around this but it’s unacceptable for museums who’s main charter is broad based participation for all.

Nina gave the example of an psychedelic music exhibition in which one of the participatory activities was that visitors could create their own band posters. Now, if the visitors were just provided with blank pieces of paper and art materials, the participation rate would be dismal and the quality low as had happened in other museum exhibits in the past. But what was clever about this exhibit was that they provided cut outs from previous band posters which visitors could assemble underneath a plastic overlay and then draw on top of them before handing them to an attendant who then made a color photocopy of it.

What’s amazing was that, of the over 90,000 people who went through this exhibit, they managed to achieve over a 30% participation rate and astounding 25 minutes on average were spent making those posters… 25 minutes people, that’s an engagement figure that any web 2.0 company would drool to see for a task so basic.

If by such simple tweaks, we can shift the participation curve so far to the left, how much credence should we put in the 90/9/1 rule?

Building high quality conversation

It’s a somewhat disconcerting experience, after talking about commenting systems for so long to be confronted with the design of actual, real life commenting systems.

Unsurprisingly, real life commenting systems, if casually designed, suffer from the exact same pathologies that online commenting systems do. Also, unsurprisingly, simple design tweaks can also dramatically alter the tenor of conversation. Nina said that one of the worst questions she’s ever seen a museum ask people to comment on is “How do you define nanotechnology”. It was esoteric, it was objective and, more importantly, why would any visitor care what another visitor’s answer was?

On the contrary, this was the best question that she has ever seen asked:

To answer the question of “Would you go to Mars”, you go through one of the two marked turnstiles. Then, at the end of the exhibit, you are asked the same question and go through the same process. What was striking was that the answer to the initial question leaned 75% towards yes and 25% towards no but the answer at the end was completely inverted with 2/3rds saying no and only 1/3rd saying yes.

I think one of the best examples from the presentation was of a Jack Kerouac exhibit she did where the comments were actually typed on one of Kerouac’s original typewriters. The design of the commenting space differs so little from the first, unstructured example but the quality speaks for itself.

Which leads me to…

The sensitivity to conditions of successful social design

One of the most striking things coming from Nina’s examples of both successful and unsuccessful projects was how all of the really great projects sprang from a harmonic convergence of wonderful design decisions. On the other hand, a single wrong choice among otherwise excellent design was enough to derail the entire social experience.

These two wombats were an example she gave of something that left her feeling sad and lonely because she didn’t have another person to go through the activity with. It’s interesting to speculate just how minor a tweak it might have taken for this to instead, be a focus point for fostering introductions between strangers. One person from the audience suggested making the wombats look at each other rather than side by side. Nina herself wondered if adding “find another person of the same gender” might have been all the impetus necessary.

In preparation to sell my work to people outside of the design field, mostly engineers and business people, I’ve been focusing my attention on turning my half baked intuitions and analogies into a “methodology” with “solid theoretical grounding”. I was doing so much of that that I even somewhat convinced myself. Nina’s talk made me reappreciate that good social design must necessarily involve a healthy dose of ineffable magic as well as solid, reasoned technique and it’s the marrying of those two that makes a great social interaction designer.

Find out more

I’ve only talked about a sliver of what Nina presented last night. If you want to see the presentation, Nina’s slides are online and a podcast of the talk will eventually get posted on the BayCHI homepage. If you want to know more about Nina’s work, you can follow her on her blog and if you want even more insight, you should buy her book.

If you want to know more about the work I do, my portfolio is pretty incomplete right now but it has a sample of the work I do.  I much prefer to talk about my work in person. I’m in the Bay Area until March 20th and then hopping between Seattle & Bay Area after that. Feel free to email me at hang@bumblebeelabs.com to arrange a meeting or just chat. I also have a presentation called “Space & Narrative: Designing for Social Interaction” if you know a group of people who would be interested in hearing about my work. I’m also looking to get hired to an interesting position, working on projects that have impact so if you know anyone who’s looking for my particular skill set, have them get in touch with me at hang@bumblebeelabs.com

Hacker News Dinner Party #1

by Hang

From March 6th – 21st, I’m down in the bay area looking for work as a social interaction designer. I thought it would be fun way to meet people, while down here, to cook for a bunch of Hacker News folk. This is a recording of those dinners.

Hacker News

In the first of my Hacker News Dinner Parties, I was cooking a vegetarian feast for James and his lovely girlfriend in their Berkeley pad. James is a lone startup guy, with some really interesting thoughts about how do we remake education into a more participatory process and how do we pull in the ambient, out-of-classroom experiences to add depth and context to the learning experience. He’s also, at this very moment, on The Startup Bus on it’s way to SXSW. The Startup Bus is this crazy experiment of seeing whether hackers work like plutonium atoms. If you jam them in a tight space under sufficient pressure over enough time, will something really interesting happen or will we end up with corpses strewn along the road and a suspiciously higher incidence of cancer for the next 50 years? Obviously, anyone willing to do something so ridiculous would be fun to cook for.

Seeing as how we had to pop in to The Startup Bus sendoff party first to drink some of their beer and talk to a bunch of cool hackers, it wasn’t until 8:30pm that we actually got started on the cooking so this first dinner ended up being pretty simple but still delicious. Also, I figured out that night that having a fully charged camera battery is pretty useless when it’s not actually in the camera so apologies for the poor quality iPhone pics.

First Course

Salad of Greens, Pears, Pumpkin Seeds & Brie, Honey Mustard Dressing

The key to a good salad is contrast. This salad had the crunch from the greens & the pumpkin seeds and the softness from the pears & brie. It had bitter from the greens, sweetness from the pears & honey, salty & pungent from the brie and sour from the sherry vinegar in the dressing. As long as you follow these principles, salads are a great platform to improvise & riff from. All the ingredients for this salad were pulled out of James’ fridge because they needed to be used up. Less is more in this case, choose a few key ingredients that you want to showcase the harmony. In this case, the salad had the right balance between all of the various elements and it turned out pretty tasty.

Second Course

Penne with a Roasted Bell Pepper & Grape Tomato Sauce

This is an old standby of mine which I return back to because of the purity of flavors. It’s a recipe that I developed independently although I’m sure it’s a common dish in many cultures.

At it’s core, it’s simply roasted bell peppers and grape tomatoes. Core & flatten a sheetpan’s worth of bell peppers (about 6), brush them with oil and place them under a broiler for 15 – 20 minutes. You want the skins charred and blackened so don’t be afraid that you’re burning them. Once they’re nicely charred, put them in a bowl covered in saran wrap and the residual steam from the peppers will help loosen the skins. Throw the grape tomatoes in the same sheetpan and put them under the broiler again until they’re burst and also slightly charred. After about another 10 minutes, the grape tomatoes should be cooked and the peppers are cool enough to handle so pull as much of the skin off as you can with your hands and then roughly chop the peppers into 1/2 in pieces. Put half the peppers & tomatoes in a blender & puree, then mix in the other half as chunks, correct the seasoning and mix with the pasta and serve. That’s it! The simplest version of this dish is just two ingredients! The puree provides the body for the sauce & the chunks add a bit of textural contrast. This technique also really brings out and highlights the inherent sweetness and complexity of good ingredients. Because it’s such a simple base, it’s also another great jumping off point for riffing off a theme.

At this dinner party, we sauteed some garlic, green onion & chilli flakes in some olive oil, added in some white wine and reduced it down and then hit it with a splash of lemon at the end to add a bit of zing. Basil, oregano or other herbs are great. For non-vegetarians, I commonly do this with some chicken breast, shrimp or pork tenderloin. Replacing one or more of the bell peppers with chilli peppers adds a interesting heat to the dish. It’s really a great starting off point for a lazy weekday pasta dinner.

Third Course

Creme Caramel with Honey Glazed Apples

I’ve never been much of a sweets person so desserts are, admittedly, not my forte. That being said, a creme caramel is really a brainless, easy to knock out dessert. The custard base is some combination of eggs, milk & sugar. I still have to look up the proportions every time so don’t feel guilty if you can’t remember them. In this case, I used a caramel base but any sort of jam also works great as a base (Saffron-Cardamon with a Rose Petal Jelly base is ridiculous). Put them in the oven at 325 in a water bath and just cook until they jiggle like a fat man running up stairs. For the apples, peel, core & dice some apples and sautee them in butter until you get bored. Add some honey and just a little bit of lemon juice to cut the sweetness and you’re done. Simple, brainless and a very “cheffy” style dessert.

I have to say, the first of these Hacker News dinners was a resounding success. The food was good, the wine was plentiful and James was a really interesting guy to talk to. Tonight, I’m going to BayCHI (I’ll be the guy in the red fedora) so hit me up via email at hang@bumblebeelabs.com if you’re also planning to be there.

February 26 2010

Career Transition

by Hang

I’ve always been an advocate of failures as a learning experience and that my failures should be public but even so, it’s hard for me to admit this: Bumblebee Labs is not working. I’ve tinkered with a lot of ideas and it’s been a formative catalyst for personal growth for me. But, over the last few months, I’ve found my motivation steadily dropping to zero and I’m spending my time finding ever more elaborate ways of procrastinating. To have a startup peter out is one of the more ignominious reasons for failure and, for a long time, I resisted admitting to myself that this is what had actually happened. After trying several attempts to jumpstart my motivation with various tips and tactics, I think it’s finally time for me to admit to myself that I need a change of pace.

Ever since I started Bumblebee Labs, I had always flirted with the idea of working for a large company and that attraction has waxed & waned with the ups and downs of Bumblebee Labs. While I enjoyed the all encompassing education that founding a startup brings, this forced interlude has made me realize how much I miss the luxury of deep thinking. To be able to focus on my original, abiding passion of social design is something that sounds immensely appealing to me at this stage in my life. As a result, I’m formally placing myself out on the job market and I’ve started to actively look for a role that I feel suits me.

My ideal role is to work for a company building interesting social software and to bring in my philosophy around social design, both to help them clarify how to understand the intersection between social behaviors & design (such as thinking about plausible deniability); and also to be a catalyst for novel social interface elements that improves the success of that product (see Friennuendo & Friendbo). My problem is, the type of job I want is not something you can apply for in a job ad. The role of social designer is one most companies aren’t even aware exists let alone one that they need. I figure, my best strategy is to meet face to face with people so I can convince them that they need to create a job that matches my skillset.

I will be down in San Francisco from March 6th to March 21st and then splitting my time fairly evenly between San Francisco & Seattle until I settle on an opportunity. I am available for:

  • If you want to meet individually, I’m happy to have coffee with you anytime, just shoot me an email at hang@bumblebeelabs.com and we’ll figure something out.
  • If you think your workplace or a group you’re part of might be interested in what I have to say, I have a 20 minute – 1 hour presentation titled “Space & Narratives: Designing for Social Interaction” which I’m happy to give to any audience (even if you have no intention of hiring me, invite me anyway. I’m always happy to talk about my work).
  • If you know someone who might be interested in meeting with me, please forward them a link to this post.
  • If you’ve been a regular reader of this blog & you’re in San Francisco on the dates that I am there, I will cook for you. That’s right, I will cook for you. Details here

I’m excited about this next phase I’m about to embark on and you should really contact me if you want to embark on it together with me.

February 12 2010

The $5 Guerrilla User Test

by Hang

The internet is all atwitter about ReadWriteWeb’s article on how a quirk in Google had them highly ranked for the search term “Facebook login”.

It was like we had unearthed a long-lost city, the Atlantis of the Internet. But instead of treasures and gold we’d found a steady deluge of confused and frustrated users who had tried everything they knew to do and just wanted to log in to Facebook, damnit. But how had this happened? It certainly wasn’t that thousands and thousands of people had just started searching for “facebook login” yesterday. This stream of people has been there all along and something is broken.

There is a persistent meme, which this article is only helping reinforce, that user experience professionals are needed because the average user is far less intelligent than the average designer so we need to hire some people who can “think stupid” just like the user. Such thinking doesn’t benefit anyone, developers lose respect for the user and start creating condescending, dumbed down UIs. Users continue to find the new software hard to use because it doesn’t address their core issues.

Users aren’t so much unintelligent as they are distracted and indifferent

Your average user may be perfectly competent and zip through your app like a charm when they’re in a controlled setting, focusing exclusively on your application and incentivized to succeed. But such a scenario is almost never likely to happen in the real world. What’s more realistic is that they’re devoting, at best, 10% of their attention towards your app while they have the TV blaring in the background, an IM conversation they’re also involved in, thoughts about whether that meeting with the boss tomorrow means a promotion or getting fired. Your application is at best, 5th on their priority list and they’re largely moving on autopilot as they navigate through it. Once you understand this basic reality, user behavior becomes a lot easier to understand.

A couple of years ago, a grizzled UX professional taught me one invaluable fact.

Drunk people are a pretty accurate mimic of distracted, indifferent people

This insight has lead to a wonderful technique I’ve been refining over the years that I call “The $5 Guerrilla User Test”.

The $5 Guerrilla User Test

The $5 Guerrilla User Test

Here’s the 5 second version:

  1. Bring a laptop to a bar
  2. Offer to buy someone a beer in exchange for participating in a user study
  3. Watch your application crash & burn as people do all sorts of ridiculous ass shit they would never do in a lab but constantly do in real life
  4. Go back, apply the lessons you have learnt, repeat until you have an app that is 100% drunk person proof

This is the slightly longer version for those who are interested:

  • Like conventional user studies this is best done with a group of two, one to run through the script, the other to take notes.
  • Approach in a friendly manner, explain who you are and who you work for and ask them if you can have a moment of their time.
  • If they don’t seem receptive from the get go, thank them for their time and move on to a different target
  • Explain to them that you want some insight on a piece of software you’re currently building and tell them that you’re willing to buy them a pint of beer as compensation for their participation
  • If they accept (and 90% of them will), ask them their preference of beer and then ask your partner to go off and order it
  • While you’re waiting for your partner, inform them of your data collection policies, the procedure and the standard stuff about how they can quit at any time. It doesn’t much matter what exactly you say to them, the key is to make it boring. This step is key. When you first approached them, you were something novel for the night so they’re interested and motivated to perform. 2 minutes of dull chatter is going to lose their attention and they’re back to being utterly indifferent about your problems again.
  • Once your partner gets back, run it just like any other user study.
  • At the end, hand them their beer, thank them for their time and drop off some business cards for some easy word of mouth marketing. If you offer any sort of premium features, give them a year’s access to it as a gift as well. It’s a nice surprise and converts surprisingly well.

That’s it! It’s cheap, fast, can be done by anyone and gives you insights you never would have gotten hiring a professional usability consulting firm. Go out and do it!

Here’s a couple more tips I’ve picked up over the years:

  • The first time you do it, you’re probably going to be suffering from approach anxiety. Start off approaching a group of the same sex as you so that the encounter isn’t sexualized. Next, move on to a mixed sex group and then finish the night with an opposite gender interaction so you get a nice demographic spread.
  • Focus on people who don’t normally get talked to at bars, middle aged people, homely girls, the guy sitting in the corner.
  • People alone, reading a book, have a 50% chance of agreeing to participate. People alone, reading a newspaper, have a 99% chance of agreeing to participate.
  • If you ever get the feeling that you’re being messed with, politely end the experiment, give them their beer and move on to the next round of testing.
  • Groups of all guys tend to be the only ones who ever mess with you. I avoid asking them as a rule.
  • You want someone who’s pretty drunk but not completely trashed. A good way to calibrate is to keep on asking progressively drunker people until your results become garbage, then back off one notch from there. After a few rounds, you learn to spot the signs of an ideal participant.
  • Conveniently for you, weekdays end up being more effective than weekends so you can do this after work.
  • I generally try to keep the entire session down to around an hour which works out to be roughly 4 * 15 minute user studies. Much more than that is tiring and too much data to analyze the next day.
  • While beer is good before & after the user study, try and keep beer away during the user study. Spilled beer on a laptop can be an expensive mistake.
  • Bars are wonderful at segmenting by demographic. Match the bar you’re going to with the user population you want to target. Different bars will produce slightly different results but the variation is not huge.
  • If you’re planning on regularly using one bar to do your tests, tip the bartender well from the start, like, 30 – 40%. That extra $1 you spend isn’t going to break the bank and having a bartender on your side brings all sorts of benefits.
  • edit: One extra tip from a friend, mobile app development benefits even more from this technique since mobile use tends to involve even more distraction. Users are using your app while walking down the street, driving, holding a conversation etc.

Anyway, that’s it. I’d love to hear from people how their experience with the $5 Guerrilla User Test goes.

Technological Progress happens via Simulated Annealing

by Hang

If you ever learn about optimization, the second technique they teach you after “hill climbing” is something called “simulated annealing“. Forget trying to work through Wikipedia’s definition of it, here’s how I mentally visualize it:

Imagine you your job was to find the highest point on a random Frank Gehry designed building, say the Hotel Marques de Riscal. The problem is, you’re blind so you can only determine the height of one point at a time.

Frank Gehry Hotel

Hotel Marque de Riscal

One way to do it would be to take the entire outside shell of the structure and turn it upside down and then drop a ball bearing in it. When the ball bearing stops moving, you declare that point to be probably the lowest point.

Upside down hotel

Upside Down Hotel Marque de Riscal

In the field of optimization, this is called hill climbing and it sure is fast but the problem with it is obvious: the ball bearing will likely drop into some rut on the side of the building before reaching the bottom (aka: a local minima).

Simulated annealing is like adding a giant paint shaker and imagining the ball bearing getting heavier over time. At first, the ball bearing is light as a feather and every random vibration is going to make it bounce around, sometimes to a lower point but also sometimes to a higher point. Over time, as the ball bearing gets heavier, it becomes progressively harder to jostle out of it’s rut but when it does move, it moves to a lower rut some distance away. Finally, the ball bearing becomes so heavy it’s virtually impossible to budge, at which point, you declare that position to be probably the lowest point. Simulated annealing can still get trapped in local minima but it usually does a hell of a lot better than hill climbing.

Now, imagine that the ball bearing is society and it’s searching for the solution to a problem like, say, attaching sheets of paper together. If you’re living in any time since the 1930’s, it’s overwhelmingly likely that you’ll be reaching for a “Gem” style paperclip.

A Gem style paperclip

What many people don’t realize is that the Gem paperclip wasn’t the only type of paperclip invented. In fact, the 1909 Websters Dictionary entry on paperclips referred to the “Konaclip” version which was considered the prototypical paperclip of the time.

A Konaclip style paperclip

From 1864 when the first paperclip patent was granted, till 1930 when the gem became dominant, there were literally dozens of designs for paperclips (which, thankfully, has been documented on the Paperclip section of the Early Office Museum). But since the 1930’s, technological progress in the paperclip arena has ground to a halt with the entirety of society standardizing on the Gem and every other style dying in obscurity (For a much more detailed look into the paperclip’s fascinating history, I refer you to the book The Evolution of Useful Things).

To explain this history, I refer back to the simulated annealing analogy. In the early days of paperclipdom, society wasn’t particularly attached to any one design so there was very little momentum in the system. Even a tiny vibration was enough to make another design viable. However, as time went on, certain styles of paperclips started to have legacy effects and it became a race between a few, select alternatives, most notably the Konaclip & the Gem. Finally, society had settled so firmly upon the Gem that it it would take the most extraordinary effort to have any other design supplant it which is why it remains the paperclip of choice to this day. In Simulated Annealing terms, the entropy was now so low that it became practically impossible to escape from a local minima.

Indeed, one of the characteristics of simulated annealing is that it goes through 3 distinct phases. A period of fluid, diverse shifting, a long period of stagnation punctuated by occasional radical shifts and then finally stability from which only incremental improvement is possible.

Looking at the pattern of historical developments of other technologies, it’s possible to spot these same shifts in between phases.

Before 1973, there was a diverse ecosystem of physical interaction paradigms for desktop computing. The most notable examples from that era were Ivar Sutherland’s Sketchpad using light pen interaction and Alan Kay’s tablet style Dynabook.

Sketchpad circa 1962

Sketchpad circa 1963

Dynabook circa 1963

Dynabook circa 1972

Then, in 1973, the Xerox Alto was released and virtually halted the progress of computer interfaces from that point forward. Nearly every desktop computer today is a recognizable descendant of the Xerox Alto.

Xerox Alto circa 1973

The list of genuine innovations in physical UI that have been adopted since the Alto are as laughably few in number as they are trivial in scope. In rough order of importance: Speakers, microphones, webcams, the mouse wheel, wireless networking, higher resolution screens, a numpad, flatter screens & the Windows/Command button (this is not a sampling, it’s the complete list).

The list of potential innovations are as staggering as they are futile: Pen computing, Tabletop computing, Tablet computing, Augmented & Virtual Reality, Touch based interaction, Multitouch, MultiMouse, Bimanual Interaction, Single Display Groupware, 3D displays and the list goes on and on. In the last 37 years, billions of dollars have been poured into these alternative technologies in a vain attempt to supplant the Xerox Alto as the dominant paradigm with pretty much nothing to show from all that work except a bunch of pretty pilot projects.

And with each passing year, it’s become more and more difficult to foster a viable alternative paradigm because more and more gets invested into keeping Alto style computing firmly entrenched. Software is designed for a keyboard+mouse+screen, people have invested time learning the intricacies of a WIMP OS and thousands of companies have a vested interest in keeping the system entrenched.

The same pattern can be found in keyboard layouts with QWERTY, programming languages with C, web standards with HTML+CSS+JS, Office Productivity with Microsoft Office, Email with Eudora and so forth. In every instance, a period of rapid innovation was brought abruptly to a close with a dominant technology and, from that point forward, genuine changes in the status quo happen at best every decade and only after extraordinary effort *.

Almost every discussion of a new innovation focuses on the details of the innovation almost exclusively without considering the broader social context. Such discussion manages to miss the vital point that adoption of an innovation depends only a tiny bit on the actual innovation and almost completely on the current progress of society. Once a technology has reached a certain maturity point, whatever local minima that society has currently reached will establish itself be the dominant technology until the end of time regardless of what technological progress has occurred or has yet to occur. Like a game of musical chairs, it’s all about when the music stops. If you’ve managed to grab a seat at the table, then you’ll stay there forever, if you missed your spot, then it’s going to take extraordinary effort to regain it, no matter how much of an improvement you are over the status quo.

* This same model also explains why European & Japanese mobile & broadband technology is so far in advance of the US even thought the US were the pioneers of both technologies. Because the US started early, it’s industry matured around an earlier technological & social standard which caused it to fall behind the less mature, more technologically limber peers.

a numpad,
September 10 2009

A real case of an evil genius

by Hang

Evil Geniuses are so rare that it’s still surprising when one actually surfaces. In this case, the plot is so deviously brilliant I can’t do anything but heartily applaud it. I’ll let The Guardian take over from here:

The women were led to believe they were being filmed for a Big Brother-type television programme, according to the Dogan news agency and other news reports. Instead, their naked images were sold on the internet by their captors.

They were made to sign a contract which stipulated that they could have no contact with their families or the outside world, and would have to pay a fine of 50,000 Turkish lira (£20,000) if they left the show in the first two months, the agency reported.

She said the women were not abused or harassed sexually, but that they were told to fight each other, to wear bikinis and to dance by the villa’s pool.

August 30 2009

Software misengineering

by Hang

Does any other discipline have problems establishing the basics of competency in the same way that software engineering does? Starting from Imran, to Reginald Braitwaite, to Jeff Atwood and now to Richard Banks, the story of FizzBuzz has become mildly famous among the circle of software programmers. What is it about the profession of programming in particular that allows for such stunning incompetence to be masked for so long?

Are there professional athletes who are unable to walk? Are there professional accountants who cannot do math? Are there professional postmodern english lit professors who occasionally let slip with a comprehensible sentence? I’d like to have some insightful insight at this point but the sheer lucridity of it has me baffled.

I’ve mentioned previously that the reason this company is named Bumblebee Labs is from a term I coined:

A bumblebee is an occurrence which cannot be explained by our current theory and thus, demands special attention. Bumblebees are the keys to uncovering areas where our understanding of the world drastically fail and how we can construct a better theory to explain what is happening.

and the FizzBuzz paradox is a Bumblebee of the highest order.

Just once, I’d like to hear the FizzBuzz story from the other side. I’d like to hear a veteran software engineer, confirmed to have been working on multiple projects and with largely positive references explain how he managed to fool so many people for so long about his basic competency in programming. Does this person know that they’re a bad programmer or are they suffering from a severe case of Dunning-Kreuger? How does knowing that you’re a fraud every single day weigh upon your psyche? How do your team mates treat you?

Sure, there are many other fields in which blatant frauds continue to go unexposed for many years: art, academia, holistic medicine, cult leaders etc. But everyone knows that fraud is endemic in these fields. Sure, there are fields in which people are completely self delusional about their ability: music, writing, acting. But everyone else knows those people are crap and never let them do anything of significance. Software Engineering shouldn’t be like those field. It should be like every other respectable, solid career. And yet it’s not.. why?

August 17 2009

Introduce yourselves

by Hang

One of the hardest things about writing this blog is the feeling of talking into a void. I know there are people out there reading it because I can see the analytics data but it still feels lonely writing. So I’m going to experiment with a semi-regular feature where you, the readers respond.

Post a comment with how you found out about this blog, why you read it and also if there’s any particular area you’d like me to cover more.

As an added incentive , I’ll be donating 25 cents to charity for every person that responds. If you feel particularly strongly about any one charity, put that also in the comments.

August 9 2009

The billion dollar genius ego dilemma

by Hang

In my recent post, defining what I refer to as the ego dilemma, I said my favorite ego dilemma was couples who didn’t believe in signing a pre-nup before getting married. I was wrong. My absolute favorite ego dilemma is when someone comes up to me with a revolutionary, amazing, WORLD CHANGING idea. Once they get over the inevitable 15 minute prelude about how I shan’t steal it and I shan’t be paid for the privilege of hearing it, they ramp up to the pitch of what will inevitably be about what I call one of the “holy grail” problem. With the latest conversation, it was about how to build a successful micropayments platform, the one before that, it was building a better craigslist.

When dealing with a situation like this, it is both impossible and futile to point out what’s wrong with their actual ideas. To counter any specific point would be to focus on the trivial dumbness of the project and completely miss the much move overwhelming general dumbness that it is hiding. Although I’ve long ago given up the possibility of changing any of these people’s minds on their pet project, it’s still a fun way to hurl some inventive abuse.

A billion dollars worth of resources have been poured so far into failed startups who were all incredibly confident that this time they have solved the micropayment problem. A billion dollars of PhDs and business models and academic journals and optimistic infrastructure rollouts so that this time, they’re going to do it differently from everyone else and be the SPECIAL ones.
The nub of the ego dilemma is that to believe you have solved a holy grail problem is to believe that you’re smarter than those billion dollars.

Do you really believe that your smarter, more creative, more insightful that every one of the people who have gone before you? Do you really, really believe this, even thought you acknowledge that every one of the people who have gone before you also believed the same thing and all of them were clearly wrong?

People do believe it. They really, really do.

This is quite possibly the most extreme ego dilemma that it’s possible to have, the one by which a rational application of an ego dilemma argument must surely convince any person that they’re quite clearly wrong. The argument against you being a billion dollar genius is so overwhelming that there cannot be any conceivable rebuttal to it and yet, it is also one that is clung to with fierce determination by everyone who experiences it.

The stereotypical image of the billion dollar genius is that of a mentally unstable crank who natters on constantly about their perpetual motion machine and, to be fair, they do make up the bulk of this category. But the really scary thing is that the billion dollar genius syndrome also affects smart, reasonable and otherwise clear thinking people with an equal ferocity. You could be a rationality ninja but still be unavoidably captivated by this particular ego dilemma.

How do I know all of this? Because not only have I seen my smart, reasonable, clear thinking friends suffer through this, I’m forced to confront the unfortunate reality that I’m afflicted by it myself. Even given the impeccable logic presented above, I believe that I have solved a holy grail problem. I’m not dumb enough to present the solution for public ridicule yet but I’m just dumb enough to publicly announce which holy grail problem I’ve solved: I believe I have an entirely novel and practical approach to monetizing a large swathe of Web 2.0 applications without relying on advertising.

Ridiculous, right?

Trust me, I am well aware of how ridiculous it all sounds. And yet… I’m SPECIAL goddammit!

Copyright ©2009 BumblebeeLabs — Theme designed by Michael Amini