Archives for category: software

ferran

Looking beyond Silicon Valley for product leadership, vision and inspiration

Never have I seen a product mind in motion so interestingly captured than in the 2011 documentary “El Bulli: Cooking In Progress”. The film, about one of the most decadent, highly rated and progressive restaurants in the world, featured world famous chef Ferran Adrià. Leading a world class team of chefs and service, Adrià is portrayed as a detail obsessed leader searching for the impossible – perfection.

A team “standup” is depicted, where each member of the large group described their name, specialized role, and by the request of Ferran, their previous employer. A young woman casually announces her name, and that she previously worked for Jose Andres, another world famous molecular gastronomy chef and former student of Adrià. The pedigree and composition of his staff was not too different from the waves of ex-Facebook and ex-Googlers in the Valley who gather and successfully form new ventures.

Ferran embodied a very polarized depiction of the characteristics I’ve seen in founders and product managers during my admittedly short ~10 year career writing software. He was a leader, he was a visionary, and he inspired his team to build. He obsessed with detail, process and documentation. This obsession was highlighted in a scene where a damaged hard drive lost a week’s worth of food experimentation data, he (like any good data informed PM) was furious.

He encouraged and innovated directly through experimentation. He tasted and tested constantly. He obsessed about both the macro details (the flow, the entire meal, the timing, [the user experience]) as well as the micro (the physical plates, the garnish, the exact amounts of flavoring down to the crystal of salt, [the pixel level detail]).

He insisted that new menu items would only be served to tables of two, and then slowly integrated into the main menu once they’d iterated, verified and truly perfected the dish. This part of his process really stood out to me because this controlled release process is no different than how we release new features at Twitter. While this might be a very standard and obvious process in the culinary industry, I was surprised and impressed with this strategy.

But Ferran also ruled with an iron fist. He had very little patience for failure. He was seemingly short tempered, impatient and stubborn. These characteristics reminded me of the description given by food critic Masuhiro Yamamato of Master Sushi chef Jiro Ono. A strange cocktail of otherwise negative characteristics that result in a close to perfect product. And while I’ve commented before about how the film Jiro Dreams of Sushi was more about engineering diligence, El Bulli was about the audacity to reach product perfection.

To be clear, Adrià’s impatience was only for sub-par quality, rather than an expectation for instant satisfaction. He electively closed his $350/person restaurant for 6 months of the year to spend time researching and creating his unique menus. He would, however, scoff and raise a fit when served a food sample from his staff that was not to his liking.

The “climax”, so to speak, of the film draws to a conclusion with Ferran sitting alone in the restaurants’ kitchen. Though surrounded by his 40 staff members and a full restaurant of satisfied customers, he might as well have been on the moon, alone with his thoughts. His unheard, yet likely inner monolog being: “It is not good enough, I can’t serve this to my customers”, the irony of course being that it was a 3 Michelin starred restaurant at the time. Omitted from the film was the unfortunate reality that such a strict disciplined approach was not sustainable. El Bulli sadly closed shortly before the film was released due to financial stress the process and 40+ staff likely put on the restaurant. This unfortunate fate, however, came only after Adrià successfully ran the restaurant for 24 years, whilst topping the lists ranking as the best restaurant in the world. The following observed qualities lead him to success, and perhaps the last one to his demise.

  • complete respect for quality

  • intolerance of the mediocre

  • inspired, and lead fearlessly

  • relentless experimentation and iteration

  • total willingness to reinvent

  • obsession with perfection

Maybe creating software has no comparisons to a world class Michelin rated restaurant. But as a food lover, and also software engineer, I’d like to romanticise and draw parallels between the two. Regardless, there are many lessons to be learned from observing Mr. Adrià’s legacy in motion. Perhaps we don’t all need to have an obsessive quest for perfection, but then again, if we aren’t serving out our absolute best dish, what is the point?

