| Which Is The Best Mobile Phone Viewer? |
Let's suppose that you are shopping for a mobile phone and you want to base your
purchasing decision on which one will be the best platform for a PocketLearn
Viewer. In other words, which phone will allow you to run the Viewer with
the greatest feature set, speed, and sophistication? Before we answer
that question, you should know that at PocketLearn, our viewers are constantly
evolving. What may be the best platform for PocketLearn viewers today may
not be the best tomorrow. Mobile phones are advancing fast with more
memory, faster processors, and better screens. But today, when it comes
to mobile phones, you basically have two choices: Windows Mobile and
Java.
Windows Mobile
The Windows Mobile Smartphone viewer is our reference implementation
for mobile phones. This means that it is an example of what is possible
to do with a viewer and has a "full" set of features. This answers our
original question of "which phone" is the best platform for the PocketLearn
Viewer. At least as it stands today (and by a wide margin), the Windows
Mobile Viewer offers the greatest speed, sophistication and feature set of the
two currently available software platforms. Microsoft has brought the
power of it's Windows operating system to the Smartphone. Going a step
further, it has also brought a promising new software technology called .NET to
this platform that enables, among other things, fast development cycles and a
degree of insulation from future operating system changes. All this while
providing access to key legacy Windows components such as Internet Explorer,
upon which the PocketLearn Viewer relies extensively. The result is that
the HTML rendering is superior, features such as card transition effects are
possible, and a real "file system" makes it easy to store test results and
provision titles.
Java
When Java made its appearance roughly ten years ago, it came with the promise of
providing a great new application environment where an application developed to
run under one Java system would run unmodified under any other Java system
regardless of the underlying hardware or operating system. Seeing these
advantages, mobile phone manufacturers began including a stripped-down version
of the Java environment(called J2ME or MIDP) on their phones. Game
developers in particular, have capitalized on this, designing many games that
run on Java phones. Today, it is hard to find a mobile phone that does
not include a Java subsystem. Even Windows Mobile phones provide a Java
environment. On the surface, Java seems like a great platform for a
PocketLearn Viewer, but in reality, there are a number of challenges. The
first and probably biggest problem is that the "equalizing" promise of Java
(one application running unmodified on different systems) has not
materialized. The result is that the environments often behave very
differently. A great example of this is support for the GIF and JPEG
image formats. Some Java environments support both, some support none,
and some support one or the other. There are many reasons for these
differences, but they are outside the scope of this article. Secondly,
the J2ME API (application programming interface) is, in our opinion, weak
compared to the richer APIs such as those offered by the Windows Mobile and
other environments. This limits what features the Java PocketLearn Viewer
can offer. Lastly, the J2ME environment doesn't include support for
rendering HTML, and no mechanism for controlling a native HTML browser.
We solved these problems by developing our own HTML renderer to work with the
Viewer. It does a great job, but remember that because of the first two
problems, the HTML may not render exactly as it would under the Internet
Explorer browser, for example. This is where you Java phone users come
in. Please read on...
Calling all Java PocketLearn Viewer Users
There are many, many Java phones out there. Actually a lot more than we
are able to test here at PocketLearn. So, if you've tried to run the
PocketLearn Viewer on your Java phone, please share with us your
experience. But more importantly, tell us about any problems you may have
encountered. We will use that information to first fix any problems that
are within our power to fix. And second, we will create, maintain and
publish on our web site a list of Java phones that are able to successfully run
the PocketLearn Viewer, along with any helpful information and/or tips for each
particular phone.
The Future
The ability to take the hardware out of the equation and "focus on content" is a
key part of the fledgling PocketLearn vision. As this vision has
developed and emerged, the goal has been to get the most "bang for the buck" by
leveraging technologies such as Java to immediately support as many mobile
phone platforms as possible. It is entirely possible that Java will be an
adequate host for many PocketLearn Viewer users for a long time to come.
But, the mobile phone operating systems that currently power our phones, such
as Symbian, Brew, and Palm, natively offer richer and faster application
operating environments than Java. Linux is also emerging as a player in
the mobile phone operating system arena. None of these operating systems
by themselves currently offer the "reach" that Java offers. Nevertheless,
PocketLearn Viewers written specifically for those environments could be better
Viewers, perhaps similar to the Windows Mobile Viewer. Today, these
operating systems are competing fiercely in the marketplace. Some are
predicting that only one or two will survive. No matter which ones
survive, you can be sure that we will be closely monitoring that battle as we
evolve current PocketLearn Viewers and as we create new ones.