1. Considerations in developing a mobile app
AjayChebbi devWorks 270004DG8B Visits (4356)
Why build a mobile interface?
This is a very important question to ask. Why do I need a mobile app for my server? If the answer is "mobile is the in thing - it cool".. dig a little deeper. Is there a business problem you are looking to solve? Are customers struggling with a use case, or making do with whatever the web/eclipse UI has to offer? The appeal of a mobile device is the on the go convenience and connectivity (compare a Portable MP3 player to iTunes on the iPhone) and on board gadgetry like camera, acelerometer, GPS, compass etc. We can break the operation modes in a few broad types.
Modes of operation
Lets look at these modes and what it boils down to.
In this mode the user is interacting with the server when he is connected. Its all live data (or nothing). Lets say check score of a ongoing game or seeing the current status of the open defects or current status of test case attempts and success rate. In this mode if you don't have connectivity - there is not much use of stale data (say as of 3 hours ago when you were still connected). The question is - do you need access to the information when you are not connected live to the server?
In a situation like this a more natural solution is build the web interface in a way that can
All the major JS toolkits now support "mobilish" HTML/JS widgets. Its easy enough to render a web page that looks exactly like as though its using native mobile controls. There is little incentive to write a app for this mode of operation. If this is where you are in your thought process, read on to the next mode.
This is kind of a "distilled" Purely Connected mode. In this mode the user is still connected, but a reduced form of functionality is desirable in a quick access mode. The interaction of the user is pretty minimal, typically the presets are managed via "settings". An example is a stock quote from a financial services website. This app will have the ability to show a page full of stock tickers and the relevant numerical information like price, swing, volume etc etc. The user opens the app - and sees the tickers. That's it!. Another example is photosharing. snap a picture and click on share it.. thats it.. no login, no navigation to "upload area" etc. Now we are talking of a mobile app - v/s a UI thats available on a mobile device.
Think a music player app, or a e-mail app. You have content that is kept on a server and you want to bring it on your device to work on it at your leisure. Then you may edit it, or create more content - again at your leisure. You want to have access to that content regardless of the connectivity to where its kept (aka server) . This mode of operation yields very well to a mobile app.
I will go into the details in another blog post.