<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>QuirksBlog</title>
<link>http://www.quirksmode.org/blog/</link>
<description></description>
<copyright>Copyright 2010</copyright>
<lastBuildDate>Mon, 08 Feb 2010 13:13:20 +0100</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.14</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>The iPhone obsession</title>
<description><![CDATA[<p>Since my attempts at capturing web developers&#8217; hearts and minds by
<a href="/blog/archives/2010/02/persistent_touc.html">publishing</a>
<a href="/blog/archives/2010/02/the_touch_actio.html">fundamental</a>
<a href="/blog/archives/2010/02/do_we_need_touc.html">research</a>
have failed miserably but my thirst for attention continues unabated,
today I will once more shout at iPhone developers. That&#8217;s
<a href="/blog/archives/2009/11/apple_is_not_ev.html">proven to work</a>.</p>

<p>More specifically, today I will shout at web developers who think that delicately inserting an
iPhone up their ass is the same as mobile web development.</p>

<p>Before we start, a little thought experiment. Suppose I proposed the following:</p>

<ol>
	<li>IE6 is today&#8217;s most advanced browser. (<strong>Note</strong>: this was actually
	true back in 2000. Please bear with me.)</li>
	<li>IE6&#8217;s market share is about 80%.</li>
	<li>The other browsers are way worse than IE6, and developing for them is a pain;
	something we&#8217;re not interested in and are a bit afraid of.</li>
	<li>Therefore we will develop websites exclusively for IE6.</li>
</ol>

<p>Would you agree with those sentiments, even if we&#8217;re back in 2000 and IE6 is <em>really</em>
the best browser we have?</p>

<p>Or would you reply that our sites should work as well as they can in all browsers
through the use of web standards, progressive enhancement, and all the rest
of the best practices we&#8217;ve been preaching for the past ten years?</p>

<p>I distinctly remember a time when we web developers cared about such concepts.
But those times are long gone.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html</guid>
<category>Mobile</category>
<pubDate>Mon, 08 Feb 2010 13:13:20 +0100</pubDate>
</item>
<item>
<title>Do we need touch events?</title>
<description><![CDATA[<p>One reaction I received about my <a href="/blog/archives/2010/02/the_touch_actio.html"
	>touch research</a> was: Do we really need
the touch events? Can&#8217;t we just fire the mouse events when a touch action occurs? After all,
touch and mouse events aren&#8217;t <em>that</em> different.</p>

<p>That&#8217;s a fair question. It deserves a fair answer.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/02/do_we_need_touc.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/02/do_we_need_touc.html</guid>
<category>Mobile</category>
<pubDate>Fri, 05 Feb 2010 14:19:46 +0100</pubDate>
</item>
<item>
<title>Persistent touch event objects</title>
<description><![CDATA[<p>It turns out to be possible to handle the touchmove and touchend events with data obtained
from the touchstart event object. It is not necessary to access the touchmove and touchend event
objects, as long as you continue to have access to the touchstart one.</p>

<p>Apparently, the touchstart event object persists in browser memory even when the event has long
ended. More importantly, it continues to be updated with information about the current touch action.</p>

<p>This is interesting. It&#8217;s also profoundly different from the desktop, where a similar
trick with the mousedown, mousemove, and mouseup events definitely does <em>not</em> work.</p>

<p>Both iPhone and Android display this behaviour. Therefore future implementations of the
touch events should, too.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/02/persistent_touc.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/02/persistent_touc.html</guid>
<category>Mobile</category>
<pubDate>Wed, 03 Feb 2010 22:58:32 +0100</pubDate>
</item>
<item>
<title>The touch action</title>
<description><![CDATA[<p>Over the past few weeks I have done some fundamental research into the touch action and
its consequences, and it&#8217;s time to present my conclusions in the form of the
<a href="/m/touch.html">inevitable compatibility table</a>. I have also written an
<a href="/browsers/touch.html">advisory paper</a> that details what browser vendors must do in order to
get by in the mobile touchscreen space. Finally, I discuss a few aspects of my research in this article.</p>

<p><strong>Disclosure</strong>: This research was ordered and paid for by Vodafone. Nokia, Microsoft, Palm, and RIM
have helped it along by donating devices to me.</p>

<p>When a user touches the screen of a touchscreen phone, sufficient events should fire
so that web developers know what&#8217;s going on and can decide what actions to
take. Unfortunately most mobile browsers, especially Opera and Firefox, are severely
deficient here.</p>

<p>The touch action is <em>way</em> overloaded, and most browsers
have trouble distinguishing between a click action
and a scroll action. Properly making this distinction is the only way of creating a truly
captivating mobile touchscreen browsing experience.</p>

<p>The iPhone&#8217;s touch event model is excellent and should be copied by all
other browsers. In fact, these events are so important that I feel that any browser that does
not support them by the end of 2010 is out of the mobile browser arms race. <del>There&#8217;s only
one problem with the iPhone model, and it&#8217;s relatively easy to fix.</del></p>

<p>I have created a <a href="/m/tests/drag.html">drag-and-drop</a> script that works on iPhone and Android
as well as the desktop browsers,
a <a href="/m/tests/drag2.html">multitouch drag-and-drop</a> script that works only on
the iPhone, and a <a href="/m/tests/scrollayer.html">scrolling layer</a> script that
forms the basis of faking <code>position: fixed</code> on iPhone and Android, who do not
support that declaration natively.</p>

<p>I will hold a presentation on my research at the <a href="http://www.dibiconference.com/"
	class="external">DIBI conference</a>, Newcastle upon Tyne, 28th April. It will likely
include future discoveries and thoughts.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/02/the_touch_actio.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/02/the_touch_actio.html</guid>
<category>Mobile</category>
<pubDate>Tue, 02 Feb 2010 17:39:43 +0100</pubDate>
</item>
<item>
<title>Changes</title>
<description><![CDATA[<p>Well, a new year has started, and it&#8217;s tradition to give an overview of where you&#8217;re standing. So here&#8217;s mine.</p>

<p>As longtime readers may remember, I was totally burned out at the end of both 2007 and 2008. I&#8217;m happy to report that that trend has been broken; although I was glad to have a little holiday at the end of 2009, I returned to work without noticeable problems. So that&#8217;s good.</p>

<p>However, I have decided that certain aspects of my professional life are in need of a change; notably my public speaking and my compatibility tables.</p>

<p>Basically I&#8217;m going off the conference track for a while in order to spend more time with my mobile phones.</p>

<p>I will honour agreements made beforehand, which means I&#8217;ll speak at the following occasions:</p>

<ol>
	<li><a href="http://www.digitalsparksnw.com/transmissions/"
		class="external">Transmissions 3</a>, Manchester, 28th of January, together with <a href="http://my.opera.com/chrismills/blog/" class="external">Chris Mills</a>. The focus of this meeting will be the mobile Web.</li>
	<li><a href="http://www.techniqueretreat.com/" class="external">Technique Retreat</a>, 29th to
	31st of January in Morecambe, near Manchester. Here I&#8217;ll be a trainer and workshop leader. If you want to do a bit of JavaScript or mobile web development with me around to help you, sign up. There&#8217;s still a few tickets left.</li>
	<li>Dutch: Sessie op de Howest te Kortrijk over het mobiele web, in de week van 29 maart.</li>
	<li>The <a href="http://www.dibiconference.com/" class="external">DIBI</a> conference in Newcastle upon Tyne, 28th of April. I&#8217;ll speak about the mobile Web.</li>
	<li>It&#8217;s possible one item will be added to this list.</li>
</ol>

<p>After that, though, I will be very reticent in accepting new speaking gigs.</p>

<p>I will also make some changes to my compatibility tables because the kind of tests I've been doing in the pas ten years are not really suited for mobile browsers.</p>]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/01/changes_1.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/01/changes_1.html</guid>
<category>Personal</category>
<pubDate>Fri, 15 Jan 2010 14:53:16 +0100</pubDate>
</item>
<item>
<title>HTML5 means whatever you want it to mean</title>
<description><![CDATA[<p>Last Friday I found evidence for increasing confusion about what
the HTML5 spec actually is. I don&#8217;t have any doubts
on that score: HTML5 is anything you want it to be as long as it&#8217;s
new and cool.</p>

<p>In  a <a href="http://krijnhoetmer.nl/irc-logs/whatwg/20100108#l-593"
	class="external">discussion</a> on the WHAT-WG IRC channel
<a href="http://adactio.com" class="external">Jeremy</a> got fed up
with the fact that he can&#8217;t just point people at the spec
during his HTML5 evangelism:</p>

<blockquote>
I'm doing my damndest to evangelise HTML5 to front end developers and designers but you guys don't make it easy.<br>
[...]<br>
As if this stuff wasn't confusing enough for authors already. Now they have to put up with stupid spec obfuscation for the sake of some minor semantic victory for someone somewhere.<br>
[...]<br>
The WHATWG couldn't make the spec more author-unfriendly if they tried.
</blockquote>

<p>Inevitably, it was pointed out that specs aren&#8217;t meant
for developers but for browser vendors. That&#8217;s true but unhelpful, just as it has
been for the past ten years. The ritual dance begins anew.</p>

<p>Personally, I&#8217;m not going to take part in the dance this time. I already know
what the outcome is going to be, and I&#8217;m going to skip the rituals.</p>

<p>Because &#8220;HTML5&#8221; is so vaguely defined we web developers can decide for ourselves
what is part of HTML5 and what isn&#8217;t, and that&#8217;s something I&#8217;m looking
forward to. (If spec defenders don&#8217;t like that they should
have been clearer.)</p>

<p>My favourite examples are <a href="http://www.w3.org/TR/geolocation-API/"
	class="external">geolocation</a> and
<a href="http://www.w3.org/TR/webstorage/" class="external">Web Storage</a>,
which will feature prominently in my upcoming HTML5 mobile
compatibility tables despite the fact that they&#8217;re not in the spec.
They&#8217;re new, exciting, and absolutely vital on mobile.
They&#8217;re in <em>my</em> HTML5 spec.</p>

<p>HTML5 is the continuation of Web 2.0 by other means, just as Web 2.0 was
the continuation of DHTML.
Apparently we need a vague, all-encompassing term for cool new stuff that we want
browsers to support and clients to buy so we can play with it.</p>

<p>That&#8217;s what HTML5 should be. Because there are new and exciting
things going on, people will start to make
wish lists. Exactly which items on those lists are described in a document called
&#8220;HTML5&#8221; will slowly cease to matter, as long as they have some browser support.</p>

<p>As soon as a certain
feature appears on enough HTML5 lists it will become canonical.
Conversely, the stuff that nobody&#8217;s really interested in will no longer be
HTML5, even if it&#8217;s in a spec with that name.</p>

<p>I consider this a Good Thing. Wisdom of the crowds and all that.
(Again, if spec defenders don&#8217;t like it, they should have been more accomodating
to authors.)</p>

<p>So what&#8217;s in <em>your</em> HTML5 spec? Top three, anyone?</p>]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/01/html5_means_wha.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/01/html5_means_wha.html</guid>
<category>HTML5</category>
<pubDate>Mon, 11 Jan 2010 11:40:06 +0100</pubDate>
</item>
<item>
<title>A basic usability test on ten phones</title>
<description><![CDATA[<p>B. is an old friend of mine who owns an old Nokia. And when I say old, I mean <em>really</em>
old. It was released somewhere in 2000 or so (the Nokia, not the friendship).
It&#8217;s not a smartphone, to put it mildly, and B. does not use the mobile Web.</p>

<p>Yet.</p>

<p>Pretty soon, however, B. is going to spend a few months in the outlying parts of Indonesia, and
during that time he has to be able to access his business bank account. He was wondering if
a modern mobile phone would fit this use case, and, if so, which one.</p>

<p>When he told me all that I whipped out my iPhone. &#8220;Something
like this, you mean?&#8221; He was suitably impressed, and when I told him I regularly have six
to twelve phones lying around on my desk he practically begged for an opportunity to come by and
try them all in order decide what kind of phone he wants.</p>

<p>That was of course fine by me. User testing is never to be despised, and since B. is not
technical and has no experience with touchscreens to speak of, he is the perfect
test subject.</p>

<p>Last week we held our session, and this entry is the report.</p>

<p class="smaller">Tested phones: Nokia N97, Samsung M1, HTC Touch Pro (Windows Mobile), SonyEricsson W960i,
Nokia E71, BlackBerry 9500, HTC Pioneer (Android), LG M900, Nokia N900, iPhone.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2010/01/a_basic_usabili.html</link>
<guid>http://www.quirksmode.org/blog/archives/2010/01/a_basic_usabili.html</guid>
<category>Mobile</category>
<pubDate>Wed, 06 Jan 2010 14:05:09 +0100</pubDate>
</item>
<item>
<title>iPhone thoughts I &amp;#8212; Cocoa Touch framework</title>
<description><![CDATA[<p>I have several more things to say in the Web apps vs. native apps debate, and I&#8217;ve decided that a few smaller posts treating just one subject would be the best form. Today we kick off with the Cocoa Touch framework.</p>

<p>John Gruber <a href="http://daringfireball.net/linked/2009/11/24/ppk-followup" class="external"> wants me to mention the Cocoa Touch framework</a>. He feels  that its excellence is an important factor in the success of native iPhone apps.</p>

<p>Point is, although Gruber&#8217;s probably right, he <em>ought</em> to be wrong.</p>

]]></description>
<link>http://www.quirksmode.org/blog/archives/2009/11/iphone_thoughts.html</link>
<guid>http://www.quirksmode.org/blog/archives/2009/11/iphone_thoughts.html</guid>
<category>Mobile</category>
<pubDate>Wed, 25 Nov 2009 23:55:31 +0100</pubDate>
</item>
<item>
<title>Native iPhone apps vs. Web apps</title>
<description><![CDATA[<p>Well, that was an interesting ride. Besides passionate agreements, my <a href="/blog/archives/2009/11/apple_is_not_ev.html">previous post</a> also elicited passionate disagreements.</p>

<p>My post could be construed as a rant. Hell, parts of it <em>were</em> a rant. (Nobody said this blogging stuff is easy, especially when you&#8217;re passionate about something. But if I can&#8217;t speak my mind here, what&#8217;s the point of having a blog?)</p>

<p>Several people I respect a lot said that I&#8217;d made a stupid mistake and was just plain wrong. After some thought I decided they are right.</p>

<p class="accent">I was wrong about Web apps being able to replace native apps <em>right now</em>. I was wrong about the iPhone developers&#8217; mindset. They aren&#8217;t stupid.</p>

<p>Special thanks go to
<a href="http://almaer.com/blog/iphone-developers-are-not-arrogant-and-stupid" class="external">Dion Almaer</a> and <a href="http://farukat.es/journal/2009/11/347-iphone-developers-arent-stupid-ppk" class="external">Faruk Ates</a>, who took the time and trouble to write a factual rebuttal of some points, as well as <a href="http://andrew.hedges.name/" class="external">Andrew Hedges</a>, who provided me with a few examples when I needed them most.</p>

<p>While writing the current article I figured out there&#8217;s a whole lot of undigested information in my head that I instinctively used in my previous article but didn&#8217;t bother to explain properly. This is especially true for payments and the general state of Web technologies on mobile.</p>

<p>Despite my mistakes the whole thing seems to have kick-started a solid, sensible discussion about the differences between native apps and Web apps, and which one is better under which circumstances. I&#8217;d like to continue that discussion.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2009/11/native_iphone_a.html</link>
<guid>http://www.quirksmode.org/blog/archives/2009/11/native_iphone_a.html</guid>
<category>Mobile</category>
<pubDate>Tue, 24 Nov 2009 14:09:18 +0100</pubDate>
</item>
<item>
<title>Apple is not evil. iPhone developers are stupid.</title>
<description><![CDATA[<p>In his &#8220;<a href="http://www.paulgraham.com/apple.html" class="external">Apple&#8217;s mistake</a>&#8221; essay Paul Graham makes an unwarranted assumption; an assumption everybody who&#8217;s currently involved in the Great App Store Debate seems to be making.</p>

<p>The fundamental problem on the iPhone is not Apple&#8217;s App Store approval policies, but the iPhone developers&#8217; arrogant disdain for Web technologies.</p>

<p>It was only last Friday I told a <a href="http://full-frontal.org" class="external">roomful of Web developers</a> that Apple is evil, and a spontaneous applause erupted. Since then, however, I have changed my mind completely. The Web developers and I were wrong.</p>

<p>Apple is not evil. iPhone developers are stupid. Their problems with the App Store approval process are <em>entirely their own fault</em> and they deserve no commiseration.</p>

<p>I hope the App Store approval process sticks around for a <em>loooooooong</em> time.</p>

<p class="accent"><strong>Update:</strong> I was wrong about Web apps being able to replace native apps <em>right now</em>. I was wrong about the iPhone developers&#8217; mindset. They aren&#8217;t stupid. Read my <a href="/blog/archives/2009/11/native_iphone_a.html">follow-up post</a>.</p>
]]></description>
<link>http://www.quirksmode.org/blog/archives/2009/11/apple_is_not_ev.html</link>
<guid>http://www.quirksmode.org/blog/archives/2009/11/apple_is_not_ev.html</guid>
<category>Mobile</category>
<pubDate>Mon, 23 Nov 2009 14:32:47 +0100</pubDate>
</item>


</channel>
</rss>