4

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

jameswykes
  • 185
  • 9
  • One big question would be: Are the devices always connected (or at least could connect any time when the application is needed)? – Foxfire Apr 26 '10 at 11:13

4 Answers4

5

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
  • 7,828
  • 2
  • 22
  • 25
  • 2
    Aren't location services part of HTML5 anyway? – Steve Weet Apr 26 '10 at 11:15
  • 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 Apr 26 '10 at 11:22
  • @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 ; ) – SyntaxT3rr0r Apr 26 '10 at 11:37
  • HTML 5 support is still evolving. However, it is available in most mobile browsers already and support will only get better. – Tom Cabanski Apr 26 '10 at 12:26
  • 4
    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 Apr 26 '10 at 12:26
  • @Warren P: Sad, but very true :-( – Adrian Grigore May 12 '10 at 11:57
2

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

Technology to write iPhone, BlackBerry and Android phone at the same time?

Is there a multiplatform framework for developing iPhone / Android applications?

Community
  • 1
  • 1
Steve Weet
  • 28,126
  • 11
  • 70
  • 86
1

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
  • 42,787
  • 22
  • 113
  • 137
1

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.

WeekendCoder
  • 225
  • 1
  • 2
  • 9