Advertisment

Developing Apps for Smartphone

author-image
PCQ Bureau
New Update

The cellphone today does much more than what it was meant to do–make and receive calls. It is now a multi-function device that lets you store contacts and appointments, play some simple games, etc. With more advanced cellphones you can even browse the Net, sync data with your computer and take digital pictures. However, all these features do not make the cellphone a replacement for a good notebook, computer, or even a full-featured PDA. 

Advertisment

There have been many attempts to bridge this gap. PDAs with cellular capabilities have been around for a while; however, their form factor makes talking on them in a public place nothing less than an embarrassment. This is where the new Smartphone comes in.

The Smartphone is primarily a cellphone that works very well as a PDA by running a version of PocketPC (based on Windows CE). This means that you get seamless integration with your Windows notebook and can use many familiar software, such as Internet Explorer and Outlook (renamed PocketIE and Pocket Outlook), on the

Smartphone. 

A number of manufacturers, such as Motorola, Samsung, Everlink and Orange, make the hardware that run either the Smartphone 2002 or 2003 OS (called PocketPC 2003 or Windows Mobile 2003, respectively). The possibilities of what a Smartphone can actually do are endless. Since this runs a stripped down version of Windows, you will find a ton of software already ready for this platform. 

Advertisment

Remember that the Smartphone software (Windows Mobile 2003 or WM2003 from now on) is not network sensitive. This means that the same software can run on a GSM/GPRS or a CDMA network without any changes at all, as long as the hardware running it is capable. When you start a Smartphone, you actually boot into an Outlook Today like screen, called the Home Screen. This customizable screen contains the Windows Start button, your appointments, service provider, shortcuts to installed programs and other informative areas. 

The Smartphone is also capable of Net browsing, checking and sending e-mail from POP/IMAP/SMTP and Exchange 2003, sending and receiving SMS and MMS, digital cameras, IR, Bluetooth, GPRS, and so on. Pocket Outlook works perfectly with the Outlook on your computer and can sync appointments, contacts, to-do lists, notes, etc with ease. IE lets you browse the Net and even does some intelligent rendering of desktop sized pages to fit in the smaller screen of the phone. 

If you’ve been envying the Polyphonic ringtones that your friend has, you can blow him away by using WMA songs as ringtones on the Smartphone. You can even watch WMV, MPG or Divx movies on it. You can even install programs, such as a world clock, eBook reader, Office document viewers/editors, media players and games, that let you use the phone almost as well as PocketPC device. Check out the screenshot with Doom running–it runs at an incredibly playable frame-rate on the phone. So, the next time your friend shows off his color Nokia with Snakes III on it, whip out your Smartphone and blast him to Doom!

Advertisment

Smartphone Development



Developing for the Smartphone is as easy as developing for any Windows application. You can use the downloadable Embedded Visual C++ for developing for either Smartphone 2002 or 2003. However, you can also use Visual Studio.NET 2003 (VS.NET) along with the Smartphone 2003 SDK to create .NET Compact Framework-based applications for the Smartphone platform. And, remember that since you are writing for the OS it does not matter what kind of network it’s running on. Applications written for the Smartphone can run on both GSM and CDMA phones.

However, it is first important to understand the architecture of the platform. This can be broken into four layers. From lowest to highest, these are:

Doom runs at an amazing frame rate on the Smartphone
Advertisment

The Radio Stack: The kind of network being used (GSM/ GPRS or CDMA) and is responsible for the actual voice or data transfer.

The Application Programming Interfaces: These are the core APIs between the logic, application and radio layers. This consists of services such as SMS, WAP and

TAPI.

The Logic Layer: This consists of system logic and services that are provided by the OS and can be used by the application layer. This includes services such as the Connection Manager and Sync Engine.

Advertisment

The UI Layer: This is the place where the user application is created. It consists of a user interface and contains the controls that are available from the OS.

Given that the software runs on a cellphone, certain design aspects change from the familiar Windows environment. For instance, most phones have only two ‘soft’ keys (ie, keys whose function are defined by the user or the program) and are not pre-defined such as the power-off button or receive/stop call buttons. 

Certain other things are to be kept in mind are:

Advertisment

Dialog boxes are full screen



Pop-up alerts can only have a maximum of two choices, such as Yes/No, OK/Cancel. You cannot have choices such as Abort/Retry/Ignore, Yes/No/Cancel, etc. 

Very small set of pre-built controls is available. This is to reduce the footprint of the application as well the memory required for the controls themselves. 

Smartphones are powerful companions to have and can easily replace both your cellphone and PDA. We will create some sample code for the Smartphone soon. So watch this space.

Vinod Unny, Enterprise InfoTech

Advertisment