Author:
Menneisyys@PDAMania.hu/Firstloox/PPCT/Brighthand/Geekzone etc.
MS Portrait
( http://research.microsoft.com/~jiangli/portrait/
) is probably the only VoIP client for the Pocket PC that makes it possible to
actually use VoIP over the meager bandwidth of GPRS
with the fortunate owners of Multislot Class 6/10
GSM/GPRS phone owners.
The
application installs a handful of DLL's into \Windows in Storage memory.
Depending on the camera you use, you may remove most (or, if you don't use any
camera, all, freeing up some 0.46 MBytes) of them.
They are as follows:
2002.04.23. 11:21 12 288 camdrv.dll
2004.02.04. 18:26 23 040 G1000CamLib.dll
2003.02.14. 08:53 114 688 gd104.dll
2002.07.15. 11:37 68 608 hpcamapi.dll
2002.04.11. 16:36 129 024 hpimglib.dll
2003.09.26. 15:10 118 784 SDIOCam.dll
2003.01.21. 18:28 33 280 veocamapi.dll
Oh no, it doesn't
support the Fujitsu-Siemens Pocket Loox 720 camera.
(Incidentally, as a quick hack to circumvent the lack of the PL720 support, I've
tried to rename all of the only camera-related DLL's I could find in the PL 720
ROM, \Windows\HTCCamera1.dll, to all
of these DLL names. None of them worked.)
It
integrates with MSN Messenger well - you can define your MSN Messenger login
& pwd to login. If the "official" MS
Messenger client is configured to auto-logon upon any kind of connection,
Portrait logs it out (during this, the PPC becomes unresponsive for several
seconds - this is a problem!) and takes over all its functions. Of course,
buddies are also imported & shown - no manual editing is needed.
Actually, on
the PPC side, Portrait is much better than MSN Messenger in that that it
doesn't automatically close the chat window & delete
all of its contents as soon as the connection closes for whatever reason. This
is a big problem of the PPC MSN Messenger if you want to save the chat contents
after the chat session.
The
advantages of the PPC MSN Messenger over Portait are that,
unlike in Portrait, Ctrl-A works in MSN Messenger to select all the text, and,
starting with WM2003SE, it also allows for styled saving of the chat session in
Notes. Another advantage is that you have to explicitly exit Portrait (which is
pretty hard) upon reconnection so that it connects to the Net again. MSN
Messenger automatically does this, which is far easier for non-tech-savvy
people to grasp.
When the
desktop Portrait is not an active task (being iconized
in the taskbar is not enough), calls placed from the PDA only end up in the
desktop Messenger. When the desktop Messenger fires up the dekstop
Portrait, it tries to call back the GPRS client, but it won't work because of
GPRS clients' generally being behind a firewall. This is a big minus.
Incoming
text connection requests over GPRS: they are delivered to the PDA. In this
case, MSN Messenger shows a taskbar icon so the request can't be missed; Portrait,
on the other hand, only plays the ActiveSync login sound ("infbeg" for PPC hackers) and opens the virtual input area.
You need to switch to Portrait to be able to see what has been sent by whom.
Fortunately, activating Portrait takes you right to the chatting screen.
Unfortunately,
unlike MSN Messenger, you can't explicitly tell the underlying operating system
to automatically start Portrait (or any of its sign-in parts) when an
Internet-connection is established. This is another serious drawback because,
programmatically, it's not very hard to do (registering the sign-in code in the
DB_Notify_events database).
Another
problem with Portrait is that it only supports two of the only low-bandwidth
voice codec(s) built-in Windows CE. The problem with this approach is the
following. With a GPRS connection, the uplink connection, if not using a Class
6/10 GPRS machine (on the GPRS multislot classification
of the GPRS machines, please see http://www.gsmworld.com/technology/gprs/class.shtml
), can't have more than one slot. This only means some 9-10 kbps effective
uplink speed. That is, only the uninterrupted/non-skipped sound of vocoders (voice coders) that require less bandwidth than
9-10 kbps is transferred to the other side of the discussion.
Unfortunately,
the once-existing "Mobile Voice (2.4Kbps)" vocoder
(along with the lesser-know codecs like TrueSpeech and, although that's not a vocoder,
just a standard ADPCM codec, IMA ADPCM) has been removed from PPC2k2 and up.
This means you can only use the only one audio codec that would really work
(Mobile Voice) on a PPC2k machine, but not on a more recent, PPC2k2 / WM2003(SE) one. The latter only support the GSM codec and,
as far as I know, there is no easy way to install other (vo)coders on the PPC, unlike with the desktop Windows.
Unfortunately,
most cheaper/older non-Nokia GPRS phones are mostly either Class 4 (e.g., the
Ericsson R520) or Class 8 (S-E t68i, t610 etc.). The same stands for,
unfortunately, all the RTM-8000-based GSM/GPRS CF cards ( http://www.expansys.com/product.asp?code=RTM8000
). Only the long-forgotten iPAQ GSM/GPRS Sleeve ( http://www.automatedhome.co.uk/article634.html
) had support for Multislot Class 10. (For the class
classification of some older GSM phones, please see http://www.gsmworld.com/technology/gprs/terminals.shtml
).
Only more
expensive (non-Nokia) phone models are Class 6/Class 10; e.g. Sony-Ericsson's k700i/P900/P910,
newer Siemens phones (e.g. the S65) or most PDA-Phone combos like the MDA
II-III ( http://www.pdagold.com/hardware/detail.asp?DeviceID=154
; http://www.infosyncworld.com/reviews/n/5530.html
) or the iPAQ 6340). This means the voice of anyone
that speaks to the PDA won't be heard without serious problems by its peer. The
lack of support for full-duplex mode in any PPC operating system greater than
PPC2k is another problem - this is not a limitation of the hardware. (FYI, Skype and most other PPC VoIP
apps are full-duplex).
Verdict:
unless you have a Nokia GPRS phone or anything new (a cheap, but, for data
communication purposes, extremely good t610 won't work!) capable of (at least)
2 upload slots, you won't be able to use the VoIP
functionality of the application. Or, of course, if the
author of the app doesn't supply some kind of proprietary vocoder
with Portrait.
Just a
remark: the technically non-savvy users will have serious problems with the
program because, under PPC2k2+, it allows for choosing both full-duplex mode
and Mobile Voice. It, however, won't work and the only error message presented
is "WaveIn: unsupported wave format",
instead of something like this: "This codec isn't accessible under
PPC2k2+. Please use the GSM codec instead."