Sometimes, it is useful to detect that a web request is coming from a Palm OS device. For example, if you've got a large or busy web page, you can use this information to serve streamlined content that works better on the small screen.
Unfortunately, there's no one characteristic that will help you detect all Palm OS web browsers. I've provided a table with the User-Agent strings returned by a popular subset of what's available:
| Browser | User-Agent String | Device |
|---|---|---|
| PalmOne WebPro 3.5 | Mozilla/5.0 [en] (PalmOS; U; WebPro/3.5; palm-MT64) | PalmOne Tungsten C |
| PalmOne WebPro 3.0 | Mozilla/4.76 [en] (PalmOS; U; WebPro3.0; Palm-Arz1) | PalmOne Tungsten T3 |
| PalmSource Web Browser 2.0 | Mozilla/4.76 (compatible; MSIE 6.0; U; Windows 95; PalmSource; PalmOS; WebPro; Tungsten Proxyless 1.1 320x320x16) | PalmOne Tungsten C |
| Blazer 3.0 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16; 160x160 | PalmOne Treo 600 |
| Blazer 2.1.3 | UPG1 UP/4.0 (compatible; Blazer 1.0) | Handspring Treo 270 |
| NetFront 3.1 | Mozilla/4.08 (PDA; PalmOS/sony/model atom/Revision:2.0.22 (en)) NetFront/3.1 | Sony CLIE PEG-TH55 |
| AvantGo 5.5 | Mozilla/4.0 (compatible; AvantGo 5.2; FreeBSD) | PalmOne Tungsten C |
| EudoraWeb 2.1 | Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1 | PalmOne Tungsten C |
It looks like detecting the keywords "PalmOS", "PalmSource", "AvantGo", and "Blazer" are sufficient, at least for this set of browsers. It's unlikely that those would show up in the User-Agent strings for any desktop browsers, although "AvantGo" may appear for other mobile devices using their software.
