I loved the design aspect of print: laying out pages, choosing, matching or adjusting fonts, making pre-processors to allow really smart typography choices, tweaking typography settings, re-writing paragraphs for nicer breaking, and so on. At the end of the day, you can have a really satisfying thing you can hold in your hand.
The move to HTML involved a lot of loss: it turned upside down many of the skills, dumbing down what is possible, making it easier to produce bad results than good results, dumb markup, dumb styles, dumb type, ugly pages. Looking at the web, you see individual sites that are OK, but there seems to be a rule that the more contributors a site has, the more chance that none of them were really involved figuring out the site design. I am enjoying being a grumpy old man!
(<rant>The redesign of The Atlantic site recently, and the efforts of its bloggers like Andrew Sullivan and users to get back to something reasonable, seems typical rather exceptional to me. You don't need to look further than the narrow-column design here at OReilly and how poorly it handles code fragments, let alone tables, headings or other things considered superfluous by the supposed designers, for other examples. Is there some design school which teaches whatever you do, don't do a comprehensive analysis or ask stakeholders? The emphasis is not on technical communication.</rant>)
So I spent an afternoon recently looking at how far, in early 2010, it is possible to get the kind of quality typesetting you can readily get in print. Sorry I cannot show the mockups, the data belongs to the customer.
The first thing I looked at was hyphenation. Hyphenation allows you to fit more information on a page, which would correspond to less scrolling, and makes full justification aesthetically possible once you have more than 4 or 5 big words per line: this can give nice sharp right-hand lines and a more pleasing design.
Next I looked at better fonts, but with a less good result. Downloading a particular set of quite lauded free fonts from a quite comprehensive site and the result was pretty horrible with ugly artifacts smudging the edges. Checking back on the nice pages that used this particular font, I see they had quite a dark background, I suspect to hide these smudges. So it seems that many of the free fonts available on web may be better used for headings at a large size rather than for body text.
If anyone can recommend a good free Garamond/Aldus humanist font which is very sharp at all increments between 8 and 14 points, I'd love any tips!
But then oops. The combination of the font and the hyphenator, which was fine on Firefox and Opera didn't work on IE 7: the font was selected and the hyphenation broke the line, but the hyphen itself was not shown. I didn't have the patience to figure out what was going on.
Next, I wanted to make a sidebar to hold asides or comments on the main text flow, synchronized with it. It turned out that I needed to have an extra container for these, but it turned out successfully: I couldn't get baseline alignment between the main text and the container, but that is no biggy: a little more work would be OK.
Finally, playing around with the design parameters, I tried a layout where if the window was small there was one column, and if the window went large, it would flip to a two column design. The trick here is to make a div (or list) container which is set to 'inline' so that it would split. It worked OK, but I think I would need to put both columns inside yet another div to allow inner stretching margins and outer fixed margins.
Ultimately, I think anyone used to, say, the TeX style system of boxes and penalties will find the CSS system of max, min, fixed (em, px, in, cm, etc) to be clunky. I just don't think the CSS model works very well without a lot of work. Too much work, even on browsers that comply to the standard and have good ACID results.
However, CSS is great for at least supporting widths in per cents or ems. And if the Japanese Layout effort at W3C I18n manages to turn around our unwittingly racist (or just overworked) type-engine developers, and get grids better supported, CSS may become much better. But still I don't see it as anywhere near approaching the control of what was even typical for print.
To get good print, it seems like Adobe's Text Layout Framework for Flash is so far ahead of HTML as to be in a different class. It is open source, but it is a foot in the door for Flash, which probably rules it out in most cases. The big draw back seems to be that it is a block level API, so things like tables or layouts you have to roll yourself. You can have beuatiful lines easily but more complicated than that is way beyond what any SOHO user would want to use.
Things are Improving, but so slowly
So the result: I don't see that current HTML+CSS gives anywhere near the same quality for typesetting that was easy a decade or two ago. However, things certainly are improving, and things like the Hyphenator appearing out of the blue improves the situation in a big lurch.
But it seems that the improvements have mainly been in the area of supporting magazine-style or advertisement-style layouts, while body text is pretty unsatisfactory: for body text, we seem little better than the days of the IBM Selectric typewriters 40 years ago, where people had three or four replaceable golf ball heads, and everyone's documents looked pretty much the same. The same thing was true in the early days of PostScript printers, with its few standard built-in fonts, but matters soon improved: it hasn't happened on the web yet, at least for body text.
I think, at the moment, that the best strategy for getting good layout would be to implement your own layout system on top of CSS: for example, as a jQuery plugin. The jQuery site already has many useful additions for improving tables and other layouts including multi-column layouts that provide raw material.