views:

264

answers:

5

Hi

I have been given the tasks of speccing a mobile application, which will need to run on approx. 1000 devices. These devices already exist, and consist of iPhones, BlackBerrys, Androids, Windows Mobile and Netbooks. The application will have simple reporting capability, and a collection of forms.

Anyway, the obvious solution would be to develop some browser based solution, although given the occasionally connected nature of the devices, there's a potential for data to get lost / not saved.

So instead of creating a complex application for each platform, I was thinking we could build what is effectively a form generator, with basic offline storage capability (text files), designed to run on each device, and have the device generate a form, based on for example an XML file that it could request from a server somewhere, resulting in minimal specialist development costs, and the ability to run most of the logic from the server end, with the devices being dumb clients that render forms and upload the data when there is an available connection.

Anyway, my question summarised is, how have you made the decision on supporting multiple devices for your application. Is this always an unavoidable problem, and you just have to make the call to support 1 or 2, or pay for developers to write code for each platform, or alternatively supply pre-installed devices to the company?

Many thanks

James

+1  A: 

Since your application mainly involves UI forms, you can go for J2ME development that can give you device general application to an extent. But yes, writing a full fledge application that will work great with each device is a big issue and you will need to write device specific application for optimal leverage of the device.

this. __curious_geek
+4  A: 

Have you considered building a web-based HTML5 application with the ability to store data locally etc. so it can work offline too? This is probably the best way to build portable apps as long as you don't need to take advantage of specific features of the phone's API (e.g. the GPS). This would be an ideal way to do an application like the one you describe.

Tom Cabanski
Aren't location services part of HTML5 anyway?
Steve Weet
Good luck with getting any HTML5 to work on Windows Mobile. And good luck to see what remains if you take the smallest supported html5 subset cross all that devices. Add to that that some/a lot of them are likely legacy devices in their line.
Foxfire
@Foxfire: that sucks... Thankfully Windows Mobile represents less than 10% of the overall smartphones market. And BlackBerry (RIM), Apple, Google, Nokia and all aren't going to let happen to the mobile world what happened to the desktop world ; )
Webinator
HTML 5 support is still evolving. However, it is available in most mobile browsers already and support will only get better.
Tom Cabanski
Apple's going to force you to target them, or everybody else, by any means possible. They don't want you to write portable apps. They want your app running on their phone alone, or not on their phone at all.
Warren P
@Warren P: Sad, but very true :-(
Adrian Grigore
+1  A: 

I have not used this so cannot vouch for it in any way however the RhoMobile project looks worth investigating

You may also want to check out the following SO questions

http://stackoverflow.com/questions/821085/technology-to-write-iphone-blackberry-and-android-phone-at-the-same-time

http://stackoverflow.com/questions/30953/is-there-a-multiplatform-framework-for-developing-iphone-android-applications

Steve Weet
+1  A: 

There are already many products that do what you want. If not, as was mentioned RhoMobile (http://rhomobile.com/) is an option.

You should really browse the different app stores out there, there are a number of options: Canvas (http://www.gocanvas.com), eXzact (http://www.iformbuilder.com), Pronto Forms (http://www.prontoforms.com/). In addition Google Code has ODK (http://code.google.com/p/open-data-kit/wiki/ODKCollect)

Good luck! I've worked on several projects where we decided to just build a builder of some sort (MDA, forms, etc.). Building the builder is always more difficult than you expect.

Chris Mo
A: 

You can also try Open Plug ELIPS Studio which consists in an Add-in to Flex Builder for converting your AS3/Flex code into Native code for iPhone, Android, Symbian and Windows Mobile. AS3 makes it easy to play with XML data plus your UI can look like native on each device even with a single code base. The beta is actually free.

manu