Wireless Village is an IM protocol developed
by Ericsson, Motorola, and Nokia Open Mobile
Alliance (OMA) under the OMA-IMPS-WV-CSP 1.1
specification. Asterix and Centurion involved
the development of client software for this
Wireless Village (WV) presence and instant
messaging protocol. Asterix dealt with the
development of WV clients on mobile phones
with embedded Java (J2ME), while Centurion
involved development of WV clients on Windows
PC and PPC (Pocket PC – A Windows CE
based handheld PDA).
The WV clients have been designed to serve
as an IM interface for the end-user by providing
presence and instant messaging over the
desktop PC and mobile devices – handhelds
and mobile phones. These IM clients enabled
cross messaging between IM clients running
over a PC, handhelds (PDA’s) and mobile
phones. In terms of the platforms involved,
the desktop client was based on Windows
98, NT 4.0, 2000 and XP, while the handheld
client (Centurion) has been designed for
the Pocket PC (PPC) 2002 running over strongARM
processors and having Win CE 3.2 as its
OS. The Java client (Asterix) is expected
to run over Java enabled mobile phones.
During the development phase, 2 versions
of the IM client were created – a
“full” version and a “light”
version. The full version client is targeted
at high end phones like the Nokia 7650 and
Sony-Ericssion P800 and includes heavy IM
functionalities like full buddy list support,
multiple IM sessions, and group IM in public
and private chat rooms. The light version
with limited but essential IM feature set
was developed for J2ME mobile phones with
limited capabilities supporting a maximum
application size of 64K, for example the
Nokia Series 40 devices. These J2ME clients
were tested for over-the-air delivery across
a GPRS network and were additionally branded
for specific Network Operators.
While working on the Asterix module for
development of J2ME clients some interesting
issues and their workarounds had to be handled,
majority of these were related to the varying
hardware specifications of mobile phones.
The aim was to develop clients that would
execute on a number of Java enabled phones.
With each device having its own set of specifications
in terms of runtime memory, screen size,
processor speed and other UI constraints,
the clients needed to be customized such
that the IM interface offered device optimized
operations. We carried out client customization
and optimization over phones like Nokia
3650, Sharp Gx-10 and Sony Ericsson T610.
Other challenges included developing an
Arabic version of the client using an English
development environment and flipping the
UI for right-to-left viewing.
On the Win CE client, a couple of UI customizations
had to be done. First was the change in
look and feel of the tree UI control, which
according to the requirements had to appear
aligned as compared to the default Windows
OS indented tree look. As a result we had
to create our own tree control for the IM
clients. The second issue was that of the
minimized icon - according to the requirements
when the application is minimized, the main
window should be animatedly hidden and displayed
as an icon. This called for a brief research
on the various ways to minimize and maximize
windows on the Win CE platform, and hence
handling each separately.
Another Win CE related issue worth mentioning
here is that of the IM alert popup. The
PPC has only one window displayed at a time.
Similar to the desktop functionality, the
client required that a popup window be displayed
on receipt of an IM alert – message
receipt, or chat invitation, or user status
alert. On a Win CE environment, the only
other window that can be displayed is a
dialog box. Thus to implement this popup
alert, we had to tweak the dialog window
functionality such that it appeared as a
popup alert window.
The development phase was followed by a
rigorous testing routine which included
testing of the WV protocol implementation,
black box testing for the Win CE clients
(Centurion), and memory/ resource leak testing.
We used a couple of testing utilities that
ensured a bug free software deliverable,
to name a few – Snoopy: sniffer for
protocol testing, Numega Bounds checker:
for memory and resource leak testing,
and so on.
With a team size of one manager, one team
lead, 2 developers and one QA, Asterix and
Centurion collectively involved 11 calendar
months before the final delivery. With our
Win CE and Java embedded experts, the customer
had a clear smooth sailing in terms of handling
and implementing the advanced IM functionalities
using the current edge technologies in the
embedded domains. Our straight timely deliveries
enabled the customer to meet tight marketing
schedules and gain an edge in terms of the
competitive wireless markets.
|