Advertisment

Mobile Productivity

author-image
PCQ Bureau
New Update

Today, the cellphone has become an office on the move, thanks to their integration with the PDA. Similarly, PDAs are no longer the glorified personal information managers of yesteryears. They've become as powerful as a PC or a notebook, and you can use them for regular work. Besides this, they can do a lot more. Ever tried delivering a presentation to a customer with your cellphone? Or get critical alerts about your IT infrastructure through SMS and then log into your network remotely? All this is possible today thanks to all the technological development in the mobile space. However, there is no single factor responsible for this, rather a combination of several things.

Advertisment

For one, most mobile devices have modular specs, just like PCs and notebooks. So, you'll find that a smartphone has a CPU, RAM, storage space, display, a built-in digital camera and even portable accessories such as keyboard and bluetooth/WiFi cards. They all have their own OS as well, with a lot of useful features such as a Web browser and e-mail client. Plus, to extend their utility further, you can add more applications on top of the OS as per your requirements. Further still, the use of all these applications would be really limited if there wasn't a proper back-end infrastructure to support them. This is made available by the cellular service provider, who provides these devices both voice and data access. 

In this story, our focus is on the technologies available today in the mobile space and what you can do with them. Technologies such as push to e-mail, and push-to-talk are already here and those that let you use your cellphone to make VoIP calls are about to be launched. We've covered all these and more here.

Push e-mail



There are millions of e-mail clients available for the different platforms that let you check your mail. However, all of them rely on the pull technology-that is, the e-mail client requests the e-mail server for the list of messages or contents of a particular message-in essence pulling the information from the server.

Advertisment

A more recent technology is the push e-mail technology. In this technology, as soon as the e-mail server receives a message it is automatically pushed out to the user's device. This means that the important messages are instantly delivered to the user's inbox on his device. Remember 'A.J.' in the TV ad who gets all the contracts? This is why push e-mail is becoming very popular around the world.

For push e-mail to work, you must have a push e-mail capable client, which the cellphone service provider must provide. The service for push e-mail is availed by installing a push e-mail server. For instance, if you want the service for your company, you'll need to install a particular push e-mail software that will associate your corporate e-mail account with a virtual push e-mail account at the service provider's end (ie you@company.com=yourmobile@serviceprovider.com). Then, as soon as an e-mail arrives in your inbox, the software at your end will pick it up and deliver it in your cellphone's inbox.

In India only Airtel provides this facility and you need a Blackberry device to be able to receive these pushed e-mail. But these two alone will not be sufficient to get your corporate e-mail to you. For that, you will require that your company e-mail servers support pushing the e-mail. The software that allows this is available for MS Exchange and Lotus Domino that must be set up at your end. You can also get your personal Indiatimes and Rediff e-mail delivered to you by subscribing to this service from the Airtel site. 

Advertisment

Nokia (with their next version of Symbian) and Microsoft (with Windows Mobile 2005) are betting on this technology and are going to provide push e-mail enablers. Microsoft is also expected to include push e-mail capabilities into their next Exchange service pack, which will be free. So be ready for the next big jump in cellphone e-mail.

WiFi and VoIP on your cellphone



A cellphone till recently had been just a voice communication device-something that allowed a user to talk to another user. Since recently though, cellphones have begun becoming much more than just that. Even if we leave out the features that are cooler for teens and college students such as MMS, cameras, MP3, etc, there are a lot of innovations happening on them that are of particularly interest to a corporate user.

Connectivity options such as IR, bluetooth, GPRS, EDGE, CDMA etc. are available on many phones now. Higher end phones such as the Nokia Communicators, smartphones and others also have features such as Office support, e-mail clients, full-fledged Web browsers, software install support and more. Amongst all these is a new feature that's coming up in a lot of new phones- WiFi access. 

Advertisment

A cellphone with WiFi support can be very useful. Consider a case where you wish to connect to your mail server to download a large attachment. Doing this over GPRS can be very time consuming. However, if your phone is WiFi capable and you're sitting in a WiFi hotspot, you can use the much faster speed of the Internet on the network to do the same job. And you do not have to pay any GPRS download costs as well.

