War of the Mobile Browsers

chulavistajuniorΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

117 εμφανίσεις

CHAPTER
14

War of the Mobile Browsers

Abstract

Mobile web browsers have substantially evolved to a level in
which wireless applications enrich user experience beyond a
desktop environment. Server
-
transcoding and client rendering are
paradigms found to ena
ble the wireless web, additionally open
platforms provide applications developers with extensions to
expand the future of mobile software.

14.1

Introduction

Mobile and wireless communication networks are taking the
desktop Internet experience beyond office or h
ome networking
environments, the differences that used to exist between a wireless
and wired Internet are narrowing and getting closer to become one.
These differences have been decreasing as telecommunication
service providers enable 3G networks, allowing

web multimedia
content which has been exclusively provided thru WAN pipes is
now as pervasive as high
-
bandwidth content to mobile devices.
This experience is enhanced with mobile devices supporting IEEE
802.11 wireless access which is also as pervasive as

in coffee
shops, museums, restaurants and universities. In the United States,
telecommunication carriers such as T
-
Mobile, AT&T, and Sprint
provide 3G plans with speeds of up to 3 Mbps covering wide
metropolitan areas. For instance, South Florida is cove
red from
Jupiter to the FL Keys entirely .

Standards

& Emerging Technologies


Sumi Helal, Chap
ter
14

2

As a consequence of wireless bandwidth and multimedia evolution
of handsets, the mobile web can no longer be different and, does
not have to be different to standard desktop environments. In the
past, WAP (Wireles
s Applications Protocol) standards and WML
(Wireless Markup Language) content were the choice; in fact
WAP is still popular with many of the mobile carriers
14.1
.
However, text
-
based Internet is continuously becoming an obsolete
choice for rich multimedia

mobile phones with CPUs, usually
ARM
-
based, with clocks ranging from 100 to 250 MHz and
memory footprints of 128 MB.

14.2

Mobile Web Paradigms

It's then expected that mobile content is continuously evolving to a
richer experience in which standard HTML pages
are delivered
and formatted to fit a mobile device screen. Web applications on
the other hand are increasingly popular as well as interactive
HTML experiences. Currently, there are several mobile browsers
providing an experience similar to that of the desk
top. These new
mobile browsers are being designed using two paradigms
:



Sever transcoding, in this approach, a mobile client requesting
a URL is sent to a proxy server on the Internet, usually residing
at the carrier premises. The proxy server, on behalf o
f the
client, makes the request to the encoded server on the URL.
HTML content retrieved could then be converted into a special
or proprietary format, which is rendered by the requesting
mobile browser. In general, these rendering engines are
proprietary,

and reside at the server. The mobile browser may
also include additional compression to support low
-
bandwidth
scenarios.

Standards

& Emerging Technologies


Sumi Helal, Chapter
14

3



Direct delivery: The mobile device renders HTML directly
from a web server or a local file. This approach is seen today
on desktops a
nd is becoming the preferred choice on mobile
browsers. A rendering engine (e.g. Webkit

14.2
) is embedded as
part of the device firmware and in many cases these HTML
rendering engines are open source. A similar approach has
been followed by other browsers

such as Pocket Internet
Explorer (or Pocket IE) which relies on rendering Compact
HTML content. Webkit on the other hand, provides support for
standard Javascript, AJAX (Asynchronous Javascript and
XML), CSS (Cascading Style Sheets) , and HTML
--

in
gener
al, what is defined thus far as Web 2.0
14.3

Table

14.1

Mobile Browsers Paradigms

Server Transcoding

Direct Delivery



Server in the middle
required



Rendering done at the
server, images or PNGs are
delivered to the handset



Multimedia is handled at
the serve
r



May use non
-
standard
Rendering engines



A simple thin
-
client
approach can be
implemented in several
platforms



Upgrades done at the server
may not require
reprovisioning



Direct access to the internet



Javascript, CSS, HTML
support



May require plug
-
ins for
multimedia content



Standard rendering engines



Model used on Android,
iPhones; may require
higher computation
hardware



In the server transcoding paradigm, mobile browsers such as Opera
browser and Skyfire
14.4
, are written for native platforms like Java
Micro
-
Edition (J2ME) and Windows Mobile. These two browsers
Standards

& Emerging Technologies


