My laptop died recently and because of this I've been doing some preliminary research to find myself a replacement. It's been awhile since I've had to purchase a laptop, so I was a bit surprised when I couldn't immediately find one that I was satisfied with. For some reason I thought that finding a suitable laptop for development that met my short list of criteria wouldn't be very difficult. But the more research I did the more apparent it became that "software developer" wasn't a target demographic laptop manufacturers were trying to capture. With that being said, here's my short plea to laptop makers:
Don't Mess With the Home/End/Page Up/Page Down/Insert/Delete Keys
Seriously. We need those. There's a reason why the QWERTY keyboard layout has remained stagnant throughout the years. It's because people are used to it and they would riot in the streets if it suddenly changed. Why then, are the home/end/page up/page down/insert/delete keys somehow considered free game to be mangled beyond recognition? I realize that there are space constraints with laptop keyboards, but it's not as though preserving their layout hasn't been done before. In fact, I seem to recall more laptops with the standard 2x3 layout in the past than I see now.
Honorable mention: As someone mentioned in the comments, another common keyboard change is switching the function and ctrl keys. Most programmers -- and computer users in general -- use copy (ctrl-c + ctrl-v) and paste (ctrl-x + ctrl-v) so much that it's become a muscle reflex. Swapping these two keys takes a *lot* of adjusting to get used to.
Test the Heat Under Heavy Load
Ok, so here's the thing: every single laptop I have ever owned turns into a scalding hot piece of plastic punishment after running Visual Studio for 1-2 hours. I realize there are physical constraints that make cooling a laptop a significant challenge -- and I know that I may also be in the minority here -- but I'd be willing to put up with a bulkier (read: larger *gasp*) laptop if it meant that I could get proper cooling in return.
For the most part I think laptop "portability" is vastly overrated. The difference between carrying a 4 pound laptop and an 8 pound laptop isn't that big unless you're Steve Urkel (ok, so this may be a concern for the programmer demographic). I'm not playing shotput with my laptop. I'm not doing curls with my laptop. I'm putting it on my lap, which can handle a little extra weight being put on it. What it can't handle however is being scalded by a poorly ventilated brick of heat.
A 5400 RPM Hard Drive Is NOT Fast Enough
Scott Guthrie has a great blog post -- written one and a half years ago -- about how a 5400 RPM hard drive is often a bottleneck when developing on a laptop. Nowadays it's easy to find standard cookie-cutter laptop configurations with 4 GB of RAM and 2+ GHZ dual core processors that are secretly tied down by a 5400 RPM hard drive. Granted, this is less of a problem if you're willing to pay up the wazoo to upgrade to a solid state drive (and the advantages of these are even debatable in a development environment). For the rest of us, we're lucky to have an option to upgrade to a 7200 RPM hard drive, let alone a 10,000 RPM one.
Glossy Screens Can't Be Read In Daylight
As great as a glossy screen can be for watching DVDs in the black of night, I can't read a single thing on them in the daylight. Granted, this really isn't much of a problem since programmers are deathly allergic to natural light. But on the off chance that I want to get some work done at a park or at the beach, there's absolutely no way of doing this with a glossy screen.
Not All of Us Want a Widescreen
As mentioned in the comments, a widescreen isn't always best for programming. Vertical space is far more precious to a developer than horizontal space. Most code is in the first 80 characters, so having the abililty to see 300 characters across usually just leads to a bunch of excessive whitespace. Yes, if you're running multiple apps side-by-side, the widescreen monitor becomes very handy. But for the typical Visual Studio developer, this usually isn't the case.
Well, that's my list. I still haven't pulled the trigger on a purchase yet, but the comments have given me a lot to think about and research. I don't claim to be a hardware expert so if I have grossly mistated anything here, let me know. Have any other suggestions for this list? Leave them in the comments below.
Enjoyed this post? Share it with others!