Many of the new PDA/cellphone combinations available currently-both from the Palm world and the Windows Mobile world support WiFi in their devices, making Internet access a good bit better. But it is another feature that is part of the recently released Windows Mobile 5.0 platform (for PocketPCs and smartphones) that really uses the WiFi access in a very inttelligent manner.

The feature is of using Voice over IP (VoIP) for voice conversations between different mobile devices on the same WiFi network. Let us illustrate this with an example. Suppose Amit works in company XYZ, which has a WiFi network. He has colleagues named Bose, Charu and Deepak also in the same organization. When within the premises of the office, they are all connected to the WiFi network using their smartphones. When Amit wants to call any of the others, he simply uses the name of the contact to call up. 

Advertisment

The software then figures out that the contact is already available in the same network that the mobile device is connected to. So instead of making the call through the cellular service provider's network, it makes the call using VoIP on the WiFi network. In large companies, this itself would see a significant reduction in mobile phone fees that one has to pay. 

Also, when the device finds that the contact being called is not on the network it is connected to, it will use the normal method of calling-using the cellular service. For the user, this happens seamlessly and he does not need to open any other application or setup anything else. 

Mobile video conferencing



Modern cellphones enable you to do everything that a regular desktop PC can do, with the added advantage of mobility. Connectivity to the Web and e-mail on the move are now things of past. New technologies in the cellphone arena are aiming at providing broadband services to cellphones. The transition from the low data rate services to broadband services is similar to what happened for PCs (dial-up to broadband). Hence, similar bottlenecks of infrastructure, cost and hardware exist for broadband services for cellphones. One such service is video conferencing using cellphones. Today there are technologies that allow video conferencing between two cellphones, and between a cellphone and a PC. The latter happens over the Internet. Let's look at the elements involved in this technology and roles they play.

Advertisment

The devices



While we may assume that all camera-equipped cellphones are ready for video conferencing, they are not really so. Note that most cellphones have camera at the back. During a video conference, you must face the camera so that your photograph can be transmitted to the participant(s) on the other end. Facing the camera located at the back and operating the cellphone simultaneously during a conference is not comfortable. This is where cellphones with camera lens on both sides, rotating lens and add-on accessories for video conference have an upper hand. Take, for example, the Samsung SGH-D500 whose lens can rotate by 180 degrees (called a swivel camera) to take pictures at the front or on the rear. The latest Nokia 6630 can be used along with an add-on accessory called Nokia Video Call Stand PT-8 for video conferencing. On this compact stand which houses a camera lens, you can mount the cellphone and initiate a conference call. You will be able to see the participant and yourself on the cellphone's screen. Your images will be transmitted to the viewer on the other side via the camera on the stand. 

The connectivity or the service



Connectivity is the biggest bottleneck to make video conferencing a reality, especially in India. We have gone only upto GPRS (while still using GSM) as far as the quality of the services go. Video conferencing experience over the 14.4 Kbps offered by GPRS will be like using a legacy modem for desktop video conferencing, jittery and not happening. There are promises that the cellphone operators have made to provide 3G (Third Generation) connectivity and services like EDGE (Enhanced Data GSM Environment). Connectivity over EDGE offers a whopping 384 Kbps, a must for a better video conferencing experience. But it does not end at having a 3G connectivity only. Mobile operators should allow and route video calls and offer services, such as directory services to locate participants and encrypted sessions, for a widespread adoption. 

The software



Picking up a cellphone that boasts of video conferencing capabilities will give you out of the box and integrated applications for video conferencing. For example in Nokia 6630, you just make a video call without launching any application to start the video conferencing from the phone's menu. Under the hood, it's the Symbian OS version 8.0 (refer to Cellphone OSs) running on the cellphone, which provides the conferencing capabilities. Video conferencing may be integrated with instant messengers for the cellphones and the phones running Windows may have a Pocket NetMeeting.

Advertisment

The service provider side



There is an added infrastructure involved at the service provider's side makes video conferencing possible across a 3G network-H.323, the standard protocol. It works with most video conferencing application and services. H.323 defines how video conferencing can take place across the networks, across different applications and devices. Being network independent, it is used for a 3G network. 

An additional device that may be required at the service provider end is a MCU (Multipoint Conferencing Unit). This device sitting on a 3G network can allow many mobile users to participate in a video conference. 

