Archive for September, 2005

Quickies

September 23, 2005

Here’s a couple of interesting articles I’ve read recently that you might enjoy as well:

They both center around “suckage” and they both attempt to get around it. Wil Shipley, author of the first article, is one of the founders of OmniGroup and Delicious Monster and a captivating writer. Scott Berkun, formerly responsible for usability at Microsoft (ha ha), has a considerable corpus of works that I would recommend highly.

Advertisements

September 23, 2005

Deadline came and went yesterday. I put in 12 hours on Monday, 14 on Tuesday, 15 on Wednesday, and 8 on Thursday. That puts my grand total at 132 for the 11 straight days. I’ll admit that I didn’t see how we could possibly fit all the remaining work on the product into those 11 days, but I wasn’t going to be the one not putting in the time so I death sprinted along. Going into the sprint, I had met all my previous deadlines.

Sadly, it had a profound effect on my family. My wife sheltered me from it so that I wouldn’t have additional stress, but she told me about it last night. My daughters, nearly two, would cry for me at bedtime, would cry whenever they had to leave the house because they wanted to be there when daddy came home, and then cried when they came home because they thought they were leaving the house to go see daddy. This caused inordinate stress on my wife. My youngest daughter, 5 months old, picked up on the stress because my wife is practically her entire world and started taking 15- and 45-minute naps during the day instead of the one to three hour naps babies of her age require.

When I heard all of that, which I had had no inkling of during the crunch time, I was crestfallen. It was certainly not what I would have wished. My family is everything to me and I put them through hell to meet a deadline that couldn’t be attained. That sucks.

Based on that, I’m revising my position on crunch time. No longer does crunch time mean “work as much as humanly possible.” It now means, for me at least, 60 hours a week tops. I just can’t put my family through this again and 60 hour work weeks should be enough to get anything done. (I definitely noticed a considerable drop in productivity these last couple of days. Yesterday, I had trouble writing checks to pay the bills; I must apologize to the check processors who will have to make out my intentions amidst all the crossings-out and initialling.) I can work 60 hours in a week without significant disruptions to my daughters’ cherished routines and I can certainly live without 6 hours of sleep a night.

The good news is that we did make a whole lot of progress towards completion, so it was worth it on the work front. Unfortunately, there’s a whole lot more fronts on which it wasn’t.

Forehead Smacking

September 21, 2005

While refactoring a stored procedure, I came across this comment I left back in July:

(If you're squeamish, don't continue reading this stored procedure.)

I should have followed its advice. It was my daily WTF.

Holy Work Week, Batman!

September 19, 2005

As of midnight, I will have worked 83 hours since Monday, 9/12. If I work 15 hours a day through Wednesday and take a relaxing 12-hour day on Thursday, that’ll put my 11-day total (9 official business days) at 140 hours. Yep, that’s a personal best!

The funny thing is, I haven’t experienced any of the deleterious effects that I’ve had in previous crunches. I think it’s because this is a very short burst instead of a long, draining marathon.

Oh the Crunch!

September 15, 2005

Boy, four days into crunch mode and I’m dragging. I worked 15 hours Monday and 12 hours every other day this week. That’s a lot of hours, but it’s worth it because a) I’m getting paid overtime (hahah, just kidding), but I am getting paid and b) this product is going to own its competition. The sucky thing about all of this is that so many other areas of my life are sliding: bills are piling up, kids are missing their Daddy, wife is shouldering all the parenting burden, business ideas are falling by the wayside, I’ve had the same movies in my Netflix queue for a week and a half, my unread entries queue in Bloglines is frightening, and I don’t even want to imagine what my TiVo wants me to watch. I guess that’s the price you pay for being a dedicated employee.

I seriously can’t wait till it’s released so I can talk about it. I’ve got so many interesting things to share about its development, nice touches, and thoughtful design. What’s even better, we’ve got a ton of ideas for version 1.1 that are going to be very exciting.

Captain Crunch

September 12, 2005

Well, the product I’m developing is slated to be complete by the next next Thursday so that means that we’re entering crunch mode. I think it’s a good thing because it’s going to be rather limited. At my last job, crunch mode lasted for upwards of six weeks followed by six months of total slack before we finally released. Two weeks of frenetic effort strikes me as utterly reasonable.

Point is, don’t expect any entries in that time. I’ve already begged my pardons over at Found on the Web. A two-week absence is not particularly abnormal round these blogging parts, but I thought I’d tell you all the same.

