<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Posts by Toby</title>
    <link>http://tobyho.com/tag/airportyh</link>
    <language>en-us</language>
    <item>
      <title>How Much of the Internet Work Without Javascript</title>
      <description>Recently Paul Boag showed dissatisfaction at the fact that most ecommerce sites don't work without Javascript, which stand against progress enhancement. Coincidentally, I am just now in the middle of working on a&amp;nbsp;&lt;a href="http://github.com/airportyh/CSS.Features"&gt;Javascript library&lt;/a&gt;&amp;nbsp;that aims to make using CSS3 features and writing cross-browser CSS easier. So this got me thinking...&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I &lt;i&gt;love&lt;/i&gt;&amp;nbsp;Javascript! I won't make any secret of this. I also love writing ajaxy web applications. Although I allow that there's value to making your site work without Javascript, to me, at least, it bares a lower priority. Of course, as is always the case, the answer depends very much on your target&amp;nbsp;audience. Google Docs, for example, is more of a software tool than a web site, and so it wouldn't really make sense to make it work without Javascript - the result probably wouldn't be very useful anyway, because the essence of Google Docs, &lt;i&gt;is &lt;/i&gt;the UI.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;However, to consider the applicability of my Javascript library, I must consider whether it is acceptable to web designers that their design requires their users to have Javascript enabled.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;And so, I resolved to survey how some of the major web sites and web applications look like and work like with Javascript disabled, so as to get a sense of what is the accepted norm on the web today.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Contenders&lt;/b&gt;&lt;/div&gt;&lt;div&gt;I want to survey really popular sites. I also want to survey some content-centric sites, as well as some utility-type web-apps. The list has a Web 2.0 slant to it, but also include some old timers. Without further ado, the list is:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/"&gt;The New York Times&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="digg.com"&gt;Digg.com&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="facebook.com"&gt;Facebook&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="twitter.com"&gt;Twitter&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="stackoverflow.com"&gt;StackOverflow&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="google.com"&gt;Google Search&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="cnn.com"&gt;CNN&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="amazon.com"&gt;Amazon&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="ebay.com"&gt;Ebay&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="boagworld.com"&gt;BoagWorld&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="maps.google.com"&gt;Google Maps&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="docs.google.com"&gt;Google Docs&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="gmail.com"&gt;Google Mail&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="rememberthemilk.com"&gt;Remember The Milk&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="flickr.com"&gt;Flickr&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="picasaweb.com"&gt;Picasa Web&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="youtube.com"&gt;YouTube&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="wordpress.com"&gt;Wordpress&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="github.com"&gt;GitHub&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Scoring System&lt;/b&gt;&lt;/div&gt;&lt;div&gt;To evaluate how well each site works with Javascript disabled, I will use a scoring metric. The scoring will be based on the following 6 questions, each account for 1 point of the total score. Thus, 6 out of 6 is the perfect score.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Can users navigate the site? (1 point)&lt;br&gt;&lt;/li&gt;&lt;li&gt;Can users read/view the content? (1 point)&lt;br&gt;&lt;/li&gt;&lt;li&gt;Is the site free of broken visual elements? (1 point)&lt;br&gt;&lt;/li&gt;&lt;li&gt;Can users perform the key tasks of the site? (1 point)&lt;br&gt;&lt;/li&gt;&lt;li&gt;Is the site free of broken input elements? (1 point)&lt;br&gt;&lt;/li&gt;&lt;li&gt;If things are broken, are users made aware of it? (1 point)&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Let's get started!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The New York Times&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Times Screenshot" alt="Times Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5iV7EyeHoI/AAAAAAAAOS8/pAd6P0ZlC34/s400/Screen%20shot%202010-03-11%20at%202.03.53%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;As expected, the New York Times looked great. Visually it didn't look much different from a Javascript enabled version. Flash ads are replaced by static image ads. One minor hiccup is a twitter widget which appears to spin indefinitely. The video section does not work at all, and there's is no message telling you you need Javascript to run it.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO(video section)&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO(video section)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Score 3/6 for the Times.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Digg&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Digg Screenshot" alt="Digg Screenshot" src="http://lh6.ggpht.com/_1m4jxPGXQAo/S5iUrbQkxbI/AAAAAAAAOSI/blqjKTLbhh0/s400/Screen%20shot%202010-03-11%20at%201.58.38%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Digg's page looks okay. The flash ads have disappeared, leaving whitespace in their place. You can navigate the site and view articles just fine. However, you cannot "digg" or "bury" articles, which I think is a pretty &lt;i&gt;key&lt;/i&gt;&amp;nbsp;task of the site.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO(digg button broken)&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Digg gets a 2/6.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Facebook&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Facebook Screenshot" alt="Facebook Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5iXFHCGluI/AAAAAAAAOTc/u1zJ63oyA-8/s400/Screen%20shot%202010-03-11%20at%202.07.00%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;From a visual stand point, Facebook looks perfect. You can navigate and read most of the content of Facebook, including viewing photo albums. You cannot update your status; you cannot edit your profile; you cannot record videos of yourself, and there's no warning.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO(can't update status)&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Facebook's score: 3/6.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Twitter&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Twitter Screenshot" alt="Twitter Screenshot" src="http://lh6.ggpht.com/_1m4jxPGXQAo/S5ibEQUQ5QI/AAAAAAAAOTk/pRYQpeAabUs/s400/Screen%20shot%202010-03-11%20at%202.25.41%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Twitter looks great without Javascript, but guess what? You cannot tweet! Bummer. You also can't edit some of the settings in your profile.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;3/6 for Twitter.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Stack Overflow&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Stack Overflow Screenshot" alt="Stack Overflow Screenshot" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S5ibUBgXzPI/AAAAAAAAOTo/mWxlZ-Mo5-g/s400/Screen%20shot%202010-03-11%20at%202.26.51%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;When you go the SO, a flash banner informs you that the site works best with Javascript enabled: nice, how refreshing! Navigation works, even asking questions, editing and posting works. However, voting does not work. For this one, I'll allow that the key tasks work, because I think the most important things are asking and answering questions; voting, although important, is secondary to those two things.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? YES&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;5/6. Wow! Way to go, Jeff!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Google Search&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Google Screenshot" alt="Google Screenshot" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S5idMm6mOUI/AAAAAAAAOTw/Keqz_8vXZ-A/s400/Screen%20shot%202010-03-11%20at%202.34.54%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Google Search works well, however, Image results that come up on the top of the search results show up blank. I gotta say I am very surprised that this doesn't work perfectly. I mean, this is&amp;nbsp;&lt;i&gt;the Google&lt;/i&gt;!&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;4/6 for Google Search.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;CNN&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="CNN Screenshot" alt="CNN Screenshot" src="http://lh6.ggpht.com/_1m4jxPGXQAo/S5ieLrhX6kI/AAAAAAAAOT4/d1FGHWMiC7Q/s400/Screen%20shot%202010-03-11%20at%202.39.06%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;CNN worked about as well as the Times. Navigation and reading content worked but not the videos. Although the videos on CNN are more prominent than on the Times, and also break more spectacularly:&lt;/div&gt;&lt;div&gt;&lt;img title="CNN Broken Video Screenshot" alt="CNN Broken Video Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5ifKwo_0xI/AAAAAAAAOT8/1F2WZDTT1mU/s400/Screen%20shot%202010-03-11%20at%202.43.21%20AM.jpg"&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;3/6 for CNN.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Amazon&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Amazon Screenshot" alt="Amazon Screenshot" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S5ifnO0_urI/AAAAAAAAOUA/E3yXMK0iwqQ/s400/Screen%20shot%202010-03-11%20at%202.45.14%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Amazon is the one you gotta count on to do well in this. The site looks perfect. I've tested adding and update the shopping cart, which worked perfectly. I haven't actually gone all the way through and purchased something for this test, but I feel confident that everything would work.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? N/A&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;6/6! Perfect for Amazon!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Ebay&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Ebay Screenshot" alt="Ebay Screenshot" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S5ihxR8mvjI/AAAAAAAAOUI/ujEt4ezIFZ4/s400/Screen%20shot%202010-03-11%20at%202.54.29%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Ebay is also an old timer ecommerce site. I don't see how it could fail any of these.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? N/A&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;6/6 for Ebay.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Boagworld&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="BoagWorld Screenshot" alt="BoagWorld Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5iiRH5KOAI/AAAAAAAAOUQ/jpRNglRMLA0/s400/Screen%20shot%202010-03-11%20at%202.56.32%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Let's see if Paul puts his money where his mouth is. Boagworld looks perfect. forums work. Even the flash videos and audio work! That's pretty amazing. This is the first site I've seen where video works without Javascript.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? N/A&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;6/6. Good On Ya! Paul Boag!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Google Maps&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Google Maps Screenshot" alt="Google Maps Screenshot" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S5ijj_JgaEI/AAAAAAAAOUY/4ed2KI52Dgo/s400/Screen%20shot%202010-03-11%20at%203.02.06%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Google Maps is the web application that gave life to Ajax. But much to my surprise, it actually works with Javascript turned off. Well... kinda sorta. You can plot an address on the map - even zoom and pan - but you cannot get directions. This is a tough one. On the one hand, it degrades 100% gracefully; on the other hand, without being able to give directions, it's all but crippled.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? N/A&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;5/6 for you, Google Maps. Hey, don't be sad, 5/6 is pretty damn good!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Google Docs&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Google Docs Screenshot" alt="Google Docs Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5ilUPqizpI/AAAAAAAAOUg/Brwo1WjgQaU/s400/Screen%20shot%202010-03-11%20at%203.09.20%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Ouch! That's not a pretty picture. None of the buttons or sidebar items did anything when clicked. The loading indicators are just stuck there. This thing is pretty much...dead.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Wow! Our first - and possible &lt;i&gt;only&lt;/i&gt; - 0/6. Congrats Google Docs!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Gmail&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Gmail Screenshot" alt="Gmail Screenshot" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S5imxzAQlaI/AAAAAAAAOUo/yo7sJVokFLw/s400/Screen%20shot%202010-03-11%20at%203.15.52%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Two epic fails in a row from Google? Are you kidding me? Oh, but wait! What's this? On the bottom right there's a "Load basic HTML" link. You click on it and...&lt;/div&gt;&lt;div&gt;&lt;img title="Gmail Screenshot 2" alt="Gmail Screenshot 2" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S5inYl0ag6I/AAAAAAAAOUs/0fFqNBCyQaw/s400/Screen%20shot%202010-03-11%20at%203.17.51%20AM.jpg"&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Tada! Talk about drama! That's like a last second Hail-Mary pass for a TD or something. The functionality is all there for the basic HTML version. The only thing I'd pick on is the fact that it's not made very apparent that this option is available. In other words, the degradation ain't so graceful. I guess you could call it clumsy degradation?&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;4/6 is all you get, Gmail!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Remember The Milk&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Milk Screenshot" alt="Milk Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5ipJiwM1kI/AAAAAAAAOU0/sSoe8mVJvI4/s400/Screen%20shot%202010-03-11%20at%203.26.02%20AM.jpg"&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Well, at least they are up-front about it...&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? YES&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;3/6. Wow, you can not work at all, and &lt;i&gt;still&lt;/i&gt;&amp;nbsp;get 3/6!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Flickr&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Flickr Screenshot" alt="Flickr Screenshot" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S5ip0xAJQsI/AAAAAAAAOU4/FKCueIhrAeM/s400/Screen%20shot%202010-03-11%20at%203.28.54%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Flickr looks great, and mostly works. The things that don't work are in-place photo editing features, adding tags and people.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;4/6 for Flickr.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Picasa Web&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Picasa Web Screenshot" alt="Picasa Web Screenshot" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S5iqq92BeTI/AAAAAAAAOVA/3ExI8nEMYNI/s400/Screen%20shot%202010-03-11%20at%203.32.23%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Picasa Web informs you that your browser is not fully supported, but you are welcome to have a look around. You can see some pictures under the "Explore" tab, but not your own pictures. You also cannot upload your own pictures. It's basically crippled.&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? YES&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;1/6. Google, Google. Not doing so well, are you?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;YouTube&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="YouTube Screenshot" alt="YouTube Screenshot" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S5iruOWcFAI/AAAAAAAAOVI/AZpMCoxM_Po/s400/Screen%20shot%202010-03-11%20at%203.36.59%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Hate to rub it in, but YouTube is a FAIL as well. You can still navigate the site, but not play any videos.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;1/6 for YouTube.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;WordPress&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Wordpress Screenshot" alt="Wordpress Screenshot" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S5itCWPldHI/AAAAAAAAOVQ/lX2peaMRdM8/s400/Screen%20shot%202010-03-11%20at%203.42.36%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;WordPress works for the most part, but the parts that don't work do not degrade gracefully. Comments are broken. "Visual" editing is also broken, but you &lt;i&gt;can&lt;/i&gt;&amp;nbsp;write posts.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;4/6 for Wordpress.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="GitHub Screenshot" alt="GitHub Screenshot" src="http://lh6.ggpht.com/_1m4jxPGXQAo/S5iuKLzxVtI/AAAAAAAAOVY/SAUEyX31kwo/s400/Screen%20shot%202010-03-11%20at%203.47.17%20AM.jpg"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Last but not least, GitHub. I am, after all, the geek's geek. GitHub actually works very well. The only hiccups are small UI elements like the URL box, and the "Add File" button of the Gist dialog.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users navigate the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users read/view the content? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken visual elements? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Can users perform the key tasks of the site? YES&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;Is the site free of broken input elements? NO&lt;br&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.5em; list-style-type: decimal; list-style-position: inside; list-style-image: initial; "&gt;If things are broken, are users made aware of it? NO&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;4/6 for GitHub.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Final Tally&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Here is a summary of all the scores:&lt;/div&gt;&lt;div&gt;&lt;img title="Site vs Score Chart" alt="Site vs Score Chart" src="https://spreadsheets.google.com/oimg?key=0AvuDADmGj683dGRGbTQwMVRRNmh1QklIWTcteGZwR0E&amp;amp;oid=1&amp;amp;v=1268299001872"&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;The winners were Amazon, Ebay, and Boag World.&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline !important; "&gt;The average score for all the sites surveyed is 3.52. Only 26% of the site had a score of 5 or higher. What this practically means is that 74% of the sites had something broken about them when Javascript is disabled.&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Summary By Metric&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;img title="Summary By Metric Chart" alt="Summary By Metric Chart" src="https://spreadsheets.google.com/oimg?key=0AvuDADmGj683dGRGbTQwMVRRNmh1QklIWTcteGZwR0E&amp;amp;oid=2&amp;amp;v=1268299387172"&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;What &lt;i&gt;this&lt;/i&gt;&amp;nbsp;chart shows is that most sites allow users to navigate and/or view the content on the site, in fact around 80% of them do. But, I think it's important to note that only 58% allowed users to perform the key tasks of the site. In other words, the other 42% are basically crippled. Another thing to note is that only 16% of sites that are broken let their users know that the site is broken without Javascript in some form or fashion - this is actually a really easy thing to fix, one could do what Stack Overflow does and just put up a flash banner on the top of the page, and be done with it.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;See&amp;nbsp;&lt;a href="http://spreadsheets.google.com/pub?key=tdFm401TQ6huBIHY7-xfpGA&amp;amp;single=true&amp;amp;gid=0&amp;amp;output=html"&gt;this spreadsheet&lt;/a&gt;&amp;nbsp;for all the data in one place.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/div&gt;&lt;div&gt;What have we learned? Well, if you insist on turning off Javascript, the web isn't going to be much fun. It should be noted however that the ecommerce sites (and serious web designers) are the ones that take this very seriously.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;As for the Javascript library that I am building: I plan on releasing it soon. I think maybe what I'll do is to let Javascript-enabled be the default mode of operation, but given a fallback option, albeit somewhat more complexed one.&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 11 Mar 2010 03:52:53 -0500</pubDate>
      <guid>http://tobyho.com/How_Much_of_the_Internet_Work_Without_Javascript</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/How_Much_of_the_Internet_Work_Without_Javascript</link>
    </item>
    <item>
      <title>My Work Mail Filter</title>
      <description>My company recently switched to Google Apps. One of the implications of this is that I can use Gmail's mail filters. Since - like many company - I get a daily plethora of list emails, I thought I'd create a simple rule to filter them down to only the ones that require my attention.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Attempt #1:&lt;/div&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: normal; white-space: normal; word-spacing: 0px; border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;Matches:&amp;nbsp;&lt;span class="qW" style="font-weight: bold; "&gt;-{Toby}&lt;/span&gt;&lt;br&gt;Do this: Skip Inbox&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;div&gt;This rule says that if the email does not have my name in it anywhere, then skip the Inbox(like Google Search, "-" is the NOT operator).&amp;nbsp;This worked fairly well, but I found that there were some false positives after a week or so of using it. So it needed some tuning up.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Attempt #2:&lt;/div&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: normal; white-space: normal; word-spacing: 0px; border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;Matches:&amp;nbsp;&lt;span class="qW" style="font-weight: bold; "&gt;to:(-&lt;i&gt;my@company.email&lt;/i&gt;) -{Toby Birthday}&lt;/span&gt;&lt;br&gt;Do this: Skip Inbox&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;div&gt;I found that once in a while, there'd be a message addressed to me directly, but would not have my name in the message. I fixed this by putting &lt;i&gt;-my@company.email&lt;/i&gt; in the &lt;i&gt;To&lt;/i&gt; field of the filter(replace &lt;i&gt;my@company.email&lt;/i&gt;&amp;nbsp;with your own email). So, this filter will only apply to mail not addressed directly to me - the ones sent to mailing lists, basically.&amp;nbsp;Also, I'd like to be notified of people's birthday, so I added the word &lt;i&gt;Birthday&lt;/i&gt;&amp;nbsp;to the &lt;i&gt;doesn't-have&lt;/i&gt; list.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Attempt #3:&lt;/div&gt;&lt;div&gt;Whenever I request support, I always first get a message first that says: &lt;i&gt;Thank you for your support request. &lt;/i&gt;This is pretty uninformative, so I don't need to be alerted to them. So I added the rule:&lt;/div&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: normal; white-space: normal; word-spacing: 0px; border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;Matches:&amp;nbsp;&lt;span class="qW" style="font-weight: bold; "&gt;from:(&lt;i&gt;our@support.email&lt;/i&gt;) Thank you for your support request.&lt;/span&gt;&lt;br&gt;Do this: Skip Inbox&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;That's what I've got so far. This post will be updated as I further fine tune my mail filters.&lt;/div&gt;</description>
      <pubDate>Tue, 09 Mar 2010 12:14:06 -0500</pubDate>
      <guid>http://tobyho.com/My_Work_Mail_Filter</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/My_Work_Mail_Filter</link>
    </item>
    <item>
      <title>60s Music from Lost</title>
      <description>My latest obsession: 60's music from&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Lost_(TV_series)"&gt;Lost&lt;/a&gt;. In particular, Desmond's song from the very beginning of the first episode of Season 2:&amp;nbsp;&lt;a href="http://www.google.com/search?hl=en&amp;amp;client=safari&amp;amp;rls=en&amp;amp;q=cass+elliot+make+your+own+kind+of+music&amp;amp;aq=0&amp;amp;aqi=g2&amp;amp;aql=&amp;amp;oq=cass+elliot+make+you"&gt;Make Your Own Kind of Music by Cass Elliot&lt;/a&gt;; and Juliet's intro on the first episode of the 3rd season:&amp;nbsp;&lt;a href="http://www.google.com/search?client=safari&amp;amp;rls=en&amp;amp;q=petula+clark+downtown&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8"&gt;Downtown by Petula Clark&lt;/a&gt;. I found these songs by Googling the lyrics. Never heard of these folks before. I bought Cass Elliot's Mama's Big Ones and Petula Clark's Downtown, and have been listening for a few weeks, and am enjoying them. My favorite song is Cass Elliot's &lt;i&gt;Ain't Nobody Else Like You&lt;/i&gt;. Cass is a big woman who has a sweet and somewhat childish voice which I like, I also like the music style which has some "hip" brass accompaniment. Petula Clark's voice somewhat resembles Julie Andrews, &lt;i&gt;Don't Sleep In The Subway&lt;/i&gt; and &lt;i&gt;I Couldn't Live Without Your Love&lt;/i&gt; on the album are quite catchy.</description>
      <pubDate>Sat, 06 Mar 2010 10:32:55 -0500</pubDate>
      <guid>http://tobyho.com/60s_Music_from_Lost</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/60s_Music_from_Lost</link>
    </item>
    <item>
      <title>Javascript sort() Gotcha</title>
      <description>&lt;i&gt;Javascript pop quiz!&lt;/i&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;What is the result of this code?&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.2em; padding-right: 0.8em; padding-bottom: 0.2em; padding-left: 0.8em; font-family: monospace; font-size: 11px; background-color: rgb(238, 238, 238); "&gt;var arr = [12, 3, 24]&lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.2em; padding-right: 0.8em; padding-bottom: 0.2em; padding-left: 0.8em; font-family: monospace; font-size: 11px; background-color: rgb(238, 238, 238); "&gt;arr.sort()&lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.2em; padding-right: 0.8em; padding-bottom: 0.2em; padding-left: 0.8em; font-family: monospace; font-size: 11px; background-color: rgb(238, 238, 238); "&gt;arr&lt;/pre&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;You: [3, 12, 24]&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Me: Wrong, You get an F!&amp;nbsp;The correct answer is: [12, 24, 3].&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;You: WTF?&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Me: Array.prototype.sort() uses lexical ordering by default. That is to say, it converts everything to string before comparing them. Thus, '12' comes before '24' comes before '3'.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;You: So how do you make it sort numbers?&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Me: You pass it a comparator function as an argument:&lt;/i&gt;&lt;/div&gt;&lt;pre&gt;arr.sort(function(a, b){&lt;/pre&gt;&lt;pre&gt;  return a - b&lt;/pre&gt;&lt;pre&gt;})&lt;/pre&gt;&lt;div&gt;&lt;i&gt;You: That makes sense, I guess. But still...that is pretty messed up.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br&gt;&lt;/i&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 04 Mar 2010 22:53:40 -0500</pubDate>
      <guid>http://tobyho.com/Javascript_sort%28%29_Gotcha</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Javascript_sort%28%29_Gotcha</link>
    </item>
    <item>
      <title>Memoize for Javascript</title>
      <description>I wrote a memoize function for Javascript today to cache file timestamps. I thought I would share it with the world. Here is the code:&lt;pre&gt;function memoize(f){
    var cache = {}
    return function(){
        var keys = []
        for (var i = 0; i &amp;lt; arguments.length; i++){
            keys.push(typeof(arguments[i]) + ':' + String(arguments[i]))
        }
        var key = keys.join('/')
        if (key in cache){
            return cache[key]   
        }else{
            var val = f.apply(null, arguments)
            cache[key] = val
            return val
        }
    }
}&lt;br&gt;&lt;/pre&gt;&lt;div&gt;Let's say you have a function:&lt;/div&gt;&lt;pre&gt;function f(x, y){&lt;/pre&gt;&lt;pre&gt;  return x + y * 2&lt;/pre&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;div&gt;If you memoize it:&lt;/div&gt;&lt;pre&gt;f = memoize(f)&lt;/pre&gt;&lt;div&gt;The first time you call f with arguments (3, 4):&lt;/div&gt;&lt;pre&gt;f(3, 4) =&amp;gt; 11&lt;/pre&gt;&lt;div&gt;It will compute it, but the second time:&lt;/div&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', Verdana, Helvetica, Arial; font-size: 18px; white-space: normal; "&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.2em; padding-right: 0.8em; padding-bottom: 0.2em; padding-left: 0.8em; font-family: monospace; font-size: 11px; background-color: rgb(238, 238, 238); "&gt;f(3, 4) =&amp;gt; 11&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;It will merely return the cached value computed from the last time.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Note about the implementation: the equality metric used by this memoize function is: 2 objects are equal iff they are of the same type:&lt;/div&gt;&lt;pre&gt;typeof(one) == typeof(other)&lt;/pre&gt;&lt;div&gt;and, they have the same string represention:&lt;/div&gt;&lt;pre&gt;String(one) == String(other)&lt;/pre&gt;&lt;div&gt;That is it. Enjoy!&lt;/div&gt;</description>
      <pubDate>Thu, 04 Mar 2010 22:03:19 -0500</pubDate>
      <guid>http://tobyho.com/Memoize_for_Javascript</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Memoize_for_Javascript</link>
    </item>
    <item>
      <title>Say No to Syncing</title>
      <description>If you are a podcast listener like me, you have probably accustomed yourself to connecting your iPod to your computer everyday to get your new podcast episodes. This is a big hassle, but in the age of the iPod, this made a lot of sense. You sync your podcasts, just like you would sync your music collection, because the only way to get your media onto the iPod was through the USB cable. Apple also did a great job of integrating the podcast experience into iTunes and the iPod, their podcast listening experience was second to none.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Enter the iPhone&lt;/i&gt;. And later the iPod Touch as well as other smartphones which came into the market to compete with the iPhone. These new devices are internet enabled, and so they possessed the power to download the new podcast episodes by themselves, and thus the daily chore of syncing podcasts can be eliminated. With the&amp;nbsp;&lt;a href="http://rssplayer.blogspot.com/"&gt;RSS Player app&lt;/a&gt;&amp;nbsp;you can catch new podcast episodes for your favorite podcasts directly on the device - no need to connect to a computer or go through iTunes at all.&amp;nbsp;On the Android platform, there is &lt;i&gt;Listen&lt;/i&gt; and a handful of other apps which do the same thing, and so G1, Droid, and other Android phone users can enjoy this convenience as well. But my guess is that most people are still syncing podcasts. &lt;i&gt;Why is that? You ask.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Apple&amp;nbsp;&lt;a href="http://arstechnica.com/apple/news/2008/09/apple-denies-iphone-podcast-app-for-duplicating-itunes.ars"&gt;rejected&lt;/a&gt;&amp;nbsp;what came to be the RSS Player app at first. They saw it as stepping on their own turf. Not long after that, they allowed users to download specific podcast episodes directly from their device, but still no automatic updates. Why they didn't add that feature is very puzzling to me. To me, Apple is still hanging on their dock-n-USB paradigm, which - in my opinion - will go out of fashion very soon. Case and point: the iPad. Why would the iPad need a dock connector? It's freakin' ridiculous. You may say: &lt;i&gt;they want you to use iTunes.&lt;/i&gt; To that I say: &lt;i&gt;you can use iTunes on the iPad.&lt;/i&gt; You may say: &lt;i&gt;it needs to sync with the music collection&lt;/i&gt;. Then I say: &lt;i&gt;you should be able to sync over wi-fi!&lt;/i&gt;&amp;nbsp;I also predict - and I am not the only one by far - that on-demand music streaming is going to obviate the need for the syncing of even your music collection in probably 2-3 years. Who knows, Apple might even be the one pioneering that movement, given that they've bought&amp;nbsp;&lt;a href="http://www.lala.com/"&gt;Lala&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;And so, to smartphone or iPod Touch users who are still syncing podcasts, I'd say this:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Stop pushing the button.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;img title="The Button" alt="The Button" src="http://lh4.ggpht.com/_1m4jxPGXQAo/S3XgGfeNXlI/AAAAAAAANUw/c_Z4P1XjG6g/s800/the-button.jpg"&gt;&lt;/div&gt;</description>
      <pubDate>Fri, 12 Feb 2010 18:13:57 -0500</pubDate>
      <guid>http://tobyho.com/Say_No_to_Syncing</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Say_No_to_Syncing</link>
    </item>
    <item>
      <title>My Thoughts on the iPad</title>
      <description>&lt;div&gt;&lt;img title="iPad" alt="iPad" src="http://lh5.ggpht.com/_1m4jxPGXQAo/S2J5DkVcX_I/AAAAAAAAMzw/ugNLdjGv_zQ/s800/iPad.jpg"&gt;&lt;br&gt;&lt;/div&gt;I've followed&amp;nbsp;&lt;a href="http://www.engadget.com/2010/01/27/live-from-the-apple-tablet-latest-creation-event/"&gt;engadget's live blog&lt;/a&gt;, seen the&amp;nbsp;&lt;a href="http://www.apple.com/ipad/"&gt;keynote video&lt;/a&gt;, listened to &lt;a href="http://www.cnet.com/8301-19709_1-10442812-10.html"&gt;Tom and Molly talk about it&lt;/a&gt;, even read others' opinions on&amp;nbsp;&lt;a href="http://www.engadget.com/2010/01/27/editorial-engadget-on-the-ipad/"&gt;engadget&lt;/a&gt;,&amp;nbsp;&lt;a href="http://discuss.gdgt.com/apple/ipad/"&gt;gdgt&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://twitter.com/#search?q=ipad"&gt;twitter&lt;/a&gt;, etc etc. I guess you could say I am pretty excited.&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The tech savy(engadget, gdgt, BOL, etc) are in general underwhelmed or disappointed. Below are some of the complaints I have heard:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;No Webcam or microphone - which pretty much rules out using Skype on it, which would have been a great killer app at this form factor. I think they will add these to the iPad in the future. &lt;i&gt;Update: actually, there IS a built-in microphone, so at least you can make audio calls with Skype.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Still No Flash Support - you cannot seriously claim it has the &lt;i&gt;best&lt;/i&gt;&amp;nbsp;web browsing experience when it doesn't support Flash!&amp;nbsp;Apple has not allowed Flash to run on the iPhone all this time. Now that they are doing the &amp;nbsp;same with the iPad - which with it's larger screen you would think would be much better suited to run Flash apps, and add to it the fact that Flash has never ran great on&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/2148424/flash-flex-runs-slower-on-mac"&gt;Macs&lt;/a&gt;,&amp;nbsp;it's becoming obvious that this is political.&amp;nbsp;Apple wants to fight a format war with Adobe. Why would you need flash when you can buy great apps from the app store and buy TV shows and movies from iTunes? On the other hand, I can also see the concern that almost all of the flash apps out there(possibly with the exception of Flash ads) just aren't designed for the touch screen, and having users run them on the iPhone or the iPad degrades the user experience and therefore could hurt the products' reputation. Apple's PR, however, is going with:&amp;nbsp;&lt;a href="http://www.macnn.com/articles/10/01/28/tablet.locks.ibooks.to.apple.hardware.adobe.says/"&gt;"it could rapidly drain battery life"&lt;/a&gt;, which I think is probably in reality 3rd or 4th down on their list of concerns.&lt;/li&gt;&lt;li&gt;No multiple tasks/apps/windows - this is a pretty big one: given the iPad's screen real estate, it seems artificially limiting to not allow multiple apps to be running in separate windows. I believe the iPad will eventually have this feature. How the UI will turn out will be interesting to see.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The App Store Sucks - Apple prevents certain types of applications from entering its App Store. One example is programming language interpreters; another is any app that Apple views as overstepping their core apps' boundaries. Given that the iPad is even more of a computer than the iPhone, these limitations may become even more glaring.&lt;/li&gt;&lt;li&gt;I just don't see the need - "I already have a laptop and a smartphone, there just isn't any more room for yet another device!" I think that at the moment the iPad is more exciting for developers than consumers, but that will change.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;All the negatives are well and good, but I overlook all of them, because, from my point of view, the iPad - and what it will lead to - is &lt;i&gt;much&lt;/i&gt; bigger. All of the tablet computers I've seen in stores in the past - HP's, Fujitsu's, etc: they all suck. These computer manufacturers created tablet computers but installed on them an Operating System which is design from the ground up for use with a mouse and a keyboard. They figured: "A tablet computer has a stylus. We can use it as a pointing device in the same way that a mouse is a pointing device. We just hook up the stylus driver to control the pointer, and boom! We got ourselves a tablet Operating System! Brilliant!" This is understandable, because it is the nature of software engineers to want to build solutions that solve as many problems as possible - and Windows is a very very big solution indeed. However, this tendency also causes brilliant people to routinely produce crap. The tablet form factor is more versatile than the mouse, and can be much more natural to use from a UI standpoint, but dumbing it down and retrofitting it to an inferior UI paradigm caused it to be marginal. Yes, you could use a tablet to draw, sign documents, take notes, etc, but when it came to interacting with the UI elements, it was usually very kludgy.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;iPad is the first tablet I've seen that comes close to realizing the potential of the tablet form factor.&amp;nbsp;Why? It's all about the software, stupid! The software that come with the iPad were designed and written &amp;nbsp;specifically for the large multi-touch screen device. This is to take nothing away from the amazing hardware. Multi-touch was ground breaking when it&amp;nbsp;&lt;a href="http://cs.nyu.edu/~jhan/ftirtouch/"&gt;first surfaced&lt;/a&gt;. When the iPad comes to market, it will be the single best showcase of multi-touch technology. But, the software is what brings it all together, and you can tell Apple put a lot of time and effort into the software.&amp;nbsp;Okay, enough of my rambling. What am I really trying to say?&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;iPad marks a historical step towards&amp;nbsp;our liberation from mouse pointers&amp;nbsp;and a paradigm shift in computer technology.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;I hereby reiterate my&amp;nbsp;&lt;a href="/Simulating_a_Tablet_Using_the_Touchpad"&gt;prediction&lt;/a&gt;&amp;nbsp;that in 5 to 10 years, mice will be on the way to extinction.&lt;/div&gt;&lt;/div&gt;</description>
      <pubDate>Fri, 29 Jan 2010 01:33:07 -0500</pubDate>
      <guid>http://tobyho.com/My_Thoughts_on_the_iPad</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/My_Thoughts_on_the_iPad</link>
    </item>
    <item>
      <title>Simulating a Tablet Using the Touchpad</title>
      <description>&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;img alt="Chinese Handwriting" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S1yxKuywYwI/AAAAAAAAMok/o6PMh12gwQI/s800/Screen%20shot%202010-01-24%20at%201.09.38%20PM.jpg"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;I came across OS X's Chinese Trackpad Handwriting input method the other day, and was really impressed. Once you activate the handwriting mode(hotkey: Ctrl-Shift-Space), the mouse pointer disappears, and you can use write your chinese character on your trackpad using your finger. The UI looks like this:&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;img alt="Handwriting UI" src="http://lh6.ggpht.com/_1m4jxPGXQAo/S1y0yVhw2RI/AAAAAAAAMow/PmE0k18GzQU/s800/Screen%20shot%202010-01-24%20at%203.57.56%20PM.jpg"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What's interesting to me is the buttons on the left and right of the character recognition area. It took me a while to figure out how to use them at first, but after some experimentation, I figured it out: basically, the pretty gray box corresponds to your trackpad, and so to press a button on the upper left corner, you would tap the area in the upper left corner of your trackpad, and so on and so forth. It is very intuitive really. I would even say brilliant. Essentially, the trackpad has been made to work just like the&amp;nbsp;&lt;a href="http://tobyho.com/&#20070;&#27861;with_Vistablet"&gt;Vistablet&lt;/a&gt;&amp;nbsp;or any of the tablet accessories you can get from the Apple store these days.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Which got me thinking, how far can we take this? Can we use this to say...draw? A couple of google searches later, I discovered the &lt;a href="http://tenonedesign.com/inklet.php"&gt;Inklet&lt;/a&gt;&amp;nbsp;from &lt;i&gt;Ten One Design&lt;/i&gt;. The Inklet is an application, which is primarily used with a stylus you can buy from the same company called the Pogo Sketch.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="Pogo Sketch Stylus" src="http://lh3.ggpht.com/_1m4jxPGXQAo/S1y-Eb6pjoI/AAAAAAAAMpU/yZNzLrDZkMc/s800/Screen%20shot%202010-01-24%20at%204.39.17%20PM.jpg"&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The Pogo Sketch is a pressure sensitive stylus that works with the Apple trackpads as well as the iphone and ipod touch. With Inklet and the Pogo Sketch together, you basically have the features of Vistablet. Here's their demo using Photoshop:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="embed" style="width: 560px; height: 340px;"&gt;&lt;span class="embed_indicator"&gt;Embedded Content&lt;/span&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/7KVFmE8la6w&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/7KVFmE8la6w&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;Brilliant, brilliant stuff. Another why-didn't-I-think-of-that moment for me. The lesson from all of this is that, at least for the new Macs, you can do a lot more with the trackpad than you thought(or at least I thought). For some types of applications, it may make sense to completely do away with the mouse pointer and use a tablet-style interface instead, and we can do this NOW! (Yes, now - three days before the imminent release of the Apple Tablet). Tablet doubters, just you wait, tablets&amp;nbsp;&lt;a href="/Tablets_are_the_way_of_the_future"&gt;will&lt;/a&gt;&amp;nbsp;be the way of the future. In 5-10 years(oh this could be another&amp;nbsp;&lt;a href="http://tobyho.com/tag/fourcast"&gt;Fourcast prediction&lt;/a&gt;), the mice could be heading towards extinction. Just you wait.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
      <pubDate>Sun, 24 Jan 2010 16:30:09 -0500</pubDate>
      <guid>http://tobyho.com/Simulating_a_Tablet_Using_the_Touchpad</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Simulating_a_Tablet_Using_the_Touchpad</link>
    </item>
    <item>
      <title>Working From the Future</title>
      <description>This is my second FourCast style prediction. It is the "long term" prediction.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;In the year 2110, 80%&amp;gt; of the earth's workers will work remotely.&amp;nbsp;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;i&gt;&amp;nbsp;Even physical tasks like surgery, construction, or mechanical repair: you can do by logging into a robot remotely and controlling in via a VR-type interface.&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;i&gt;&amp;nbsp;Moreover, many of the reasons for needing to get out of the house have been eliminated, among them:&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;groceries -&amp;nbsp;groceries&amp;nbsp;will be delivered to your fridge. You will order them online - usually on a display on your fridge, or just by talking to it and the groceries will be delivered within a couple of hours.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;social activities - 80% &amp;gt; of social activities will be done via virtual worlds like Second-Life. So you can connect with all of your friends no matter where they are or where you are.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;i&gt;&lt;br&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;The implications of this are:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Because people are not tied to the location where they work, they can be traveling on a day-to-day basis and still not miss a day of work: tourism flourishes.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;By the same logic, people can live where they want to live, not where they have to live, therefore, they move their&amp;nbsp;residence&amp;nbsp;from place to place in a much higher frequency. People who love traveling live in RVs permanently.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;The real estate market will sky rocket, because there will be a large influx of potential buyers from all over the world.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Most jobs will be short-term contracts because for whom you work is no longer tied to where you live, and so there's less of a need for stability and also you have a much larger pool of openings to choose from.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;There will be one global currency to facilitate workers and employers in different countries to do business with one another.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;There will only be 2 or 3 languages in common use throughout the world, and the majority of the people know at least 2 of them.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;90% of dating will happen virtually. Meeting IRL will be considered a major step in a relationship.&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</description>
      <pubDate>Sat, 19 Dec 2009 15:26:06 -0500</pubDate>
      <guid>http://tobyho.com/Working_From_the_Future</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Working_From_the_Future</link>
    </item>
    <item>
      <title>The Future of TV</title>
      <description>&lt;div&gt;I've been enjoying&amp;nbsp;&lt;a href="http://www.fourcastpodcast.com/"&gt;Tom and Scott's FourCast Podcast&lt;/a&gt;&amp;nbsp;and decided that I would make my own predictions in the FourCast style. This post is my first prediction and will be the &lt;i&gt;short term&lt;/i&gt;&amp;nbsp;prediction. Here goes:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;i&gt;In the year 2020, TV will work completely wirelessly. Devices like Apple TV, Roku, Boxee Box, etc. will be merged into the TV itself. HDMI, DVI, Component inputs are only optional features and will be seen as outdated or niche. Apple Inc. will have the best selling TV which will have not a single hole or button on it. TV programming will be IP based and a la carte. TV shows will be delivered via a framework/standard like RSS but which allows for streaming, ad placement as well as paid shows in the form of a la carte or subscription. TV networks have a much smaller role and their main purpose will be to getting advertisers for shows. Google/YouTube will become the biggest TV network and will use ad-sense to place ads for shows anyone can make. Other competing networks will crop up and some of the old TV networks will move to this model but will not over take YouTube. TV channels will become a concept distinct from TV networks, and will be collections of shows/videos created by the TV networks or individual users(kinda like playlists).&amp;nbsp;&lt;/i&gt;</description>
      <pubDate>Thu, 17 Dec 2009 14:42:56 -0500</pubDate>
      <guid>http://tobyho.com/The_Future_of_TV</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/The_Future_of_TV</link>
    </item>
    <item>
      <title>Flex Compiler Slower on 64bit Mode Java on Snow Leopard</title>
      <description>Ever since I upgraded to Snow Leopard, the my flex apps seemed to compile slower. Today, I finally had enough and took a look into this problem. First, there was the weirdness with Java on Mac in that even though the compiler is a command line application(non-GUI), it creates a application menu. I cracked open the &lt;i&gt;mxmlc&lt;/i&gt; script, and added:&lt;pre&gt;-Djava.awt.headless=true&lt;br&gt;&lt;/pre&gt;&lt;div&gt;to &lt;i&gt;VMARGS&lt;/i&gt;. This solved that issue, but didn't make it compile much faster.&lt;/div&gt;&lt;div&gt;Then, after a bit of fiddling around, it turned out that putting java into 32bit mode:&lt;/div&gt;&lt;pre&gt;-d32&lt;/pre&gt;&lt;div&gt;fixed the problem! The difference was significant. I tested this in 2 different apps. For App 1, it took 45 seconds to compile on 64bit mode, only 9 seconds on 32bit mode. For App 2, it took 30 seconds on 64bit mode, only 7 seconds on 32bit mode. So, &lt;i&gt;mxmlc&lt;/i&gt;&amp;nbsp;performs 4-5 times slower on 64bit java than 32bit, java. Why would this be the case, I have no idea. If anyone has an idea, I'd love to be enlightened. If you come across this problem, the fix is to open up &lt;i&gt;mxmlc&lt;/i&gt;, and edit the line that says:&lt;/div&gt;&lt;pre&gt;VMARGS="-Xmx1024m -Dsun.io.useCanonCaches=false"&lt;br&gt;&lt;/pre&gt;&lt;div&gt;and change it to:&lt;/div&gt;&lt;pre&gt;VMARGS="-Xmx1024m -Dsun.io.useCanonCaches=false -Djava.awt.headless=true -d32"&lt;br&gt;&lt;/pre&gt;&lt;div&gt;I hope that helps someone.&lt;/div&gt;</description>
      <pubDate>Tue, 17 Nov 2009 15:16:37 -0500</pubDate>
      <guid>http://tobyho.com/Flex_Compiler_Slower_on_64bit_Mode_Java_on_Snow_Leopard</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Flex_Compiler_Slower_on_64bit_Mode_Java_on_Snow_Leopard</link>
    </item>
    <item>
      <title>Taking an Average in CouchDB</title>
      <description>More fun with CouchDB, this time taking an average of something:&lt;pre&gt;// map
function(doc){
    emit(null, doc.info.size) // in place of doc.info.size, you'd put whatever&lt;/pre&gt;&lt;pre&gt;                               // value you want averaged here
}
// reduce
function(keys, values, rereduce) {
    if (!rereduce){
        var length = values.length
        return [sum(values) / length, length]
    }else{
        var length = sum(values.map(function(v){return v[1]}))
        var avg = sum(values.map(function(v){
            return v[0] * (v[1] / length)
            }))
        return [avg, length]
    }
}&lt;br&gt;&lt;/pre&gt;&lt;div&gt;The end result will be 2 values, the first is the average, the second is the total number of values that we took an average of. Phew! Who woulda thought taking an average would be so &lt;i&gt;involved!&lt;/i&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 07 Oct 2009 18:31:02 -0400</pubDate>
      <guid>http://tobyho.com/Taking_an_Average_in_CouchDB</guid>
      <author>toby ho</author>
      <link>http://tobyho.com/Taking_an_Average_in_CouchDB</link>
    </item>
  </channel>
</rss>