Last but not the least, a H.323 gateway device/software will be required to facilitate video conferencing across mobile and the computer network. This will translate the data from the 3G network to a format (TCP/IP packets) recognizable by the Internet and also vice versa. 

The use of a gateway device is nothing different as it is used for many mobile applications such as WAP, SMS over Internet and Web browsing over GPRS. Lets hope, with the connectivity and services are in place, we get better at business and at keeping in touch. 

Instant messaging on the move



Instant messaging is both, a boon and a bane. Using IM to communicate with others in your organizations, when on the move, can be quite cost effective compared to using SMS or roaming STD calls from your cellphone. It is possible to use most of the popular IMs like Yahoo on cellphone, on most carriers, using

SMS.

However, remember that each message you send has a fixed cost associated with it. 

There are different universal instant messaging clients available for cellphones. We look at one of the best ones around-Agile Messenger, which is absolutely free to use!

Agile Messenger is available for different cellphone platforms including Symbian, Palm OS, Windows Mobile and J2ME. Binaries are available for many Nokia, Seimens, Sony Ericsson and PocketPC/smartphone devices. Once you install the tiny application on your phone, run it to set it up for the first time.

The first time you run it, the application prompts you for the protocols you wish to use-MSN, Yahoo, ICQ and AOl. You can select one or more protocols from this screen and the wizard then asks you to enter your login name and password for each service. It then connects to the Internet and downloads the contacts for each chosen service. The contacts are clearly identified by different colors for different services.

To start a conversation with any of the online contacts on your list, simply select the name and click on it. A new tabbed 'window' opens up in which you can start your conversation. You can have multiple chat windows and talk to different contacts from different services as well. Almost all the chat features such as smileys, quick texts and offline messages are supported by the client.

The coolest feature is of voice messaging using PTT (Push-To-Talk) technology. On certain platforms, Agile Messenger allows you to assign a PTT key and when you wish to have a voice conversation with a contact (over the Internet), you can press this PTT key and talk. Release the key to send the voice message. When a new voice message comes in, it is automatically played for you.

Unified messaging and communication



We use different methods such as, fax, voice call, e-mail, SMS or video conferencing to communicate with each other over several devices such as landline phones, cellphones, fax machines, e-mail clients, instant messengers and PDAs. Moreover, some of these devices support more than one method of communication. With so many different modes and devices, it can become difficult to keep track of all the communication. You may not remember whether you sent an e-mail or a fax, or whether you used your PC or PDA for the job. Perhaps that important contact is lying in your PDA's address book, while you're hunting through your e-mail client's address book for it. This is where the concept of unified messaging and communication

comes in. 

Unified messaging, as the name suggests, aims to integrate various methods of communication and make them accessible from a single interface. Currently, most modes are accessible over a PC, but they use their own proprietary interfaces. For instance, you can send and receive faxes using your built-in fax modem but that will require its own software for fax management. You can't for instance, send out a fax and save it in the Sent Items folder of your mail client, or in your Inbox. If you receive a voice call, you have to answer it on your cellphone or landline phone. You can't convert it to text and save it in your mailbox. Further still, you can't convert your voice to text on the fly and fax it to somebody. What we have are essentially isolated islands of communication with no real integration among them. 



Some of the technology trends indicate the move towards unified messaging, but it will be a while before it comes into action. For instance, today you can send and receive your SMS messages using MS Outlook (See Send SMS from Outlook 2003, page 48, April 2005). PDAs are merging with cellphones, thus, integrating e-mail and SMS to some extent. But the real challenge lies in integrating everything into a single mailbox, which is still a distant dream.

PC vs cellphone 



When you buy a PC, you usually note down its hardware specs, which includes the processor type and speed, amount of memory (RAM), hard disk capacity, display type, graphics card, and various types of external devices and peripherals like a printer, scanner, keyboard, mouse, etc. However, when you buy a cellphone or PDA, you typically look at the size, style, color and whether or not it has a digital camera. One doesn't even imagine that devices could also have hardware specs similar to a PC, but if you look closely, you'll find this to be true. In fact, some mobile devices have more processing speed and memory than older PCs. Sounds unbelievable? For instance, Nokia 6630 houses a 230 MHz processor-giving the same processing speed as a PII processor. And the O2 Xphone II comes with 32 MB RAM (SDRAM)-the recommended memory to run Win 98 on PCs. 

