Friday, August 8, 2008

Authoring Web-Standards Pages: Like Setting Type in the Days of Gutenberg...

I've just spent the last few days working to build a set of Web pages which are authored to W3C standards (HTML 4.01 and CSS 2.1) They're now up on my website:

I've done some HTML authoring before, of course. But I always stayed away from anything but the simplest hand-coding. When I wanted to do something more complex (typographically speaking), I'd fire up a publishing tool, which would let me do things in a visual way and then translate what I'd done into code.

This time - at least at first - I didn't really care about the code itself. I was creating the pages in order to show off how Embedded OpenType (EOT) font embedding could be used to really enhance readability on the Web, by allowing Web designers to use high-quality commercial fonts on their pages, even though readers would not have those fonts installed.

It worked like a charm - at least as far as my goals of showing off the technology were concerned. I even apologized for the code when I posted the pages, and explained that they were merely a vehicle to show EOT actually working.

I wanted to post the pages quickly, to coincide with an announcement by font vendor Ascender Corporation that it was supporting Embedded OpenType (EOT) and launching a new website:

I'd have liked to have posted a Web-standards set of pages, too, but there just wasn't time. My colleague Chris Wilson tried to warn me. He even coded up the first page. But we couldn't get them done in time for the announcement, so I decided to go with what I had.

Reactions were wildly different. One or two people were really helpful - one offered to give up some of his time to convert the pages to cleaner Standards-compatible code. But some were downright rude. Don't they get it? If you disagree with someone, but you're civil about it, there's a good chance they'll listen to your argument.

Anyway, I'd already decided that I needed a set of identical Web-standards pages up there. While the offer to make them for me was very generous, it wouldn't do much to improve my personal level of understanding. So I thought it was time to get my hands dirty. I bought a pile of HTML and CSS books, then set about deconstructing Chris's page until I'd figured out how it worked. (If you want to learn how to paint, the best way is to study the work of a master...)

You can't use any really visual tool to do this work - they all end up inserting chunks of their own code, which is inefficient and impossible to understand.

Chris recommended I use Notepad, the basic text editor that comes with Windows. I also tried FrontPage, which worked fine as long as you stuck to the HTML view. I found life a lot easier with line numbers, so Chris told me to try Notepad++, and that's what I ended up using.

It's a good tool, and it's available free on:

Chris's other suggestion was to use Visual Studio, but that's way too heavy-duty for me - I am only an egg (from Robert Heinlein: Stranger in a Strange Land - See BOOKS I RECOMMEND).

My first page was a struggle, as you'd expect. But it was a great feeling when I finally got it to do what I wanted. It was even better when the W3Cs HTML validator service passed it (after I'd tidied up - it caught a couple of orphaned opening and closing tags first time around).

After that, my coding for each of the subsequent pages got steadily quicker.

I think Web standards are great. I've been a big supporter inside Microsoft. They still need to be evolved to support really great typography, because the Web is without doubt the publishing medium that will replace paper, and should be capable of doing anything you can do with paper (especially as screens get better).

My experience with authoring standards-compatible pages by hand - and the fact that there isn't any other acceptable way - really got me thinking.

We're back in the days of Gutenberg. In those days, all text had to be set by hand. It was a job for the real expert - not something any regular person could ever do. One of the world's great type designers, Herman Zapf, told a conference a few years ago that no-one has ever yet succeeded, despite all the technology developed since, in setting type as well as Gutenberg.

The key to Gutenberg's setting was that he used many more ligatures than are in common use today. A ligature (from the Latin root meaning to bind) is a special character which creates a new composite binding together two or more letters in order to make them fit better together. The most common examples are ff, fi, ffl, ffi, etc.

Most typefaces today have only a handful of ligatures. But Gutenberg cast many additional ones which ensured a tight and aesthetically pleasing fit of groups of two, three, four or more letters.

We see character sets in typefaces being extended all the time to support more languages. OpenType has given us the ability to create many more ligatures. But we're not yet using that capability to its full potential.

Hand-coding standards-compatible Web pages is just like setting type by hand. If I want a true apostrophe, for instance, I have to type " ’ ", or paste it in. True double or single quotes, em-dashes - they all have to be hand-coded.

How sick is that?

Hand-setting of type was a huge bottleneck in the printing process. It took about 400 years (until Victorian times) before machines like the Linotype and Monotype typecasters were able to take over most of the load.

Of course, access to machines like that was pretty much limited to professional publishing concerns.

The typewriter made it possible for almost anyone to put print on paper - pretty ugly, limited, monospaced print, it's true, but it was great leap forward.

Since the advent of the personal computer in the 1970s we've seen steady progress in the quality of printed material ordinary non-experts can produce. Dot-matrix and daisy-wheel printers have been replaced by laser and inkjet printers. Regular word-processing software like Microsoft Word can turn out very professional documents. The desktop publishing revolution of the 1980s brought software which can do just about anything you want. And you don't have to be an expert to use any of these - templates and default settings will give you professional results.