Sumi Helal, Chap
ter
14

4

provide full page rendering and visualization for mobile devices
supporting J2ME and Windows Mobile. Their rendering engines
use server
-
based computing power to generate compressed image
files th
at are displayed by the mobile browser. Because these
images are preprocessed at the server, content is irrelevant to the
mobile browser. Therefore, RTSP (Real
-
time Streaming Protocol)
videos and complex HTML content can be rendered on any
handset.

In g
eneral, server
-
transcoding requires the implementation and
management of a server infrastructure, and many web applications
may not work with this approach due to their reliance to AJAX or
secure mechanisms unsuitable for mobile clients. Additionally,
con
cerns over a single point of failure start to become more
apparent, especially in scenarios that could potentially limit the
amount of requests made from a server, such as web
-
casted
sporting event, or secure mobile banking applications. In either
case, s
calability and browser lever security need to be addressed.

In a different approach to transcoding, mobile content is delivered
directly to the handset, where it is both rendered and processed
using local resources. Today, several mobile browsers take
adv
antage of this paradigm through the Webkit engine, including
mobile Safari (iPhone and iPod touch)
14.4

, and more recently
Google Android
14.5
. In the following section, HTML rendering
engines are briefly explained.

14.3

Mobile Web Rendering Engines

Rendering

engines are used in games as well as mobile browsers,
and are specifically specialized frameworks dedicated to parse
HTML tags, draw images, text, and lines on a canvas area
Standards

& Emerging Technologies


Sumi Helal, Chapter
14

5

allocated for web content. In addition to retrieving content from
the web or loca
l repositories, these engines have become
increasingly popular for managing state transitions, providing APIs
to control and access XML and HTML content retrieved from a
server, and for properly displaying web applications containing
embedded Javascript.

T
hese engines are not dependent on specific support from a
desktop platform and have been ported to ARM
-
based
architectures. The most popular open source engines are, Webkit
and Gecko
14.4
.

Proprietary engines include Presto, Mercury
(OpenWave) , Netfront,
and Internet Explorer (Trident). There are
many other engines on the web, but many have not been as
popular.

As previously mentioned, Webkit is an open source project which
has quickly become the defacto standard as the engine of choice
for the Mobile Web.

Webkit provides extensive support to HTML
2.0 including features such as AJAX, CSS, Javascript, and a plug
-
in framework. Webkit has been modified to be enhanced with
touch
-
based interfaces and zooming capabilities to facilitate
viewing and further interf
ace small handsets with full
-
fledged
HTML web applications. Additionally, the same AJAX
-
based
support, or Web 2.0 applications, is now capable of
asynchronously updating personal mobile web content.

WebKit development is done under LGPL licensing, as is G
ecko,
from the Mozilla project, and both are available online. Mobile
developers can compile ports of both WebKit and Gecko into
ARM
-
based architectures with some modifications, provide
libraries, and, or, create applications using these rendering engines
on Linux
-
based open platforms.

Standards

& Emerging Technologies


Sumi Helal, Chap
ter
14

6

In addition to the mobile browser war, there is also a strong battle
on the platform side for leadership, and as the browser and
platform converge, the competition is becoming heated. Webkit for
instance has been already por
ted over to OS X (Apple's Tiger)
hence providing support for Mac, iPod and iPhone, Webkit has
additional ports for Linux as part of the Google Android project,
Qt , and obviously Windows
-
based platforms, except not yet seen
running on Windows CE/Smartphone
.

Gecko (Firefox) on the other hand, is falling behind on features
and capabilities compared to iPhone and Google Android.
However, Skyfire has been able to use Gecko as part of their server
transcoding solution. Different from Webkit and client
-
based
r
endering, Skyfire uses a proprietary protocol in all exchanged
made from its browser and rendering server. Additional
functionality can be seen on Skyfire, including Flash and
Shockwave support, which are supported at the server
-
level.

14.4

Mobile Browsers

T
able
14.
2 shows a summary of open source as well as
commercially available popular mobile browsers. WAP
-
based
browsers are still the most popularly deployed among handsets,
OpenWave continues to be the market leader in this area . WAP
browsers are, in ma
ny cases, tied to proprietary device
functionality, including features such as WAP
-
push messages and
e
-
mail.

Graphical browsers can be seen today in many J2ME
-
enabled
phones, including the Opera browser. Opera has released several

J2ME applications with

ports that include Windows Mobile and
Linux
-
based devices. Opera Mini 4 and Opera Mobile use a server
-
Standards

& Emerging Technologies


Sumi Helal, Chapter
14

7

transcoding approach in which original HTML content is rendered
at public or private servers, depending on what version is in use.
Opera browsers rely h
eavily on server
-
transcoding. Opera
browsers also provide some scripting support, similar to Javascript,





















Yes/No
Windows, Linux,
BREW, ROS
Yes/Yes
Low
No
Limited to
plug
-
in
support
No
No
WAP2
-
Openwave
Openwave
/
Openweb
)

