The Opera web browser is made in Norway (.. with headquarters in Oslo, the nation's capital). Before reading today's entry you should download & install a copy (currently at v11.x) .. as a way of thanking them. For what? Keep reading.
The current spec/standard (that I use) is called » XHTML 1.0, which is simply an XML version of HTML. It uses HTML elements wrapped in (stricter) XML syntax. This is the standard used by most web pages being written today.
» <!doctype html>
HTML5 was not always called HTML5. Rather it started out as something called » Web Applications 1.0, which began in 2004 when folks from Mozilla & Apple joined forces with a group from Opera, who was not convinced that XML represented the best way for the Web to proceed.
They called themselves the » WHATWG .. the Web Hypertext Application Technology Working Group. (You must admit, WHATWG is a funny name .. especially for a group of über-geeks.)
» The Philosophical Battle Line » Backwards-Compatibility
The battle was over » backwards-compatibility. Sorta. It was definitely a prime consideraton in the battle that ensued.
The problem was » XHTML 2.0. It was a revolutionary design-concept .. that broke backward compatibility with HTML. Something that had never happened before. Moreover XHTML 2.0 came with draconian error-handling, which would cause browsers to stop rendering a page if errors were detected.
This draconian path of XHTML 2.0 that broke backward-compatibility with HTML, and where errors would not be tolerated, was the course the W3C had chosen for the Web's future.
In 2004, the W3C's futuristic purity-of-design philosophy (embodied by XML-based » XHTML 2.0) was challenged by a small group from Opera, who claimed that a pragmatic approach (that didnt break backward compatibility) would be a better solution. A better idea.
» Pragmatism vs Purity of Design
Pragmatism vs purity of design .. that's a good match up for any geek. Normally (without knowing the details) I would side with P-o-D.
But, we're talking about the Web .. which we want to be EASY for people to use.
I mean, ease-of-use is one of the main things that makes the Web so cool. Right? Anybody and their grandma can use it.
But I can feel it becoming more difficult. Of course, the more power you bring to any software or technology .. the greater the learning curve to wield that power.
Before I learned CSS, webmaster-life was tough sledding. Before I learned my way around the Linux shell, web admin-life was also tough. When you learn how to use it (.. becoming a student) .. technology can be pretty cool.
Anyway, the gang at Opera developed a proof-of-concept spec called » Web Forms 2.0 - that extended the functionality of HTML forms withOUT breaking backward-compatibilty. "See!" they exclaimed. "It can be done. In your face, Timmy-boy. I mean, Sir Tim."
Nevertheless, the W3C rejected their proposal, claiming it conflicted with the course they had already laid out and had already committed to.
••• today's entry continues here below •••
» About Face
In 2006 however, the W3C had second thoughts about going the XML route, and the revolutionary approach represented by XHTML 2.0 .. which many claimed would "break the Web".
So the W3C resurrected the HTML Working Group (headed by studly guys from IBM, Microsoft, & later Apple), which agreed to used the WHATWG's spec (called » Web Applications 1.0) as the basis for future development and gave it the name » HTML5.
So you can see how the this rebel group from Opera (techno-mercenaries) is where the idea for HTML5 got its start, and how they are responsible for the direction the Web is taking.
Impressive .. given the numerous obstacles (and egos) they had to contend with and overcome.
But the W3C is to be commended. For having the courage to change course when confronted with evidence that conflicted with previous decisions. Almost unbelievable, no? I mean, wouldnt you love it if our gov'ment could do something like that?
» The Way Forward .. with Two Rival Groups
Both groups (W3C & WHATWG) are currently working on developing the HTML5 spec .. along parallel (tho not identical) paths.
As you might imagine, this situation has not been without conflict. The W3C operates on a consensus basis, while the WHATWG is led by a guy named Ian Hickson, who helped form the group while working at Mozilla, and has since moved to Google.
Hickson operates more as a dictator, with strong ideas about the direction the language should take.
These are very intelligent people who are working on HTML5. Brilliant geeks. For example, as part of the WHATWG core group, you have:
- Hakon Wium Lie - the guy who invented CSS
- David Hyatt - the architect of the Safari web browser & the Webkit engine that powers it.
Heavyweights all. Luminaries. Geekdom's best & brightest flexing their collective muscle.
I'm sure they all have egos. Some perhaps bigger than others. So I'm not surprised there has been tension and conflict.
» The L in <HTML> » Language
The 'L' in HTML stands for » language. So HTML is a language. (A Mark-Up language.)
HTML5 will bring many badly needed changes to the Web .. the biggest of which will be INTEROPERABILITY, which means all browsers will render the same page the same way .. even when that page has errors caused by invalid markup.
Before HTML5, different browsers rendered web pages with errors as they saw fit. Never before has error-handling been part of the HTML spec.
The HTML5 spec consists of some 900 pages. (Double the size of the HTML4 spec.) Most of that (~600 pages) deals with telling browser vendors how to render pages .. under conditions of both valid (no errors) & invalid mark-up.
Specifyng that amount of detail seems like it would be very difficult .. to ensure you've thought of EVERY scenario that could possibly go wrong .. with a web page. And developing algorithms to address each scenario.
I have many old pages that contain some of the ugliest mark-up you've ever seen. Some Ive gone back & fixed. But not all. Cuz it's a lot of tedious work. And you only get back to where you started. In other words, no new content gets generated in the process. Not worth it unless the page(s) see serious traffic.
» The Bruce & Remy Show (Book)
That's where I've gotten most of my HTML5 info here. (Tho I did Radify it somewhat.)
It's very good. Surprisingly well written for a tech book. Slim. Slightly more than 200 pages .. with generous amounts of white space. Well laid out.
Love the casual tone. (They use conversational terms such as 'groovily' and 'WTF'.) A pleasure to read. Easy to see why it got such positive reviews. Easy to recommend, too.
These guys are all about USING the language .. not about giving you an academic analysis. Geeks after my own heart. This means they have already encountered many of the same problems & questions you & I are likely to encounter.
[ I also requested a book written by Jeremy, titled HTML5 for Web Designers .. but they said it was not in their supplier's supply chain (.. or something like that). They will only consider new titles. ]
Regarding that idea, Nigel (my programming guru from NZ) had this to say:
This passage from the book got my attention (paraphrasing):
Different browsers can causes web pages with invalid markup to produce different DOMs. Different DOMs can cause the same CSS to render differently. A consistent DOM is so important to HTML5 that the language itself is defined in terms of the DOM.
» HTML 5 Design Principles
HTML5 is really about three things:
- Interoperability (.. having different browsers render the same page the same way), which includes
- Standardizing error-handling (.. so pages with errors due to invalid markup will also be rendered the same)
- Web applications (.. making it easier to author them via new APIs)
Another tidbit that struck me is that .. the HTML5 parsing engine (when it arrives) will render ALL web pages.
Uniformity like this will be truly remarkable. The cross-brower compatibility issues were maddening.
» API's & the New Semantic Elements in HTML 5
The vast majority of web pages consist of text, images & links. HTML5 will make it easier for developers to create web pages that function more like desktop applications. That's really what HTML5 is about. Web apps .. via new API's. (I count 23.)
It would seem that these API's is where HTML5 is hiding its true power. So learning how to wield them is high on my list.
An API is an interface. An electrical outlet would be an example of an interface. Makes things easy by standardizing your access to electricity. Otherwise you would need to rewire you home every time you wanted to 'plug-in' an appliance.
That's seems like a good time to upgrade .. to make the move. While early-adopters are already leading the way. Feels like a big thing.
In the end, I feel HTML5 was a compromise between a more powerful design and maintaining a lower cost of entrance, technically speaking.
[ Note that Mark Pilgrim prefers to focus on the tension created with specs vs implementation .. when he quotes a Mozilla developer. ]
» Update .. from the Twilight Zone
Update - It's kinda trippy not having to "quote" attribute values, and not having to use lowercase letters for elements, nor <selfclose /> empty elements like you do with XHTML.
That's when it hit me .. that HTML5 really is not an XML language. (Tho you can if you prefer.)
Feel like I'll wake at any minute and find this was all a very strange dream.
[ If I recall correctly, Julie was a fan of the Twilight Zone. ]
For more along these lines, here's a Google search preconfigured for the query » html5 history api whatwg w3c book
Here's another for » html5 new semantic elements