Make your Site PDA-Friendly
*** WARNING! *** This article is getting a little dusty, and some of the links may no longer work. We recommend that you check out the following article for more up-to-date information on building a site that is optimized for mobile devices: Designing for the Mobile Web.
Small is good, if you want to make your Website content available to users of PDAs (Personal Digital Assistants). Although PDA hardware and software capabilities can’t match those of a desktop machine, you don’t need to settle for an anaemic handheld version of your site. With careful planning and smart coding you can create an elegant PDA-friendly site.
Now you can join those on the bleeding edge with minimal risk and effort. I’ll focus on using AvantGo as the delivery mechanism, though much of the information here can be applied to alternative PDA browser solutions (see below).
AvantGo provides users with free browser and syncing software. And for the developer, there’s a quick online tool that you can use to build an AvantGo channel to which users can subscribe. All in all, AvantGo is truly a killer app for PDAs.
Decide What to Publish
Your first step is to decide what you’ll deliver to your PDA-equipped audience. Start small and be selective. News stories, articles, product descriptions and order forms are good candidates for this channel’s timely delivery.
You want a simple 2-3 level navigation, such as a main menu, submenus (optional) and content pages. For example, our WEBtheJOINT channel consists of two levels – a main menu of articles, and the articles themselves.
Keep the sum total of your pages to between 50-100KB in size. AvantGo enforces limits of 256KB per channel, and 32KB per page. Pages should be short and limited to one subject.
Coding Basics
AvantGo supports HTML 3.2 – with exceptions. Forget about using frames and image maps. Image tag attributes like height, width, and text floating won’t fly either. Text formatting capabilities are limited. The FONT
and BASEFONT
tags are useless.
Keep screen size in mind. You can design your pages for the lowest common denominator (Palm’s 150 x 150 of usable screen). Or, you can use an HTTP Header (described below) to adapt your content to fit the larger screens of Windows CE and HPC Pro devices.
With PDAs’ limited graphics capabilities your safest bet is to use high-contrast grayscale images with a width of 150 pixels or less. Color images will be converted to grayscale by non-color devices. Be sure to use alt tags.
For more detail on these topics visit the AvantGo Developer Guides.
Using HTTP Headers
Once you’ve identified your channel’s content-to-be, you face the challenge of optimizing it for the PDA. You can create separate versions for the standard browser and for PDAs, but the experienced developer may prefer to use JavaScript, PHP, or another scripting tool to optimize pages on-the-fly. Use HTTP Headers to determine the client’s operating system, screen size, color capabilities, and more.
For our channel, we use PHP simply to determine whether the user’s browser is "AvantGo". If it is, a downsized header file (PDA_header.inc) that contains the HTML for one small image and a few navigational links is called, rather than the full-blown header (FULL_header.inc) that our regular site’s visitors see:
<?php
$agent = getenv("HTTP_USER_AGENT");
$handheld = strpos($agent, "AvantGo") ? "Yes" : "No" ;
if($handheld == "Yes")
{
include("../PDA_header.inc");
} else {
include("../FULL_header.inc");
}
?>
Visit this page for the full scoop on using HTTP Headers.
Create Your Content
Design a small home page that gives the visitor a clear idea of what lies beneath. A main menu is good. Second and lower level content can either be created from scratch, or existing pages can be scripted with HTTP Headers as described above to eliminate the need for separate PDA-friendly versions.
Save the home page file and any other new or modified files on your Web server. Consider putting the home page file into a separate subdirectory with header, footer and image files used solely for your AvantGo channel.
Using Forms
Any Website worth the cyberspace it occupies has some interactivity via forms. AvantGo and PDAs can handle just about any kind of form. Be sure to keep in mind screen size and the HTML limitations mentioned previously.
The form that your user fills out and submits on the PDA is saved in the Forms Manager. The next time the user syncs to your channel, AvantGo sends the completed form to your server where it is processed as usual by your form’s cgi-bin or other action.
The only major change you need to make to the form is to customize the Submit button with a little JavaScript. Replace the standard:
<input type="submit" name="submit" value="Submit">
with:
<input type="button" name="submit" value="Submit"
onClick="document.forms[0].submitNoResponse(
'This is the message that will be displayed after form
submission',
false,
true);
back()">
The submitNoResponse
function is AvantGo’s way of displaying a confirmation message to the user, and of specifying whether the form is hidden in the Forms Manager (in this example, "false") and whether multiple forms can be submitted ("true").
A powerful AvantGo feature is channel personalization with forms and cookies. For more information, visit this article.
Create Your AvantGo Channel
If you haven’t already done this, sign up for a free AvantGo account. Next, use AvantGo’s wizard to create your channel. You’ll specify the location of your home page, link depth, and more. This should take all of five minutes.
When you’re finished, click on "Export Channels" to generate the URL that you can copy and post on your site so that customers can sign up for your channel. The URL will look like this:
http://avantgo.com/mydevice/autoadd.html?title=WEBtheJOINT&url=ht
tp%3A%2F%2Fwww.webthejoint.com%2Favantgo%2Findex.php&max=100&dept
h=2&images=1&links=0&refresh=always&hours=1&dflags=127&hour=16&qu
arter=30&s=00
It ain’t pretty, but it works like a charm. When you go to this URL, the channel will be added to your "My Channels" list. Sync up your PDA, then click the AvantGo icon on your PDA to test your handheld-friendly site.
If you’re sans-PDA, don’t worry. Download the Palm OS Emulator onto your Windows/Mac/Unix computer.
Alternative PDA Browser Solutions
AvantGo’s not the only game in town, but it’s way ahead of whatever’s in second place.
Blazer
Palm browser that can access virtually any site on the Web, but strips out unsupported content (streaming media, Java, JavaScript). Unlike AvantGo, Blazer does not store content on the PDA.
Cost: US$19.95
http://www.handspring.com/software/blazer_overview.jhtml
Palmscape
Palm browser that can cache pages for offline viewing. No SSL support.
Cost: US$29.95
http://www.ilinx.co.jp/en/products/ps.html
Web Clippings
Stand-alone applications supported by Palm VII handhelds, Palm Vs with the OmniSky modem, and other handhelds with the Mobile Internet Kit installed.
http://www.palm.com/dev/tech/webclipping/.
What Are You Waiting For?
If you haven’t already, sign up for a free AvantGo account. Subscribe to several channels, including the SitePoint channel – you’ll quickly find some with elegant navigation and valuable content. Yours could be one of them. Give it a shot!