Yes/Yes
J2ME MIDP
Yes/Yes
Medium
Yes, Opera
widgets
Depends on
Java VM
Depend
s on
Java
Yes
Presto/
Prop
ietary
Opera
Mini 4
/
Skyfire
No/Yes
Windows, Linux
No / Yes
Medium
Yes, Opera
widgets
Several media
supported
Planne
d
Yes
Presto/
Prop
ietary
Opera Mobile
No/Yes
Windows, Linux,
BREW
No /No
Yes, but
limited
Yes, plug
-
in
framework
Yes
Yes
Mercury
Openwave
Full browser
MacOS
Linux/Android
Windows, Linux,
REX/BREW
Platforms
No / No
No / No
No / No
Server/
Cost
Yes,
Javascript
Yes, at
client
Yes, at
client
Widgets
RTSP, No
Windows
Formats
Plug
-
ins,
Android and
Linux
-
based
Yes, multiple
formats
Multimedia
Multi
Yes,
driver
-
based
TAP
Touch
GPRS /
WiFi
Yes/Yes
Yes
Webkit
Safari
(
Iphone
)

May Not/Yes
Yes
Webkit
Google
Android
Yes/Yes
Yes
Propietary
Netfront
NarrowBand
/Broadband
Zoom
In/Out
Engine
Name
Yes/No
Windows, Linux,
BREW, ROS
Yes/Yes
Low
No
Limited to
plug
-
in
support
No
No
WAP2
-
Openwave
Openwave
/
Openweb
)

Yes/Yes
J2ME MIDP
Yes/Yes
Medium
Yes, Opera
widgets
Depends on
Java VM
Depend
s on
Java
Yes
Presto/
Prop
ietary
Opera
Mini 4
/
Skyfire
No/Yes
Windows, Linux
No / Yes
Medium
Yes, Opera
widgets
Several media
supported
Planne
d
Yes
Presto/
Prop
ietary
Opera Mobile
No/Yes
Windows, Linux,
BREW
No /No
Yes, but
limited
Yes, plug
-
in
framework
Yes
Yes
Mercury
Openwave
Full browser
MacOS
Linux/Android
Windows, Linux,
REX/BREW
Platforms
No / No
No / No
No / No
Server/
Cost
Yes,
Javascript
Yes, at
client
Yes, at
client
Widgets
RTSP, No
Windows
Formats
Plug
-
ins,
Android and
Linux
-
based
Yes, multiple
formats
Multimedia
Multi
Yes,
driver
-
based
TAP
Touch
GPRS /
WiFi
Yes/Yes
Yes
Webkit
Safari
(
Iphone
)

May Not/Yes
Yes
Webkit
Google
Android
Yes/Yes
Yes
Propietary
Netfront
NarrowBand
/Broadband
Zoom
In/Out
Engine
Name
Table
14.2
Comparison of different mobile browsers
Standards

& Emerging Technologies


Sumi Helal, Chap
ter
14

8

by utilizing “Opera widgets,” but this is non
-
standard and does not
work across all other browsers. Similarly, Netfront, Openw
ave,
and Operacall run on BREW (Built
-
in Runtime Environment) to
support CDMA devices.

Netfront uses a proprietary, platform independent rendering engine
and includes full HTML support and WAP
-
based browser. Skyfire
requires server
-
based rendering and has

become widely popular on
Windows mobile devices. As expected, by using Gecko as server
-
trasncoding solution, it's expected that most behaviors seen with
Gecko browsers will also be seen on Skyfire's J2ME and Windows
Mobile clients.