And here we are with the Web. It's the most important publishing medium in human history. Because for the first time it democratizes both the production AND distribution of high-quality content. And you can read it on a screen, keep it up to date, re-purpose it, etc.

But it's clear to me that we're still missing a huge piece of technology: an authoring tool which can be used by anyone without expert knowledge( i.e. the ability to hand-code) which produces standards-compatible, professional-quality Web pages.

That's the Desktop Publishing revolution of the 21st Century, and it's still waiting to happen..

Wednesday, April 2, 2008

Font Creators Need To Make Up Their Minds - Fast - About Fonts on the Web

Last week I attended a one-day conference on "The Business of Type" organized by the Font Designers' Rights Coalition - a body which concerns itself with helping to ensure font designers' IP is protected and they get the proper return for the investment they make in time and expertise.

As anyone who reads this blog will know, it's a goal I strongly support.

I was a little disappointed that at least some of the designers who spoke still seemed "stuck in the 20th Century", and more concerned about graphics and print service bureaux keeping and using illicit copies of their custom fonts which they'd received from customers to output their print jobs, than the potential threat the Web poses to their future unless they act quickly.

Talk about not seeing the wood for the trees! While that is an issue, it's totally dwarfed by the risk to font IP from the Web, and especially the proposal from the Opera browser folks to the WorldWideWeb Consortium (W3C) that Web designers should be able to point to any font put up on a server as a raw font file.

In public, the Open Source folks will confirm that they know this means web designers can use only freeware fonts (most of which aren't very good, because they haven't had the time and money invested in them).

But like a lot of the Open Source statements, it's impossible not to get the impression that what they really mean is "wink,wink - we know you'll copy commercial fonts up there and our proposal will let you do that, but we can't say so in public".

A large proportion of them believe that fonts, like all other software, should be free, and this proposal would erode font value in no time.

Today, the font industry does a pretty good job of policing font piracy. If you put commercial fonts up on a server for illegal sale, it's almost certain they'll find them and take action, first with "cease and desist" letters and later if necessary with stronger measures.

But if fonts begin to be routinely put up on servers in much greater numbers to service millions of Web pages, the policing system will break down because it's not set up to handle issues on that sort of scale.

Our friend Thomas Phinney from Adobe also spoke at the conference. He unveiled data from a survey Adobe just completed which made it clear that web designers want to be able to use the fonts they know and love for print - in other words, commercial fonts - and not freeware ones. At the same time, Tom had encouraging data which showed that most designers understood the value of font IP, would be very reluctant or completely opposed to pirating fonts, and wanted a system which would make it easy for them to do the right thing.

I think we're all indebted to Thomas and Adobe for carrying out this study.

The font industry hasn't really helped matters with its attitude so far. Microsoft has had a reasonably secure Internet font embedding technology in Internet Explorer for more than a decade, but many font houses don't allow their fonts to be used in this way because of paranoia about the risk to their IP of fonts being used on the Web. Then again, we made mistakes, too. We kept it a proprietary Microsoft format instead of opening it up as a Web standard (a mistake we've now rectified).

We had a good, lively discussion at the conference. I pointed out that failing to speak out against the "raw fonts on a server" proposal could well lead the industry down a dark and dangerous road. If they did not oppose this measure and adopt and support a reasonable alternative, they might find that they ended up in the worst of all possible worlds, in which fonts become free.

Once a font is posted on a server, anyone can point to it - or even worse, download it and use it on their computer system. Our Embedded OpenType (EOT) technology was designed to put obstacles in the way of people casually pirating fonts in this way just because it's so easy.

Some of the font designers who spoke still seemed to have this quaint idea that their customers were the "printing and publishing industry". While that may have been true in the past, the reality is that now, with the Web and email, everyone's a publisher. Instead of a (substantial in size but proportionally small) subset, there are a billion potential customers out there - if the font industry can figure out how to support them in the right way.

Fonts on the Web need to behave just like fonts for print. If I'm a designer of a magazine, for instance, I can buy one legal copy of a font, and use it to create as many copies or editions of that magazine as I like. Everyone who reads that magazine gets to "use" the copy of the font it contains - no matter if the magazine sells millions of copies.

It should work just the same on the Web. If a website designer buys a legitimate copy of a font, he or she should be able to use it on their site, and everyone who visits that site ought to be able to read it in the typeface the designer specified. But they shouldn't be able to use that font in any other task or document on their own computer system, unless they themselves buy a legitimate copy.

You can't do that today. There's no standard system for "embedding" a font in a webpage. The only way a reader will see it - unless you use one of the "common" webfonts - is if they have an actual copy of that font on their own machine. That's the issue EOT embedding was designed to address.

This needs to get fixed soon - before fonts go the same way as digital music, and the font industry hits the same problems with which the music industry is now struggling.

There's bound to be a way of leveraging the needs of a billion publishers into a decent return on investment. High volume, low cost is the business model on which Microsoft was founded, and we haven't done so badly. Maybe the font industry needs to take a leaf out of that book.