Logical shift Project home
Present-day mobile devices that may be considered suitable for running a language such as this are divided roughly into two broad groups - mobile telephones and PDAs. The distinction between the two categories is becoming increasingly blurred - there are mobile phones available now that incorporate systems running using Symbian's EPOC operating system, or Palm's PalmOS, as well as PDAs, such as the Palm VII or VisorPhone, that have built-in mobile phone transmitters designed to enable internet access. While ordinary mobile phones tend to have limited display and input capabilities, the PDAs are usually equipped with a touchscreen and handwriting recognition or a keyboard. EPOC devices have a fully-featured multitasking operating systems (and can run full TCP/IP protocol stacks and web browsers with ease, although mysteriously the mobile phones that have EPOC software tend to use WAP for preference), which PalmOS devices have rather more limited software capacity.
PalmOS is based around a 68000 architechture, and has a hard limit of 56k for stack and 64k for 'dynamic' program data, although the devices can have much more memory than this. It also has almost no support for floating point operations. EPOC is a much more capable operating system than PalmOS - however the low-powered ARM7-series chips most EPOC devices use means that response times can be slow, despite having a performance advantage over the chips used in Palm devices. While Pocket PC devices are now available, which feature both a powerful processor and operating system, these devices have made minimal impact on the market share of PalmOS and EPOC, probably because they are much more expensive and have a very short battery life in comparason, even though they are usually equipped with high-power rechargable cells. EPOC devices designed to run with the more powerful battery technologies may be able to use the 200MHz+ StrongARM processor, eliminating any performance problems. PalmOS, inc. has hinted that future versions of PalmOS may be based around an EPOC kernel.
OFTEL's June 2000 survey of mobile telephony usage indicates that, with present-day telephones, WAP and Internet access tends to be the least important factor in buying a mobile telephone. I believe that the small screen offered by most currently available mobiles, as well as the limited user interface, makes direct access using the mobile's interface little more than a gimmick, as the screen can only convey limited information (about 80 characters on a 4x20 screen, which is to say slightly less than the amount that's carried in this aside). PDA devices are much more viable both as information systems and for general purpose computation. Consequently, the language will be aimed at these devices, with a bias towards communications.
As it is apparent that mobile devices are going to become increasingly connected in the future, it is likely that Internet access will become more and more prominent as a use of these devices. All the current major PDA devices already support TCP/IP and web browsing, and most of the devices that do not have a mobile telephony transmitter of their own support the use of a seperate mobile phone with an IrDA modem built in. However, the operating system and hardware architechture of some devices, notably PalmOS devices, prohibits the use of technologies such as Java, which were designed for much more capable operating systems. Consequently there is an opening for a communications-orientated language designed specifically for the lower power devices that are commonly used for these applications, assuming a simple operating system and also the possibility of limitations in the memory model. The language should not be resource hungry.
In addition, I believe the usage of this language will follow the current trends of mobile usage. The most popular mobile data service at the moment is the simplistic SMS. This service is roughly analogous to a packet-based datagram service, such as UDP/IP  or LEAP , and could be used to request and provide short updates (for example, summaries of information from websites and real-time updates of those summaries, alerts such as pages or news items and so on). Programs would take the data from these updates, and provide the facilities to display it in a more user-friendly format, either immediately as an alert, or by storing the data away for later access. Programs may also be used to provide an interactive user interface to these services. For PDA-style devices, programs may also provide stand-alone services in a device-independant manner.