September 2011 Archives

CSS Sanity: Frameworks

| Comments

table.jpg

Ever spend more than 45 minutes trying to align three page elements in a horizontal row? Of course you have.

Like most developers, you refuse to use the table element for layout. The problem is that CSS stinks for horizontal layout. So we’re left fighting block and inline display rules, temperamental width issues, absolute vs. relative positioning, and browser quirks (wtf is the box model, anyway?).

CSS frameworks to the rescue. They let you do fairly semantic markup, have minimal sizes, are multi-browser compatible, and make it easy to align page elements.

My personal favorite it Blueprint, but there are a bunch of others.

Beware the Immovable Deadline

| Comments

eclipse.jpg

Almost every software development deadline is movable. Even if the CEO of your Fourtune 50 company has promised via international press conference your product will ship August 1st, the deadline can move.

Of course, your CEO will scream at you and be pissed, the public might be disappointed, people may be fired, but if your company set the deadline, your company can move it.

Compare that to a deadline that is IMPOSSIBLE to move, no matter how much you or your company wants it.

If your product release is tied to a national holiday, astrological event, or similarly externally imposed temporal happening, be very careful how you build.

Be paranoid. Build, test, and deploy only the bare essentials. Start immediately. There’s always time to add on further enhancements once you have something live.

Need to build a home search site in time for a local leather festival’s parade? Start with a static HTML page that lists all the properties in alphabetical order.

Need a site that lets people track an upcoming NASA mission? Just publish a static timetable of the launch events. Build the interactive streaming video stuff once that’s up.

Having zero features at the deadline is utterly unacceptable, so get something greater than zero deployed ASAP. Remember that any number of catastrophes can happen between now and your deadline (the one you can’t miss), so get it out of the way.

This also has the nice side effect of acting as a kind of minimum viable product, and you can get early-users’ feedback to help drive the other features. It would suck to spend months building an augmented reality feature for 11/11/11 day, only to find out three people used it.

Dear Facebook, That Was Smart

| Comments

I’m pretty sure Facebook’s f8 conference this year was scheduled AFTER they had all their ducks in a row for the new Timeline and OpenGraph features. That’s pretty dang smart if you’re dedicated to quality products.

This year’s F8 conference wasn’t announced until about 30 days before it happened. That’s a little weird for a major tech event. Often they’re set up a year or more in advance.

I was puzzled until I started thinking about the pressure that must have been on the Facebook development teams to finish the features in time to have them ready for zillions of people to use the instant Mark finished his keynote. Then I realized what probably happened.

What makes the most sense to me is that Facebook finished Timeline and OpenGraph, and THEN scheduled f8.

Genius! No rushing at the end to cram in half-finished features. No shortening of the test cycle. It’s so much healthier to keep refining a product, and have someone watching to determine when it’s “done enough”, and THEN go scheduling announcements, rollouts, and other dramatic things.