Every programming platform exists only for the development of applications. All the different application programming interfaces are of no use if the application is not useful to the user. Thus we should always make sure that we develop applications which are really helpful to the users. To make the applications useful we should plan and develop them keeping in mind the needs of the users from day one. Also we should keep in mind that we are developing the applications for mobile phones and not personal computers. There are many differences between the personal computer and the mobile phone and they should be respected. Some of the useful tips in developing for mobile phones are:
The mobile phone as a programming medium is good for ‘any time, any where computing’. We should remember that due to the form factor of the mobile phone it is not a good medium for bulk data processing like accounting software. On the other hand it is a very good medium for entering data like orders and vouchers in the field in the real time. Thus we shall concentrate on the positive aspects of the mobiles and try to incorporate only the functionality that by being on the mobile phone adds value to the user.
Entering text on the mobile phone is normally very difficult. In order to make the entry of data easier try to give the user multiple choice lists. They will help a user to key in data conveniently.
The applications should be logically organized in order for the user to use them effectively. Since users of mobile phone applications are not expected to have special training for using the applications it is better if the application is structured in a very logical and a user friendly way.
Data inputs on the phones should normally be minimized. Data input is normally difficult due to the lack of QWERTY keyboard. Also most mobile phones do not have a stylus pen to enter the data. Thus data entry should be reduced by using other forms of input like the lists. Also one other way is to access the data from the server so that the user does not have to key in the data. The persistent storage capacity shpuld also be used to store information that have once being keyed in so that the next time it does not need to be input.
In this day and age of customization the personalization of software is a necessity. Personalization helps to reduce the waste of the time of the user. This is important because the predominant use of any software is to save the time of the end user.
The text used for describing various things should be short and easy to understand. Since the display screens of most mobile phones are small, long descriptions will either cut the text so that it will not be displayed properly or make the screens anwarrantedly long. Very large data requires needless scrolling which should not be the case. Thus small descriptions are the best when giving instructions or help screen.
Consistency is the related to the earlier discussed topic of having a logical structure. Consistency helps the user to learn the application very easily. It also brings a professional touch to the application. Thus consistency should score over chaos in every user interface descision that you as a programmer take for your application.
Every screen except the first sceen should have a back command for traversing backwards. This way a user can rectify a past mistake or go back again to his desired screen.
Also the first screen aswell as screens in which it would be logical to end the applications should contain the exit command so that a user can close the application. A user is not expected to switch off his/her mobile to close the application. Remember that the mobile phone does not contain an ALT-CTRL-DEL command.
A mobile phone is really a communication device. Therefore you should always use the network to present real time information. If the information shown by a mobile based application is old then there is no use of using a mobile phone for showing the information.
There are more than 200 different types of mobile phones in the world. Most mobile phones are different from each other. Thus as a programmer we should take care to see that our applications work well on most phones in order for the masses to use the application. Techniques like the ‘SKJ UI Portability Technique’ are a step in this direction.
Also the ‘write once, use anywhere’ premise of java has not been practically implemented. Thus the look and feel of the application can change on the different handsets. Proper use of high level user interfaces will make your applications more portable.
Since the mobile phones are not expected to be rebooted every half an hour you should try to make your applications bug free. Also the availability of hundred of mobile phone models increases your responsibility as a programmer to make them work properly on each handset. Therefore you have no option but to test, test and test.
Applications that can be developed using CLDC and MIDP
Games are the most popular application on the mobile phones. There is a huge demand for games from around the world. Some operators are devoting exclusive departments on the collection and the development of gaming applications. Whether they are mind games or action games the list of what is possible in the field of mobile gaming is endless. Some people have even developed multiplayer games. Business analysts are predicting that the mobile gaming is a multi billion dollar opportunity. Thus if you are interested in gaming then the mobile phone programming is the area for you.
Calendar and scheduler applications are a good example of what you can accomplish using J2ME. The users can store there appointment information on the custom built application by you. Also you can add features for synchronizing scheduling information with the server.
c) Mobile ERPs
The ERP applications are of great use to any business organization. With the advent of mobile computing the ERP applications can now run on even the mobile phones. Those companies who could not afford a laptop for their sales force earlier are now opting for the mobile phone based ERPs.
d) Word Processors
Word processing consists of writing and formatting text. With regard to writing a lot of research has been done on this subject. The T9 feature is the result of this research. The word processing function is one of the most used on mobile phone. Whether it is for writing notes or for sending SMS word processing is required everywhere.
With regards to formatting, currently there exists a lot of vacuum between can be achieved on the mobile phone and what has been achieved on it. It is for you as mobile programmers to fill this gap. At SKJ Technologies lot of progress has been made in this particular field both in terms of English and the Indian languages.
e) Email, SMS & MMS
Almost all the users of mobile phones have used the SMS functionality. Some have even used the e-mail functionality and MMS. What is good about J2ME is that it enables us programmers to develop application which can send SMS, MMS and e-mail. Regarding SMS we can used the ‘Wireless Messaging API’ to send SMS and MMS. As regards to e-mail we can connect our mobile based application to a server based application for sending e-mail.
Spreadsheets are my favorite applications. They enable us to see data conveniently. I find them particularly useful to analyze and present business data which is important for my job as a Chartered Accountant. I have even developed a spreadsheet application for viewing data on the mobile phone in a grid format. Also you can synchronize the MS Excel data with my spreadsheet ‘MobileXL’ for seeing it on the mobile phone. You can save data as well as send the data in form of SMS messages. Thus we can do certain things on the mobile phones which are not even possible on the desktop.
M-Commerce will become a great shopping experience in the future. Currently work is being done to enable retailing through the mobile phones. Some companies are even today offering such services but the true potential of this field will be realized only when the payment gateways for mobiles will become even more accessible.
h) Expense Tracker
Expense tracking application is also very useful for the mobile phones. Since a person carries a mobile phone with him or her almost the whole day the expenses can be tracked electronically on a mobile phone. At the end of the week or month the expenses can be seen in form of an electronically generated report either on the phone or the PC.
i) Stock Tickers
Tracking stocks on mobile phones is very easy. An application which contains the stock ticker and which updates the user if the stock reaches a particular level is easy to build and adds a lot of value to the end user. These tickers can be programmed to synchronise automatically with the server for refreshing the data.
j) Telephone directory
The telephone directory application is one of the most useful applications for the mobile phone. You can create an application whereby the numbers of different contact and there other information can be stored. This information can be stored in the ‘Record Management System’ provided to us by the Mobile Information Device Profile (MIDP). The good thing is that you can custom the application up to a very large extent. The only thing that will make you some what unhappy is that you can canot implement the calling functionality from within the application.
k) Music Albums
Music albums are conventionally not associated with the mobile phones. But the convergence of the technology has opened the possibility for streaming the music albums on the mobile phones. You can do so by using the ‘Mobile Media API’ specified by the JSR -135.
l) Film Trailers
Like the music albums the film trailers can also be built for the mobile phones. Film trailers on the mobile phones can become very popular especially if they are interactive. It is up to us mobile programmers to give this concept to Hollywood as well as the Indian and Chinese film industries.
m) Multimedia Presentations
If all of the stuff referred to above can be programmed so can be presentations. Using the Mobile Media API we can easily code multimedia presentations on the mobile phones as well as the PDAs.