All posts by MattK

About MattK

I like you.

In Praise of Lost Time

Here’s a common sci-fi trope. A character is obsessed with the future and science and all the advantages it could bring. This blinds that character so that they don’t see that they are losing their essential humanity.

Moral: All that dirty stuff that is unpleasant is also part of what makes us human.

I don’t buy it. My cube mate Yoni said to me a few days ago, “You’ll miss your body when it’s gone.” I don’t buy it. It seems to me that we can definitely point out the things that we don’t want any more of that are essential bits of humanity. Lets get rid of them even though they are essential bits of humanity.

Example: I just got 2 wisdom teeth pulled. How’s that for some unintelligently designed hardware? I didn’t stay awake for the procedure, even though that might have contributed to my character, even though those moments were mine, and they might have changed who I am…

I didn’t want those pain-filled uncomfortable moments. I’d rather trade them for other moments or just turn them down flat. And, thanks to the modern miracle of general anesthesia, I didn’t have to have those moments. Next, we’ve just got to nail down the details on the recuperation.

Prosper.com/Tools is here!

Prosper has revealed their lending API/Tools section . Right now it is just a dump of data from their db, but the api section promises webservices coming soon.

What’s cool about this? Now you should see smart folks like me building tools to analyze and pick through prosper loans, flagging good stuff and dissing bad loans. By opening up the data like this, prosper is letting interested people create tools for themselves and others to get better results for their systems.

This kind of openness will be good for their business as reliability goes up and people can make better informed decisions.

Design: Paradox of Choice

Here’s a simpler explanation of the usability design principle of avoiding choice.
Joel from Joel On Software just wrote a great and simple explanation of the Paradox of Choice.
It all centers on what is wrong with this picture. Why are there that many options to choose from when you want to shut down?

Every choice presented to you is something you have to evaluate. That evaluation takes time and brain power. Whenever possible, we should make the choices very very easy and few for the user. Things should “just work”.

It is true – the iPod, a battery powered device, doesn’t have an off switch. Why are there so many ways to shut down my computer? These choices require 3 separate clicks – Start -> Little Arrow -> Actual Choice.

Joel argues for reducing everything to a “B’Bye” button. One click and it prepares the computer for you being away. And it’s just that simple. The task is “I’m trying to leave my computer.” Therefore the design should not force the user to interact more with their computer!

I’d only complicate this by putting in a place in the control panel where you can configure this behavior if you care enough to do it.

As I write more on user experience, I’ll put these posts under the label “User Experience”. If that’s all you are interested in, you can go here for just user experience posts.

Design: Wallet

I got a new wallet. It’s made out of Tyvek, the stuff that FedEx pouches are made out of. It’s waterproof and unrippable. It’s also paper thin and light and I love it.
It looks like an Airmail envelope.

Full, it is smaller than my old leather wallet is.

Fits all the stuff I need, plus, I’ve added a tiny tiny little wallet pen so that I’m never without a pen. It’s already come in handy once.

That tiny silver thing in the middle is a wallet pen.
I love this wallet. It is beautiful and lovely and inspires me with how well designed it is.

Concert: Marisa Monte

Tuesday night I went out with Nate and Claudia to go see Marisa Monte, a Brazilian singer-songwriter. I understood none of the songs, but it was very good music – chilled out stuff with lazy beats and happy melodies.

The staging was sparse but very effective. A few lightboxes, a platform, a few lights on movable booms and a spot. That was it, but it allowed for so many different moods.

Sometimes it suggested a warm homey room, sometimes a night out at 3 am when it’s just you and the moon, sometimes a city night under streetlights… I wish I had pictures that turned out well.

I was also pleasantly suprised that when I googled Marisa Monte, the first result was a link for more info on Google Music – what’s all this? Those guys keep indexing all of the world’s information in new ways!

User Experience Principles: Avoid Choice but Allow It

Just had a long user experience discussion with coworker Marc about concurrency problems in settings.
His argument:
Everything on a screen should be atomic.
My argument:
Concurrency should be resolved as often as possible without forcing the user to make a choice.
Alice opens up our settings application.
Bob opens up our settings application.
Alice changes the background color on the “Quantity” column in column view “Alpha” and then save it up to our server.
Bob reorders all of the columns in the Alpha column view to the order he thinks is appropriate for their group.
Bob saves the column view up to our server.

Marc argues that Bob’s settings should be rejected and he should reload in Alice’s settings, then redo his work and save up to our server.

I argue that Bob’s settings don’t conflict with Alice’s because column order is a property of a column view, not of the columns themselves in the column view. Caption is a property of the individual column.
Consider that column order has no meaning for an individual column outside of a column view collection – this is true no matter how you represent these entities in a database.
Bob doesn’t care about Alice’s caption change, and we should avoid bothering him about it.
If he’s changed the caption of the column as well, then we have a conflict. Bob should get notified that Alice made a conflicting change, we should tell him why it conflicts, and then he should get a choice to either abandon his change and accept hers or overwrite her change with his.

Bob wants to change the order of the columns in this column view. Alice wants to change the caption of a column in that column view.
Because what they want does not conflict, we should not get in the way of what they are trying to do. We should just get it done, and let Bob know that Alice has updated some settings.