Title: Web Browsing on Three Handheld Platforms
1- Web Browsing on Three Handheld Platforms
- (Windows Mobile, Symbian, BlackBerry)
- Werner Ruotsalainen
2About me
- Currently, the only Windows Mobile Devices MVP
in the country - https//mvp.support.microsoft.com/profile1ED8A582
-EE1A-4769-A72F-A32ADB7B7168 - Lead blogger, Contributing Editor, Software
Awards Manager and Tech Editor for
market-leading, US-based Smartphone Pocket PC
Magazine - http//www.pocketpcmag.com/
- a.k.a. Menneisyys on almost all Windows Mobile,
Symbian and BlackBerry user fora
3About us (MTA SZTAKI) IT consulting (not only
mobility!), publications, programming (Java
(J2EE, J2SE, J2ME etc.), C() etc.),
lecturingWeb browsing-related activities
TCP/IP protocol conformance testing (HTTP, HTML,
Ajax / CSS (ref 1241), Flash, SMTP, IMAP (ref
1247), POP3 (ref 1203 stb.), Push Mail
etc.)(Closed) beta and conformance testing for
various software developers (even the biggest
names in the industry)
4What does ref mean?
- To be as concise as possible, the numbers given
as ref are the p parameters of index.php at
http//www.pocketpcmag.com/blogs/index.php - Example Ref 1327 means you need to build up
the full URL as http//www.pocketpcmag.com/blogs/
index.php?p1327 - Most important three ATM Windows Mobile Web
Browsing Bible Pocket PCs (Ref 1828)
Smartphones (ref 2084) Opera Mini 4.1 (2571) - Web Browsers category on my blog
http//www.pocketpcmag.com/blogs/index.php?blog3
cat61
5Mobile platforms
- Windows Mobile (WM) Handheld / Pocket PC (PPC) /
MS Smartphone - Symbian (Opera Mobile), Symbian S60 Nokia Web
- BlackBerry
- Apple iPhone (Safari)
- Linux (discontinued Sharp Zaurus currently
Nokia Web Tablets LiMo foundation) Opera Mobile
(preinstalled on Zaurii) NetFront - Palm OS (Blazer etc.) pretty much dead
6History of Windows Mobile and browsers - 1
- WindowsCE 1.0 (Handheld PC) early 1997 (HP
300/320LX etc.) really basic (no frames), online
(non-offline) browser - WindowsCE 2.0/2.11 (early 1998/1999) two
directions - Handheld PC (Pro) (HP 360LX/620/680 etc.)
- Palm-size PC (Casio Cassiopeia two-digit series
(E10 etc.) Philips Nino, HP Jornada 430)
offline browsing only - WindowsCE 3.0 (early 2000) the first really
successful MS mobile op. system the following OS
versions are based on it - Handheld PC 2000 (HP 720/728 etc.) died out
pretty soon now niche models only - Palm-size PCs are renamed to Pocket PCs and
receive an online Web client
7History of Windows Mobile and browsers - 2
- Pocket PCs Pocket Internet Explorer (PIE)
(renamed to Internet Explorer Mobile (IEM) in
WM5) - late 2001 PPC2k2 (a step back in speed / memory
handling with PIE ref http//www.winmobiletech.c
om/gprs ), - Spring 2003 WM2003 (CSS support added),
- Summer 2004 WM2003SE,
- Autumn 2005 WM5 (heavily enhanced PIE engine)
with several different AKU versions (ref 1236)
for example, AKU3.5 introduced High-Resolution
switch - Spring 2007 WM6, no real improvements
- Spring 2008 WM6.1, no real improvements either
a fully revised version is promised later this
(2008) year - Six PIE plug-ins / shells (PIEPlus, MultiIE etc.)
8History of Windows Mobile and browsers - 3
- In addition to PIE / IEM, third-party browsers
- Opera Mobile (early 2006),
- NetFront (long-established),
- Thuderhawk (long-established no recent
improvements switching to being MIDlet-based), - Unofficial Mozilla Firefox-port Minimo (mid-2005
development ceased about a year ago) real,
official Firefox port promised - Picsel (OEM slow, incompatible and incapable,
albeit a lot of people like it see ref. 2250) - Maximus (Ref 1500) really poor
- Streaming-based SkyFire (3G exclusive US only)
DeepFish (discontinued) - MIDlet-based ones (also working on other
platforms!) - Opera Mini (officially early 2006 now, its a
serious alternative) - Some other MIDlet-based browsers (TeaShark (Ref
2186), UCWEB (Ref 2188)) new Thunderhawk (OEM
only)
9BlackBerry
- Push mail traditionally enterprise handheld, the
Pearls being a consumer non-QWERTY model - Still no switch towards touchsreen models with
9000 - Official, current OS 4.2 / 4.3 new 4.5
- (Unofficial) betas already available A2DP, new
fonts(!), multimedia streaming, new Web browser,
HTML e-mail (BES/BIS-side support needed),
HE-AACv2, somewhat better Web browser (in-page
search, save page, zoom) ref 2589
10Symbian S60
- S60 is the surviving Nokia Symbian version,
S80/S90 being dead touchscreen added this or
next year - Nokia Web WebKit-based minimap pretty strong
and powerful - Flash Lite 2/3 support 3 delivered in firmware
updates (v21 for the N95) much better to play
back YouTube / other videos than the full Flash 7
on Windows Mobile
11What can a mobile browser be used for? - 1
- Architectural restrictions
- (comparatively) small amount of RAM memory
(10...90 Mbytes on higher-end handsets (much)
lower on feature phones) - CPU power (624 MHz XScale max. 200-300 MHz
Pentium) - Slow (flash ROM vs RAM writing) and/or
restricted-size cache - pre-WM7 OS process number restrictions (multitab
browsers) on WM - Severe bugs / errors with mobile browsers that
arent direct ports of their desktop
counterparts, even on the HTTP protocol level,
let alone HTML / CSS bugs
12What can a mobile browser be used for? - 2
- The biggest advantage on all mobile platforms No
need for PDA/handset-only pages you can access
full pages see the fate and scarcity of WAP.
Possible problems - 500k HTMLs (for example Snitz Forums 2000 or
even YouTube), particularly under PPC2k2 (max.
100-120k HTML without crashing) - Rule of thumb under PIE / IEM, memory usage is
about an order of magnitude more than the
original size of HTML. With alternate browsers
(particularly with Opera Mini and, to a lesser
degree, Opera Mobile) this isnt an issue - desktop ActiveX not supported, not even on WM
(not an x86 architecture) - Some browsers (PIE, Thunderhawk, Picsel) have
very weak JavaScript support - Java applets (login, authentication) custom
third-party JVMs only and on WM only (no applet
support at all on Symbian / BB) restricted, max.
JDK1.4 no official support from Sun. - Flash incompatibility and problems
- Less important HTTP/HTML problems, bugs and
restrictions
13Networking model
- Most online (as opposed to offline see for
example AvantGo, Mobipocket Reader or iSilo
offline web downloading) browsers use direct
connections no dumbing-down proxies - (Pretty much) transparent proxies Opera Mini
(and all the other MIDlet-based browsers),
Thunderhawk - Cons of proxies possible eavesdropping not
flexible enough (no way to use other proxies like
Toonel) - Pros much less overhead anonymity (real IP
hidden)
14WM BrowsersPocket Internet Explorer (PIE) /
Internet Explorer Mobile (IEM)
- (Name changes Ref 1276)
- Built-in
- Weak / non-existing Ajax/JavaScript support
- Poor CSS support
- No multidocument (multitab) support without 3rd
party plug-ins - No link target / current page saving WM5 image
saving supported - restrictions IFrame in pre-WM6 browsers max.
10 frames - Frequent crashing because of certain CSS
constructs under pre-WM5 (ref 387, 1241) no
longer the case in WM5
15WM Browsers / PIE/IEM - 2
- Pixel doubling problem on hi-res (W)VGA
devices a major one when used as a plug-in in
external apps like CHM readers (ref 428 see
section Cons). (Partially) fixed in WM5 AKU
3.5. - Being used as plug-ins fox jumps over a lazy
dog - ? bold / italic HTML closing tags should be used
right after the (last) word foo bar not
in the following way foo bar
16WM Browsers / NetFront (NF)
- 30 built-in Flash (weaker than that of Adobe /
Macromedia has CPU usage problems), SVG (Japan!)
and Java VM multitab (max. 5 as opposed to IEM
plug-ins or the Operas) minimap iPhone-like
acceleration dragging - Pretty good Ajax/ JavaScript/ CSS acceptable
Java rendering is better than that of IEM - Consumer releases 3.3 (2006 inferior) 3.4
(2007) OEM only currently 3.5 Technical
Previews
17WM Browsers / Minimo (MINI MOzilla)
- Free cancelled unofficial Firefox port
(official will come later) - Two versions 0.16 (for pre-WM5 devices) and 0.20
(for WM5 only) - Plain useless on some models (speed problems)
bugs - Excellent scripting (incl. Ajax) and CSS support
- (ref 1302)
18WM Browsers / Opera Mobile
- One of the best browsers
- Excellent JS / Ajax support
- Almost 100 compatibility, particularly with
version 9.33 - Very fast
- Flash plug-in support
- Any number of tabs can be open, as opposed to
NetFront or IEM w/o a plug-in - Currently, two versions official (8.65) and
preview (9.33 / 9.5), both PPCs and Smartphones.
9.xx-series has even better standards compliance
19Opera Mini (Ref 2571)
- MIDlet (ref MIDlet Bible 2266)-based
compatible with almost every phone out there - As of version 4.1beta, offers even file upload,
address autocompletion and page saving full page
view also supported (added in 4.0), not only
one-column - Only problem lack of copy/paste from pages
(could easily be fixed as is done in Russian
Opera Mod feeding the textual page contents to
a text input area) - Proxy-based solution far less data usage
however, it cant access local files and the
additional processing can take some time - Direct invocation Ref 2334
20WM Browsers / Thuderhawk
- Advantage uses its own fontset, which makes
rendering possible even on 320-wide screens.
HOWEVER it only supports Western characters
meaning no support for Eastern European
languages. The latter can be somewhat fixed by
converting the special, Unicode-only characters
used by them to 8859-1 on the server side ref
1327 - PIE can use similar fonts to look pretty much the
same condensed (Ref http//forum.xda-developers.c
om/showthread.php?t250789 ) - No support for hi-res ((W)VGA) screens no saving
at all (ref 1302), not even copy from pages.
Doesnt use client-side caching at all it is
only able to download to built-in storage no
upload etc. - Pretty much discontinued BitStream now is
concentrating on a MIDlet-based new version
(OEM-only ATM) ref 2485
21WM Browsers Microsoft Deepfish
- Cancelled might be reused later
- CF-based VERY slow, streaming
22WM PIE plug-ins
- They greatly extend PIEs capabilities (multitab,
resource saving, User-Agent GUI-based setting,
hardware buttons used for navigation / program
usage, GPS-based, location-dependent services,
address bar macros, altering the way the document
is scrolled by D-pad etc.) - PIEPlus probably the best and most featureful
(saving, tabs, buttons etc. unique feature
Pocket View one-column view for pre-WM2003SE
browsers n.b. One Column was only introduced
in WM2003SE) - MultiIE used to be better than PIEPlus however,
this doesnt seem to be the case any more
23PIE plug-ins - 2
- ftxPBrowser (Ref 551) free in pre-WM5 times,
used to be highly recommended. - Mostly incompatible with WM5!
- Webby (Ref 1334, 1828) .NET Compact
Framework-based and is, therefore, a bit on the
slow side. However, its become better and better
over time and offers for example extensions like
Mozilla for for example ad filtering. No One
Column mode. Brand-new Touch Browser (ref 2593)
is pretty similar in its functionality (or,
currently, the lack thereof). - Spb Pocket Plus 4 (Ref 2250) while in pre-4
times it was definitely worse (it didnt even
offer on-screen, easily clickable tabs) than
PIEPlus or MultiIE, this is no longer the case
version 4.0 has fixed this, along with other
goodies like accelerated screen dragging.
24OS-level problems (WM)
- Operating system-level, runtime problems not
fixable on the code level, unlike, say, pre-WM5
PIE CSS crashes - Driver memory usage NetFront and Opera Mobile
used to be problematic, particularly under
WM2003SE (Ref 882)
25Optimizing for PDA / phone 1 small-screen
rendering / PIE - 1
- Low screen resolution results in having to scroll
horizontally One column for the rescue.
Supported by all browsers except Thunderhawk - PIE received One column in WM2003SE previously,
only the weaker Fit to screen was accessible
(this remained as Default), in addition to
Desktop view. Example (Desktop / Fit to Screen
(Default) / One Column)
26Optimizing for PDA / phone 1 small-screen
rendering / PIE - 2
- Therefore in WM2003SE PIEs (where theres no
One Column and Fit to Screen (Default) often
isnt sufficient, - External Web compression / reformatting /
one-columnizing services should be used (Skweezer
etc. Ref 494). They get rid most of
JavaScript. - PIEPlus (explicit Pocket View mode)
- Use an alternate browser like Opera Mobile
(WM2003) or Thunderhawk (compatible with even
PPC2k / 2k2)
27Optimizing for PDA / phone 1 small-screen
rendering / Opera Mobile
- Three modes as with IEM. N.b. One Column is
buggy the horizontal size is 240 pixels that
is, its only really usable on QVGA devices used
in Portrait preferably not in Landscape and
definitely not on a (W)VGA hi-res model.
28Optimizing for PDA / phone 1 small-screen
rendering / NetFront
- NetFront Three similar modes Normal, Just-Fit
(about the same as Fit to Screen / Default in
IEM), Smart-Fit. The latter is the best its
like One Column, but still tries to render
contents horizontally where applicable, unlike IEM
29Optimizing for PDA / phone 1 small-screen
rendering / Minimo (SSR)
30Optimizing for PDA / phone 1 small-screen
rendering / Thunderhawk
31Optimizing for PDA / phone 1 D-pad / jog
dial-based scrolling (Ref 547)
- IEM, by default, uses link scrolling (as opposed
to page) can be altered on the Registry level
most IEM plug-ins allow for doing this on the GUI
level - Some browsers / plug-ins even allow for supplying
the scroll amount in percents (see pic) - Jog dial / volume controller with SmartSKey
(one-handed mode) most of the browsers support it
32Additional Web technologies 1 Applets
- PIE Only two JVMs have applet support (JVMs
with no Applet support are IBM J9 (MIDlet /
Personal Java ref 787) Mysaifu (ref. 653)) - Insignia Jeode (out of business) last version
dates back to 2003 (iPAQ 5550) - CrEme (not for non-OEM customers 30-day trial)
the best - Built-in JVM in standalone browsers
- NetFront 3.1 acceptable (worse than Jeode /
Creme) - Thunderhawk server-side running and image
transfer cons low-res and slow-to-refresh
images pros full JDK 1.5 compatibility. - No applet support in Opera Mini/Mobile or Minimo
- Absolutely no applet support under BB / Symbian
33Additional Web technologies 2 Flash
- IEM and Opera Mobile somewhat restricted (Ref
969) uses Adobes own Flash 7 plug-in - NetFront (buggy (CPU usage bugs Ref 889)
weaker) - No Flash Minimo, Opera Mini, Thunderhawk
- (Several standalone, offline players!)
- Absolutely no full Flash support under BB /
Symbian. The latter, however, supports Flash Lite
3 unlike WM. (See next slides)
34Additional Web technologies 3 Flash Lite 3
- Not available for Windows Mobile / BB as yet for
WM, its coming - Has recently been released for Symbian S60
35YouTube and other Web videos 1 (Ref 2599)
- HTTP / H.264 FLV vs. RTSP / 3GP quality, being
firewall-friendly client coming with iPhone - Desktop YouTube Web isnt the best for mobile
usage (slow, huge pages only Symbian Flash
Lite 3 is able to play back inline videos) the
mobile version - Already supports all the functionalities of the
desktop (account, upload etc) - Is compatible with most mobile platforms having
an RTSP / 3GP player like RealOne no additional
player needs to be installed - Already has all the videos, unlike a year ago
- HOWEVER its lower-quality 3GP only (no FLV)
and requires RTSP
36YouTube and other Web videos 2
- If you need / must use FLV / H.264 and not on
Symbian (where Flash Lite 3 works just great),
use an external app or service for example,
vTap...
37YouTube and other Web videos 3
- or YTPocket (with TCPMP as the player)
38Reducing data usage - 1 (Content-Encoding gzip)
- Problem data connections can be expensive unless
you have a flat rate. Pre-3G connections (GPRS,
EDGE stb) are slow, too. - All WM browsers (starting with PPC2k PIE too)
support gzip / deflate HTTP response body
compression (Accept-Encoding header!) - Server-side optimization
- Several forum engines (e.g., vBulletin) support
GZIPing if it identifies the client as a mobile
device. See header list Ref 796 - You still need to find out whether a mobile user
is accessing? - Several users use User-Agent spoofing check for
UA IEM headers to find out whether its a real
desktop browser or IEM with spoofed User-Agent.
Ref 1125
39Reducing data usage - 2 client-side optimizing
- If the server doesnt return compressed content,
you can still reduce data usage - Toonel (Ref 1002) runs on Pocket PC free also
supports SMTP/POP3 - OnSpeed (Ref 494)
- Skweezer, MobileLeap, Google Mobile etc. (Ref
links at 494) online Web services proxy-based
compression problems HTTPS in general, it
entirely removes JavaScript no HTML charts /
tables - MultiIE, PIEPlus and Webby automatically supports
the online services the first two (Toonel /
OnSpeed) can be used with all Windows Mobile Web
browsers allowing for proxy usage (that is,
everything except Opera Mini and TH not a
problem though as theyre content-stripped /
compressed already)
40Compatibility JavaScript, Ajax (ref 1241)
- Best support Opera Mobile and Minimo. Minimo
/OpMob Ajax tests see pics. - IEM pretty weak, even as of 6.1
- NetFront as of 3.3 poor 3.4 much better
Thunderhawk poor - Bad JS support in IEM Yahoo Mail buttons dont
work (ref 318)
41Compatibility - 2 CSS (ref 1241)
- Acid 2 test pics Desktop Opera (best), on PPC
the two best are Opera Mobile (here, 8.60, 9.x is
flawless) and Minimo
42Compatibility -2 CSS -2
- NetFront far from perfect
- IEM CSS support only starting with WM2003
pre-WM5 frequent CSS incompatibility crashes
43Compatibility 3 W3Cs Web Compatibility Test
for Mobile Browsers 1 Windows Mobile - 1
- IEM (in WM6.1) pretty bad is only a bit better
than in 5-year-old WM2003 and 7-year-old PPC2002
(Ref 2589)
44Compatibility 3 W3Cs Web Compatibility Test
for Mobile Browsers 2 - Windows Mobile - 2
- Opera Mobile 9.33 (1st) almost flawless indeed
based on the new, 9.x-series kernel as opposed
to 8.65 (2nd pic). - Opera Mini 4.1 (3rd) acceptable results
45Compatibility 3 W3Cs Web Compatibility Test
for Mobile Browsers 3 Windows Mobile - 3
- NetFront 3.5 TP (1st) WebKit-based Iris browser
(2nd) Minimo 0.20 (3rd)
46Compatibility 3 W3Cs Web Compatibility Test
for Mobile Browsers 4 BlackBerry, S60, iPhone
Safari
- WebKit-based Symbian S60 FP1 (1st), iPhone Safari
(2nd), BlackBerry 4.2 (3rd), 4.5 (topmost)
47Compatibility 3 W3Cs Web Compatibility Test
for Mobile Browsers 5 Desktop browsers
- Bottom Firefox 3 beta5 Internet Explorer 8
beta IE7 top Opera 9.5
48Avoiding future problems with Windows Mobile
browsers 1 the problem of (Inline) Frames - 1
- PIE the number of (standard, not i-) frames is
restricted (10/12 at most for pre-WM6/WM6,
respectively). One of the most widely known
example of the affected pages is freemail.hu
(pics PIE, Opera Mobile)
49Avoiding future problems with Windows Mobile
browsers 1 the problem of (Inline) Frames - 2
- Inline Frames (IFrame) are in no way supported by
pre-WM6 PIE and TH. - Therefore, no Gmail / Yahoo Mail dynamic address
completion is possible (which works in Opera
Mobile and Minimo)
50WM6 Iframe and standard frame demo(see Iframe
support row in 1828 Chart)
51Avoiding future problems with Windows Mobile
browsers 2 Cookie-related problems
- NetFront a known problem for years doesnt take
DST into account if DST is not used (its not
summertime) and the NF client is given a cookie
expiring in less than an hour, itll be discarded
at once - Used to be a huge problem with the index.hu forum
(not any more) - Ref http//www.pocketpcthoughts.com/forums/viewto
pic.php?p351433 - TH temporary cookie bug requiring the manual
copying of cookies see the 2005 version of
Browser Bible for a client-side, manual fix.
52Avoiding future problems with Windows Mobile
browsers 3 Language encoding problems (Ref
1327), internationalization
- Content-Type charset attribute HTTP header vs.
meta tag - NetFront is entirely different from the rest
and is buggy when 8859-1 is used along with
special 8859-1 punctuation. - Opera Mobile is pretty problematic at POSTing
special contents (special 8859-1 punctuation and
everything different from 8859-1). - Consequently
- Never ever return special punctuation chars from
the server - ? for example, convert them back to the basic,
non-formatted chars upon recognizing these two
browsers, dynamically convert the chars on the
server for NF and (for editing see below) Opera
Mobile - If an Opera Mobile client edits a non-8859-1
document (like an article or a forum post),
convert all special Unicode characters (like o
and u) to HTML char entity codes (337 and
369 with o and u, respectively). These entity
codes are correctly POSTed back by the browser
53Avoiding future problems with Windows Mobile
browsers 3 Language encoding problems - 2
- Thunderhawk 8859-1 should always be used
whenever possible that is, when the source
language can easily be mapped to 8859-1
(User-Agent check)
54Internationalization - Accept-Language (Ref 1172)
- Accept-Language request header user-preferred
language - Can only be set in PIE and Minimo all the other,
non-proxy-based solutions (everything except TH,
Opera Mini) need a header-altering proxy server
55Avoiding future problems with Windows Mobile
browsers 4 File download (ref 1302, 2590)
- Content-Type text/plain response problems with
binary content IEM NF dont try to decide
whether the body is binary and blindly render it
as opposed to IE on the desktop. No such
problems with other Windows Mobile browsers. That
is, make sure Content-Type is correctly set on
the server to allow for binary downloading to IEM
NF! - NF Opera Mobile They send out download
requests twice (vs. desktop) this is why for
example RapidShare doesnt work - ? never reject double download requests!
- Referer-related problems before WM5, PIE (and
Thunderhawk even now) dont pass the Referer
header - ? dont trust the Referer header always being
sent in order to deny out-site download requests - Acceleration multithreaded download (see
FlashGet on desktop) two multithreaded apps - Just-released Adisasta WinMobile Download
Accelerator 2.0 (do NOT use older versions
because theyre slow!) - HandyGet 1.6
56File upload (Ref 1116)
- All browsers (except for TH) support it IEM
starting with WM5 - Therefore, dont depend on the users ability to
upload files either - tell them to use an alternate Web browser (for
example, Opera Mini 4.1) or - provide FTP upload support (Ref 508) or, with
text input, a HTML textarea to paste to
57- We can be reached at...
- http//www.sztaki.hu/
- E-mail werner_at_sztaki.hu
58Thanks!Any questions?