Speaking at Etsy

Last May, I had the honor to welcome Dave McClure and the Geeks on a Plane group at MercadoLibre offices in Buenos Aires. I gave a short talk and answered questions on  technology, e-commerce and Latin America. One of the geeks on that plane was Kellan Eliott-McCrea (CTO at Etsy), who kindly invited me to give an open talk in context of the Code as Craft Technology Talks series. It wasn’t until last monday when we found the opportunity to make this happen.

The talk
I’ve always hated the “success story” format, where somebody explains how well he figured out everything from the very beginning. In this talk I intended to share concrete examples of some mistakes we made, and what we learned from them.

Just in case you have an hour, here’s the video.

Etsy offices – A lesson on “design culture”

Etsy offices are located in Brooklyn, in a neighborhood called DUMBO, an acronym for Down Under the Manhattan Bridge Overpass. As soon as you step a foot in that office, the “design spirit” takes over your senses. It’s one of the coolest, quirkiest place I’ve ever been to. Everything looks hand made. Every desk is different, crafted by a different Etsy seller. Every “normal” object was an excuse to craft something beautiful. Here’re some pics:

If you work there it’s clear that you are expected to carefully “design” everything you do, no matter if you’re a designer or an engineer. No surprise Etsy is arguably the most “beautiful” marketplace out there. This experience triggered something in my head: we need more than a good design playbook to reach the next level. Now I have a challenging (and pleasant) homework to do.

Daniel Rabinovich.

Guinea pigs and cognitive biases

Some time ago, a friend asked for my help with a puzzle:

There are 1,000 buckets, one of them contains poison, the rest of them are filled with water. They all look the same. If a pig drinks that poison, it will die within 30 minutes. What is the minimum number of pigs do you need to figure out which bucket contains the poison within one hour?

Since I was familiar with similar problems, I quickly replied: the answer you’re looking for is 32 (the rounded square root of 1000). The procedure looks like this: the first half hour, split all 1000 buckets in 32 groups of 32 buckets. Have the first pig drink a drop from every bucket from group #1, and so on. Half an our later one pig will die, so we’re left with 32 candidate buckets (and 31 pigs) for the second half hour. Then, have all pigs drink from one bucket. This should find the poison (if none of them perish, the poison is in bucket #32). Proud at my problem solving skills, quickly rested my case and focused my attention in something else.

A few weeks later, I realized that I was wrong. 1000 buckets can be binary encoded with 10 bits (log 2, 1000) = 9,96 -> 10 pigs will suffice. The procedure is explained below for 8 buckets and 3 pigs (10 pigs solve 1024 buckets).

          Pig1   Pig 2   Pig 3
Bucket 1:  0       0      0
Bucket 2:  1       0      0
Bucket 3:  0       1      0
Bucket 4:  1       1      0
Bucket 5:  0       0      1
Bucket 6:  1       0      1
Bucket 7:  0       1      1
Bucket 8:  1       1      1 

There was a disturbing fact though: the procedure solves the problem in half an hour, and we have an entire hour to use. However, after finding a a solution to a similar problem in the comments section of the original post, I ignored this annoying fact and quickly jumped into the conclusion that the solution was actually 10.

Long story short, I was wrong, again. There are 2 better solutions:

Solution with 9 pigs: binary encoding, but in two “rounds” of 512 buckets.

Solution with 7 pigs: use ternary encoding instead of binary. The “trits” (as opposed to bits) represent 3 states: “dead in the first half hour”, “dead in the second half hour” and “survivor”. Using this technique, 7 pigs can solve up to 2187 buckets (3^7).

A dangerous cognitive bias

This sequence of failures have a common denominator: I tried to match the problem with the most similar pattern I knew, and quickly jumped into conclusions. As Daniel Kahneman says in his marvelous book Thinking Fast and Slow:

“A failure to check is remarkable because the cost of checking is so low”

In my case, I only had to check the comments section of the page! I almost answered by intuition. Since everything “looked right” the lazy left side of the brain failed to ring the alarm… 4 times.

To illustrate this point, Kahneman gives the following example. Don’t try to solve it but listen to your intuition:

A bat and ball cost $1.10
The bat costs one dollar more than the ball
How much does the ball cost?

They tested this simple puzzle on thousands of university students. More than 50% of students at Harvard, MIT and Princeton gave the intuitive -incorrect- answer: 10¢. The right answer is $1.05 and 5¢.

“A few seconds of mental work, with slightly tensed muscles and dilated pupils, could avoid an embarrassing mistake.”

This cognitive bias “force a situation into a known pattern and quickly jump into conclusions” is quite dangerous in a Technology team. Often the size of the inefficiency of a suboptimal solution is in the range of “32 vs 7 pigs”. In a large system, this cost could be huge, both financial and in terms of User Experience.

My first hand encounter with this dangerous bias made me tweak the “left side alarms” and strive to minimize the negative effects. After a while, it’s paying off. Hope you find it useful too.

Daniel Rabinovich

MercadoLibre’s approach to Mobile

We’re living in one of those moments in Tech History when everyone agrees on the upcoming standard but, at the same time, disagrees on how to handle the present.

The first MercadoLibre’s mobile app was launched last October. As explained in the Investor Day, it took us a long time to build a common layer of APIs, serving the desktop web, mobile apps, 3rd party apps, etc. The bright side of being late is that (if you’re still alive) you can leapfrog. We’re delighted by the fact we’ve reached 2,5MM downloads in just five months.

The app is 100% native, available for iOS, Android, Blackberry and Symbian. Although we’re enjoying the benefits of the native-apps world (better with slower data connections, great UI), we’re paying the price for it (lower deployment frequency, writing the same thing 4 times).

Why don’t we turn our apps into “native shells” for HTML5 applications? Last year Facebook did just that and they’re arguably the largest mobile app in the world. One simple answer: Native User Experience is still superior. I strongly emphasize “speed” as an integral part of the User Experience. At least in LatAm, where data connections are slower, this is a major issue. The second factor is that HTML5 doesn’t work that well on older mobile browsers, and we have a large installed base of those in LatAm.

Wouldn’t have been easier to just copy Facebook’s approach? IMHO, despite Facebook took the right long term approach, they may have made the move a bit too soon, at least in Latin America. Delivering a suboptimal User Experience is very cost-effective but it makes room for “beautiful” apps to emerge. The growth of Path might be a consequence of this. Ok, maybe uploading users’ address books without premission helped as well, but that’s a different story.

What about the mobile web? Mobile is not just about apps. The mobile web is also growing, and is quite relevant for e-commerce. We’re currently working on a web version of MELI, using the Progressive Enhancement approach. As soon as we achieve a good enough UX, we’ll start embedding the web into the native app. Here are a few screenshots of the Work-In-Progress MercadoLibre web version:

Daniel Rabinovich

Relative color

I’m amazed at how many people think that colors are absolute, meaning the same RGB value will be perceived as the same color in every condition. It’s definitely not like that. Lighting conditions and the proximity of other colors and shapes greatly affect our perception, and our brain performs an enormous amount of corrections.

Consider this optical illusion:

Despite squares A and B are the exact same color, they are perceived as black or white in the proximity of other colors. In Color Theory, this is called “color context”.

Lighting conditions are another source of relativity. When using our eyes, our brain learned what lighting conditions we’re on and automatically adjust perceived colors. Digital Cameras have a tough time understanding what our brain is automatically correcting. That’s why we’re asked to adjust white balance when taking pictures. The following pictures show the same object in the assumption of three different lighting conditions (tungsten, fluorescent, and sun):

Why is this relevant to an e-commerce company like MercadoLibre? Because we need to extract product colors from user-uploaded pictures with unknown lighting conditions and therefore, unknown colors. This is a non-deterministic, complex, and beautiful problem to deal with. We’ll keep you posted.

Daniel Rabinovich

A variation of the Classical N-Queen Puzzle

I’ve always loved the classical N-Queen puzzle. The goal is to place eight chess queens on an 8×8 chessboard so that no two queens attack each other.

Here’s one solution (92 in total):