Why should this similarity matter to someone going for a mobile device when most of the buying is still based on style, color and features set? It matters because mobile devices are getting more feature-rich and the number of applications you can run on them is also increasing. Plus, you'll also find a lot of accessories and peripherals available for mobile devices today. Most of these factors are governed by the underlying hardware. We now look at some of these specs. 

The Processor



Currently, speed is the criteria as opposed to brand (as in the case of desktop PC). Different cellphones house different brands of processors but it seems mobile device manufactures stick to a particular brand for their models. For example, Nokia uses ARM processors in most of its cell phones. So if you go the Nokia way, the distinguishing criteria will be only speed that the latest models offer.

Also Intel's XScale processors are being used in many PDA cum cellphones. AMD has also recently introduced Alchemy Au1200 processor for handhelds. With the distinction between a cellphone and a PDA becoming narrower (because of convergence) the brand conscious Intel and AMD fans can find their preferred processor in cellphones too.

Note that there are plethora of processors used in different brands of cellphones. Listing them and their features for comparison would not be worth since the buying criteria

remains the cellphone brand, as of today.

Memory/Storage



The more the merrier-describes it the best. Cellphones will come with some in-built memory to store basic cellphone software (like OS) and to load the applications into the memory to run. SRAM and SDRAM are popularly used for the main memory for cellphones. Note that this SDRAM cannot be expanded as in case of PCs. So going by the latest offerings, you should go for 32 MB or more. Coming to the secondary and the non-volatile memory, depending on the type of the memory card supported, the options are SD, MMC and Memory Stick. You can easily go up to 1 GB of secondary storage using external memory cards. 



Today cellphones can play MP3s and video clips, and storing them on the cellphone will require such external cards. The memory on the phone is usually used to store the contact details, notes, calendar schedules and MMS messages. Hence, the memory on the cellphones may fall short to store the former data. 

Display



Gone are the days of the white backlight, blue backlight (as in the old Nokia 8250) or options to choose amongst different backlights (like that in Panasonic GD93 and GD94). Now majority of phones come with 64 K colored TFT display. The resolution of the screen has also become better. For instance, the screen resolution of Nokia 6630 is 172x200. This means colored foreground besides just the background. 

Not a hardware feature, but some phones such as Nokia 6630 support a landscape display, which is great for watching video clips. Latest cellphones have a larger display screen. On the flip size, the display or screen size of a cellphone may increase the overall size of a cellphone making it difficult to fit in your pocket.

However some cellphones like the Samsung D500 have a slide out keypad that can be sided in for the cell phone to fit in your pocket. 

Ports, peripherals and connectivity options



The standard connectivity options are infrared and bluetooth with WiFi making its appearance in some of the latest cellphone cum PDAs like O2's XDA IIs. The option of a USB in the charging cradle can allow you to connect your cellphone with a PC for data synchronization or use your cellphone as a modem. For example, the Reliance phone can be connected to the PC via USB to connect to the Internet. A USB charging cradle is sold as an accessory by the phone vendor or third-party vendors. There are also more than a couple of accessories, which come for a cost after buying a cellphone. A car charger kit lets you charge your phone on the move while a bluetooth handsfree allows you to talk freely while driving. On the costlier side are the accessories which can turn your phone into a video conferencing device like the Nokia Video Call Stand PT-8 (refer

to Mobile video conferencing).

Cellphone OSs



In the world of PCs, Windows is the dominant OS and is used by a very large percentage of people. However, the mobile-device world is dominated by a different player called Symbian. This is the OS that runs on most common cellphones that you see, including the ones from Nokia and Sony Ericsson. However, in the last two years, other OSs have also come up that can and are challenging the leadership of this OS. Lets look at some of the major players in this market.

Symbian



