24
Apr
2005

Tools are all about details.

Before talking about Flex, a quick word about Dreamweaver.

To put the templates for this site together, I used Dreamweaver for the first time in over a year. I’d forgotten how much I love that tool! There are plenty of enhancements and improvements I’d like to see, but most of the big things are right and most of the little things are right. Surprisingly, the little things are often more important than the big things. In fact, I’d go as far as to say that it is more important for a tool to get the little details right than anything else.

Here is a story about the little details.

~

Early on in the hacking up of my templates, things looked like this. Notice how the text runs past the right edge. I double checked my CSS and I was convinced that I’d found a bug in Dreamweaver. However, when I tried it out in the browser, I got the same result.

Doh! It turned out that Dreamweaver knew more than I did about how browsers calculate padding and width, which changed to be more standards compliant in IE6. Thanks to Randy Edmunds, who fixed hundreds of layout bugs in MX 2004, DW correctly mimics the browser in this case, which alerted me to this problem.

Yeah, yeah, rendering is important. But the story doesn’t end there. If you look at the line breaks, you’ll notice that they’re identical. The words wrap at exactly the same point, and this is not an accident. An engineer by the name of Don Woodward and I spent some concerted effort experimenting with font metrics during Dreamweaver 1.0 to try to get as close to Netscape Navigator as possible, and it turned out to be not as easy as we thought. I forget the details, but there are different ways to ask the system for metrics, there were fractional sizes involved, and so forth.

Being obsessed about getting the lines to break at the right points might seem silly (after all, the HTML spec doesn’t guarantee how the UA will do linebreaks, right?) but things like this do matter. People expect Dreamweaver and the browsers to render things the same way, and a misplaced line break can mean that an extra line is added, which can cause other layout issues…

What’s the point? Well, details are important when it comes to tools, and the most important details are ones that you will never notice if things are working properly.

Leave a Reply