Slide 1
Upcoming SlideShare
Loading in...5

Slide 1






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Slide 1 Slide 1 Presentation Transcript

  • Web Browsing on Three Handheld Platforms (Windows Mobile, Symbian, BlackBerry) Werner Ruotsalainen 04/29/10
  • About me:
    • Currently, the only Windows – Mobile Devices MVP in the country
    • Lead blogger, Contributing Editor, Software Awards Manager and Tech Editor for market-leading, US-based Smartphone & Pocket PC Magazine
    • a.k.a. “Menneisyys” on almost all Windows Mobile, Symbian and BlackBerry user fora
  • About us (MTA SZTAKI): IT consulting (not only mobility!), publications, programming (Java (J2EE, J2SE, J2ME etc.), C(++) etc.), lecturing Web 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) 04/29/10
  • What does “ref” mean?
    • To be as concise as possible, the numbers given as “ref” are the “p” parameters of index.php at
    • Example: „Ref: 1327“ means you need to build up the full URL as: 1327
    • Most important three ATM: Windows Mobile Web Browsing Bible: Pocket PC’s (Ref: 1828); Smartphones (ref: 2084); Opera Mini 4.1 (2571)
    • Web Browsers category on my blog:
  • Mobile 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
  • History 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 PC’s are renamed to Pocket PC ’s and receive an online Web client
  • History of Windows Mobile and browsers - 2
    • Pocket PC’s: 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: ),
      • 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-in’s / shells (PIEPlus, MultiIE etc.)
  • History 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, it’s a serious alternative)
        • Some other MIDlet-based browsers ( TeaShark (Ref: 2186), UCWEB (Ref: 2188)); new Thunderhawk (OEM only)
  • BlackBerry
    • Push mail; traditionally enterprise handheld, the Pearl’s 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
  • Symbian 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
  • What 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 aren‘t direct ports of their desktop counterparts, even on the HTTP protocol level, let alone HTML / CSS bugs
  • What 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 isn’t 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
  • Networking 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)
  • WM Browsers: Pocket 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 3 rd party plug-in s
    • 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+
  • WM 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: <i>foo</i> bar ; not in the following way: <i>foo </i>bar
  • WM 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 Opera s); 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
  • WM Browsers / Minimo ( MINI MO zilla)
    • 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)
  • WM 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 PPC’s and Smartphones. 9.xx-series has even better standards compliance
  • Opera 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 can’t access local files and the additional processing can take some time
    • Direct invocation: Ref: 2334
  • WM 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: )
    • No support for hi-res ((W)VGA) screens; no saving at all (ref: 1302), not even copy from pages. Doesn‘t 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
  • WM Browsers: Microsoft Deepfish
    • Cancelled; might be reused later
    • CF-based; VERY slow, streaming
  • WM: PIE plug-ins
    • They greatly extend PIE‘s 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 doesn’t seem to be the case any more
  • PIE 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, it’s 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 didn’t 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.
  • OS-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)
  • Optimizing 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 ):
  • Optimizing for PDA / phone 1: small-screen rendering / PIE - 2
    • Therefore: in WM2003SE PIE’s (where there’s no One Column and “ Fit to Screen ” ( Default ) often isn’t 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)
  • Optimizing 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, it’s only really usable on QVGA devices used in Portrait – preferably not in Landscape and definitely not on a (W)VGA hi-res model.
  • Optimizing 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: it’s like One Column , but still tries to render contents horizontally where applicable, unlike IEM
  • Optimizing for PDA / phone 1: small-screen rendering / Minimo (SSR) 04/29/10
  • Optimizing for PDA / phone 1: small-screen rendering / Thunderhawk 04/29/10
  • Optimizing 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
  • Additional Web technologies 1: Applets
    • PIE: Only two JVM’s have applet support (JVM’s 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
  • Additional Web technologies 2: Flash
    • IEM and Opera Mobile : somewhat restricted (Ref: 969); uses Adobe’s 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)
  • Additional Web technologies 3: Flash Lite 3
    • Not available for Windows Mobile / BB as yet; for WM, it’s coming
    • Has recently been released for Symbian S60
  • YouTube 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 isn’t 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 – it’s lower-quality 3GP only (no FLV) and requires RTSP
  • YouTube 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...
  • YouTube and other Web videos – 3
    • … or YTPocket (with TCPMP as the player):
  • Reducing 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 GZIP’ing 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 it’s a real desktop browser or IEM with spoofed User-Agent. Ref: 1125
  • Reducing data usage - 2: client-side optimizing
    • If the server doesn’t 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 they’re content-stripped / compressed already)
  • Compatibility: 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 don’t work (ref: 318)
  • Compatibility - 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
  • Compatibility -2: CSS -2
    • NetFront : far from perfect
    • IEM: CSS support only starting with WM2003; pre-WM5: frequent CSS incompatibility crashes
  • Compatibility – 3: W3C’s “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)
  • Compatibility – 3: W3C’s “Web Compatibility Test for Mobile Browsers” – 2 - – Windows Mobile - 2
    • Opera Mobile 9.33 (1 st ): almost flawless; indeed based on the new, 9.x-series kernel – as opposed to 8.65 (2 nd pic).
    • Opera Mini 4.1 (3 rd ): acceptable results
  • Compatibility – 3: W3C’s “Web Compatibility Test for Mobile Browsers” – 3 – Windows Mobile - 3
    • NetFront 3.5 TP (1 st ); WebKit-based Iris browser (2 nd ); Minimo 0.20 (3 rd )
  • Compatibility – 3: W3C’s “Web Compatibility Test for Mobile Browsers” – 4: BlackBerry, S60, iPhone Safari
    • WebKit-based Symbian S60 FP1 (1 st ), iPhone Safari (2 nd ), BlackBerry 4.2 (3 rd ), 4.5 (topmost)
  • Compatibility – 3: W3C’s “Web Compatibility Test for Mobile Browsers” – 5 – Desktop browsers
    • Bottom: Firefox 3 beta5; Internet Explorer 8 beta; IE7; top: Opera 9.5
  • Avoiding 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 (pics: PIE, Opera Mobile )
  • Avoiding 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 )
  • WM6 Iframe and standard frame demo (see “ Iframe support ” row in 1828 Chart) 04/29/10
  • Avoiding future problems with Windows Mobile browsers 2: Cookie-related problems
    • NetFront : a known problem for years: doesn’t take DST into account: if DST is not used (it’s not summertime) and the NF client is given a cookie expiring in less than an hour, it’ll be discarded at once
      • Used to be a huge problem with the forum (not any more)
      • Ref:
    • TH temporary cookie bug requiring the manual copying of cookies; see the 2005 version of Browser Bible for a client-side, manual fix.
  • Avoiding 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 ő and ű) to HTML char entity codes (&#337; and &#369; with ő and ű, respectively). These entity codes are correctly POSTed back by the browser
  • Avoiding 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 )
  • Internationalization - 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
  • Avoiding future problems with Windows Mobile browsers 4: File download (ref: 1302, 2590)
    • Content-Type: text/plain response problems with binary content: IEM & NF don’t 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 doesn’t work
      •  never reject double download requests!
    • Referer -related problems: before WM5, PIE (and Thunderhawk even now) don’t pass the Referer header
      •  don’t 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 they’re slow!)
      • HandyGet 1.6
  • File upload (Ref: 1116)
    • All browsers (except for TH ) support it; IEM starting with WM5
    • Therefore, don’t 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
    • We can be reached at...
    • E-mail:
  • Thanks! Any questions? 04/29/10