As mentioned earlier, Symbian is the OS for cellphones that is used by a large number of manufacturers such as Nokia, Sony, Motorola and others. Symbian is currently in version 8.0 and a version 9.0 is in the works. Both these versions provide support for high level of interactivity and connectivity. Symbian 8.0 based phones have the ability for Push-to-Talk, GPRS, EDGE/3G, and Bluetooth. Most Symbian phones also have a Java runtime that allows users to install applications written in J2ME such as Java utilities or games that run on the phone itself.

Windows Mobile



An offering from Microsoft's stables, Windows Mobile is available in two versions-Windows Mobile PocketPC Edition and Windows Mobile Smartphone Edition. In fact the latest release of this OS called Windows Mobile 5.0 has just been released. Devices based on Windows Mobile 5.0 are expected to hit the international market by July or August 2005.

Both these versions run on PDA or smartphone devices respectively and the only major difference between the two is in the form factors and the input type they recognize. The PPC edition recognizes a touch screen and larger form factor meant for PDAs, whereas the smartphone edition recognizes T9 and a phone keyboard input method. Both offer the user a very familiar Windows look and feel. 

Windows Mobile 5.0 also adds WiFi support to the phones, which enhances their abilities such as browsing at higher speeds than GPRS can allow and for enabling VOIP over WiFi when talking to another person on the same network (refer to WiFi and VoIP). It also adds 'mini' versions of Office viewers that lets users view and read popular file attachments such as DOC, XLS and PPT files directly on the device itself.

Palm OS



Palm has always been a good player in the PDA market, but made a few strange mistakes earlier on. However, they have bounced back with Palm OS 5 and the upcoming Palm OS 6.x (Cobalt). 

This new release will also add in features that are now available in Windows Mobile 5.0 such as WiFi and other connectivity options. It will also be a fully multitasking and multi-threaded OS that allows multiple applications and threads to run simultaneously. Support for a large number of expansion options (SD, SDIO, MMC, etc.) as well as a number of device resolutions (QVGA, and more) are going to be some of the new features of the OS.

Software for cellphones



What good is an OS if you can't add applications to it? If computers had an OS only, they would never have become as popular as they are today. They're popular because they give users the choice of installing applications that they like on top of the OS. Similarly, a PDA or cellphone would have also remained just a device with limited functionality if it only had an OS (refer to Cellphone OSs). One reason they're gaining popularity is that you can install lot of applications on them. There's a plethora of them available, just as for computers. Here, we look at some to give you a feel of what's available for improving business

productivity. 

Getting your news



One of the popular ways of getting news headlines these days is by using RSS, a service provided by many sites that allows you to download and read news headlines and a summary, and then read the complete information only if you are interested in it. To do so, you need to use a software called an RSS reader or RSS aggregator. Many RSS readers for computers are available. But imagine having the same functionality on your cellphone. Here are some of the popular ones you can make use of for this purpose:

  • DoHeadlines for Symbian
  • NewsBreak for Windows Mobile
  • Hand/RSS for Palm OS

All of these support the latest RSS specifications, have a large number of built-in categories to choose from and allow you to view a headline or a complete item just by selecting it.

Control your presentation



Imagine having to do a presentation, where you'd not only like to move about the stage, but also like to control the display, such as moving to the next or previous slide, show/hide slide or notes and so on. Several gadgets are available that give you this freedom. There are devices such as wireless mouse or a USB device meant specifically for this. Now imagine translating the same task to a cellphone. What you need is a bluetooth enabled cellphone and a notebook. You can buy a bluetooth adapter in case the notebook doesn't have it in-built. Once you have these, you can use any of the following software for the job, depending upon the make of your cellphone and the OS it uses: 

  • Windows Mobile PowerPoint Mobile (Part of Windows Mobile 5.0)
  • Pocket Slides 2.0
  • Digia Imagexpo for Symbian OS

Work with data



When on the move it is imperative that you be able to work with your documents, whether it be a proposal, a data analysis spreadsheet or a presentation you wish to make. Doing all this on your notebook is convenient if you have one or can use it. All this can be done with a cellphone too, if you have the necessary software and gadgets attached. Most mobile OSs now support such applications. Some of these are as follows: 

  • Office Mobile on Windows Mobile 5.0
  • ClearVue Suite on Windows Mobile 2003/5.0
  • Documents to Go for Symbian and PalmOS

Office mail on Exchange via cellphones



