Archive for the ‘Smart Phones/Mobile Application Devt’ Category

Smartphone vs. Tablet

Thursday, January 21st, 2010

Is it finally time for the Tablet to gain mainstream approval and use?  Might they even overtake the Smartphone in popularity?

It’s an interesting world we find ourselves in.   The concept of the Tablet has been around for over 20 years, but the supporting infrastructure (security, most notably) was not in place and the mindshare did not exist either.  Indeed, it has taken many years for the straightforward SMS technology to be mostly accepted.

Now, Smartphone technology and application availability is growing at an astounding rate.  Thanks to the Apple store and the Nokia forum, to name a few, developers can post applications and consumers can browse the marketplace easily.

With Google Android and the Series 60 SDK, among others, developers are plugged in to the marketplace quickly and easily.  As we have been working with the various SDKs, we have developed applications for iPhones, Android-based Tablets, Blackberry devices, and others.  Developing software for a variety of mobile devices presents some interesting challenges – there are different screen sizes, different hardware capabilities, and even different operating systems that the same application will need to run on.

We predict that manufacturers, application developers and consumers alike will find 2010 to be an interesting year in the mobile device world.  Rumors promise that Apple will unveil a Tablet in the next week or so.  Does that mean that Tablets are the next “it device” for consumers?

Come back and visit us in successive weeks as we report on the technology developments and our own findings about developing software applications for the new mobile devices.

Windows Mobile Smartphone Application Development – Part II

Sunday, November 29th, 2009

As we discussed previously, there are four main considerations for developing a Windows Mobile application that are different from a Windows desktop application. Additionally, there are differences between Pocket PC and Smartphone devices that make it challenging to develop an application that works well on both. I explained how we overcame these challenges on the display and input fronts, and now I’ll finish up with details on the storage and battery life categories.

Use the “My Documents” folder for exchanging data files and documents:
When synchronizing files between a Windows Mobile device and a desktop computer, you can see the content of the “My Documents” folder on the desktop computer. The “My Documents” folder is very important on Windows Mobile. It is used for store data files and documents. If you have any documents stored outside the My Documents folder, they will not be synchronized with your desktop.

Battery life:
Windows Mobile devices are battery-based devices. Battery life will become much shorter if your applications are consistently sending or receiving data through Wi-Fi or GPRS or if they are running background tasks. The reason is applications with these kinds of behavior will not only use more battery power, but also prevent the device from going into the sleep mode. The latter is the key to saving battery power when a device is idle. When you design an application, try to avoid frequently exchanging data in the background. If you cannot, be prepared to use up your battery life much more quickly. This is not a good design practice as your users will become very annoyed if they find their batteries being draining more quickly.

Smartphone & Windows Mobile application development: Part I

Thursday, October 1st, 2009

I recently worked on a project using Windows Mobile which supports two kinds of devices: Pocket PC and Smartphone. Our application needed to run on both types of devices.

My first impression of the Windows Mobile development is very good. Microsoft did a great job to make a universal development environment for both Windows Mobile and Windows desktop. Visual Studio can be used to develop both applications and it comes with a very good Device Emulator for Windows Mobile.

The Windows Mobile applications can be automatically loaded and run in the Device Emulator which speeds up debugging and testing. Microsoft keeps the same desktop Win32 API interface for Windows Mobile and technologies such as MFC (Microsoft Foundation Classes), ATL (Active Template Library) and COM (Component Object Model) can also be used in Windows Mobile. With previous development experience in Windows desktop platform, I didn’t experience much of a learning curve in the Windows Mobile development.

Despite the similarities, there are some differences that need to be taken into consideration when developing a mobile application.  They are primarily in the areas of display, input, storage and battery life.

The application we most recently developed provided SIP services to the phone and I’ll explain how we took these factors into consideration while developing a top of the line application.

Some of the SIP services included a buddy list, online/offline presence, and call history.

Display Difference:

When your application needs to work on both a Pocket PC and a Smartphone, you need to pay attention to the differences in display screen size. A typical Smartphone screen is much smaller than the screen of Pocket PC. When developing the application to run on both devices, I had to consider the screen difference and design accordingly. This was especially true when adding the Buddy List pop-up menu. It is important to test both devices right from the start of the development cycle. For example, Smartphone has two hotkeys that correspond to two screen menus. If your application has more than two screen menus, these extra menus are not selectable on the Smartphone. It is easy to find this out by testing with both devices. If you don’t do this early on and mainly test the application on one device then when a problem is seen later, it could prove more costly and consume a lot more effort to fix it.

Input methods:

Pocket PC’s usually have a touch screen and it will let you enter data by clicking the keys on an on-screen keyboard or by using the stylus pen to write on a designated portion of the screen. Because of the limited size of the display, Smartphone does not have a touch screen, therefore it has no on-screen keyboard. Data entry on a Smartphone is more difficult than on a Pocket PC. For example, if you wanted to type the letter C on a Smartphone, you would have to press the 2 button three times. The Smartphone has no stylus pen. Using Smartphone is like using a PC without a mouse; everything has to be done through the keypad! Because of this, some user input tasks that could be easily performed in the Pocket PC may be very difficult or impossible on the Smartphone. When designing an application requiring user input, make sure to test it on both devices. If possible, try to avoid letting the user input long or complex words.

….more next week….