Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
A few differences between mobile and desktop programming
I have seen many programmers enthusiastically start mobile programming and very soon they feel disgusted and switch back to desktop programming. This is often due to fundamental differences between the two programming environments.
Same programming frameworks, different tools and hardware
Recently, mobile programming has grown 10 times faster than desktop programming. Though development on a desktop or a mobile both use of common programming frameworks like C++ and web, the actual environments and tools differ a lot. When a desktop programmer or web programmer tries to jump into mobile programming, they very soon realise the fundamental differences between the two environments. A modest personal PC today has, at least, a 1GHz processor, 1 GB of RAM, and a few gigabytes of disk storage. On the other hand, mobile devices can have as little as a 20 MHz processor and 100 Kb of memory. This makes a huge gap in the available resources found on desktop systems and handheld mobile systems. While defining variables and data structure be aware of wasted memory and must be avoided. Make memory management more efficient to allow your application run faster.
Network coverage is not reliable
Temporary lack of network coverage is a problem when dealing with mobile computing. When a user is on the move he travels through various physical locations that cause varying network coverage. This can be caused by physical obstructions or lack of sufficient network infrastructure.
Initially, one can develop small utilities on a mobile but for any meaningful application to be developed, the programmer should be aware of small but valuable differences of desktop/web programming and mobile programming.
Usage patterns are different
In addition, the environment of a programmer who develops his programs on a mobile can be significantly different than when he does it on a desktop. People use a mobile in office, during lunch time, while watching movie, sitting down with friends, talking with colleagues, while travelling, in crowd, in sun light or in noisy atmosphere. The mobile device user may not be able to continue his work for a long time at a stretch. Mobile applications are thus designed to do a single task well with a minimum effort to operate it. The input and output interaction between in a mobile and a desktop computer differ a lot. Display of mobile is much smaller then the computer. Input method varies in similar fashion. Mobile applications are mostly operated by one hand. These factors must be considered before designing a mobile application.
Personalisation is important The mobile device is always ON and connected with network. The device is more personal and not shared with other users. Therefore the application must be easily customized and personalized. One must be very selective on application color and their combinations. Mobiles are not being assembled at every street like desktop computers are being now a days. It comes with different model numbers and are used across the countries. People from different countries may have similar mobile model and they differ in choice of colors as per their customs and culture. In the application, facility should be given to choose different color scheme. You may get more update under the topic “Design and User experience library” at Nokia Developer website http://library.developer.nokia.com/index.jsp These information can be more explored but enough for the new entrance in the world of mobile programming world.