Archive for May, 2009

T-mobile Dash Smartphone as an on-board programming platform

Friday, May 1st, 2009

For reasons that I care to only peripherally discuss, I came to possess a T-mobile Dash (aka HTC Excaliber) smartphone with the upgraded Windows Mobile Standard 6 operating system for the last 12 days. For reasons that do not have anything to do with the device — hardware or software — tomorrow the device will probably be returned to the T-mobile store for a refund. Here follows a brief review of the device and its on-board programmability and hardware characteristics.

You can get the raw specs online, and it looks a lot like a Blackberry with a QVGA landscape screen and keyboard. It is only about a third the volume of the Zaurus 5500 and is about at the lower limit of comfortable size for the PDA with keyboard type of device. The keyboard is designed for one-handed use (right-handed), and the layout is obviously Blackberry inspired. There are a number of keys needed in programming that are very awkward to generate (i. e., backslash; square or angle brackets) or missing altogether (control keys). And then you have wasted keys (t-zone key, email key) and unused sequences (fn + shift). Not very promising, but perhaps fixable in software.

The device was apparently first released with Windows Mobile 5, and now with Windows Mobile Standard (meaning Smartphone, no touch screen) 6. The older models can be upgraded for free, and the large number of annoyances reported with WM5 would appear to make that desirable. The upgrade has been criticized as slow, but I did not notice performance to be an issue.

I did not test the Dash as a music player, but in that regard the use of a proprietary connector to headset/speakers would be a deal-breaker for some. Video in some forms played from the Portable Internet Explorer (PIE) browser, but the Adobe Flash plugin I tried to install refused to go.

Aboard were the mobile versions of Word and Excel, and the viewer version of Power Point. I did some editing of text files with Word and saw a powerpoint file rendered (nicely) by the viewer. Trying to use the Excel app did not go well — you have to get an Excel file from your computer to even start playing. Since Word will only save and load *.txt files for plain text, using it for script or html/javascript files would require another application to change file extensions back and forth.

I don’t really care much for phones, so other than to say that it does phone calls, I will refrain from further comment on that. There is a connection manager application that makes turning the phone link and the WiFi on and off easily, and I like to preserve power by turning them off when not in use.

The screen is bright but not of the transflective type I have come to love on the Zaurus. This one looks great, with high contrast and wonderful fonts — but is not really visible in bright sun. Unfortunately, I live in sunny Colorado and like to be perpetually outdoors.

The prospects for doing “on-board programming,” particularly when compared with the Zaurus Linux-based system I have been using for the last many (seven?) years, still appears a little grim. I didn’t think the keyboard would be a problem, but it is; it is too small, and significant key-mapping work will be required. The other major problem is that there is no working console application available, though the search continues. An although Windows CE in its many incarnations has been around for a decade, this device runs a variant that is compatible with only about 10% of the existing software base, judging from my testing of a wide variety of freeware and shareware. I did find many essentials: editor, file explorer, scripting language, registry editor, etc. But without an xterm-like console to glue things together, even the exploration of what is possible is very frustrating, and the design of each tool is effected negatively by the design of the operating system itself.

The freeware programming community is, however, alive. It is not bound by the open-source spirit, and there is little source code to see even in the case of essential utilities. The remains of some long ago porting efforts for GNU tools are scattered about, but they are not presently in good working order, and are clearly under-appreciated.

In my next post, I will detail my effort to reach a state where on-board Java programming is possible, and will also discuss the available scripting languages.