The life of a webdeveloper…

Posted as a comment to the IE Blog

Yea, I know that IE is in a tough spot. This is (at least) partially deserved but I’m going to try and not hold a grudge.

I personally think that you should really consider making the real IE8 engine (“super standards” as some have called it) the default option. Or at least make it the default option when HTML5 is used.

If you are serious about promoting web standards, its time to start teaching the mom and pop web developers of the world. If the default is IE6/IE7 mode all of their new websites will work fine and they will go on their merry way… still coding incorrectly. Feel free to document the meta tag as the first bullet in your IE FAQ, but don’t let the unknowing masses perpetuate the issue (and just push solving the problem till a later date).

The message I get from your proposal is that Microsoft cares more about its (short term) IE marketshare than the (immense) difficulties that web developers have to deal with today. And really, you can do that if you’d like — but it makes me realize (even more) how bad it is to rely on proprietary software from a very proprietary company.

The web is a great and wonderful thing. I sure hope that it doesn’t die, but moves like this are not helping.

Paul Graham is spot on (as always)

Holding a Program in One’s Head

In fact, if you look at the way software gets written in most organizations, it’s almost as if they were deliberately trying to do things wrong. In a sense, they are. One of the defining qualities of organizations since there have been such a thing is to treat individuals as interchangeable parts. This works well for more parallelizable tasks, like fighting wars. For most of history a well-drilled army of professional soldiers could be counted on to beat an army of individual warriors, no matter how valorous. But having ideas is not very parallelizable. And that’s what programs are: ideas.

And some interesting thoughts from the comments:

One possible alternative organization pattern is the “band.” …

It would be interesting to see how a band-style organization would apply towards more practical software products. Software so produced would come in boxes with the band’s logo, but more importantly, a _list of credits_, anecdotes about the software’s creation, etc. That is, to make the delivery of the software more _human_.

Back in the day, when credits on software were more commonplace, it was possible to judge the quality of a product (to some extent) based on who was involved with it. Some people became reknowned coders, reknowned technical writers, etc. I think it gave two incentives: first, your name is going on the box of that package — this gave prestige in the community post-sale; second, it allowed the customers to predict the overall feel of the software prior to actually purchasing it, based on their experiences with software written by the same or similar authors.


The only part I don’t really agree with is the implicit condemnation of programming done by large companies. Yes, their methods result in mediocre software, but that’s often what you want. There’s a reason they try to treat programmers as interchangeable cogs, and resist having an entire program in one person’s head.

To use the tired “building a house” metaphor – you can get a renowned architect to design the next landmark in a city, or you can get mediocre, interchangeable architects to design a row of townhouses. Both approaches are valid and have their own place, but there’s no point asking the famous architect to build townhouses.

Reminiscing childhood vacations…


Image11

In-between my job switching, I convinced Cindy to come with me and some of my family to hang out in Nags Head, NC. It had been over five years since I had been to the Outer Banks and I was long overdue to try and relive my wonderful childhood memories from there.

When I was younger, my family was down in Nags Head several times a year. We’d always be there for a few weeks in the summer, many of the holidays (Christmas, Thanksgiving, and maybe Easter), and a stray weekend here and there.


Relaxing at the beach

There were plenty of fun things to do down there, but OBX’s biggest asset wasn’t the tourist attractions — it was the atmosphere. Some beaches lure you with glitzy hotels, fancy restaurants, and miles of boardwalk, but Nags Head lures you with cocktails at sunset, walks along wind-swept dunes, and genuine relaxation.

But how would a kid ever adore these things? The truth is that they didn’t. When I was a kid, vacations to Nags Head were fun since the whole family was there. Sure all of the standard things — playing at the beach, movies, mini-golf, etc — were fun, but they were all 10 times better with five other cousins around.


Sound sunset #2

So when I visited a few weeks ago, I got the chance to see why my parents loved going to Nags Head. Maybe I’m being overly dramatic, but it was an awing experience to relive those great childhood memories through new eyes, as an adult.

Saying good bye to Lotus…

Its been two years in at IBM, so that is about time for the “I‘ve Been Moved” pseudonym to take affect. Starting this past week (since I was on vacation the week prior) I left the yellow box plastered walls of Lotus and head to a group inside of the CIO office.

The short of it is, I’m moving away from product development toward prototype/research development. Not research in the academic sense (though I did consider that), but research in the sense of experimenting, learning, and innovating.

… intermission

Please remember that I’m not IBM, so these thoughts are 100% owned by Timothy J. Finley and not HAL^h^h^hIBM.

…And for the longer version (which has turned into quite a history lesson (more for my own archival purposes))

At Lotus I’ve been working on the Activities project from the first day I started, but Activities has meant many different things over the past few years. I was originally inspired to join IBM to help work on the productization of the Activity Explorer research project (wahoo a new way to collaborate!). When I started the team was just releasing the preview of Activity Explorer in IBM Workplace.

But it wasn’t very long before momentum started moving away from Activities as a traditional rich client application toward focusing on a web experience. This was great for me since I was one of the few people on the team that already had some web development skills. The period that followed was the best programming experience I’ve had so far in my life. We (me and my tech lead) were pumping out code left and right, righting decent tests, quickly getting a prototype usable, continually responding to feedback from use, and adding features all the time.