I have no mobile application development experience, I don't even own a rich mobile device (I can send text messages with my cellphone :) I have strong web, .NET, and Java experience but am open to develop with any language / platform. I need to target at least iPhone, Android, and Blackberry devices. I am seeking some guidance on the right set of tools for developing an application targeting these devices given my requirement. An easy deployment model would be a big plus. I have some notion of the difference between native apps and mobile apps on devices, and the later seems like it may be a good choice in terms of cross-platform support and easy deployment, but I do need access to some device information.
I currently have a fairly simple Java Swing application which is backed by JSON web services. The application is launched automatically when a user logs into their computer via a login script (it's deployed on corporate-like network). The user is presented with some html formatted information, and they click a button to answer a question. That's about it!
Core Requirements
- Must be able to get user identification information from the mobile device and send it to the server; the Swing client sends the Windows account and domain name.
- Would very much like to retrieve the local date and time of the mobile device and send it to the server
- Must be able to have the GUI workflow described previously: present content to user, user "clicks" a button to respond.
- Must be able to communicate with the JSON web service; if needed, could use some other data encoding, but just need to be able to communicate over HTTP (unless things are very different in the mobile world and I don't know what I'm talking about!)
Nice to Have Requirements
- Render HTML fragments for the content (if not possible, could strip it down to plain text)
- Be able to "click" on a link to send an email someway for help / feedback
- "Click" link to a web site with information on how well the user is responding to their questions; could also build this into the app if it is a mobile app.
- Be able to build some kind of user options "dialog"
- Render small pictures along with the content; currently the pictures are just http resources.
Thanks in advance!