The UI is the Application

September 11, 2005

I had a weird confluence two weeks ago. Early in the day, I read this blog entry over at CodingHorror.com—great blog by the way—about how the user interface is the application. Then, a coworker lamented how much he hated UI work compared to the clarity of working in code-behinds. Finally, I was talking to Bob Parsons about the progress on the application I’m working on when he asked how it looked and mentioned that the UI is all important. These three events were so glaring when taken together that I had to ruminate on them.

I’m now very convinced that the user interface is actually everything. You can have the cleanest, most object-oriented code possible but no one that matters is ever going to see it. In other words, your code could be horrible, dreadful code pasta and customers could still flock to it. I’m not suggesting that code cleanliness is unimportant—far from it, in fact, because spaghetti code makes making things better an odious chore—but I am suggesting that beyond a certain level, there are diminishing returns in making things elegant.

I’ll admit that I suffer from an ingrained sense of code aesthetics. All my classes are laid out by member type, then by accessibility levels, and then alphabetically. That’s crazy organized, for those keeping score, but it’s my particular little mania and it doesn’t take a long time to maintain. Outside of that obsession, though, I’ll do whatever fulfills the interface requirements. That means that I’ve used a GOTO statement before and that means that I’ll use a Repeater even though a DataGrid is far easier. There’s really no place for dogmatism in web application development.

For as long as I can remember, I’ve seen managers focus exclusively on the look and feel of a web application—often getting hung up on the smallest little details. A small quirk here and there during development is to be expected, but it can often derail a presentation or demonstration. I’ve always thought that managers afflicted with such beliefs were lacking in vision and hung up on the superficial. By and large, that was a fair assessment. The people displaying such behavior were both near-sighted and superficial.

But to hear Bob Parsons say such a thing really made me question my thinking. He’s definitely neither. His business sense is on display for me every working day. His opinion is not dismissible as the vapid blathering of someone who loves to hear himself talk. I started to ponder what it might mean to say that, paraphrasing, looks are everything. That’s what led me to realize that the customer is never going to see anything except the looks. He doesn’t care that you chose SQL Server over MySQL or ASP.NET over Python or a table-less design over font tags.

As long as the site comes up quick enough (a ever-diminishing requirement as broadband gets more widely purchased), you could be running an Access database with a FrontPage-created UI. The customer’s sole concern is whether your application is worth the money he’s paying. (If it’s a free application, then he only cares whether it’s worth the time he’s investing.) That certainly puts the relative importance of many of the web developer’s cherished decisions into sharp relief.

It also means that if you’re not willing to come up with a stunning user interface, then you better price your application pretty cheaply. This is assuming, of course, that you’ve got little in the way of competition. That’s a huge assumption in this day and age since the barriers to entry have never been lower. Conversely, if you’ve got a stunning interface and a useful application, then you can kick your pricing up a touch and get away with it. This latter conclusion is bolstered by the excellent fortunes of Apple since 1998.

All of this has some relevance for the product I’m developing at work, to be sure. But mostly it’s applicable to the idea I’m devoting my spare time to. That’s right, I’ve finally decided what to do with my life. For a long time, I was torn between writing a series of books, developing a non-profit surrounding an online encyclopedia of Phoenix history, and becoming a software entrepreneur (don’t call me an ISV, please). Each of these options suits me terrifically but I’m mostly interested in what might have the greatest returns the soonest.

I think the books have the greatest potential with the lowest risk because each book in the series will build the audience for the next one and no one else would come up with the same book I can. Unfortunately, the books are really suited to someone with a bit more career experience and I think a lack of credibility would be a serious hurdle to overcome.

The non-profit history project has no substantial monetary return but an incredibly satisfying emotional one. Hell, I’ll finally be using my degree in history. That would make me feel a lot better about the student loans I’m paying on right now. Luckily, though, Phoenix history isn’t going anywhere and will be easier and more satisfying when I’m older anyway.

So that pretty much leaves the entrepreneurial option. That suits me very well and can be very rewarding, but I was quite adrift due to a lack of a good idea. I’ve got that now—several, in fact—and an excellent opportunity that will pass by November if I don’t act soon. That makes for a considerable catalyst to my daydreams and I’m knee deep in a functional specification that I hope to complete soon. I’m still not sure how much I want to publicly reveal or to what degree I’ll be blogging about my experience as a startup, but you readers will be the first to know should I opt for transparency.

And you better believe I’ll be focused on the application’s interface. More so than I ever would have before.