When on the move, you can check your official e-mail in different ways -use a public terminal, connect from your notebook using WiFi or GPRS/CDMA. However, most of these solution require that you have access to a full-fledged PC.

Using a Windows Mobile 2003-based device such as a PocketPC Phone or a Windows Smartphone like the Krome and XPhone devices currently available in India, you can use all the familiar features of your regular mail applications like Outlook. Both these kind of devices come with a PDA version of the popular mail application and is called Pocket Outlook. Here we set up Pocket Outlook on the Windows Mobile Smartphone. The first thing you need is access to your Exchange mail from outside your company network. Ask your system administrator if this is possible and get the settings for connecting via IMAP4 to the Exchange server. 

On the Windows smartphone, select Start>Messaging (or Inbox on some versions). Click on the right context key to get the menu and go to Options>Account Setup. Select New to open the New Account wizard on the phone.

Fill in the details of your new account in the wizard. Make sure you fill in your organization's Domain Name when prompted, for connecting to Exchange otherwise the username and password will not authenticate against the company ADS even if they are correctly entered. Make sure you select IMAP4 as the server type when asked. Next, enter the incoming and outgoing mail server addresses that you got from your systems administrator. If required turn on the Outgoing server authentication and SSL connection options also. 

Finally, select what you wish to download from the e-mail server-all messages or headers only, the amount in bytes to download for each message and the frequency at which e-mail is automatically checked. Save the settings and you are ready to go.

Switch to the account you just created from your Home screen and select Menu>Send/Receive. You will start seeing your mail (or headers), download just as you do in Outlook on the desktop. You will even have a small preview of what the mail contains. If you'd selected to download headers only, you can click on a message, and mark the complete message to be downloaded on the next Send/Receive. This way you can avoid downloading all spam you might get, but still reach the important mail you need to read without waiting for all the mail to download. 

Java Web services on cellphones



Here we write a Web service in Java, which provides access to the system information on a server. Subsequently, we write a small mobile application for a Java enabled cellphone to access this Web service. While we have carried only the snippets of the code, the complete code is available at forums.pcquest.com under the 'Developer Stuff' thread.To keep it simple, our Web service will only retrieve the disk space information and beam it to a cellphone when requested. Such an application is quite useful for system administrators who are on move and suddenly get panic calls saying all services on the server are dying and nothing is working. A probable culprit may be the disk space which suddenly got full because of the ever growing logs. Such a Web service that we are about to code, will give a system administer a one click access to the server's disk space information on move. 

The preliminaries 



We will deploy the Web service using Tomcat and Axis on PCQLinux 2005. We assume that you have installed and setup Tomcat on PCQLinux 2005. If not, refer to the article JDBC Drivers , page 76, March 2005 and do that. 

To deploy Web services on Tomcat you will need a package called Axis which can be downloaded from the following URL:

http://www.wmwweb.com/apache/ws/axis/1_2/axis-bin-1_2.tar.gz.

Extract the archive which will produce a directory named axis-1_2. Copy the directory named axis found under axis-1_2/webapps to

/opt/tomcat/webapps. 

Next download Java Activation Framework from http://java.sun.com/products/javabeans/glasgow/jaf.html.

Extract the downloaded archive and copy the file named activation.jar to/opt/tomcat/webapps/axis/WEB-INF/lib.

Next, issue the following:

export AXISLIB=/opt/tomcat/webapps/axis/WEB-INF/lib



export AXISCLASSPATH=$AXISLIB/activation.jar:$AXISLIB/commons-discovery-0.2.jar:$AXISLIB/log4j-1.2.8.jar:$AXISLIB/axis-ant.jar:$AXISLIB/commons-logging-1.0.4.jar:$AXISLIB/saaj.jar:$AXISLIB/axis.jar:$AXISLIB/jaxrpc.jar:$AXISLIB/wsdl4j-1.5.1.jar


Also append the above commands to the file named bashrc found in /etc. Now we are ready to write the Web service. Save the following code in a file named ServerDiskUsage.java under /opt/tomcat/webapps/ axis/WEB-INF/classes.





import java.io.*;