Some time ago, a clever friend asked me if the number of solutions would be greater or lower if the goal was to place 7 queens instead of 8.

– “Greater, of course” – I replied.
– “And if you had to place 6?”

Then I realized that the number of possible solutions would peak at some point and then it would decrease until it hits 64 (the number of squares = the number of solutions if the goal was to place only one queen).

The highest number of solutions occurs when the goal is to place 5 queens.

I had a lot of fun coding the solution, using recursion and backtracking.

Here’s the source code on GitHub.

Daniel Rabinovich

Sharing ideas with Vint Cerf

Last week I was lucky enough to meet Vint Cerf, one of the fathers of the Internet. Among many other achievements, Cerf worked on the protocols that later became TCP/IP. Not many people in history can claim a larger contribution to mankind. Unsurprisingly, despite being 72 he’s full of energy, humility and sense of humor. I had the honor to share a panel with him, along with Santiago Bilinkis and Ariel Muslera.

I based my talk on the study of Kevin Kelly, the legendary editor of Wired Magazine, referring to some of the technology trends that will probably reshape the web as we know it, and generate immediate winners and losers. The line between opportunities and threats has never been thinner.

The first encompassing trend is the proliferation of screens, as Kevin Kelly would describe it. Just a few years ago we had two screens at home: a TV and a PC. Now we carry three connected devices: a laptop, a tablet and a mobile phone. Connected devices are not just computers anymore. They are TVs, running shoes, freezers, dispensers, airplane seats, etc. The “internet of things” is finally here. If a service is only prepared to run on a single device, it will be quickly kicked out of the game. Mobile screens are often equipped with a GPS, and connected to social networks. This combination, often called SoLoMo (Social + Local + Mobile) is rapidly changing the rules of e-commerce. In MercadoLibre, we have spent more than a year rewriting our platform to build a common and open service layer to fulfill the needs of many screens. If we hadn’t made this decision, we’d have found ourselves in a strategically lost position.

The second game-changing trend is the explosion of data. In 2011, 1.8 Zettabytes of data will be created or replicated. That’s about 4 million times the content of the Library of American Congress.  Zuckerberg’s Law stated that the amount of shared data will double every year. This year, the number of connected devices will be larger than the human population on the planet. In a platform like MercadoLibre, there are 50MM search queries a day. The key to a good search is data, algorithms are becoming commodities. One difference between winners and losers will be the ability to master “big data”.

The third key trend is that Accessing is better than Owning, when the entry barriers are low enough. Owning is expensive and distressing. Why would I want to own a book if I can have it whenever I want? And what about a WebServer, a Network service, a CRM platform? The difference between a product and a service is blurring. Why is this a game-changer? Because entry barriers are imploding, it’s become too easy and cheap to launch a product. If a current leader is not offering a good balance between value and cost, a strong competitor may emerge overnight.

However, is there anything that is not changing? Are there value creation mechanisms that were great ten years ago and will also be great in ten years?

Reputation is one of those constant values. It´s not easy to replicate. A seller in MercadoLibre has a good reputation because she sold a thousand units to different buyers. This is helpful to the next buyer because the reputation is curated by the brand and can’t be self-proclaimed by the seller. There is a genuine value creation within a large ecosystem. You are on Facebook because your friends are on Facebook. Network externalities are very powerful. This was true ten years ago and will be true in the next ten years.

Attention is another basic value that hasn’t changed and won’t change as a value source. “Where eyeballs go, money will follow”. Countless ways of exploiting attention will emerge, as new screens and new ways to interact with them continue to appear. Nonetheless, one constant remains: people will still be willing to pay for attention, and not just advertisers. Attention, like reputation, cannot be easily copied.

As a conclusion, despite the fact that technology is evolving amazingly fast, there are some constant value sources that remain as strong as ever. If your service is based on a friction imposed by the current technology, you should be really worried and doing something about it. On the other hand, if you’re offering a service that relies on a true source of value, change should be more an opportunity than a threat to you. In addition, behind all these changes are human beings. Maybe talent is the most constant and important value source of all.

Daniel Rabinovich