HTML was created with two goals in mind: it should be possible to display it on about every computing device available, and it should be easily generated. After many years, I think we can say it still fails miserably in both respects.
The first goal was originally pursued by including just enough tools to make a text look cute, but not enough to let a character device choke over it. This seems a wise thing to do. But then came the graphic designers and the desktop publishers and the dream was over. In their view, a text should be displayed exactly as they created it, or not at all. Indeed, this works fine on paper. But these graphic guys still didn't advance to the electronic age, despite the impressive hardware they use. On the contrary, a thousands words travel a lot faster over a telephone line than a 600K color image.
What the graphic guys did accomplish, though, was that every new version of HTML included more ways to break old hardware. Although this certainly helped civilization advance, since everyone was forced to by a new computer every six months to keep up with technology, it still is regarded by many as a Bad Move. This is why the "Best viewed with any browser" campaign was launched, which tries to persuade people in creating web pages that actually can be read outside the graphic studio it was created in. It means the creative designers really have to be creative in using the available means; proof is now everywhere that you don't need screen-sized pictures to make nice web pages.
HTML was actually never meant to be written by hand. The syntax of HTML was probably conceived with this in mind. No sane person would expect humans to write sequences like <ul><li><a href="http://www.hello.world/hello.html">Hello, world!</a></ul> and be happy doing so. Indeed, every computer science student can write a simple WYSIWYG editor that spits out HTML 1.0. But thanks to the aforementioned graphic guys, HTML has become so complex by now that no decent program exists that does this tedious work for you.
Actually the latest addition to HTML, cascading style sheets, demonstrates nicely that HTML cannot be generated successful. Style sheets are a way for humans to keep better overview over what they are doing. Computer programs don't need overview. Indeed they don't need any understanding of what they are doing. All they need to do is counting <'s and >'s, and that is something they do better than any human. Then why style sheets?
Because HTML has become so big and cluttered that computer programs just can't cope anymore. They keep on throwing useless codes in to make sure it works as you would expect. It's like typing 'Hello, world!' by calling someone on the telephone to explain how he should write it on a piece of paper, scan it and send it to you by e-mail instead of just using the keyboard; it's like going to your own backyard by airplane; it's an enormous detour. I've tried a dozen WYSIWYG HTML system and there isn't any that can write a page that I can't do in about half the code.
So there's only one way left: write it yourself. That way you can keep it clean and simple, lean and fast, and you can actually get what you want: a nice and clear document, that works with any browser, on any platform, at any speed. This is, of cours e, ridiculous. It's like writing assembly code while you could also use a high level language with an optimizing compiler. Still I think that the HTML authoring systems haven't developed enough yet. Although optimizing compilers today can write better an d faster code than assembly programmers, in the early days of programming you would be nowhere without being able to understand assembly, even if it was only to check the correctness of the code the compiler came up with. And that is what "written by a human" really means: created by someone who knows what is under the hood.
I've actually seen an article about writing portable HTML that was typeset in two columns that didn't fit on my 17" monitor. I've seen a page that didn't contain a single letter of tekst, so all you saw without pictures was a blank screen. I've seen a page that took minutes to render (after downloading!) on a 300 MHz Pentium. All these pages were probably viewable with any browser, but still something was terribly wrong here.
These pages were never looked at by a sentient being before being published on the web. Pages like this are created by a machine or a graphic designer, but not by a real, thinking person who took a little time to wonder about the people who might wan t to view the page. "Written by a human" doesn't mean you glance quickly over some machine generated code; it means avoiding large downloads; avoiding thousands of HTML tags that don't change anything of your page's layout; avoiding anything that assumes your screen is bigger than a wrist watch. It means knowing what you're doing. Now that is leading edge technology. That is the 21st century. And alas, today that is still done by hand.Dion Nicolaas