Jeff Duntemann's Contrapositive Diary Rotating Header Image

September 16th, 2008:

Gritting My Teeth Over KompoZer

I've been re-learning CSS over the past week and change, and it hasn't been hard because I didn't learn all that much of it to begin with. Back in 1999 and 2000, CSS was mostly proof-of-concept in Web browsers. The spec itself is a work of brilliance, but it wasn't until the release of IE7 at the end of 2006 that it was possible to make even fairly simple pages render identically on IE, Firefox, and Opera. IE6, which an amazing (appalling?) number of people still use, will not render the max-width property correctly, so fluid and even flexible layouts are still problematic.

No matter here. I'm a page-oriented, fixed-width kind of a guy. My 25-year publishing background has taught me to think in textual spaces that don't change shape. This is in part my webfossilhood showing, but in truth it's not a new argument, and the discussion pivots on how you use your UIs. I display only one thing at a time on my screen, as an inducement to personal focus, and so I maximize all windows that I use except for those belonging to small utilities. There is sometimes a need to show two or maybe three windows at once, but it doesn't come up often for me, and when the need arises, I know it.

So what I've been exploring are table-free fixed-width CSS layouts that will render on an 800 X 600 display (as you find on some of the smaller netbooks) without kicking up a horizontal scroll bar. I haven't tested this on all browsers on all platforms, but the magic number is probably 775. If you don't insist on total fluidity, you can make a very nice 2-column layout with no tables and very little CSS. Here's my learning project. It's not an expert job (I'm not an expert) and it's far from finished, but considering how few lines of CSS it took to do it, I'm pretty happy. I'm going to try to center the material as my next step, and from my reading that shouldn't be hideously difficult.

It's worth a little time here to describe my experience with Kompozer. Overall, it's a nice little item, especially for simple table-oriented layouts. Its CSS features are limited to what CasCadeS can do, and as best I can tell, CasCadeS was abandoned in 2002. I'm still shopping for a good CSS-capable Web editor, but in the meantime Kompozer has been a reasonable learning platform. It has some weird gaps—for example, I see no way to make it insert an em dash—but that's not my major problem. Kompozer does not work reliably on Windows 2000. It crashes frequently when you click the tabs to shift between the different views (text, tags, source, and browser preview) and sometimes when you click the Save button, egad. Then when I went downstairs to my XP lab machine, I edited for hours and suffered no crashes at all. Whose fault that is, well, I won't pursue, but it feeds into the difficult ongoing decision process I have here over moving to XP for my daily work. These days, alot of media stuff, even free software, won't work reliably (or sometimes at all) on Win2K. I have to force myself not to grit my expensive new teeth when I think about it.

Anyway. CSS reminds me a little bit of PL/1. Both technologies tried to bite off way too much at one time, especially considering the state of the underlying technologies when they first appeared. CSS would probably have been accepted more quickly if it hadn't been such a huge challenge to the developers of HTML rendering engines. As with PL/1, different groups with different emphases focused on different features, with the result that identical rendering on all the major browsers still isn't quite here, even though CSS is now ten years old, with roots going back another five. A simpler standard intelligently incrementalized and expanded every three or four years would have been better.

The lack of genuine WYSIWYG tools for CSS bothers me, but I keep reminding myself that hand-futzed CSS/xhtml is not the future. The future is turn-the-crank Web apps that manage content. Tweaking those requires that you know PHP and especially CSS, so I'm cracking the books here and brushing up. I will shortly have a Joomla instance to play with, and Drupal will be close behind. I won't be redesigning Contra because it's all going into a CMS as soon as I can manage it. Hand-coding is addictive, but in the vast majority of common cases, machines do it better and faster. After all, I'd much rather be researching and writing articles than hand-formatting them.