Visual representation of our main project’s repository

Based on the one I saw on Twitter’s engineering blog, I’ve generated a visualization of the main project’s subversion repository of the Web team of Vex using the Code Swarm tool.

It is really interesting how it tells the history of the web team, how many people participated on it and does not work with us anymore, how people moving into coordination stopped contributing as much as they usually did and etc.

I hope you all enjoy it!

Ganesh Subversion History - From 2006-2010 from Eduardo Sampaio on Vimeo.

Google Code Jam Qualifier in one line of Bash

So a coworker of mine, Lucas Fernando Amorim (http://www.lfamorim.com/), went to Google and participated on a development challenge to enter Google Code Jam (http://code.google.com/codejam/), the assignment wasn’t very difficult.

You had to develop a generator that would spit N random numbers to stdout and another program that would receive the numbers list on stdin and return the number wich had the most ocurrences to stdout.

You could use any language you wanted. After he said 3 people couldn’t and some people implemented it in such a way that the program took upwards to 15 minutes to run, I thought “what the hell… this ain’t that hard how come people couldn’t finish this!” and started coding it on Perl, that I know would be quite easy and fun, but since it’s been more than three years I’ve coded in Perl, it wasn’t as fast as I thought it would be.

I got it working quickly, but once I tuned the generated numbers to 100000 (the quantity Google asked), things started breaking, the program had 5 lines of code and ran quite fast, but the results were strange. I spent half an hour trying to correct it before I gave up.

On the next morning I decided to do it on Bash, researched a little and in 10 minutes I had the solution:

awk ‘BEGIN{ print 100000;for (i=1;i<=100000;i++) print int(100000*rand())}’| sort | uniq -c| sort -r | head -n1 | awk ‘{print $2}’

Works perfectly and runs in a little bit more than a second. =]

Casas Bahia failed at ‘Ecommerce 101′

Casas Bahia, a huge retailer in Brazil finally launched their ecommerce last month, after about 3 years of development and a R$ 3.7 million (about US$ 1.6 million today) investment.

They completely integrated their ecommerce into their physical stores system so that when a costumer purchases an item, it is sent from the nearest store, and the information about the online purchase is sent in real time allowing for a quicker delivery and very accurate delivery estimates.

This is possible because their site was completely developed on a mainframe architecture in partnership with IBM.

I saw all the news about it and how much time and money was invested on it and thought they came in to win the throne of Brazilian ecommerce so I went to check their website.

The layout looks the same as all of the other stores, Submarino.com.br, Extra.com.br, Americanas.com and etc.
But the more I fiddled through the website, the more I realized how usability was left behind, simple things that their competitors get right, they don’t.

Sidebar Casas Bahia

Sidebar Casas Bahia

The Category titles in the sidebar are not links to the respective section, I was looking for LCD Monitors and couldn’t find the option under the “Informática” Category so I tried to click on it to go to that category so I could then choose Monitors. It didn’t work so I had to scroll all the way up and click on the “Informática” tab on the upper menu.
After I clicked on it I could finally find “Monitores” on the sidebar.

Their search is terrible also, I tried searching for a LCD TV. Typed in “televisor lcd” on the search field and hit enter. The search results brought back Digital Cameras, PCs and DVD Players for Cars on the first page, but no TV.
I then looked for some way to filter my search results further, but the only option appears to be filtering by brand but when you try and select a brand on the sidebar, they show every product by that brand available in the whole store, not the ones that match your search!

Products Search

Products Search

I can’t filter by category, I can’t order the results, they erase whatever I had typed on the search box so I had to page through all the results to find what I want or navigate through the categories. But guess what, I can’t click on the category name on the sidebar.

Their product display is also bad. They show you a messy conjunction of type, brand, name and model all together with the same font, color and size followed by a picture and the price floating in the middle of a huge white area. Texts are filled with typos and not clear enough, sometimes even misleading. You can’t choose how many of this product you want to buy and there is no wish-list either.
Their breadcrumb navigation doesn’t have links in all it’s items, in fact it only has a link to the last category.

Extended Warranty

Extended Warranty

Once you choose to buy a product you go to an intermediary page where they offer you extended warranty, they show you only how much more the extended warranty will cost, not how much it will be the sum of the product + extended warranty. I hate lazy programmers… they could’ve solved this with one line of code. Once you choose extended warranty or not, you’re taken to your cart, that here is called a truck, your “Shopping Truck”, referring to their delivery trucks.
Here you can change the quantity and choose if you want it shipped or want to pickup your purchase at one of their stores.
There is no AJAX nor JavaScript in any of the pages, everything is a request to another page, if you choose to get the purchase shipped, it sends you to another page, that looks exactly the same only with the addition of the Zip Code field where they’ll finally, after another request where you confirm the Zip Code, add the shipping price and delivery estimate.

These are all minor annoyances but when you’re used to them and they are not there… you miss them. And it is even worse to a company after all the time and money they dumped into this project, to be far behind their competitors in both the usability and features fields.

Casas Bahia managed to launch an ecommerce website in 2009 that appears its been made in the year 2000.

With a budget of 3.7 mil, they could’ve performed dozens of user tests on their website. Hell with that kind of money they could’ve flown Steve Krug or even Jakob Nielsen to test their website but as this show, usability and information architecture is still way undervalued in Brazil.

I hope someone from their dev team gets to read this or at least realize this problems and correct them. Or maybe they already know them and will spend a couple million more to solve them.