Locked Doors, Open Windows

Most people with any clue about interaction design know that Jakob Nielsen is a jackass. There are thousands of other usability professionals who offer opinions as fact, don’t take their own advice, but Nielsen was there in the early days, and for some reason caught on with his obvious or wrong ideas.

His latest “alertbox” (apologies for linking to such a horrible looking site) says that users are so completely dumb and clumsy that they can’t type passwords in correct, and that masking is a bad idea. Wow. I’ve never mentioned or linked to Jakob Nielsen on this blog before, but I feel a duty to contribute what meager link juice I have to making this astonishing bit of advice the highest ranked page on that site. What would cause someone to suggest that this first layer of security is a detriment?

More importantly, there’s usually nobody looking over your shoulder when you log in to a website. It’s just you, sitting all alone in your office, suffering reduced usability to protect against a non-issue.

Really? My apologies Mr. Nielsen. All these years I thought your ideas were bad because you just made stuff up and wanted to sound like you knew what you were talking about. Little did I know that your lack of clue regarding how people use computers is the result of the fact that you don’t work with actual people. You should do one of your infamous studies (preferably of indeterminate size and method, as usual) and see if people log in to websites from exotic venues like the “train station” or maybe even a “meeting”.

Palm Pre

Palm PreI was impressed with the iPhone when it came out, but not enough to warrant the expense of the device and the overpriced service plan and dealing with switching carriers (especially to AT&T). I had the Spring PPC-6700 at the time, which was decent and got me hooked on having a mobile calendar and contact database without carrying a PDA. When Palm announced the Pre, I decided I would wait for it, and if it wasn’t up to snuff, I’d cave and buy an iPhone.

Luckily, the Pre is a fantastic device. I haven’t spent enough time with the iPhone to compare it honestly, but it seems like a much more polished experience. It automatically syncs my Google calendar, my girlfriend’s calendar, my work calendar, the Red Sox schedule. It easily unifies contacts from Facebook, Google, AIM, etc. I can send someone an IM, they can respond by SMS, it all goes into a common stream. It comes with both Sprint GPS and Google Maps.

Hardware-wise, it’s a little thicker, and a little shorter than an iPhone, more along the lines of a conventional phone. The screen is fantastic, it works in the sun and is crystal clear. The touch screen is well designed even for my round fingers, it seems to intuitively know what I meant to click on. The keyboard is small, but effective.

Minor issues so far: A bug in the instant messaging client that chews through an entire battery in 6-8 hours. I disabled it and it now goes 2-3 days with light internet usage. Supposedly this will be fixed via software update. Charging uses a tiny USB connector and a cover that doesn’t feel very durable once opened (but very durable when closed). I didn’t get a touchstone (the new induction charger) yet, but I probably will, which should remedy that. The fact that it doesn’t do video is not really an issue for me, my other phone did it and I think I used it once in 2.5 years.

My major problem with now is that for some reason, Palm has not released the SDK to the public yet, and has not accepted my application. This means they missing really useful features like an RSS reader or the hundreds of other standard apps out there. There are only 30 applications to download right now, the iPhone has 50,000. Even if 99% of those are total crap, that’s still alot more than Palm is offering. They really need to open this up soon, while they’ve got some shininess.

Neil Poulton is a Jackass

I recently bought a 1TB Lacie Hard Drive that was “designed” by Neil Poulton. I imagine that the design session went something like this:

Lacie: “Neil, we need you to design a hard drive for us”
Neil: “Excellent! I’ve got a brilliant idea!”
Lacie: “Tell us!”
Neil: “Well, I will tell you but you have to put my name all over the box, and not put anyone else’s name on it. Especially the people that are actually going to work late nights and weekends to do the engineering required to make this piece of commodity hardware fit into my stunningly brilliant design”
Lacie: “Sold!”
Neil: “OK, here it is, picture in your mind a shiny black rectangle”
Lacie: “I love where this is going!”
Neil: “Now picture in your mind a blue light”
Lacie: “Ooooh, sexy”
Neil: “Excellent, I’ll send over the invoice”
Lacie: “…”

Vista: Day 600

So, I had meant to do this sooner, but here’s the follow-up to my 1-day update after 18 months of using Vista.

  • I haven’t downgraded to XP, nor felt any need to. On the flip side I’m still running XP at home, and haven’t felt the need to upgrade.
  • It hasn’t crashed. Nope, not once.
  • The one vista feature I’ve grown to use is the “Start Search” box, which is basically a slower/simpler version of Quicksilver, but provides most of the functionality you need (i.e. finding programs and files you don’t use all day).

Well, that’s about it.

Oh, the Macbook I gave to Phil when I got the PC? He used it for a while, but after too many problems with it, he eventually had to go and buy a replacement (his 4th Macbook in 2 years).

So THAT’s What a Debate Is

This is a politics-free blog, but this needs to be said. I’ve watched most of the debates since the laughable Clinton/Dole ones, through the confusing Bush/Gore ones, and through the pitiful Bush/Kerry ones, and that was the first real presidential debate I’ve ever seen. Two smart guys going at it (after a bit of prodding by Jim Awesomepants Lehrer), minimal bald-faced-lies, presenting real differences of beliefs and leadership. Maybe this whole democracy thing actually works…

Java Goofs: Enhanced For Loop

One of the “big deals” in Java 5 was the enhanced for-loop. Basically you could trim this:

for(int i=0;i<collection.size();i++) {
Object object = collection.get(i);
doSomething(object);
}

down to this:
for(Object object:collection) {
doSomething(object);
}

I don’t think such an improvement was really necessary, but combine this with generics and I have to admit your code does look a little cleaner, so I use them when possible. However, the for-loop is basically a half-implemented hack with two major goofs.

1. It works with anything implementing Iterable, and arrays. Despite working with anything Iterable, it does not work actual iterators, which seems just silly to me.
2. If the collection is null, it throws a NullPointerException. The only defense I’ve seen for this is that “a null collection is not the same as an empty collection”. Agreed, and those people clearly missed the point. The point was to clean up the code and now we have to add the same silly if(collection==null) around the loop. If your code really did need to know if the collection was null (e.g. lazy-loading), it’s going to check anyways, but this would save at least one more repetitive line if the loop just treated null as empty and did nothing.

Hudson Balloon Festival

Hot Air BalloonThere’s an annual balloon festival in Hudson, MA. The festival itself isn’t much, a dozen or so local vendors, but it happens to be across the street from Reeny, so it’s hard to argue against checking it out. I was somewhat surprised that it seems fairly easy to get one in the air, you roll it out, blow a fan into it, and fire it up when it’s almost ready. I’m sure there are some tricks, but they’re typically launched by just a few people. It was also a good test of one of my new toys, the circular polarizing lens filter, which can really make the blue sky and clouds pop.

Hot Air Balloon in Flight

Hot Air Balloons at Night