QuirksBlog monthlies
This is the monthly archive for February 2010.
I have decided to follow Dutch politics a bit more openly and to blog about it. Still, I
don’t want to force this content on people that are just interested in web development.
According to my own calculations the number of non-Dutch readers that are interested in
Dutch politics is about twelve, so for those twelve, as well as the more sizable group of
Dutch followers interested in politics, I’ve now created a politics
homepage and blog.
Swept away by the literally two requests from non-Dutch readers, I’ve also decided to
publish my political primer, which will ideally consist of eleven long background articles, of
which only the first eight are written. I will publish one article every Wednesday until I
run out of material.
Here on the main QuirksBlog I may write some stuff about the JavaScript graph functions I
created for the primer
(parliament graphs,
tables). Unfortunately, right now any JavaScript-focused article would mainly
consist of a long list of features I haven’t implemented yet. Most of the graphs aren’t
really keyboard-accessible, for instance, because I’m not happy with the idea of adding
dozens of useless <a>
elements just to make parts of the graphs keyboard-focusable.
All in all I’m hurrying to catch up with events. I hadn’t planned to publish any
of this, but the government crisis has forced my hands. Please excuse the occasional wart or bug.
As long-time visitors know I occasionally talk about Dutch politics here for the benefit
of my Dutch readers as well as those twelve foreign readers that are interested in these matters.
Since Dutch government fell late yesterday night, it’s time for another such post.
The Balkenende IV government (i.e. the fourth government that Balkenende (CDA) was prime
minister of) was formed three years ago and consists of centre-right
CDA (christian-democrats), centre-left PvdA (Labour), and orthodox-protestant left-leaning
CU (Union of Christians). Yesterday evening the PvdA ministers resigned over a conflict
about the continuing Dutch military presence in the Afghan province of Uruzgan.
In a week and a half local elections will be held,
and the PvdA was slated to lose a lot of seats everywhere. PvdA party leader and finance
minister Bos clearly hopes to stem the electoral tide by his resignation, and he might well
be right.
Update: This will be the last political entry on the main QuirksBlog. I now have a separate politics section with a blog as well as an article series about Dutch political history.
continue reading
Yesterday evening I returned from my fourth foreign trip this year. This time I went to
the Mobile World Congress,
the annual Barcelona-based get-together of the mobile industry, and I can tell you, it’s
something else.
This post gives an overview of announcements by mobile players that might be of interest
to web developers. There’s an incredible lot of it, too, because every single major mobile
player except Apple feels that MWC is the ultimate forum for major announcements.
If you know of more news, or have links to additional information, please leave a comment.
I was there because Vodafone had invited me to sit on a
panel in a technical “embedded
conference” about W3C Widgets and related technologies.
The concept can use some fine-tuning; I’m hoping to do some of that in the future.
I was there mainly to stress that the mobile browser situation is not as simple as it looks. THERE
IS NO WEBKIT ON MOBILE!
While I was at it I also invented guerilla browser testing.
continue reading
Since my attempts at capturing web developers’ hearts and minds by
publishing
fundamental
research
have failed miserably but my thirst for attention continues unabated,
today I will once more shout at iPhone developers. That’s
proven to work.
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.
Before we start, a little thought experiment. Suppose I proposed the following:
- IE6 is today’s most advanced browser. (Note: this was actually
true back in 2000. Please bear with me.)
- IE6’s market share is about 80%.
- The other browsers are way worse than IE6, and developing for them is a pain;
something we’re not interested in and are a bit afraid of.
- Therefore we will develop websites exclusively for IE6.
Would you agree with those sentiments, even if we’re back in 2000 and IE6 is really
the best browser we have?
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’ve been preaching for the past ten years?
I distinctly remember a time when we web developers cared about such concepts.
But those times are long gone.
continue reading
One reaction I received about my touch research was: Do we really need
the touch events? Can’t we just fire the mouse events when a touch action occurs? After all,
touch and mouse events aren’t that different.
That’s a fair question. It deserves a fair answer.
continue reading
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.
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.
This is interesting. It’s also profoundly different from the desktop, where a similar
trick with the mousedown, mousemove, and mouseup events definitely does not work.
Both iPhone and Android display this behaviour. Therefore future implementations of the
touch events should, too.
Update: I’ve been given to understand that this behaviour will disappear from WebKit. So don’t build your scripts with this behaviour; they’ll misfire sooner or later.
continue reading
Over the past few weeks I have done some fundamental research into the touch action and
its consequences, and it’s time to present my conclusions in the form of the
inevitable compatibility table. I have also written an
advisory paper 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.
Disclosure: This research was ordered and paid for by Vodafone. Nokia, Microsoft, Palm, and RIM
have helped it along by donating devices to me.
When a user touches the screen of a touchscreen phone, sufficient events should fire
so that web developers know what’s going on and can decide what actions to
take. Unfortunately most mobile browsers, especially Opera and Firefox, are severely
deficient here.
The touch action is way 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.
The iPhone’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. There’s only
one problem with the iPhone model, and it’s relatively easy to fix.
I have created a drag-and-drop script that works on iPhone and Android
as well as the desktop browsers,
a multitouch drag-and-drop script that works only on
the iPhone, and a scrolling layer script that
forms the basis of faking position: fixed
on iPhone and Android, who do not
support that declaration natively.
I will hold a presentation on my research at the DIBI conference, Newcastle upon Tyne, 28th April. It will likely
include future discoveries and thoughts.
continue reading
Older
See the January 2010 archive.