This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.
I’m not making this up. Check it out at the Quantum Random Bit Generator Service.
I’m still trying to figure out exactly how HTML5 fits in with XML and XHTML and would appreciate anyone helping me out on that. In the mean time…
W3.org 2008-06-10: The HTML Working Group has published three documents: HTML 5, HTML 5 differences from HTML 4, and the first public draft of HTML 5 Publication Notes . HTML 5 introduces features for Web application authors, new elements based on research into prevailing authoring practices, and clear conformance criteria for user agents in an effort to improve interoperability. See the diff-marked version showing changes made since the 22 January 2008 draft. Learn more about the HTML Activity. (Permalink)
According to IEBlog:
We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.
The rest of the post explains whys (duh!) and hows.
I’ve been teaching (X)HTML and CSS for over a decade now and I’ve never ever taught hacks. You know, those little bits of code that many designers use to make their pages look the same in multiple browsers. (Yes, IE is typically the problem in this situation.) Whenever asked I’ve explained that when you use a hack, at some time in the future the problem your "solving" with said hack is going to get fixed and then your hacked page is now broken. Don’t believe me? Check out this article from ars technica about the forthcoming IE8. Here’s just two bits:
Internet Explorer 8 is going to be the most standards-compliant IE yet, but it’s going about it in a way that has some people scratching their heads. With Internet Explorer 8, you have a choice in standards compliance modes. Sound oxymoronic? Shouldn’t there be one standards mode by default? Heck, shouldn’t the only mode be standards mode? Ah, idealism.
When IE8 eventually ships, it will have three rendering modes, two of which are the already familiar "quirks mode" and "(not so) standards mode." In an IE team blog entry, IE Platform Architect Chris Wilson revealed a third mode that can be invoked by developers:
- "Quirks mode" remains the same, and compatible with current content.
- "Standards mode" remains the same as IE7, and compatible with current content.
- If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element.
This third mode will use a <meta> tag to specify that a page should use the behavior of a specific browser version. To get IE8 really-standard-this-time-we-mean-it behavior, a page will include an element like <meta http-equiv="X-UA-Compatible" content="IE=8" />. That says that a page should use IE8’s behavior—and should use it even in IE9, IE10, or any future version. The first two modes will continue to use the doctype switch to choose between them.
Clear as mud? I thought so. (Read the whole article and it’ll start to make sense, I promise.) Look, just don’t use markup or style hacks. If you feel you "must" in order to get your design to work, adjust your design so that you don’t have to use the hack. You’ll thank me in the long run.
I’m about to download and play with the latest beta of Microsoft’s blog authoring software Windows Live Writer and I’ve noticed one of its “features”: the ability to “Publish XHTML-Style markup” [emphasis added]. I’m sorry, but the code is either XHTML or it isn’t. There’s no such thing as XHTML-style or XHTML-like as far as I’m concerned. I’m still going to play with it but sometimes Microsoft, you make me wonder.
Despite my upcoming classes on XHTML and CSS filling quickly, I still get funny looks from some when I tell them that in my classes I teach code, not tools like FrontPage or Dreamweaver. “It’s still necessary” I say rather unconvincingly despite my intentions since they don’t look convinced. Well, while reading Dreaming in Code by Scott Rosenberg I discovered “The Law of Leaky Abstractions“, first described by Joel Spolsky.
In his blog post Spolsky is talking about programming languages but I think it applies to almost any software tool. The basic point is that whenever you use a tool (Dreamweaver) to create something else for you (XHTML/CSS) the tool is an abstraction of what you’re you’re doing. Whenever you involve an abstraction, there’s always a chance of loosing something in the translation, a leak. The more level of abstractions you add, the more leaks and the more that’s lost in the translations.
Here’s the bit that was quoted in Dreaming in Code that’s relevant to why I teach code:
One reason the law of leaky abstractions is problematic is that it means that abstractions do not really simplify our lives as much as they were meant to….
The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying “learn how to do it manually first, then use the wizzy tool to save time.” Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don’t save us time learning.
And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.
This is exactly the point I try to make when I “explain” to folks why I teach code instead of the tools. Maybe the next time I need to defend my methods I’ll start by calling on The Law of Leaky Abstractions and see if that gets their attention.
Tagged with: webdesign
I lived through the browser wars. I remember “best viewed in…” logos on Web pages. Those days sucked and I never want to go back. So, why oh why, am I still seeing the following in 2007?
but like this in Firefox