Entries from February 2010 ↓

EDN puts its money where its mouth is

I got a great email last week from my colleague Susan Shapiro, who works with the EMC Community Network.  The EDN (EMC Developer Network) is organizing a coding challenge for EMC World 2010, with a respectable amount of prize money ($25K total split among several prizes) at stake.  Being the self-centered guy I am, I immediately confirmed that EMC employees were eligible (they are, but only for one of the prizes) before letting myself get excited.

The concept: write a project where multiple EMC developer technologies can be used in a single program.  Bonus points for incorporating other online technologies.  Win money and fame and the adoration of the world.

I’m waiting for the detailed T&C, but you can read up more on it here.  Innovation through contest is something EMC has tinkered with quite a bit, as you may have read on Steve Todd’s blog last year.

Definitely check out the link for more info. I’m hoping I can find some time in between all my “real work” to put a couple of these tools through their paces.

Simplicity is a virtue

You’ve probably heard a variation on this statement from a software developer, made in jest, but containing a nugget of sincerity:

It was hard to create, it should be hard to use (or maintain).

Basically, we worked hard to get this stuff done and we expect you as a user or future maintainer to put the same effort into it.  After all, it took many man-years to write the software, it’s not too much to expect you to spend a few weeks reading manuals and understanding it before you start complaining that it’s hard to use.

As Paul Young recently wrote, though, imagine if wood-chippers took that approach.

Imagine if an author did?  “It took me years to write this novel, you should have to do some research before you read it.”

Some do, I guess.  I’ve read a few novels that require major work to get through.  Sometimes the end result is even worth the work.  But as my fiction writing friends tell me, in general you don’t want your readers to be thinking about your writing, you want them thinking about your story.  Similarly, you don’t want your users thinking about your software design, you just want them thinking about the task your software enables.

I feel the same way about maintaining and testing software.  We want developers thinking about the code, not about the way you wrote it.  You don’t want someone looking at your code, peering at it for a few minutes, and then saying, “Oh, I get it.  Wow, that’s clever.”

There’s a famous quote attributed to a half-dozen different writers (and perhaps originated by Blaise Pascal), that says, basically, “I am sorry I wrote such a lengthy letter; I did not have time to write a short one.”  It takes time to create simple, elegant software.  When we force the issue and compress the time spent on a project, you end up with complex code and complex user interactions.  We should consider this a problem, not a point of pride.

When we present some difficult software to our users, we should apologize to them.  “I’m sorry this UI is so complex.  I didn’t have time to make it easier.”  Instead, we make them feel guilty.  “Ah, perhaps you should have taken the training,” or read the manual more carefully, or attended our seminar.

Think about the people on your team, and ask yourself if they “get” this concept.  Realize, that if they don’t, you’re eventually going to lose your market share to a competitor who does.

First impressions: Google Buzz

(crossposted from a discussion thread at EMC)

My first thoughts on Buzz are that it fails at solving a problem I don’t really even have.

It connects me to people I send GMail to, which is great.  My GMail network is a subset of both my personal and professional networks, basically people I trust enough to give my personal address to.  So it’s a great selection of people for me to start connecting with.   Success.

Then it lets them talk to me/eachother/the world in the same way facebook/twitter does.  And frankly if those individuals want to do that, they are doing it already with facebook/twitter. Failure.

Then it lets them aggregate stuff they post in other areas, which is cool.  I can see what my GMail network is reading in their Reader accounts (except if I wanted to, I could already follow them in Reader, as I do with many of my friends) and what they are posting to their Flickr and Picasa albums (cool).  But…

Then it gets worse.  People can bring in their twitter updates.  So for the subset of my Gmail Network who are twitter-enabled, I see their stuff twice, once in my twitter client of choice, and once in Buzz. And as people comment on those twitter updates, they do so in a fragmented way, some in Twitter and some in Buzz.  So if I want to see the whole conversation I have to monitor my friends twice and spend twice as much time dealing with their twitter updates.  Failure.

So for twitter, it’s made my life harder, not easier, and I can’t afford that.  It’s why I stopped using FriendFeed.

That’s just my first impression after a few hours with it.  Maybe I’ll see more as it grows.

How do you feel at the end of the day?

I’ve been busy lately, here on the SRM team within Ionix.  My calendar fills up fast, and I’ve been logging in nights and weekends to sneak in work on my day job, never mind my blog (which explains the real gap in activity here!).

Why the sudden burst in activity?  Why am I letting my day job run away with my life?

Continue reading →