[photo credits: http://vcrown.com/]

And you somehow never bothered to change it?
— Christy Lee, The Social Network

An observation (brought to my attention by @dozba): If you were one of the most powerful+influential figures in the tech world, and one day landed a sweet new job, how would you let the world know? People keep up to date what they believe and feel is the most important. I’d say that being the CEO of one of the biggest tech companies in the world is pretty darned important.

We ♥ you too Marissa, best of luck with the new gig!

And the runner ups…
[LinkedIn, Facebook and.... Google+]

[screenshots as of July 20, 2012]

The simplest design principles can go a long, long way. Start small, then grow from there. Let’s not over complicate things, or forget what we are really trying to build. I took a quick look at some of my favourite companies from around the web, and saw a whole lotta CRUD.

Which is your favourite crud, which did I miss?

#HumbleBeginings

What circles do you think you have been added to?

tldr:
Google+ introduces a new type of privacy problems which I can only describe as the inverted personal privacy dilemma. It is no longer an issue of “What I choose to share with Google and then what Google shows to others”, the issue is now: “What friends/complete strangers choose to share about me to Google, and my inability to do anything about it”. The responsibility of maintaining my personal privacy has been partially removed from my hands, and placed in the hands of the people of internet.

Thought experiment:
Put 100 privacy aware/concerned people into a room. What would you suppose is the best way to create a global interest graph/taxonomy for this group of individuals? Algorithmically? Manually? First, ask them to fill out very basic personal information about themselves. We will probably have reasonable success. Next we ask them to fill in very specific personal information/categorizations about themselves. How do they react? Probably not as successful. Now ask the same group of people to write down and categorize the people around them, but remind them that their categorizations will remain secret. Each individual’s privacy has been maintained, and collectively we have created a very rich interest graph/taxonomy which is possibly far more accurate than any automated solution.

Read the rest of this entry »

I’ve been experimenting recently with a bunch of cool photosharing apps on my iPhone including: Path, With, Twitter, Facebook, Denwen, Color, Dailybooth… (takes breath). As much as I enjoy each one in their own unique way, none of them (yet) are able to capture the true feeling or ambiance of a particular situation, though Path is probably the closest. To be fair, most of these apps were not designed to do such. I’ve always found that regular photos (camera phone for instance) can decently capture a moment, but they often come off as rather 1-dimensional (figuratively speaking). So as an experiment, I documented ~72hours of my life by taking panoramic photos along the way. Below are shots of where I found myself wandering to over the last 3 days. For me, these wider photos do justice to some of the lovely views I get to see on a daily basis.

I am not a photographer, these are far from perfect, but I think they do a great job of giving the viewer a sense of where I was and what I experiencing. I recall reading that the switch for TV’s from 4:3 to 16:9 ratio was to make a more natural aspect ratio for the human eye. Well, even at 16:9 (which might approximate my eye’s static view), I often tend to move my head left/right, so hopefully these wide/POV shots are more emmersive. Lastly, I have to tip my hat to the team who made PanoApp, a great $2 iPhone app that does all the stitching work for you. Go download it and post stuff.

Anyway, here is 72 hours exploring in SF. This is not realtime, this is not broad casted/narrow casted, this is not person tagged nor is it geo tagged. Just some simple photos I thought some people might enjoy.

SOMA: The view from my desk at work, I have never used the monitor on the right

SOMA: Every Friday at TwitterHQ, teatime with drinks, live music and serious QA... I'm holding 2 beers.

SOMA: Walking over Howard St on the Yerba Buena bridge. I'm listening to Metric.

Embarcadero: My Thursday poker game with some of the nicest guys in town, though I'm about to lose a big pot

Union Square: The Powell BART station, heading out for food. I'm craving Chinese food

SOMA: Chatting with my coworker @alan about my panorama experiment. The pano is so meta.

Nob Hill: The top of the hill, just a few blocks from my apartment. Choice: Russian Hill ahead, China town the the right

Russian Hill: One of the steepest/funniest hills in the city. I'm thinking about tipping a car over (Broadway/Jones)

Russian Hill: Relaxing at one of my favorite "hidden" spots in the city. A random dog sits down beside me to enjoy the view

Dolores Park: Tons of people enjoying the nice weather. I'm wearing my pink sunglasses to fit in

Mission: The Summit cafe, a new but prototypical cool/geeky tech hangout with great coffee. I'm holding a fancy Cappuccino

The Marina: You can see the Golden Gate to the left, and Alcatraz to the right. It is really windy

Union Square: Tons of tourists lining up for the Cable Car and enjoying some local street performers

Mission: 16th St. BART, a shot of me going home after a long day of wandering. photo by @moizsyed

We see thousands if not millions of moments just like these on a day to day basis. Hopefully I’ll remember to stop and capture a few of them for me to revisit and share in the future. On a closing note:

I’ve recently spent quite a bit of time working with QUnit, a great unit testing framework for Javascript. While building out a larger test suite, I ran into a few issues, especially while testing/working with dependency managers and the QUnit test framework. In this post I’ll document some of the issues I ran into, some patterns I started using, and a few tricks I used to ensure consistent and reliable test results. The main issues I ran into were caused by the fact that I was testing modules that were being loaded asynchronously. This meant that in some cases QUnit would miss tests, misplace module labels, and/or report false positives. Now when I mention async here, it is not to be confused with QUnit’s native support for asyncTests.

Problem #1: QUnit.done misfiring

QUnit.done = function(qunitReport) {
  console.log('Done!');
};
setTimeout(function() {
  test("helloworld", function() {
    expect( 1 );
    ok(true);
  });
}, 100);

Read the rest of this entry »

I am always interested in looking at large sets of data. Earlier today, LinkedIn released InMaps which provide a simple tool for visualizing one’s network on LinkedIn.  After a few seconds of processing, I was presented with this colorful and interactive visualization of the ~200 connections I have on LinkedIn. Now I don’t have quite as many connections as others, but I was still very impressed with the powerful bits of information I was able to quickly get out of this graph. The plotting algorithm did a pretty good job, as I see 3 major clusters which are composed of my University of Toronto connections, the connections I made at my previous startup Thoora, and the connections I have made (mostly coworkers) since I moved to San Francisco for Twitter.

Read the rest of this entry »

I recently received a Wacom tablet+stylus as a gift and could think of no one else to draw for my first sketch but Alan Turing. This is a 4 layer Photoshop trace atop a famous photo of one of my favorite historical scientists. I figured it could be a late tribute to one of the guys who started it all. On this day (November 28) in 1942, Alan Turing was sending a report from Washington, D.C. describing his 2 week tour of America and their code breaking efforts for WW2. I’ve always appreciated his subtle humor and lingering disappointment in his writing/dialogues, this report is no exception. Always up for a challenge, and (seemingly) rarely impressed or satisfied; breaking German encryption codes and theorizing the modern computer wasn’t bad for a 30 year old math geek from West London.

“I’d say we have come a long way since Zygalski sheets and Hut 8 in Blechley Park, Alan.  Don’t forget to thank Welchman for that diagonal board.  R.I.P.”

Above is an overlay of every (CrunchBase listed) startup in San Francisco.  In an afternoon hack, me, @alan and @thetylerhayes scrapped the crunchbase API then mashed it into Google Maps to get an interesting view of the city.  I am always amazed at the amount of startup culture in this city (hence I moved here), but never had a chance to really see it from this perspective.  My office and apartment are somewhere buried underneath one of those pins.  I’ll try to put up a more interactive version of this chart sooner than later.

Who do you bring to the fight when facing a tough market, timelines and competition?

While excellent engineering talent is a must, there are many overlooked or under-appreciated roles that I believe are essential to the success of any software company – at any stage.   I often hear the excuse:  “We are too small of a company to hire a ________”.  Well guess what?  Your competitors have one, or maybe more, so SOMEONE at your company has to be taking on these responsibilities.  You might be lucky enough to have these roles filled, perhaps these responsibilities are shared within your company, but ignoring them will soon land you in a lot of trouble.  Lets get started with the 3 P’s that I believe are so important for any software project to succeed.

Read the rest of this entry »

Follow

Get every new post delivered to your Inbox.