<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>unitstep.net &#187; XHTML</title>
	<atom:link href="http://unitstep.net/blog/category/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://unitstep.net</link>
	<description>the home of peter chng</description>
	<pubDate>Sun, 30 Nov 2008 23:12:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Google Chrome: What it offers</title>
		<link>http://unitstep.net/blog/2008/09/02/google-chrome-what-it-offers/</link>
		<comments>http://unitstep.net/blog/2008/09/02/google-chrome-what-it-offers/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 01:03:15 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[XHTML]]></category>

		<category><![CDATA[browsers]]></category>

		<category><![CDATA[chrome]]></category>

		<category><![CDATA[comparison]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[internet explorer]]></category>

		<category><![CDATA[opera]]></category>

		<category><![CDATA[reviews]]></category>

		<category><![CDATA[web2.0]]></category>

		<category><![CDATA[gears]]></category>

		<category><![CDATA[ie]]></category>

		<category><![CDATA[mozilla]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=411</guid>
		<description><![CDATA[
After much speculation yesterday, marked by a leaked web comic and finally an acknowledgment by Google, Google Chrome, the much anticipated web browser, is here.
I encourage you to download it and give it a try, as I did as soon as it came out.  Here are some of my initial impressions.
Overview
Google released a fairly [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome.jpg" alt="Google Chrome" /></p>
<p>After much <a href="http://blogoscoped.com/archive/2008-09-01-n47.html">speculation yesterday</a>, marked by a <a href="http://www.google.com/googlebooks/chrome/index.html">leaked web comic</a> and finally an <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">acknowledgment by Google</a>, <a href="http://www.google.com/chrome/intl/en/features.html">Google Chrome</a>, the much anticipated web browser, <a href="http://googleblog.blogspot.com/2008/09/google-chrome-now-live.html">is here</a>.</p>
<p>I encourage you to <a href="http://www.google.com/chrome/index.html">download it</a> and give it a try, as I did as soon as it came out.  Here are some of my initial impressions.</p>
<h3>Overview</h3>
<p>Google released a fairly long <a href="http://www.google.com/googlebooks/chrome/">web comic</a> that delves into quite a bit of detail about Chrome - it&#8217;s not your typical comic!  Touted as being built &#8220;from scratch&#8221;, Chrome uses the WebKit rendering engine, the same one that powers Safari and Konqueror.</p>
<p class="image"><a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-2.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-2-300x207.jpg" alt="" title="google-chrome-2" width="300" height="207" class="alignnone size-medium wp-image-420" /></a></p>
<p>The first thing you notice is how minimal the &#8220;Chrome&#8221; or UI of Chrome is.  If you&#8217;re used to a half-dozen toolbars, buttons and widgets all over the place, Chrome will seem like a greenfield to you.  By default, there is only a tab bar and then an address bar containing back, forward, a combined reload-stop button and the address bar.  There are also buttons for bookmarking a site and for page and browser settings.  The bookmarks bar is not displayed unless you specifically change that setting.</p>
<p>Keyboard shortcuts are also present so that you don&#8217;t have to click through context menus.  If you&#8217;re used to the keyboard shortcuts of Firefox and IE7 you&#8217;ll be pleased to know that most of them transfer over without change: Ctrl-T opens a new Tab, Ctrl-W/Ctrl-F4 closes a tab, Alt-D focuses the address bar and Ctrl-J opens Downloaded Files.</p>
<p>The address bar also functions as a search bar, and this combination just makes sense.  It&#8217;s something I&#8217;ve always been doing using <a href="http://lifehacker.com/software/geek-to-live/geek-to-live-fifteen-firefox-quick-searches-129658.php">Firefox Quick Searches</a></p>
<p>By default the home/start page is set to set to show an Opera-style &#8220;<a href="http://www.opera.com/support/tutorials/flash/speeddial/">Speed Dial</a>&#8221; page containing most recently-accessed pages/bookmarks.  You can also configure Chrome to restore the previous tabs/websites on startup, which is my personal preference ever since I started using Firefox.</p>
<h3>Features</h3>
<p>Chrome integrates Google Gears to speed up supporting web applications and is an obvious effort by Google to self-promote. This is substantial since the download link for Chrome is on the main Google search page - no small feat considering only the most popular/important services get that sort of attention and furthermore the link is positioned dead center beneath the search field.</p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-3.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-3-300x210.jpg" alt="" title="google-chrome-3" width="300" height="210" class="alignnone size-medium wp-image-422" /></a><br />
The address/search bar
</p>
<p>Chrome allows for quasi-<a href="http://en.wikipedia.org/wiki/Site_Specific_Browser">Site-Specific Browsers</a> by use of &#8220;Application Shortcuts&#8221;, which can be set for any website but are meant to be used mainly with web applications.  These allow you to open the target <acronym class="uttInitialism" title="Uniform Resource Locator">URL</acronym> in a browser window that does not have the menu or address bars and essentially serves as a blank canvas upon which the web application&#8217;s own UI can be displayed.  </p>
<p>This is similar to other SSBs such as <a href="https://wiki.mozilla.org/Prism">Mozilla Prism</a> or <a href="http://fluidapp.com/">Fluid</a> for the Mac, as they aim to bridge the gap between desktop and web applications to make their integration more seamless.</p>
<p>However, like <a href="http://blogoscoped.com/archive/2008-09-01-n47.html">Google Blogoscoped points out</a>, using such non-browser interfaces may condition the user to be more lax when entering their credentials and makes phishing attempts more viable since no <acronym class="uttInitialism" title="Uniform Resource Locator">URL</acronym> is displayed.  This is curious since security, &#8220;sandboxing&#8221; and general safe browsing were so high on Chrome&#8217;s feature list - this feature seems to help undo some good user practices of always confirming the <acronym class="uttInitialism" title="Uniform Resource Locator">URL</acronym> before entering credentials. </p>
<p>There are also some nice little enhancements as well - the combined address bar/search bar is very much like Firefox 3&#8217;s &#8220;awesome bar&#8221;.  Chrome also allows you to dynamically resize any <code>textarea</code> element, without the site designer having to code this specifically in JavaScript or some other client-side technology.</p>
<h3>Performance</h3>
<p>Each tab/window is a separate process and thus will show up separately in Task Manager; Chrome also offers its own Task Manager but the memory usage reported here differs from that in the Windows Task Manager.  To get the full picture, you have to click on the &#8220;Stats for nerds&#8221; link, which takes you to <code>about:memory</code></p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-4.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-4-300x192.jpg" alt="" title="google-chrome-4" width="300" height="192" class="alignnone size-medium wp-image-424" /></a>
</p>
<p>This page displays the full memory usage details, and also, surprisingly, displays memory usage for any other web browsers also currently running! (I have confirmed that it will display Firefox 2/3, IE7 and Opera 9)</p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-5.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-5-300x208.jpg" alt="" title="google-chrome-5" width="300" height="208" class="alignnone size-medium wp-image-425" /></a>
</p>
<p>Much talk has been made of this feature; indeed while it does use more resources, it also prevents a single site from bringing down the entire browser as only that tab/window will be affected.  To test this out, just terminate one of the instances of chrome.exe and you will see that tab&#8217;s screen into a &#8220;sad tab of death&#8221; with an amusing message.</p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-1.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-1.jpg" alt="" title="google-chrome-1" width="346" height="313" class="alignnone size-full wp-image-415" /></a>
</p>
<h3>JavaScript</h3>
<p>Though JavaScript falls under the category of `Performance` I felt it deserves its own section because of the importance of JavaScript in web applications.  Chrome uses the Google-developed V8 JavaScript engine, which has also been <a href="http://code.google.com/apis/v8/">released as open source</a>.</p>
<p>The <a href="http://code.google.com/apis/v8/design.html">main points</a> of V8 are outlined at the Google Code page for the project, and are quite interesting.  One of the main improvements in performance is the use of a Virtual Machine (VM) for processing JavaScript.</p>
<p>The V8 Virtual Machine is different from say, the JVM (Java Virtual Machine) in that it compiles JavaScript source <em>directly to machine code</em>; there is no intermediate byte-code representation used and hence no interpreter is needed for this.  This seems to indicate that JavaScript performance might be faster on Chrome since there&#8217;s no intermediary. Google provides some <a href="http://code.google.com/apis/v8/benchmarks.html">benchmarks</a> to confirm this.</p>
<p>From some informal/unscientific preliminary testing, the V8 JavaScript engine in Chrome <em>does</em> appear to be quite fast; loading the same Digg topic in Firefox took longer than it did in Chrome. (Roughly 14 secs vs. 8 seconds over a few trials - and Chrome did not have the benefit of AdBlock Plus) I&#8217;d be <em>very</em> interested to see how Chrome stacks up against Firefox 3.1, considering the rumoured <a href="http://arstechnica.com/news.ars/post/20080822-firefox-to-get-massive-javascript-performance-boost.html">performance boosts</a> coming with it.</p>
<p>If Chrome has anything going for it, it&#8217;s definitely the lightning fast JavaScript performance.  Coupled with the crash-proofing this makes it ideal for use in web applications.</p>
<h3>Development</h3>
<p>Chrome comes with a nice DOM inspector reminiscent of Firebug.  Using it is dead simple; you just right click and select &#8220;Inspect Element&#8221; and the inspection window will pop up with the element highlighted.  Here you can see the full DOM tree as well as the computed <acronym class="uttInitialism" title="Cascading Style Sheets">CSS</acronym> styles for the element.  </p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-6.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/09/google-chrome-6-300x231.jpg" alt="" title="google-chrome-6" width="300" height="231" class="alignnone size-medium wp-image-427" /></a>
</p>
<p>There&#8217;s an included JavaScript console for executing code/commands/expressions on-the-fly and while there is a JavaScript debugger included, it seems at this time to be a command-line only tool, far less user-friendly than Firebug.</p>
<h3>Not ready for prime time yet?</h3>
<p>Of course, Chrome is marked as Beta by Google, something we&#8217;ve come to expect since Gmail has been in beta for longer than the company has been publicly traded.  Nonetheless, there are still some features that are sorely missed.</p>
<p>The one thing I absolutely love about Firefox is the vibrant developer community and subsequent widespread availability of quality, useful extensions.  This has produced such gems as the aforementioned <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a> and <a href="http://adblockplus.org/en/">Adblock Plus</a>.  </p>
<p>For now, extensions/addons are not part of Chrome but may be added in a later version.  In the meantime I don&#8217;t think I&#8217;ll be even close to ready to switch, as I&#8217;m very stubborn.  I don&#8217;t use that many extensions but the few that I do are &#8220;must-haves&#8221; and I just can&#8217;t browse without them.  </p>
<p>Lastly, there are always privacy concerns, especially from a company as big an involved as Google.  Though you can turn off the sending of usage statistics, there will always be some with their tinfoil hats on.</p>
<h3>Conclusions</h3>
<p>All things considered, Chrome is a very good entry into the browser market.  While I don&#8217;t think it&#8217;s ready to take on Firefox or IE yet, it does provide competition.  So as long as Chrome continues to support standards (which I think it will, since it uses the WebKit renderer and Google has also been forthcoming with their <a href="http://www.google.com/chrome/intl/en/webmasters.html">support for web developers</a>), I won&#8217;t have a problem with it.  I won&#8217;t be switching over to it anytime soon, but at the very least it&#8217;ll be a useful development tool to verify/test my websites on to make sure they look proper in Safari/Konqueror/Chrome.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/09/02/google-chrome-what-it-offers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why poorly designed websites persist</title>
		<link>http://unitstep.net/blog/2006/08/06/why-poorly-designed-websites-persist/</link>
		<comments>http://unitstep.net/blog/2006/08/06/why-poorly-designed-websites-persist/#comments</comments>
		<pubDate>Sun, 06 Aug 2006 18:06:52 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[XHTML]]></category>

		<category><![CDATA[accessibility]]></category>

		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://unitstep.net/blog/2006/08/06/why-poorly-designed-websites-persist/</guid>
		<description><![CDATA[I originally meant this to be part of my post, &#8220;Why Flash-based websites are bad&#8220;, but when I started typing the section, &#8220;A brief history of the problem&#8221;, things got a little too long.  What can I say?  I have a problem with being overly verbose, but I can&#8217;t bring myself to delete [...]]]></description>
			<content:encoded><![CDATA[<p>I originally meant this to be part of my post, &#8220;<a href="http://unitstep.net/blog/2006/08/06/why-flash-based-websites-are-bad/">Why Flash-based websites are bad</a>&#8220;, but when I started typing the section, &#8220;A brief history of the problem&#8221;, things got a little too long.  What can I say?  I have a problem with being overly verbose, but I can&#8217;t bring myself to delete something I spent typing.  This is probably also why I&#8217;m a pack rat - as I type this, there are five or six cardboard boxes sitting in my room that should probably be thrown out.  But I digress. </p>
<p>If you&#8217;re a web designer, you may be disenchanted everytime you visit a poorly-designed or poorly-structured site.  Why do these still persist, despite proper techniques of content/presentation separation having <a href="http://alistapart.com/articles/journey">been around</a> since 2001? Has the whole world gone mad? Fortunately no - but it is a complex problem. </p>
<p>The problem of poorly designed websites, in my opinion, can be traced to two important factors, both of which can be assigned varying degrees of &#8220;blame&#8221;, depending on your viewpoint.  There are tons of complicating factors, but I believe these to be the two most important. </p>
<p>Firstly, <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> (the precursor to <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a>), was designed as a document markup language (hence the name), completely devoid or separate of presentation information.  Since the earliest users of the web were mostly from academic circles, it&#8217;s no surprise that much of the <a href="http://www.yourhtmlsource.com/accessibility/logicalstyle.html">markup in <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym></a> applies to formatting things like scientific journal papers, which typically make extensive use of headings, lists, and other semantic elements.  The complete lack of presentation styles in the first version of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> might seem like a good thing nowadays to web designers &#8220;in the know&#8221;, but unfortunately, most people don&#8217;t think that way.  This resulted in later version of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> adding presentational elements such as <code>font</code>, and even browsers implementing <a href="http://www.scit.wlv.ac.uk/encyc/marquee.html">their own</a> non-standard elements, all due to user-demand for control of presentation.  Much of these elements have now been depreciated or eliminated, but they still remain in use - it&#8217;s hard to close the door once it&#8217;s been opened.</p>
<p>The problem lies in the interpretation of what exactly is content, and what is presentation.  Content exists for the purpose of communicating information or a concept; presentation defines <em>how</em> that content should be shown.  However, most non-technical people tend to blur the line between the two - for most people, presentation <em>is</em> part of the communication process.  This is an equally valid point-of-view, and is in fact, probably the normal way to view things - human beings are visual creatures.</p>
<p>It takes a different sort of person to consciously think &#8220;This part of the document should be marked up with a list because it depicts a series of objects with some sort of logical relation among them&#8221;.  Most people simply read the list as-is, but subconsciously, they are probably making the same connection.  I think this has to do with the person&#8217;s <a href="http://en.wikipedia.org/wiki/Meyers_Briggs"><abbr title="Myers-Briggs Type Indicator">MBTI</abbr></a>, (and obviously their areas of education), but that&#8217;s another topic altogether. </p>
<p>The second factor deals with the unusually low-barrier to entry for making a website.  <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>, quoted as the <a href="http://www.w3.org/MarkUp/Activity"><i class="latin">lingua franca</i></a> of the web, is a fairly easy language to learn, as far as learning topics in computer science go.  A grade school kid who can read at a decent level can easily learn the basics and begin coding the basics of a web page almost immediately.  This is enhanced by the availability of many <acronym class="uttAcronym" title="what you see is what you get">WYSIWYG</acronym> <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> editors that make creating web pages as easy as using Microsoft Word or PowerPoint.  However, while <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> is easy to learn, like many other things it is hard to truly master, especially when using it properly with a combination of <acronym class="uttInitialism" title="Cascading Style Sheets">CSS</acronym> and JavaScript.  This creates the situation where &#8220;<a href="http://www.phrases.org.uk/meanings/10400.html">a little knowledge is a dangerous thing</a>&#8220;.   </p>
<p>While it&#8217;s easy to make a web page, it&#8217;s also easy to flaunt disregard for web-standards, accessibility and usuability, all in the name of making a page that looks &#8220;nifty&#8221; or &#8220;cool&#8221;.  This is perhaps best seen in the unending multitude of MySpace pages, where users are given control to customize almost any part of their page.  This has resulted in pages that are either poorly designed, hard to use, do annoying things like play music, or a combination of the above, creating a haven that is a throwback to the Geocities of the 1990&#8217;s.  The problem is compounded by <a href="http://alistapart.com/articles/separation/">problems</a> with proper implementation of best-practices as well as the fundamentally different ways design must be done on the web as opposed to other forms of media such as print.  </p>
<p>In reality, <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> is a language that demands almost the same level of attention to detail as a programming language.  However, since programming languages are harder to learn, they present a greater barrier to entry that keep out those not willing to learn things the right way.  (If you make a syntax mistake, the program will probably not compile or run - however some would argue that there&#8217;s still a lot of problems related to poor programming practices as well.)  Some people would like these strict rules to apply to <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> as well - in fact they do, if <a href="http://diveintomark.org/archives/2003/01/14/eddies_in_the_spacetime_continuum"><a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> is served as <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a></a>, which it was intended to be.  This has created a very stratified community of &#8220;website designers&#8221;, best summed up in Roger Johansson&#8217;s article on <a href="http://www.456bereastreet.com/archive/200605/levels_of_html_knowledge/">Levels of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> knowledge</a>.  </p>
<p>Furthermore, good structural <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> is important if you care about Google or any other search engine indexing your site properly.  The Googlebot (their spider that crawls the web, searching for new content to add to their search index) will have the easiest time indexing your site if you&#8217;ve properly separated content from presentation, and used meaningful (X)<acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> elements to markup your content.  Many people do not understand this - they either don&#8217;t understand or have the false view that search engines view websites in the same way that people do, through a browser.  Additionally, if you care at all <a href="http://www.w3.org/WAI/">about accessibility</a>, you <strong>must</strong> follow web-standards, which are conducive to designing a website that is accessible by anyone with disabilities. </p>
<p>I don&#8217;t draconian parsing rules are the solution, as for something to be the <i>lingua franca</i> of the web, it must be accessible to use by all.  Easy to use, standards-compliant <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> editors are what is needed, but I acknowledge that the problem is difficult.  Thankfully, things are improving - despite the presence of sites like MySpace, the increasing popularity of blogs has given another outlet for people to create personal websites.  Most of these blogging platforms are relatively standards-compliant, and in line with the spirit of web standards as well, and in many ways have been at the forefront of promoting good website design.  Let&#8217;s hope more sites follow suit.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2006/08/06/why-poorly-designed-websites-persist/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The dinosaur that is web-standards</title>
		<link>http://unitstep.net/blog/2006/07/21/the-dinosaur-that-is-web-standards/</link>
		<comments>http://unitstep.net/blog/2006/07/21/the-dinosaur-that-is-web-standards/#comments</comments>
		<pubDate>Sat, 22 Jul 2006 01:11:20 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[XHTML]]></category>

		<category><![CDATA[standards]]></category>

		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://unitstep.net/blog/2006/07/21/the-dinosaur-that-is-web-standards/</guid>
		<description><![CDATA[If you&#8217;re into web design or development at all, you&#8217;ve probably run into the term &#8220;web standards&#8221; and the W3C, the body whose job it is to organize and draft these specifications.  The truth is, web standards are still by-and-large, just suggestions on how to do certain things, and are as of yet, not [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re into web design or development at all, you&#8217;ve probably run into the term &#8220;web standards&#8221; and the <a href="http://www.w3.org/"><a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a></a>, the body whose job it is to organize and draft these specifications.  The truth is, web standards are still by-and-large, just <em>suggestions</em> on how to do certain things, and are as of yet, <a href="http://webstandards.org/action/acid2/">not completely</a> and <a href="http://quirksmode.org/viewport/experiments.html">widely followed</a>.  This is more an artifact of the way the web and browsers have evolved, but sometimes, you gotta wonder what the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> is thinking.</p>
<h3>Credit where credit&#8217;s due</h3>
<p>To its credit, the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> has done a lot of great work.  Headed by <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a>, the creator of the web, it&#8217;s done good work in standardizing the data formats that encompass the Internet.  Without some sort of guiding body, the web would certainly be a lot less usable than it is today.  They&#8217;ve also made decent progress in updating standards as technology/trends change, and haven&#8217;t left out accessibility for the sensory-impaired, something that should be lauded. </p>
<p>Certainly attempting to standardize something as widespread as <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>/XHTML across something as big as the Internet is no easy task; working with the companies making the browsers must have been a hard task.  After all, companies want to distinguish their product from the others; if they all support the same &#8220;standards&#8221;, what would make one better than the other?  Perhaps this was the thinking during the <a href="http://www.evolt.org/article/Browser_Wars_II_The_Saga_Continues/25/60181/">browser wars</a> when companies started introducing support for <a href="http://www.scit.wlv.ac.uk/encyc/blink.html">non-standard elements</a> in order to make their browsers more appealing to users and web designers.</p>
<p>Part of this is the reason why some pages <em>still</em> render differently in IE than in Firefox or Opera.  But these days, it&#8217;s mainly IE6 that&#8217;s the odd one out, with Firefox and Opera (among others) either supporting the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> standards better or completely.  </p>
<h3>Competition breeds innovation</h3>
<p>While this effort by browser makers to independently make their <em>own</em> specifications often (especially in the past) resulted in broken web pages that only worked in certain browsers, once in a while, it provided browser programmers the ability to introduce a new feature that was actually of use, besides something like the <code>marquee</code> tag.  </p>
<p>What I&#8217;m talking about is the <a href="http://developer.apple.com/internet/webcontent/xmlhttpreq.html"><code>XMLHttpRequest</code> object</a>, the basis for Ajax and hence a lot of the websites or web applications that you may use on a regular basis.  If you&#8217;ve used Gmail, if you Digg, or if you use the new Yahoo!, you&#8217;ve benefited from Ajax and hence this non-standard web technology.  While the original concept used an ActiveX object, its value was apparently seen by other browser makers, as Mozilla introduced support for their browsers back in 2002, with other browser makers following suit. (Though interestingly, Opera only gained support recently - perhaps this is related to the fact that they follow the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> specifications closer than either Mozilla or IE)</p>
<p>Gmail&#8217;s been around for over two years, and other Ajax websites or web applications have also been in use for over a year.  However, the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> published their first <a href="http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/">working draft</a> only back in April of this year, which is attempting to standardize a method that is already in wide use.  Admittedly, it&#8217;s a valiant effort - currently, implementations differ across browsers (mostly IE in one corner, the rest-of-the-world in the other), so getting something down that everyone can agree upon is good.</p>
<h3>Too little, too late?</h3>
<p>However, it strikes me that it took them this long to develop even a draft.  And, with many JavaScript frameworks out there that already abstract the <code>XMLHttpRequest</code> object in such a way that you don&#8217;t have to worry about incompatibilities, isn&#8217;t some of this work perhaps done in vain? </p>
<p>Thankfully, there&#8217;s been some action to counter this slow reaction time.  As with most standards bodies, slowness to adapt is a key problem.  In fact, it&#8217;s why the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> <a href="http://en.wikipedia.org/wiki/ISO#Problems_during_the_1990s">was developed</a> in the first place, (ironically, it seems), in order to address the shortcomings of the IETF at the time.  However, this time, the group that&#8217;s taken the helm is a not a vendor-neutral group, but instead one comprised solely of the companies and people who make browsers - the <a href="http://www.whatwg.org/"><abbr title="Web Hypertext Application Technology Wokring Group">WHATWG</abbr></a>.</p>
<p>The WHATWG is not meant to be competition for the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>; they aren&#8217;t meant to replace them.  Instead, they hope that by fostering a good relationship between browser makers, good standards can be developed at a fast rate on par with development in the real world.  These drafts will then be submitted to the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>, thus taking a lot of the workload off from the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>.  </p>
<h3><a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>-what?</h3>
<p>The <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>, which one shouldn&#8217;t remember to commend for their previous efforts, still sometimes comes up with specifications that, while looking good on paper, just don&#8217;t seem like they&#8217;ll translate into something real and usable.</p>
<p>Take <a href="http://www.w3.org/TR/xhtml2/"><a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 2.0</a>, for example.  With a name like that, you&#8217;d expect it to be a successor to, and be backwards compatible, with the current version of <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a>.  <a href="http://www-128.ibm.com/developerworks/web/library/wa-xhtml/">Not so</a>.  In favour of a stricter definition of a document, <a href="http://diveintomark.org/archives/2003/01/13/semantic_obsolescence">backwards compatibility</a> <a href="http://www.zeldman.com/daily/0103b.shtml#skyfall">will not</a> be included.  All the talk of making your <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>/XHTML documents validate in order to preserve backwards compatibility and to ensure forwards compatibility seems to have gone out the proverbial window.  For those who were skeptical on the usefulness of web standards, <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 2.0 must have seemed like the <a href="http://en.wikipedia.org/wiki/Straw_man">straw man</a> they were looking for - it really underlined the separation from reality that the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> seemed to taken. (Even the current versions of <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> <a href="http://diveintomark.org/archives/2003/08/29/semantics">have problems</a> that need to be addressed in the context of delivery over the web)</p>
<h3>Maybe it&#8217;s time</h3>
<p>So perhaps what we needed was the WHATWG - something to keep the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> in line with reality, and to allow the speedy standardization of things that are still in the process of developing.  So far, they&#8217;ve produced a few specifications, which <a href="http://erik.eae.net/archives/2005/11/16/00.02.49/">have had an impact</a> on the <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a>.  Their continued interest in <code>text/html</code> as a viable MIME type is rare; too often, people get caught up in current trends, such as the love-affair that everyone seemed to be having with <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a> a while ago.  While certain <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a> formats are good, they do have <a href="http://annevankesteren.nl/2005/04/html5">issues</a> when there&#8217;s a chance the <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a> will be hand-coded and not checked for well-formedness errors.  In this case, traditional <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> in the <code>text/html</code> MIME type is probably better.  </p>
<p>In conclusion, hopefully the state of web standards will be better in a few years or so.  The <a href="http://www.w3.org/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="World Wide Web Consortium">W3C</acronym></a> has a lot of good to offer, especially when it comes to <a href="http://www.w3.org/WAI/">accessibility</a> and so forth.  Combined with the helping hand of the WHATWG, things should progress for the better.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2006/07/21/the-dinosaur-that-is-web-standards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open data standards and microformats across networks</title>
		<link>http://unitstep.net/blog/2006/07/03/open-data-standards-and-microformats-across-networks/</link>
		<comments>http://unitstep.net/blog/2006/07/03/open-data-standards-and-microformats-across-networks/#comments</comments>
		<pubDate>Mon, 03 Jul 2006 16:53:38 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[XHTML]]></category>

		<category><![CDATA[microformats]]></category>

		<category><![CDATA[standards]]></category>

		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://unitstep.net/blog/2006/07/03/open-data-standards-and-microformats-across-networks/</guid>
		<description><![CDATA[There&#8217;s been a lot of ]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a lot of <a href="<a href="http://tantek.com/log/2006/06.html#d17t2231">talk</a> <a href="http://webdevblog.uwaterloo.ca/article/237/microformats-in-education-wiki">about</a> <a href="http://microformats.org/">microformats</a> lately, brought about the increasing presence of web-standards, awareness and development of design patterns and concern about open data formats for information exchange.  Microformats are not something revolutionary, but they hold a simple, yet effective concept, that aims to take the best practices of the web and multiply them, thus, among other things, improve the way we interact with data on the Internet. </p>
<h3>Microformats</h3>
<p>At its most basic, microformats are a concept that advocates identifying certain pieces of information so that they can be better collected, parsed, and otherwise aggregated for other uses.  For example, the <a href="http://microformats.org/wiki/hreview">hReview</a> microformat proposes a way to mark up the data that comprises a review (of a product or service, let&#8217;s say) so that the pieces of information that comprise a review (author, date reviewed, rating, comments) can be easily discerned.  This example deals with the microformat in <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> or <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>, but it could also be applied to <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a> documents.  </p>
<p>Since microformats do not have strict rules like <a href="http://www.w3.org/XML/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible Markup Language">XML</acronym></a> documents do, applying one to an existing document to make it microformat friendly is straightforward and doesn&#8217;t require you to totally re-arrange your data.  A nice <a href="http://microformats.org/wiki/hreview#Examples">example</a> is shown in the hReview specification.  The changes basically amount to adding a few <code>class</code> attributes on some elements, in order to identify certain pieces of information.  For example, the name of the item being reviewed must be in an element that has the classes &#8220;fn&#8221; and &#8220;item&#8221; applied to it.  (Either by the cascade, or directly)  This a simple, but effective way to identify data - that is, to use metadata identify the sematics of the information.  </p>
<h3>Defined <em>by</em> usage, rather than defining usage</h3>
<p>The neat thing about this is that it works entirely within the confines of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> or <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> to enhance the semantics of the language.  Very few changes are needed, and in fact, the changes that microformats suggests are better since they will allow you to style elements better since they will be identified; in fact the way this turned out is no coincidence.  Microformats were designed with current &#8220;best practices&#8221; in mind, so many &#8220;in the wild&#8221; examples of markup on sites were referenced before the format was specified, in order to develop something that better suited current usage, rather than trying to develop a new standard that would be radically different from what anyone was using.  This makes it super-easy to adopt microformats if you&#8217;ve already been following current web-standards with separation of content and presentation.  </p>
<h3>Microformats: out in the open</h3>
<p>Also, microformats are not just some idealized standard that&#8217;s being <a href="http://www.eod.com/devil/archive/w3c.html">discussed, rather than implemented</a>.  Many sites already use them, such as <a href="http://corkd.com/">Cork&#8217;d</a>.  As mentioned before, this is because they are quite easy to adopt in a site that has already been well-designed, and so they don&#8217;t require a headache-inducing, total re-working of the structure.  Thus, web-developers can easily see the benefits of adopting microformats - in many cases, they&#8217;re <em>already</em> using them, albeit not with the same class names or attributes.  Admittedly, there could be more support for microformats, but I believe that will come very soon, as open source developers of blogging software, CMSs and other portal systems update their code to provide support.  </p>
<p>Another important aspect, already mentioned, is the organic development of the microformats.  As seen on the <a href="http://microformats.org/wiki/examples">examples</a> page of the microformats website, there is much open discussion before any microformat specifications are developed; for this reason, almost all of them are open to discussion, based on what is considered to be the current &#8220;best practice&#8221; out on the Internet nowadays.  In this way, the specifications tend to evolve around what are the best examples out there, rather than the specifications being a pragmatic announcement of what &#8220;should be done&#8221; and what &#8220;is the right way&#8221;. </p>
<p>For this reason, I believe microformats will be better accepted, since they will strike the right balance between standardization, ease-of-implementation, and practicality.  They will avoid the fate of other web-standards, some of which have been good on paper, but suffer from poor implementation either because of practical issues or compatibility problems.  </p>
<h3>Open data formats</h3>
<p>Microformats are also a simple but effective open data format.  With any data format, interoperability and compatibility are issues in the long run.  If I save a file in a certain format, can I be assured it will be readable by the hardware and software of computers 10, 20 or 50 years from now?  For some data, this is not important, but for some it is very important, such as a digital photo album, any archive information, or records.  With the fast pace of development for computer formats, and technology in general, this is a definite problem.</p>
<p>So how are microformats any better than any other format, open or closed?  Surely being an open format doesn&#8217;t guarantee operability in the long run?  That may be true, but one proven hallmark of future-proof data formats is being an established and traditional format.  As pointed out by <a href="http://tantek.com/log/2006/06.html#d17t2231">Tantek</a>, this is why Project Gutenberg (&#8221;the first and largest collection of eBooks&#8221;) has decided to store their archives in the venerable ASCII format.  While this doesn&#8217;t offer any sort of markup options, it does virtually guarantee compatibility in the future - it&#8217;s highly unlikely that ASCII will be forgotten completely in the future. </p>
<p>For these same reasons, Tantek also believes that &#8220;Compatible <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a>&#8221; (or valid <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 1.0 strict compatible with <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>) is also dependable over time.  <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> has been in use for over a decade on the Internet, the most widely-distributed, distributed-database in human history.  Thus, its ubiquity is certainly not in doubt; its ease of use also helps, as it enables wide adoption.  </p>
<h3>Openness and the present</h3>
<p>Okay, so open data formats can be good in the long run.  But what about <em>now</em>?  Well, there&#8217;s currently some pretty exciting stuff going on.  Recently, <a href="http://www.techcrunch.com/2006/06/27/a-look-inside-peopleaggregator/">People Aggregator</a> announced they&#8217;d be starting a social network (nothing new) that would also allow users to post across multiple, different, social networking or blogging sites.  This is currently accomplished by using APIs such as Metaweblog, but in the future, they envision more complete interoperability.  The idea is that switching from one service to another shouldn&#8217;t be hard, as if open standards are used, compatibility can be ensured - rather than having to make sure the new service provider has a conversion utility to convert from your old provider. </p>
<p>The additional benefits could also be quite useful.  For example, creating a &#8220;friends&#8221; page listing your friends&#8217; most recent blog posts and content wouldn&#8217;t be difficult.  If you&#8217;re using Livejournal, this is already easy, but the people on your friends list must also be on Livejournal.  If People Aggregator is successful at getting more networks onboard their idea, adding people to a friends list would be easy, regardless of what service they were using.  There is already a <a href="http://adam.404.org/projects/friends-rss/">WordPress plugin</a> that does this, by parsing a friends&#8217; <acronym class="uttInitialism" title="Really Simple Syndication">RSS</acronym> feed.  But People Aggregator&#8217;s idea is to make this functionality accessibile from blogging service. </p>
<h3>Problems</h3>
<p>The main threat I see against adoption of standards a direct result of the benefits it offers.  As mentioned, these open data formats would allow content from one service to be syndicated and/or displayed elsewhere on the web.  This helps increase the accessibility of information, as you no longer have only one place where you can get it from - you can display the information how you want to, and in what order you want.  </p>
<p>This could directly threaten the ability for services to make money because of the circumvention of ad revenue that would take place.  Many social networking sites survive because they allow people to freely make content and share it from their sites, so as long as ads are served up to viewers.  If the content can be aggregated, and shown elsewhere, then the ads aren&#8217;t shown.  Unless agreements are reached about this, (such as ensuring ads are still delivered in any data delivered outside the site, or ad-revenue sharing), this may be a major impediment to adoption. </p>
<p>This would be sad, since open data formats and the ability to &#8220;subscribe&#8221; to content and display it in a non-traditional way are basic concepts of what I would consider &#8220;web2.0&#8243; technologies.  This is a natural extension to what <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> allowed, in that it will allow for content to flow easier, just like <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> did some 10-15 years ago.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2006/07/03/open-data-standards-and-microformats-across-networks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web accessibility: Both sides of the coin</title>
		<link>http://unitstep.net/blog/2006/06/27/web-accessibility-both-sides-of-the-coin/</link>
		<comments>http://unitstep.net/blog/2006/06/27/web-accessibility-both-sides-of-the-coin/#comments</comments>
		<pubDate>Wed, 28 Jun 2006 00:52:36 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[XHTML]]></category>

		<category><![CDATA[accessibility]]></category>

		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://unitstep.net/blog/2006/06/27/web-accessibility-both-sides-of-the-coin/</guid>
		<description><![CDATA[Web accessibility is a hot topic nowadays.  Many articles have been written about the topic, so that there&#8217;s no shortage of information should you want to design an accessible website that at least aims to be usable by all, regardless of any disabilities.  This, after all, is a good thing, since if public [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3.org/WAI/">Web accessibility</a> is a hot topic nowadays.  Many <a href="http://www.alistapart.com/articles/wiwa/">articles</a> have been <a href="http://diveintoaccessibility.org/">written</a> about the topic, so that there&#8217;s no shortage of information should you want to design an accessible website that at least aims to be usable by all, regardless of any disabilities.  This, after all, is a good thing, since if public buildings are mandated to be accessible by the disabled, shouldn&#8217;t public websites be as well?</p>
<h3>Necessarily accessible</h3>
<p>In fact, many governments, both at the upper and lower levels, have been mandating accessibility for public websites.  In the United States, there&#8217;s <a href="http://www.section508.gov/">Section 508</a>, and in Europe, they&#8217;re <a href="http://www.456bereastreet.com/archive/200606/web_accessibility_to_become_mandatory_in_europe/">working on making it mandatory</a>.  Here in Canada, I don&#8217;t think there&#8217;s any federal law on it, though I might be mistaken.  However, in Ontario, I believe the <a href="http://www.odacommittee.net/"><abbr title="Ontarians with Disabilities Act">ODA</abbr></a> applies, or will apply, to most institutions that receive government funding, including universities, which is all the more reason for them to <a href="http://unitstep.net/blog/2006/06/15/universities-and-web-platforms/">adopt standards</a>.  </p>
<h3>Doing it right</h3>
<p>Designing an accessible website is not particularly hard, but it does take some extra planning.  Not being a public institution, I&#8217;ll admit I haven&#8217;t taken accessibility to heart, as there are many things I could do to improve it.  Thankfully, there are plenty of resources out there.  The <a href="http://www.w3.org/WAI/">Web Accessibility Initiative</a> is a good starting point, and the <a href="http://webxact.watchfire.com/">Watchfire WebXACT</a> tool will help evaluate your site for accessibility.  My site fails horribly right now, however, it wouldn&#8217;t be <em>too</em> hard to fix this, but I just haven&#8217;t bothered because I&#8217;m not aiming to reach everyone; a weak excuse, but an excuse nonetheless.  With a good platform like WordPress, site-wide changes aren&#8217;t hard to implement, and <a href="http://www.darcynorman.net/2005/12/14/structured-blogging-semantic-web-for-the-rest-of-us">structured blogging</a>, a sort of <a href="http://microformats.org/">microformat</a>, could help even more. </p>
<p>In essence, making an accessible website is closely related to making your site semantically sound.  The two aren&#8217;t exactly the same, but if you use semantic markup and get used to it, making things accessible becomes a lot easier.  Every web designer (and also web developers) should be aware of this, and take these best practices to heart.  If I were to design a site for a company or any institution that aimed to reach out to as many people as possible, I would definitely factor in accessibility and semantically sound markup from the beginning, despite the extra planning it would take.  Any time you spent in during this stage would more than make up for any extra time you&#8217;d have to spend converting a poorly-designed site to be accessible. </p>
<h3>The other side of accessibility</h3>
<p>However, one aspect I think is often missed out on is the other side of web accessibility; what I mean by this is that not only must content be accessible, but the <em>ability to produce content</em> should also be accessible to all, regardless of their technical knowledge about web standards.</p>
<p>In the past, this was almost impossible.  Before there were <acronym class="uttAcronym" title="what you see is what you get">WYSIWYG</acronym> editors, people had to write <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> by hand, something not everyone can do.  Even when people did know how to use <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>, it was not always used correctly, and rarely with accessibility in mind.  The dawn of <acronym class="uttAcronym" title="what you see is what you get">WYSIWYG</acronym> editors did not improve this at all, as most of them tended to produce a tag soup of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> that was rarely valid, much less accessible.  (Versions of Microsoft Frontpage are perhaps a good example.)  </p>
<p>Thus, the web turned into a jumble of unsound pages and examples of the ineffective use of <acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym>, and later, <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a>.  I don&#8217;t believe this was the fundamental fault of the authors, as I don&#8217;t believe everyone who wants to publish content on the web should have to understand all the details of <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> - after all, does the author of a book usually have to understand all the intricate details of book publishing?  I believe the fault lay with the lack of an easy-to-use editor that could produce structurally sound markup.</p>
<p>Thankfully, things are getting better.  Ever since web accessibility standards were <a href="http://www.w3.org/TR/WAI-WEBCONTENT/">clearly defined</a>, there have been movements to make publishing well marked-up content easier on the web.  Firstly, many online blogging services offer fairly easy-to-use editors, and <a href="http://unitstep.net/blog/2006/05/13/blog-from-word-2007/">the next version of Word</a> will support blogging, and hopefully, valid <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> output.  <a href="http://tinymce.moxiecode.com/">TinyMCE</a>, a <acronym class="uttAcronym" title="what you see is what you get">WYSIWYG</acronym> editor written entirely in JavaScript, can be used with <a href="http://wordpress.org">WordPress</a> and <a href="http://drupal.org">Drupal</a>, popular blog and <acronym class="uttInitialism" title="Content Management System">CMS</acronym> platforms, respectively.  It effectively provides a word-processor-like interface for document creation, and should greatly improve people&#8217;s ability to easily publish web content within a <acronym class="uttInitialism" title="Content Management System">CMS</acronym> without having to burden a tech services department. </p>
<p>Let&#8217;s hope these editors continue to improve to increase accessibility, on both sides of the coin.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2006/06/27/web-accessibility-both-sides-of-the-coin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>About separation of behaviour and presentation</title>
		<link>http://unitstep.net/blog/2004/09/19/about-separation-of-behaviour-and-presentation/</link>
		<comments>http://unitstep.net/blog/2004/09/19/about-separation-of-behaviour-and-presentation/#comments</comments>
		<pubDate>Sun, 19 Sep 2004 16:05:46 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[CSS]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.unitstep.net/blog/archives/2004/09/19/about-separation-of-behaviour-and-presentation/</guid>
		<description><![CDATA[If any of you have visited SimpleBits (the personal site of Dan Cederholm), you&#8217;ll probably be aware of their great SimpleQuiz series of discussion-provoking questions that are mostly about semantics.  While I&#8217;m not a huge semantic nut (though I think semantics are useful, but at times impractical), one quiz caught my attention over the [...]]]></description>
			<content:encoded><![CDATA[<p>If any of you have visited <a href="http://www.simplebits.com">SimpleBits</a> (the personal site of Dan Cederholm), you&#8217;ll probably be aware of their great <a href="http://www.simplebits.com/notebook/simplequiz/index.html">SimpleQuiz</a> series of discussion-provoking questions that are mostly about semantics.  While I&#8217;m not a huge semantic nut (though I think semantics are useful, but at times impractical), one quiz caught my attention over the summer, and I&#8217;ve still been thinking about its topics for a while.</p>
<p>That quiz would be <a href="http://www.simplebits.com/notebook/2004/05/06/sq.html">SimpleQuiz XVI: Launching Windows</a>.  It proposes the question of what is the correct way to launch a new window for a hyperlink when it is clicked on.  Since <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 1.0 Strict and <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 1.1 (without the proper module) do not allow the <code>target</code> attribute, this is a problem when it comes to validation.  (<acronym class="uttInitialism" title="HyperText Markup Language">HTML</acronym> 4 Strict does also not allow the <code>target</code> attribute.)   A limited set of solutions is intially proposed, but the comments quickly provoke more questions, such as:  Should a website even be able to specify a new window for a link, to the chagrin of some users?</p>
<p>Many users felt that the answer to this such question should be a resounding &#8220;No&#8221;, as many people seem to be annoyed when the default behaviour of a clicked link is something else than they expect.  This is understandable, as most of the people who are responding are undoubtedly &#8220;power users&#8221; who have plenty of Internet browsing experience and well-defined habits.  However, many people are not like that and that nonwithstanding, I still think there are legitimate uses for launching a new window, for example, from a page that has been POST&#8217;d to, and as such, the web developer might not want the user to leave the page, which could perhaps expire the data.</p>
<p>Also, using the <code>target</code> attribute despite the fact that the attribute is not specified in those aforementioned DOCTYPEs is not an acceptable solution for those who take their validation seriously.  That leaves the option open to using <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> 1.0 Transitional, which I don&#8217;t believe is a problem, but many people will gawk at this suggestion as well.</p>
<p>Therefore, the solution of using JavaScript to perform the new window opening was suggested as the ideal solution, since, JavaScript should primarily be responsible for behaviour, and the opening of a new window is most definitely a behavioural aspect.  However, as many pointed out, the implementation of this solution matters heavily.  Simply putting an inline call to JavaScript in the <a href="http://www.w3.org/MarkUp/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="eXtensible HyperText Markup Language - HTML reformulated as XML">XHTML</acronym></a> code is no better than non-separation of content and presentation, since inline JavaScript combines behaviour with content.</p>
<p>In the end, the solution I liked best was to assign a class to any link that you wanted to open in a new window, then use JavaScript to navigate the DOM and change the target property of such elements to <code>_blank</code>.  Though, some people will again go back to the first question, and say that you shouldn&#8217;t have any links open in a new window by default, and then back up this claim by saying that <a href="http://ln.hixie.ch/?start=1037202166&#038;count=1">the &#8220;semanticness&#8221;</a> is suspect.</p>
<p>A nicer solution would be to identify external links using different styling, and also have a JavaScript-enabled control on the page that could toggle the opening of such &#8220;external&#8221; links in new windows on or off.  I&#8217;ve seen this before, and so a moderate knowledge of JavaScript and <acronym class="uttInitialism" title="Cascading Style Sheets">CSS</acronym> would be all that was needed to make such a useful script.</p>
<p>But a bigger question that was raised in my mind was regarding the initial topic of separation of behaviour and style.  In the current version of <acronym class="uttInitialism" title="Cascading Style Sheets">CSS</acronym>, this may not be fully encouraged, in my opinion.  The small example I have is of the <code>:hover</code> pseudo-class used as a selector.  As many of you know, it allows the style of elements that recieve an &#8220;onmouseover&#8221; event to be specified.  But, should any style changes be implemented this way, since it explicitly uses <acronym class="uttInitialism" title="Cascading Style Sheets">CSS</acronym> to define a behavioural aspect, that is, what happens when the mouse pointer hovers over an element?  Don&#8217;t get me wrong - I&#8217;m not trying to preach to everyone, as I&#8217;ve always uses the <code>:hover</code> as a selector; it&#8217;s just much easier than using a JavaScript solution, which is entirely possible.</p>
<p>But, then again, using the <code>target</code> attribute is also easier.  Right now, I&#8217;m sort of confused - both appear to violate the separation of either behaviour and content or behaviour and presentation yet one is apparently condoned on the whole.</p>
<hr/>Copyright &copy; 2008 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2004/09/19/about-separation-of-behaviour-and-presentation/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
