The Mobile Developer
by Eric Giguère
Do Portals Exclude Mobile Users?
If I had to choose, I'd say that The buzzword
of the moment is portal. Although there's no
universal definition, you can say that a portal is
a website that amalgamates information from various
sources (internal or external) to form a focused entrypoint
to the internet or an intranet. Portals often offer
additional services such as email, forums and chat rooms.
Their goal is to either provide a starting point for
all customer/supplier interactions with a particular company
or else simply to drive traffic to a site in order to
sell products and/or generate ad revenue. But
do portals exclude mobile users?
There are two kinds of portals. One is the
static portal, in which most of the information
consists of "static" web pages. The original
index and search engine is a good example of a static portal.
The second kind of portal is the dynamic portal,
where most of the information is generated dynamically
out of one or more databases. The portal user can
easily personalize the portal's content. An example
of a dynamic portal is
that the line between static and dynamic portals isn't
fixed, since all portals usually have both static and
dynamic content associated with them. It's the ratio
that determines whether a portal can be classified as
static or dynamic. Not surprisingly, the big database
companies are getting into the business of providing
the infrastructure for dynamic portals. My own
employer, Sybase, promotes its
solution, and the other companies are pitching
One problem with portals is that they often assume
you're connected to a network and that you're using a web browser.
If you're a mobile user, this may not be the case.
You might be running your laptop on an airplane, for
example. Or you might be running an offline browser on
your Palm organizer. Or maybe you're using a microbrowser
on your cellphone but the network charges are so expensive
that you really want to minimize the amount of data that
gets transferred to you. Some of these problems can
be alleviated by having the portal support WAP
(see my previous column),
but a dynamic portal may not be usable offline.
For a portal to be browseable offline, its pages have to
be cacheable. CacheFlow,
who build and sell Internet caching "appliances", has a neat
page on their site about
web design. Not only do they talk about how to make your
web pages cacheable, they also provide a free tool that you can use
to check the cacheability of an arbitrary URL. Run this tool on
a number of portals and you'll see that there's quite a variance
Dynamically-generated web pages are rarely marked as being
cacheable, even though in many cases the content could be
cached. You should make an effort to make as many of your
pages cacheable as you can, even if all the pages on your
site are dynamic. CacheFlow gives you some good instructions on how
to do this. As well, you should consider reducing your
reliance on cookies and password authorization, as these
generally hinder cacheability.
There's an interesting side-effect to making your website
accessible offline: the changes can make your website
respond more quickly, because the server has less work to
do and because any proxy servers down the line
will be able to cache the pages. Just thinking about how
to make your site cacheable can also lead you to reducing your
site's complexity, which benefits not only offline users
but also wireless (small device) and physically challenged users.
So portals don't have to exclude mobile users. There are
some things in a portal that require that the user be
connected, but you should try to keep it at a minimum.
If you have the time, you might even want to consider
providing a "micro" version of your portal specifically
aimed at mobile users.
Eric Giguère is the author of
Palm Database Programming: The Complete Developer's Guide
and an upcoming book on the Java 2 Micro Edition. He works
as a developer in Sybase's Mobile & Embedded Computing division.
Visit his website at www.ericgiguere.com
or send him mail at firstname.lastname@example.org.