To the main book page.
The Mobile Web Handbook by Peter-Paul Koch. Published by Smashing Magazine GmbH.
ISBN 978-3-94454093-1
This section contains my official mobile pages. They treat various aspects of mobile web development.
My mobile test directory contains many more tests and draft pages, but once a draft is officially released it ends up here.
General | |
---|---|
Mobile blog posts | Blog posts about various mobile topics. |
Touch events | |
Touch action compatibility table | What happens when the user touches a screen of a touchscreen? Concentrates on the events. |
Preventing the default | When returning false from an event handler, or calling preventDefault() , the action’s default (scrolling, following a link, etc.) should be prevented. Does this actually happen? |
Click delay | Browsers delay for about 300ms before firing a click event when you touch the screen. This behaviour can be cancelled — in some browsers, in some ways. |
The three viewports | |
Overview | A quick overview table of the various viewport concepts. Sacrifices detail for broad view. |
A tale of two viewports — 1 | In order to understand the viewport issue it’s best to start with desktop browsers and learn how everything works there. |
A tale of two viewports — 2 | Once you’ve understood the desktop browsers you can continue with the more complicated state of affairs on mobile browsers. |
Viewports visualisation app | Play around to figure out how the viewports actually work. |
Viewport compatibility table | How to read out various interesting widths and heights. Media queries and meta viewport. Mouse coordinates. |
Viewport tests | Tests of the <meta viewport> tag. Introduces the third viewport. |
Devices and their ideal viewport | |
Other | |
Resize | The resize event on mobile. |
My most important conclusions.
Property pair | Opera Mobile | Safari | Android 2 | Android 3/4 | Chrome | Dolphin | Black |
Symbian | Tizen | Palm | MeeGo | UC | Firefox | IE9 | IE10 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Presto | WebKit | Gecko | Trident | ||||||||||||||||
Yes | Yes | No | Yes | No | Yes | Alter |
Yes | No | No | Yes | |||||||||
The size in CSS pixels of the visual viewport is by far the most important bit of data in the viewport properties. It’s found in
|
|||||||||||||||||||
Almost | Almost | Yes | Almost | Yes | Mini |
Yes | Yes | Mini |
Almost | ||||||||||
Screen size, layout viewport size, HTML element size, and viewport offset. Four points to be assigned:
|
My most important conclusions from 2010 and 2011.
Property | Opera Mobile | Opera Mini | iPhone | Android | Symbian | S40 | Dolfin | Black |
Palm | Phantom | Obigo | Bolt | Firefox | MicroB | IE Mobile | Black |
Net |
Obigo | UCWeb |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Presto | WebKit | Gecko | |||||||||||||||||
10.1b | n/a | Yes | No | Yes | No | Yes | No | n/a | No | No | n/a | ||||||||
Touchstart, touchmove, touchend.
|
|||||||||||||||||||
when you perform a touch action |
Incom |
n/a | Incom |
Almost | Incom |
To be tested | Almost | To be tested | To be tested | To be tested | To be tested | n/a | Incom |
Almost | Almost | Mini |
To be tested | n/a | |
Interface and legacy events. The latter are generally well supported, the former aren’t. |
|||||||||||||||||||
Yes | Yes | Yes | No | ||||||||||||||||
@media all and (max-width: 400px) { // styles assigned when width is smaller than 400px; } A Yes here means that the browser gets its dimension information from the correct JavaScript properties. Unfortunately those properties may contain false information. |
|||||||||||||||||||
Yes | No | Yes | No | Yes | Buggy | Yes | No | Yes | No | Yes | No | Yes | No | ||||||
<meta name="viewport" content="width = 380"> <meta name="viewport" content="width = device-width">
|
|||||||||||||||||||
No | n/a | Yes | No | Yes | n/a | Yes | No | ? | n/a | ||||||||||
|
|||||||||||||||||||
Property | Opera Mobile | Opera Mini | iPhone | Android | Symbian | S40 | Dolfin | Black |
Palm | Phantom | Obigo | Bolt | Firefox | MicroB | IE Mobile | Black |
Net |
Obigo | UCWeb |
Presto | WebKit | Gecko | |||||||||||||||||
Appcache
You can’t do this test yourself. |
No | n/a | Yes | No | Yes | To be tested | n/a | Yes | No | No | n/a | ||||||||
|
|||||||||||||||||||
SVG
External test. Pure SVG file; should be shown in the browser and not downloaded. |
Yes | Yes | No | Ext | Ext | Yes | No | To be tested | No | Buggy | Yes | No | |||||||
|
|||||||||||||||||||
Flash
External test on Adobe’s product page. Click the link in the Flash movie; the next page should also load correctly. |
No | No | Yes | Partial | No | Yes | To be tested | No | No | No | |||||||||
|
|||||||||||||||||||
Yes | Yes | To be tested | Yes | To be tested | Yes | To be tested | Yes | To be tested | To be tested | To be tested | To be tested | No | Yes | ||||||
|
|||||||||||||||||||
Property | Opera Mobile | Opera Mini | iPhone | Android | Symbian | S40 | Dolfin | Black |
Palm | Phantom | Obigo | Bolt | Firefox | MicroB | IE Mobile | Black |
Net |
Obigo | UCWeb |
Presto | WebKit | Gecko |