Showing posts with label mobile app design. Show all posts
Showing posts with label mobile app design. Show all posts

Thursday, July 17, 2014

The Select Window Component: Addressing the Difference Between Desktop and Mobile Contexts

As is often the case with new technology, we mimic old ways of doing things until we figure out that the new technology is best suited to new ways of working. Case in point, I am writing a blog to communicate with you now when a video would be more effective.

Experienced developers sometimes suffer a disadvantage because these old ways of doing things creep up in new paradigms as old and freshly irrelevant patterns. Such is the case in the numerous differences in best practice between mobile user interfaces and the traditional GUI interaction in desktop software.

With the announcement of Magic xpa Application Platform 2.5, a new Mobile Application Framework was introduced by Magic Software. Let’s take a look at the Select Window Component to see how different mobile GUIs ought to be from traditional applications.
Our example app is a Time Sheet application. In a traditional application where I want to find a particular timesheet, criteria would normally be entered in a multi-field search form, a “Search” button would be pressed and the match or matches would be displayed in a list. In a large screen format this allows me to use human memory to search very specifically. When my memory is faulty, I can search more broadly and then gradually filter the results to get down the actual time sheet I want to see.

A mobile approach will be quite different. My main screen will call out the two categories that I am most likely to use to find a specific project – wither the “Customer” name or the “Project” name. So I might design an interface with just these two menu options. Each will raise an event that gives me more choices.


If I select Customers, I get a list of my Local Customers.



If I select Projects, I get a list of Local Projects.

But if I select customer, and then click on the customer name in the list. I automatically get a list of that Local Customer’s Local projects.


In this example, the projects are simply named by month. Selecting a specific project will then show me the Customer Name, Project Name and my Time Sheets for that project.


To edit a given time sheet, once again I simply select it (by sliding or touching). Setting the time in the report uses features that are “native” or normal for my type of device (Android, Apple, Windows Mobile, etc.) 


The result of setting the new time is a corrected or updated Time Sheet as seen below.


So the flow of the app is something like this:



That is not to say that the old approach wouldn’t work. But good mobile apps strive to leverage the users time and limit typing and button pressing as much as possible. What the user sacrifices in flexibility, they gain ten times in efficiency and overall ease-of-use. 

Tuesday, April 3, 2012

How does mobile app design differ from design for desktop and web apps?



Designing business applications for mobile smartphones and tablets is often described simply in terms of screen size. While it is a factor, this is only one of the important differences to keep in mind when designing mobile apps. I’ve developed an acronym to help mobile app developers think about best practice when designing for mobile apps: P.O.O.D.L.E.

By considering the differences in context between desktop or web applications and mobile apps, we can begin to see the outlines of best practice design considerations. Consider these six dimensions of mobile app design when developing new smartphone and tablet applications whether with a Mobile Enterprise Application Platform or through more tedious native development tools:

Pressed-for-time.  The mobile user is typically in a time crunch when compared to their desktop computing counterparts. Attention spans are shorter, the need for extensive information and data is far less. In fact, thoroughness of data and information will often be viewed as a negative an a mobile app. Mobile users want just the pertinent facts and procedures because they are pressed for time. They are often in the midst of doing something else and the use of the mobile app is literally an interruption to their current task. Pressed-for-time means apps need to be aware of the multi-tasking being done by the user. The app needs to allow the user to get in, get out and be done. POODLE Rule-of-thumb:  Mobile apps should typically involve no more than 2-3 screens.

On-the-spot. Mobile apps are usually at their best when they are location sensitive. Accessing the GPS for location allows the application to lookup relevant data, display locations on a map and so on. Geocoding requires developers to think in new ways about data relationships. From a design standpoint a mashup of Google Maps or other geocoded information can be especially useful to mobile app users. POODLE Rule-of-thumb: Limit initial application scope based on where the user is currently or most recently located.

On-the-go. Keep in mind that the current location of the device is not always the location the mobile user is concerned about. A mobile user is often thinking about “where to go next” and not simply where they are. For this reason a mix of GPS, server-side geocoded data and user entry about desired locations will need to be a part of the application. POODLE Rule-of-thumb: Allow the user to easily indicate an alternate, more relevant location from where they are currently located.

Device-specific. Not only are mobile screens smaller and the interface method different (no mouse and usually no physical keyboard) but the devices vary drastically from model to model. Size, screen resolution, camera resolution, battery life can all make a difference. Poor application design that constantly drains a battery through GPS use or radio use can become a real issue. If a company has to program in different languages for BlackBerry, Apple iOS, Android and Windows Phone, this can be extremely resource costly. Consider a Mobile Enterprise Application Platform (MEAP) suchas Magic’s application platform to overcome these duplicate efforts. POODLE Rule-of-thumb: MEAP Platforms Reduce Development by 35-90%.

Leveraged-Data. When designing business apps, it is essential that the apps leverage backend data and business processes so that the mobile user is fully connected to the business without having to interact directly with enterprise IT systems. An enterprise mobile mashup will allow the business app designer to leverage data and processes for the most effective user experience. POODLE Rule-of-thumb: Enterprise mobile mashups increase app acceptance by 35%.

Expressly-Personal. With traditional business software, the user learns to navigate a series of screens and interfaces to accomplish their tasks. With a mobile app, user navigation is resource intensive and regarded as a waste of time. Mobile apps should learn the preferences of the user to personalize the interaction without the user having to set preferences and options. If I press the same three navigation buttons every time I use the app, shouldn’t that become my start page?  

Mobile applications should be expressly personal experiences allowing the user to interact when, where and how they want to. Apps should be limited in scope so as to be more intimate and personal to the specific need of the user at that moment. Other apps can accomplish other tasks for other users. POODLE Rule-of-thumb: Tailor applications on-the-fly in a way that lets the user know you have been paying attention to their preferences.

What’s all the POODLE about? It’s just a way to organize a few ideas about mobile app development and how it needs to be approached differently than the development of traditional desktop and web applications. I’m sure we could extend the acronym further to POODLES and discuss security and other important issues. But for now, we'll let sleeping apps lie.

Additional important concepts: