Developing for the Smartphone is different...
While I am convinced the smartphone has a role to play in business solutions, I don't think it should be looked at the same way we look at PocketPCs and other handheld devices.
The PocketPC is essentially a small PC, and its logical role in the enterprise is to extend the information system to englobe the mobile forces in the field. This means that the applications we develop for the PocketPC are essentially extensions to LOB, CRM, billing and such usual applications needed in the business processes. The only difference between them and applications that reside on the server or the desktop is that the PocketPC has lower ressources, smaller form factor, powered by batterie (limited autonomy), ...etc. If the PocketPC was as powerful as desktops, the apps we develop for it would be just the same as those we develop for the desktop. The necessity of small footprint, along with the semi-connected nature of all mobile devices imposes a certain way of development (rich client, data persistence, and eventually some connected operations when needed, essentially through web services). Although not as efficient as typing on a keyboard, the stylus typing can be decently used for data input.
The smartphone, however, is essentially a phone (even if it is the most advanced form of phones), whith a small potential of data persitence and assisted data input. In my view, it should not (yet) be viewed as an extension to the business solutions, as much as a simple bridge between the solution that resides on the servers and the telephony or location capabilities of a phone. typically, the smartphone would be used to get some data from the system, but only in as much as that data is related to or helping on decision for making phone calls, appointments, ...etc, or for callecting prédefined data. The one handed operation of the phone, and the hardly efficient typing makes any input that goes beyond a few letters or a few digits almost impossible. On type of aplications I have found very intersting is reporting. It is linked to appointments, possibly to making phone calls (to confirm appointments, to postpone or delay commitments - which usually would involve sending messages or making phone calls) and it has predifined input (customers, tasks, ...etc) and usually only require choosing the appropriate info, and adding dates and times to them. When comments are needed, they can be dictated or voice recorded. then, the info can be synchronized back to the server - either through GPRS, or some other synchronization mechanism that requires the phone to be docked or wired to the system (like activeSync, Irda, bluetooth, or any other technique). That type of application is a perfect example of how the smartphone can add productivity and simplify some of the most painful processes.
That is why, even though I am absolutely not fond of P/Invoke, I think it is an essential part of developing for the smartphone. .Net | mobility
6/2/2004 1:20:33 PM UTC
|
|