public class ServerDiskUsage{


public String getDiskUsage(){ 


String output=""; 


try {


Process ps = Runtime.getRuntime().exec("/bin/df -H /");


ps.waitFor(); 


.


.


output=ioe.toString();


}


return output;


}}















We will deploy the method or function named getDiskUsage

( ), in the above Java class, as a Web service. Note that, in getDiskUsage( ), we issue the 'df -H /' command, to get the disk usage information on the root filesystem, by using the statement:

Process ps = Runtime.getRuntime().exec("");

We can issue any Linux command and get its output using the above statement. So you are free to extend the code to retrieve other system information besides disk space. Compile the above code as:

javac ServerDiskUsage.java

Next, save the following content in a file named deploy.wsdd in the same directory (that is, /opt/tomcat/webapps/axis/WEB-INF/classes). 





.


.




Stop and start the Tomcat application server as:

/opt/tomcat/bin/catalina.sh stop



/opt/tomcat/bin/catalina.sh start

While in the same directory deploy the web service by issuing:

java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient -l http://127.0.0.1:8080/axis/services deploy.wsdd

Now key in http://:8080/axis/services

URL in a Web browser and you should be able to see the ServerDiskUsage web service. Right click on the WSDL link and copy the URL. This URL to the WSDL (Web Services Description Language) will be required while coding the mobile client to the Web service. 

The mobile client application



Now we code a mobile application to access the above deployed Web service. The simplest way to code, deploy and test a mobile application is to use the J2ME Wireless Toolkit (version 2.2 as of this writing) which can be downloaded from

http://java.sun.com/products/j2mewtoolkit/download-2_2.html.

We downloaded the Linux version of the toolkit and used it on PCQLinux 2005. Once downloaded issue the following to install the toolkit:

chmod +x j2me_wireless_toolkit-2_2-linux-i386.bin



./j2me_wireless_toolkit-2_2-linux-i386.bin

Connect your mobile device via IMAP4 to Exchange server to read your mail on the cellphone

Follow the onscreen instructions and when prompted for the path of Java interpreter, type in /usr/java/jdk1.5.0_01/bin (the JDK bundled with PCQLinux 2005 is installed at this location). When prompted for the directory to install the toolkit, type in /opt/WTK2.2. To launch the toolkit, change to the directory /opt/WTK2.2/bin and issue './ktoolbar' to launch the Wireless Toolkit. Click on New Project. For 'Project Name' and 'MIDlet Class Name', type in ServerDiskUsageClient. In the window that pops up subsequently, select CLDC 1.1 for the Configurations and check the box for 'Web Service Access for J2ME'. Click on OK. 

Generate the payload to access the Web service



With the Wireless Toolkit, accessing a Web service is a breeze and requires only a few lines of code. All the necessary payload (called stub) to access the Web service is generated by the toolkit. All you need to do is, click on Project>Stub Generator. For the 'WSDL Filename or URL' type in the URL to the WSDL file that you noted down above. For 'Output Package' type in com.pcquest. Click on OK. This will generate the required stub (some Java code), required to access the Web service, in the directory /opt/WTK2.2/ apps/ServerDiskUsageClient/src. Next we code a MIDlet (a mobile app) to access the Web service using the generated stub. Copy the following code in a file named ServerDiskUsageClient.java in the directory /opt/WTK2.2/apps/ServerDiskUsageClient/src. 

import javax.microedition.lcdui.*;



import javax.microedition.midlet.*;


import javax.microedition.rms.*; 


import com.pcquest.*;


.


.


private StringItem siUsageReport;


}





While the code might look long, the only statements that are used to access the Web service are:

ServerDiskUsage_Stub service = new ServerDiskUsage_Stub();



siUsageReport.setText(service.getDiskUsage());

The first statement gets a reference to the Web services from the generated stub. The second statement directly calls the method getDiskUsage( ) as service.getDiskUsage() which returns the disk usage. This is displayed on the mobile screen in a StringItem using its setText( ) method. 

Launch the MIDlet



On the toolkit window, click on Build and then on Run. This will show up a cellphone emulator as in the screenshot. First click on the Select button. Then click on the button at the right to execute the Web service. This will flash a warning saying that the application will send and receive data using the network and may use airtime. This is obviously not applicable to our case when we are running the application locally. So again hit the button on the right. This will show the output of the df command which can be easily comprehended by a Unix/Linux system administrator.

