Mobile Native App or Web App

Leave a comment

While there is every one associated with Web App development and Native App development, discusses about this, it is our turn to give our views.

Advantages of Mobile Web App development:

1. The Mobile Web Applications can reach a broader audience on multiple devices and platforms and the cost involved to reach to such a huge audience across all platforms by developing Native Apps for all of them would be very huge to hold for an organization. Their strength is ‘Build once, deploy anywhere’.

2. And the time an native Application reaches the market(customers through App store) is never determined by us, but by the Platform owners. And Web is completely open.

3. Another advantage would be faster speed of development and much reduced maintenance overhead in Web Apps. In case of Native Apps, each Platform’s feature updates would be a nightmare to handle for all the Apps we have developed, in terms of cost . We need developers catered to all platforms and they have to be updated with each update to SDK.

But on the downside to Web App development, at least for now we have the following:

Advantages of Native App development:

1. Native platforms allow the application running on it to use the the phone’s features (Address book) hardware features(Camera). And as user every one find native app to be more appealing.

2. And another advantage native apps have over web apps is performance. But the scenario is changing in favor of web apps with the HTML5. But lets see, how HTML5 changes the scenario.

3. If you have site that entertains (a Game)user and you wanted to make it available for Mobiles, then the ultimate winner is Native Apps.

4. Real time alerts and Notifications works in advantage of Native Applications and this can make a big difference in user experience. This is where Web Apps completely fail. But this too is going to change with W3C’s formation of WebNotification Group.

But once the Data access is ubiquitous, as is now the case with the Desktops, and along with the HTML5 rise, the advantage of Native Apps would erode .

Finally it all depends on the nature of the Application and Audience you target.


Providing Better User Experience in Mobile App – Part 3

1 Comment

In this part, I will be discussing the best practices for overall mobile application development. This finishes this series of article.

Best practices for overall application development

If the application has login screen, provide automatic sign-in feature so that every time user does not need to re-enter the credentials again unless he specifically chooses to do so.

  • If the application needs to make lot of network requests to get data from remote server, make the design in such a way, so that, large chunk of data is downloaded during application loading time itself. Normally user will wait during application loading time and does not mind to wait for some extra time. So this is the right time to download the large chunk of data. Remember this extra time should be treated as premium and it may not be advisable to make it too long. Also the user wait will not wait every time the application is loaded. So cache the data whenever possible.

  • If there is some data to be collected from a form and submitted to the sever, avoid making network request every time, rather, collect all the necessary data and make one network request to submit the data to the remote server. This is particularly advisable in cases where the network connectivity mode is through paid services like GPRS or 3G.

  • Make provision in the design to have multi-level caching to avoid network request for any dynamic content to be retrieved from the remote server.

  • If the entire application look and feel needs to be customized, avoid using high-resolution images like “bmp”, rather use industry standard formats like “png” or vector formats like “svg” (if it is supported by the application framework).

  • Reduce the application start time using appropriate storage mechanism available from the particular platform once the data is available.

  • Update the UI with appropriate status messages whenever there is a delay in showing the data. For example, if there is some network request, instead of keeping the user from guessing, update the UI appropriately and keep the user informed.

  • Adhere to the particular application development guidelines strictly.

Ensure access control to the application and protect the sensitive data created by the user using appropriate encryption techniques.

Providing Better User Experience in Mobile App – Part 2

Leave a comment

In this part, I will be discussing about maximizing the UI real estate to present the information in a more intuitive and efficient way.

Maximise the UI real estate to present the information in a more intuitive and efficient way

Maximizing the UI real estate is one big challenge. Normally the challenge lies in presenting the information in an attractive at the same time more efficient way so that all the logical information is grouped together and the context is maintained. Following are some of the steps that may help achieve this objective.

  • Dedicate a separate page/form for each logical entity and it is important to pay attention to not to mark a boundary so that the controls will not overrun the boundary.

  • If there are more controls to be shown under one logical entity, review the UI design and in the extreme case, consider customizing group of containers which will hold a logical group which can be collapsed or expanded as necessary. This way the page can contain three containers at the top-level but when a container is expanded, it will show controls that are embedded inside the container and the container along with control will occupy the entire screen. Make the design such a way that, at any given time, only one container can be expanded and others are collapsed.

  • If there are multiple business functionalities, group the top-level business functionalities as tabs and associate a tab with a set of pages/forms which uniquely identify that particular business requirement.

  • If there is search functionality in any of the pages, show the search results in a separate page in a tabular format with the navigation to the previous page at the top of the screen.

  • Always have a settings tab (for configuring the application) even when there is no demand for kind of requirement at the initial stage of the development.

Providing Better User Experience in Mobile App – Part 1

Leave a comment

In this series of articles, I will be discussing about providing better user experience in mobile application in general. This applies to all mobile applications in all platforms in general.

In this part, I will be discussing about choosing the best layout for the given context.

1) Choosing the best layout for the given context

Generally choosing the best layout depends on the context of the application requirement. However there are certain steps that are common to all the applications.

  • If the UI is a replica of an existing app in some other platform, do not try to have the same components placed in the screen in the same way. For example, if the application is model of an existing web application, trying to create the replica may not be the right way to represent the application in a mobile context. Most of the times this would end up cluttering the limited screen space and would create clumsiness to overall UI appeal.

  • Make use of the UI controls that are specific to a particular platform. This will not only create the UI footprint of a particular platform but also may present the information in a better way.

  • Group the information to be present in a logic way and give consistent look and feel across all the screens. Making the UI look and feel consistent across all screens is one of the best ways to increase the overall UI usability intuitiveness.

  • Split the UI controls in separate pages so that each page present a single unit of information keeping the navigation among pages minimal. This way a logical context can be created in situations where lot of user input is needed before the next operation is performed.

  • Create a unique theme for the entire application and do not customize the native platform look and feel too much, otherwise it may be end up simulating a different user experience which is alien to that particular platform and may not be there in majority of the applications for that particular platform. Eventually users will fail to associate such kind of applications with that particular platform.

Mobile web application framework for popular mobile platforms

Leave a comment

This article talks about the application framework that can be used to applications across iPhone, Android, BlackBerry, Symbian and Windows Mobile etc.