Developers of mobile applications know exactly how difficult and frustrating app coding can sometimes get. The problem intensifies further while writing code for multi-platform mobile applications. Each mobile platform, such as Windows Mobile, BlackBerry, Palm, iPhone, iPad and so on, has its own set of features. How can you develop and design for such varied device platforms? This FAQ section deals with some of the most common issues relating to multi-platform app designing.
The issues that crop up while dealing with creating user interfaces for different mobile phones or smartphones are not merely restricted to the way the designed content appears on the screen. For instance, designing a UI for non-touchscreen phones is very different from that of designing for touchscreen phones. One interface type does not necessarily suit the technical requirements of all devices.
If designing across diverse devices is a challenge, it is even more so for those who create applications which should be portable across multiple platforms.
Ideally, design code should be so executed as to function across the full range of devices and cater to multiple browsers as well. It should be able to explore and exploit the functionalities of all platforms, while also making for a great user experience. This would end up taking a lot of time and effort for many deployments, each of which would also have to stage a launch at the same time.
This is almost impossible when one looks at the practical side of it all. Nevertheless, there have been admirable attempts in developing application design for multi-platform devices. Notable among them are Google and Bing, which work across most platforms today.
Listed below are answers to some of the most common questions arising in the minds of first time developers.
Which is the better approach - device-centric or application-centric?
- The device-centric approach implies adapting the application to the UI model provided in the device. This approach makes it easy for the user to understand the application. There is, however, one problem with this approach. In case the current platform does not support the user interface functionality of the said application, the cost of development will turn out to be very high and the app might still not function at the optimum level on the said device.
- The application-centric approach implies that the application would be developed in such a way as to have the very same look and feel across diverse platforms. This approach could create serious problems, as the app may not at all fit the underlying device user interface model. Hence, the entire end-user experience would be severely affected. Of course, this approach would work very well for applications that are consistent with the underlying device model.
Is building auto-adjusting application the answer?
It would be a great idea to create an intrinsically intelligent, auto-adjusting application, which could intuitively analyze the device interface model on which it is meant to run. This could theoretically be achieved by using a transcoder that could translate the application interface across multiple devices.
But then, is it possible to build such a transcoder, which would suit all devices and all platforms at one and the same time? The answer to this question depends upon the type of application being developed and the user interface complexities involved therein.
Global experience vs short-term goals - which is more vital?
While designing apps to cater to various mobile platforms, the developer should try to create a more global experience that would be functional over a wide range of deployments, one that could be accessed across many platforms without having to be tweaked overmuch each time. For this, you will need to start researching on the concept well in advance of project commencement.
Hence, your project cannot be hinged merely on short-term goals, cheaper budgets and quick profits. Though the expenditure will be more, it will also be worth the effort in the end.
How about richness of product experience?
Though rich brand content immediately attracts customers to the product, this aspect will have to be relegated to the background. A more standardized approach will be better. You are designing for multiple platforms, so your focus now has to be more customer reach.
When brands try to reach a wider audience, they invariably cut down on the end-user experience. Something needs to be compromised to gain something else that is more important.
So has reach always to be more important than user experience?
The answer is an emphatic YES. Not all clients have the time and money to spend on a project. We are all strapped by tight budgets and suffocating timelines. We are also expected to keep creating something better and more creative and innovative each time.
Okay, so how do I plan it all out?
Planning a proper strategy for creating apps across multiple platforms requires a three-pronged approach:
Understand the environment
Take into account the main objectives that the brand will stand for, ways to tackle the multiple obstacles that are bound to come in the way and the kind of consumers you want to be targeting.
This process will take time, effort and patience. Once this is done, you can proceed ahead with the next step.
Decide on relevant sphere
Decide in which sphere your brand will be most useful to customers. Once you have set your target, you will want to determine which deployments would be most relevant as per consumer needs.
This will help you out with time management and control your budget.
Sketch out a proper plan
Now sketch out a proper plan, note each step involved, focus on the job and forge ahead!
It is the end-user experience that has to be kept in mind while designing applications across multiple platforms. No matter what technique you use, you should ensure that it will help the user complete his task with ease and efficiency. After all, it is for the end-user that this product is going to be created!