Archive for September, 2006

Bad things happen when the buyer and the user aren’t the same person

Wednesday, September 27th, 2006

I was at Technology Review’s Emerging Technology Conference (TRETC) today which was great and about which I have much to say. Before I delve through my notes to put up some posts, something occurred to me based on several things I heard today.

First I overheard someone say to a colleague who had just gotten a new motorola phone that Motorolas have crappy interfaces, which I wholeheartedly agree with.

Second In the panel discussion “Online Application War” someone pointed out that the reason so many enterprise applications (interestingly he singled out all of Oracle’s back office applications) have crappy user experiences is that the buyer probably never has to use the system. This likely means that these apps are being bought on the basis of feature checklists. (The extension of this is that the beauty of web apps is that people can make an end run around their IT department to use apps they want to without having to get permission).

So this brings me back to my hypothesis about why people buy so many Motorola phones: the “person” who is buying the phone has never used the phone. They’re making a decision based on features (camera: check, games:check) and the look of the phone. Most buyers never get an opportunity to actually try the phone out, because most of the display models are empty cases with stickers for screens. Which is why Motorola must justify spending so much more on industrial design than UI design. Imagine if people were forced to buy cars this way?

Once the user gets the phone home and uses it, it is either too late or too much hassle to return it (or they just don’t expect enough). Then they get used to the warts, two years go by and the cycle starts anew. Should I take the pink phone, or pay extra for the same phone in blue?

[Update] - I found this post (and related comment thread) on the lackluster UIs in all cell phones over at 37signals.

Speaking of back to school…

Thursday, September 7th, 2006

Todays headline in the Boston Herald “The Incredible Shrinking Lunch”. Apparently today’s bumper crop of portly students isn’t getting enough to eat anymore. Boo-hoo. Real front page news.

Almost time for back to school…

Wednesday, September 6th, 2006

Matt’s post about his first week of grad school reminds me of two things: 1) Class starts for me next week 2) I’m jealous that his program offers an Information Visualization class. That’s something I’m interested in, but despite all my lobbying and rounding up quite a few grad students who are also intrested, I can’t get Tufts to offer such a class. I’ll have to look into a directed study or transferring credit from some other school in the area.

I’m bumming in general about my grad program at Tufts because all the interesting classes are offered during the day. They don’t really have a night program, and they try to offer enough classes at or after 4, but this semester the offerings are pretty grim. I’d like to take Computational Bio or Computational Geometry but they’re in the afternoon, twice a week. I could probably get work to let me do that, but the I feel stuck there because a new job isn’t likely to be down with that.

Also a bummer is that it will take forever to finish. I contemplated quitting my job and going to school full time for one semester to knock off a bunch of classes at once, but thought it would be dumb to do that and not actually be done at the end of it. Maybe next fall. If not I need to knuckle down and take more than one class at a time.

JPod

Wednesday, September 6th, 2006

I recently finished reading JPod by Douglas Coupland. It was a pretty strange book. The only other Coupland book I’ve read is Microserfs, but that was probably most of a decade ago so I can’t remember if that was nearly as weird. While the plot is ok, the ending is pretty weak.

The presentation is interesting (strange): there are pages containing the first million digits of Pi with one mistake to find, pages full of numbers where one zero has been substituted with an O, random words in huge fonts on pages that serve to divide it into chapters of sorts. These artsy things waste so much paper that the book is an astonishingly fast read given its heft.

The strangest part of the book is the level of narcissm on Coupland’s part. (Perhaps since this is on my blog I can’t really talk). At the beginning Coupland appears to grind an axe by having his characters declare that Melrose Place was a ripoff of his book Generation X and that the ripoff was so blatant as to be “actionable”. After that the characters refer to him occasionally, but that’s just leading up to Coupland appearing as character at least nine different times. The ending even revolves around him. I’ve seen authors give themselves cameos in books before (Cussler in particular I remember happening to be yachting around when his characters needed help), but this was pretty over the top.

Working on an anti-pattern

Wednesday, September 6th, 2006

The project I’m working on right now is a collection of anti-patterns and just plain terrible code. The upshot of this is that its really hard to make it worse, and often times I can walk away feeling good about making a huge difference in making even small changes. My first project appeared well designed, and since I was new then, I felt very constrained in how much I could change. Not anymore, its like the wild-west in this code base, and any design is better than no design. Its definately been a good way to bust out of my years-long productivity slump.

The project was was started several years ago by an offshore contracting company (it seems like they got paid by the line) and then picked up by an in-house but still offshore team to continue to maintain and build. I don’t want to paint all offshore software-industry workers with the same brush, but in this case the code all appears to be written by people who just know how to program in Java. Barely. They just don’t think like computer scientists. For some reason no one seems to think a single class having five methods to do the same thing is bad. Or methods that are hundreds of lines long. Or building strings by concatenation, multiple times in loops that run thousands of times. Or checking for duplicates when copying the keys of a Map into a list. Converting Longs to Integers via a string object.

I’ve speculated that the current team must have come from a background of sustaining enginering (where the idea is to fix bugs in the least intrusive way possible) and that’s why they blithely copy the bad code around them. Either that or for some reason they don’t feel empowered to make changes.

The last few days have been especially great. I’ve been working on performance problems, and the code is so badly written that there are huge chunks of fat to chop out. Two methods I’ve found are O(n^2) so the profiler practically slaps you in the face, but they’ve somehow sat there for years. Replacing them with real implementations has reduced the time to run this code by 90%. Hours to minutes for large sets. That’s fun to talk about in meetings.

Where are the headless macs?

Wednesday, September 6th, 2006

Todays release of the whopping 24 inch imac renews the question: why isn’t there a midrange headless mac, something between the mini and the pro? Like the Imac hardware, but without the built-in monitor and capable of driving two screens? It just seems like a shame to have a nice 24 inch LCD that will probably be useful for years after the computer attached to its behind is obsolete. I guess it’ll always be able to play movies.

September Already!?

Friday, September 1st, 2006

Summer sure goes a lot faster when you have a job…