22
Classification of Mobile Browsers
Today, I am not going to post some CSS3 tricks on Webkit, or stuff like that. Instead, I post a list mobile browsers, since I am often asked about mobile / WAP browsers by engineers, product managers, and mobile-curious or mobile-newbie people.
I gathered 30+ major browsers I have worked with (plus a few I have never even seen), and categorize by the markup that browsers can render – WML, CHTML, XHTML-MP, and HTML4.
So, here you go. If you find some mistakes, let me know!
| WML Browsers (WAP 1.x) | |
|---|---|
| Openwave earliy browsers 4.x | |
| Early Nokia browser | |
| Early Obigo browser | |
| CHTML Browsers (Common in Japan) | |
|---|---|
| CHTML browsers | Compact-HTML browsers |
| Compact NetFront | |
| i-mode browsers (CHTML / XHTML) | NTT Docomo |
| XHTML Browsers (WAP 2.x – XHTML-MP / WML) | |
|---|---|
| WebKit | Nokia S40 |
| Nokia S60 – earlier versions, or “Services” browser | |
| NetFront by Access | Palm Blazer 3.x - |
| Sony Ericsson WAP browser | |
| Blazer by Handspring | original browsers before accured by Palm |
| Openwave 6.x | Siemens |
| Sharp | |
| Sanyo | |
| Motorola | |
| Toshiba | |
| Blackberry by RIM | Blackberry browser- earlier version ~4.3? (*) |
| Obigo by Teleca | |
| Polaris by InfraWare | |
| Helio | |
| Motorola MIB | |
| HTML Browsers | |
|---|---|
| WebKit | Nokia S60 3rd gen., “Web” Mini-map browser |
| Apple Mobile Safari | |
| Google Android | |
| Palm WebOS | |
| Iris, by Torch Mobile (now RIM) | |
| Bitstream Bolt (Proxy) | |
| MOTOMAGX (Motorola Linux devices) | |
| Gecko | Mozilla Minimo (dead?) |
| Mozilla Fennec | |
| Maemo (aka MicroB) | |
| Skyfire | |
| Opera (proxy) | Opera Mobile |
| Opera Mini | |
| Nintendo DSi | |
| Nintendo Wii | |
| Blackberry by RIM | Blackberry browser ver.4.6+ (I am not sure about 4.4 and 4.5) |
| Microsoft Internet Explorer (was Microsoft Pocket IE) | (earlier versions do not support CSS?) |
| NetFront 3.x ? | Sony Ericsson browsers |
| Sony PlayStation / PSP browsers | |
| Palm Blazer 4.x | |
| Amazon Kindle | |
| Teleca | Teleca Browser V3.x ? (LG Voyager) |
| Danger (now by Microsoft) | Sidekick |
I have categorized only with the markup type, and did not sub-categorize these browsers. However, if I would, I may want to grade XHTML-MP devices with page memory size (=”deck size”, yes I said deck size), and screen resolution for UI design purpose.
To grade full-HTML browsers, you need to spend massive time and effort on testing rendering capability with CSS, and Javascript DOM compatibility, events, etc. Actually, PPK has done excellent work on mobile browser testing, so you can simply visit Quirksmode.org!
3
Webkit CSS 3D + Local DB Demo

Ever since I heard of Snow Loepard’s hardware-accelerated CSS, I wanted try some cool CSS animation for Safari 4.
So after installing Snow Leopard, I spent about a day and half to try creating my first 3D animation with Flickr API.
Honestly, I wasn’t sure where to get started to make some cool 3D effect, so what I did was I tried to reproduce the one on webkit.org example and modify a lot by trial and error approach.
Also, I have been freqently asked about how I did with “My Favorites” feature on my Palm Pre app (which is also a WebKit-based), so I throw the HTML5′s local storage demo with this 3D demo.
So here, you can try my CSS 3D and Local DB Demo!!!
Be sure to view this demo on Safari 4, iPhone Safari, or WebKit Nightly! This doesn;t seem to work on other Webkit-based browsers such as Chrome and Palm.
I am not going to write a whole tutorial how to replicate this animation but I try to explain some examples.
Spin a Wheel!
Look at one of the flicke photo wheel on my demo. This is a combination of a few different animation.
Let’s focus on the small wheel inside. This is the snippet of HTML of the wheel:
<div id="gallery">
<div id="pic01"><img src="..."/></div>
<div id="pic02"><img src="..."/></div>
... (10 more imgs)
</div>

OK, for now, let’s ignore how each photo is rendered to form a loop, and just focus on the animation of one div, #gallery (= a wheel). A band of photos is ratating clockwise around Y-axis.
This means the animation starts as -webkit-transform: rotateY(0); and goes around an circle for a whole 360 degree. -webkit-transform: rotateY(-360deg);.
Use positive if you want to rotate in opposite direction.
I set the whole circle completion span as 60 seconds in linier motion and the animation goes infinite.
This diagram from Apple’s Safari Reference Library explains coordinates.
So the css for this movement is defined as:
#gallery {
-webkit-transform-style: preserve-3d;
-webkit-animation: spinY 60s linear infinite;
}
@-webkit-keyframes spinY {
from { -webkit-transform: rotateY(0);}
to { -webkit-transform: rotateY(-360deg);}
}
Use 3D style, -webkit-transform-style: preserve-3d;to give 3D illusion. I set the initial perspective in its parent div as -webkit-perspective: 380;.
It gives you an illusion of the depth. You can make the value lower to make it look more up-close to you.
The unit of perspective should be “px”, but it looks like you’d better remove it for iPhone.


To figure out how to render each photo in loop, also other animations, please look at the source code of my demo.
Also, I will write about how to use HTML 5′s local storage sometimes later!
References
- 3D Transforms by Webkit.org
- CSS Transforms (2D) by Webkit.org
- CSS Animation by Webkit.org
- CSS 3D Transforms Module Level 3 W3C Working Draft
- Safari Reference Library -Transforms by Apple






