Monday, October 04, 2010

Loom 2.2 is almost out: things we learned so far

I feel guilty talking about a male customer through this post. Actually, in our case he is a she.
We just got out the new e-banking portal for BBVA Suiza. BBVA Suiza is the BBVA Group's International Private Banking unit, one of the most visible projects we had originally developed with Loom 0.8 - now with 2.2 - and a lot has happened since then.

This post is about things we learned during these last years, and how they were combined to make our experience extremely enjoyable.

It's all about the UI


The most interesting discussions during this project were not about technology or banking products, but about the interface. We spent literally hours discussing one single page, trying to fit things in the most natural way, getting all the non-essential out.

Anyone can design an interface that takes two weeks to learn, but it gets much harder to design something intuitive. It takes a lot of work to arrive to your hamburger interface. On the way we have challenged the breadcrumbs location, the tabs metaphor, the nesting of contents, everything.

It's not about stateless or stateful


It's not 1999 anymore. The caveats of stateless and stateful interfaces are well known, and unless you are a zealot of some concrete Church of Thought, your sweet spot will most probably be somewhere in the middle. Free your server resources by moving more to the browser. Remember that sometimes light pages will do better than a super XXL javascript golem. Get faster responses by avoiding a full page refresh. Do not put too much stress on javascript unless you want to spend your life debugging. Hate IE over everything else. Remember your SEO.

The list is long, and you should make your own choices. Just remember not to waste too much time arguing about which way is better.

Speed!


Any idiot can carve lots of features into your application and make it clunky, take years to download, and lose the train of thought of your users in the eternity that happens between one page and the next. If you aim to make your users rock (as you should) your application should feel natural, which means working towards the 1 second goal.

There are lots of tricks to get there. We have posted some here and there, but nothing beats simplicity: there is nothing faster than not including a feature.

Of course, your customer may not always agree. This is were the next point gets relevant.

Get your customer on your same train


You can align your customer with your own goals just by delivering Software That Works, so don't try to agree to all crazy features or deliver the supah-dupah-canvas-based forms with embedded music. It's important to make a distinction between what the user asks and what he needs, and it helps if the rationale behind a refusal is clear and shared by everybody.

So?


We are not there yet. There are things that we would do different and legacy features we would love to drop, but all in all, everyone is happy. Their customers are calling just to send congratulations (how often do you see that), and suddenly we found ourselves talking to another three banks that want to build something similar.

The technology helped a lot. But what really allowed us to deliver was all the weight that was ditched by the way.

1 comment:

  1. Congrats for the new project and the new version of Loom. It is quite refreshing to see people that "get it" :), instead of building the nth clone of "your company's app".

    Cheers!

    ReplyDelete

Something on your mind?

Note: Only a member of this blog may post a comment.