Developing smartphone applications 



Now that most modern cellphones have full fledged OSs, manufacturers are also giving different ways of writing applications for these phones. Microsoft offers the mobile version of Windows in two flavors-PocketPC and smartphone-both capable of working as PDAs and cellphones. Although it was quite possible to write applications for older versions of WinCE and PocketPC, the introduction of .NET has made it simpler.

Push-to-Talk

Think of PTT (Push-to-Talk) to be like a walkie-talkie conversation. During a Push to Talk conversation all participants can hear what is being spoken by one of the participants. Unlike a typical phone call where both the participants can speak (a full duplex conversation), a Push-to-Talk conversation allows only one person to speak at a time. The speaker presses a button to start speaking and can continue speaking till he releases the button. This subsequently gives the other users a chance to speak. But the noteworthy feature is the speaker can be heard by all participants without any action required at their end. As the name suggests, you can push a conference to another person and he will start hearing you on the handset. This method of pushing a call is called 'barging in' and the call itself is called a barge call. This can be uncomfortable if you don't want to join the push to talk conversation. This is where an alert call comes into picture. An 'alert call' displays a message on the cellphone saying that someone is trying to initiate a PTT conversation with you and whether you want to join in. It's quite similar to the alert you receive when someone is trying to connect to your cellphone using bluetooth. If you choose to accept the call, simply press the accept key. Last but not the least you will need a cellphone (like Nokia 3230) that supports Push-to-Talk and your cellphone network must provide Push-to-Talk services. As of now, nobody in India is offering it, as TRAI's approval is still awaited. 

Both Windows Mobile 2003 and Windows Mobile 5.0 come with the .NET Compact Framework preinstalled. You can, however, install the NETCF, on older version of WinCE as well, for instance, on PPC2002. Once it is installed, you can write applications that use this runtime and have them run without any other intervention. This also lets you take advantage of the excellent RAD tool-VS.NET and all the other .NET features such as the plethora of controls, Web Services, etc. Now, we'll take a look at how easy it is to create a small application that runs on your cellphone. We'll create an application that sits in your phone and lets you do currency conversions. The added advantage of this application will be that it will get the latest currency rates and use them for calculations. We will use the upcoming VS.NET 2005 for doing this. 

Open up VS.NET and create a new Smart Device Application for smartphones. Give it a name like CurrencyConvertor and create the project. Once the project is open, you will see a form that looks like a phone itself. This is the form on which you can make your application. Remember that the form factor of the phone has to be maintained.

Drag and drop a few labels and textboxes onto the form and change their text so that they look like the one in the picture. Also click the menu item at the bottom of the form and type in the text like 'Get Value'. In the picture below, we are hard coding the currency from as USD ($) and currency to as INR (Rs), since this is an example program.

The next thing we do is add a Web service from which we will retrieve the currency rate for the two currencies. Right click on the solution and select Add Web Reference. Key in the value:

http://www.webservicex.com/CurrencyConvertor.asmx?WSDL.

This will download the Web service to your local project. Give it a recognizable name like wsCurrency and add the reference. 

Creating an application in VS.NET for mobile devices, is as easy as dragging and dropping a few labels and text boxes

Now double click on the 'Get Value' menu item you created earlier. This will take you to the event handler for that item. Put the following code into the handler.

Dim wsCurr As New wsCurrency.CurrencyConvertor



Dim Rate As Double=wsCurr.ConversionRate(wsCurrency.Currency.USD,wsCurrency.Currency.INR)





Dim Amount As Double = Rate * Convert.ToDouble(TextBox3.Text)


TextBox4.Text = Amount.ToString


Save the file and press Ctrl+F5 to start the application. Since this is not a Windows application, but rather a Windows Mobile Smartphone application, you will be prompted for the target on which it should run. You can select a real device if it is attached or the Smartphone Emulator. The emulator lets you run and debug the application on Windows itself without requiring a real device. Once the application is deployed, it runs in the emulator and you can check out whether it runs fine or not.

Anil Chopra, Shekhar Govindarajan and Vinod Unny

Advertisment