14.5

WebViews and the Future

of the
Mobile Web

As platforms, both Apple's iPhone and Google Android expand
their web engine framework so it can also be used by other
applications, and restrict it as a feature exclusive to the mobile

Web views allow a mobile developer to create basica
lly any User
Inteface (UI) design using standard Web
-
based technology. This
HTML
-
content could be retrieved from a remote server, or from a
local file on the device.

This versatility on the web engine can be extended in many ways
including managing resour
ces, and manipulating the Document
Object Model (DOM) retrieved from an HTML site. Fig
ure 14.1

depicts an Android application instantiating a “WebView”
element.

In mobile browser platforms, the DOM can only be modified as
part of the JavaScript embedded i
n the HTML page. Web views
Standards

& Emerging Technologies


Sumi Helal, Chapter
14

9

allow this model to change, programmatic DOM changes are
conceivable to be made without creating additional Javascript
support, and hence hide logic from the HTML content which could
be publicly available on the Internet.










Fig
-
1: Instantiating a Webview Object on Android


Figure
14
.1.

Instantiating a Webview Object on Android



Even though web views are not a new concept, they have not been
widely popular on the desktop. Some instant messaging clients
reuse an HTML rend
ering engine view that programatically
retrieves HTML and Web content as messages and widgets.
Unfortunately, embedding this content was cumbersome and in
many cases hard to manage, considering the lack of AJAX and
CSS support on those browsers. As the we
b becomes more
interactive, and web applications can be executed as part of the
mobile browser and also as part of an standalone native
application, this approach becomes more feasible to implement and
maintain.


/** Android WebView Example **/
import
android.app.Activity;
import
android.os.Bundle;
import
android.webkit.WebView;
public
class
WebView
extends
Activity {
/** Called when the activity is first created. */
@Override
public
void
onCreate(Bundle icicle) {
WebView wb =
new
WebView(
this
);
wb.loadUrl(
"http://www.motorola.com/ui/index.h
tml"
);
super
.onCreate(icicle);
setContentView(wb);
}
}
Standards

& Emerging Technologies


Sumi Helal, Chap
ter
14

10

As expected, a server
-
transcoding approach
is hindered heavily by
native rendering support that maps to the direct
-
delivery paradigm.
Server transcoding may not be suitable for web application
development, especially as the adoption of web views becomes
more popular. In addition, server
-
transcodi
ng may be relegated to
mobile browsing only. Hence, as web applications become more
pervasive and popular, this requirement will leave server
-
transcoding approaches as primarily suitable for low
-
tier devices,
and as a result with less support than expected
. Additionally,
Motorola provides a similar approach to deliver mobile web
content and web application development on Mobile Handsets by
using WebUI framework
14.6
. This framework provides tools to
create mobile web content that can be rendered in some of

the most
popular Linux
-
based phones made by Motorola.

14.6

Conclusions

Mobile web is the next step up for wireless, and as expected
many mobile browser approaches are being used to deliver mobile
content. However, the notion that the mobile web is about mob
ile
information portals in which text
-
based support and images is
sufficient, may no longer be valid. As web applications are
becoming more pervasive, the use of more compelling and
expandable solutions is more important than ever. Considerations,
such as
Web 2.0 standardization and universal support of
interactive HTML content, as the one now experienced on the
desktop computer, drives innovation, platforms, and hence mobile
browsers. Additionally, efforts to integrate mobile web rendering
engines as part

of the framework, together with the proliferation of
Standards

& Emerging Technologies


Sumi Helal, Chapter
14

11

web applications, may push web
-
kit based architectures, including
iPhone, Motorola WebUI, and Google Android, to lead the way.

References

[
14.
1]

WAP Forum: WAP 1.2.1 Conformance Release
http://www.wapf
orum.org/what/technical_1_2_1.htm

[
14.
2]

WebKit Open Source Project http://www.webkit.org

[
14.
3]

O’Reilly, T., 2005. What is Web 2.0. Design Patterns and
Business Models for the Next Generation of Software, 30,
p.2005.

[
14.
4]

http://en.wikipedia.org/
wiki/List_of_web_browsers

[
14.
5]

http://code.google.com/android/

[
14.
6]

Motorola WebUI
http://developer.motorola.com/technologies/webui/