Mobile app developers have to be the ninjas of programming because they have to get in, get the job done, and get out without consuming a lot of resources.
There are two ways to overcome the common mobile app design and development constraints: the first is to design around them using brute force, not very ninja like, and the second is to design more efficiently based on a mobile enterprise application platform like uniPaaS. Let’s consider some of the common constraints and how you can do both: design around them and design more efficiently by using a true mobile app development paradigm for enterprise and (dare I say it?) even consumer apps. My comments here will be primarily based on developing for BlackBerry mobile devices, but he same uniPaaS application platform and the general efficient principles of design will also apply to Android, Apple iOS and Windows smartphone development.
Limited Memory. Creating an application that requires less memory will improve the user experience by improving response times and reducing the likelihood of errors. Unfortunately, memory management in Java and Objective-C is extremely time consuming for developers. So regardless of which mobile enterprise application platform (MEAP) you are using you will want to design efficiently. If a field isn’t vital, eliminate it from the app or relegate it to optional views and call for the data only when needed. By using the uniPaaS application platform, you can leverage server side resources to deliver just the data you need when you need it and the best thing is, you don’t have to write any of the code for the underlying architecture or the client. You simply leverage metadata to control your app and the Magic Engine does the rest. To be clear, you avoid the need to program directly in Java or Objective-C altogether. It isn't like Magic, it is Magic!
Limited Battery Life.Battery life has less to do with the efficiency of data usage (although that is clearly one factor) and has more to do with efficient use of the radio. Apps that constantly poll the server for new data, for example, will heighten battery use and frustrate users when the device is drained. In traditional enterprise apps, polling the server across a LAN is a cheap resource and so developers tend not to give it much thought. But in a mobile app it is an even more important issue. Fortunately, the uniPaaS BlackBerry client is very efficient in its use of the radio and you don’t have to manage memory manually at all. This greatly reduces development time and ensures application efficiency and performance.
Limited Screen Size.
The BlackBerry OS supports a simple stacked window model and as with all smartphones, the screen is quite limited in size compared to desktop applications. Developers need to focus on the users’ task at hand, literally. Do this by displaying only the immediately relevant info and any directly related tasks. Keep it simple and yet functional.
With a BlackBerry, each application can open multiple windows, but each new window is stacked on top of previous windows and is inherently modal. As there is no mouse pointer, windows cannot be manipulated (moved or resized) by the end user. When an application is run, its main window (and subsequent stacked windows) occupies the entire device screen. How does one navigate then? The context menu is often the best way. The BlackBerry context menu is an important and central user interaction tool. Since the screen size is relatively small, it is common to perform most tasks using the context menu, instead of “wasting” screen space on buttons and on-screen menus.
Unlike most other smartphones, most BlackBerry devices are optimized for keyboard navigation and input. Typically, the trackpad is used to navigate between fields on the form, while the Fire action is used to select values and perform actions. Unlike a desktop keyboard, there is no TAB key so there is no standard key to move to the Next Field or the Previous Field. All navigation between fields and inside a field (i.e an edit control), is done using the trackpad directional actions.
Other Considerations. These top three constraints aren’t the only ones you need to consider, but they are the most important. You should also consider the impact of the longer latency caused by slower mobile bandwidths (compared to LANs) and the fact that smartphones have less raw processor power than desktop clients. All of these issues are mitigated by use of Magic Software’s mobile application platform. Happy developing! For additional information, please contact the Magic Software Enterprises branch near you.