Thursday, October 31, 2013

Web Development for mobile devices.

The web development has been experimenting dramatic changes with the evolution of mobile devices and the increasing network speed connections.  With all the constant improvements in device capacity and connectivity, web developments have started to use more resources making them larger, and this works really good and improves the user experience in regular home wireless or wired connections, on the contrary, cellular networks, which haven’t reached yet the speed of wired networks, experiment slower connections making those larger web developments, in some cases, an annoying experience for the mobile users.

The problems in the mobile device using cellular networks are:

Latency represents the delay between the request and the response. And there is a big difference between the latency in wired and wireless networks, usually wired connections travel more directly and the latency depends on fewer factors than wireless networks.

Web performance, there are techniques that can be used to improve the performance of the website, like reducing the amount of http requests, eliminating images and avoiding redirects.

Mobile device limitations, there is a very wide range of mobile devices in the market with different characteristics, screen sizes, etc. but most of them have lower capabilities than desktops or laptops, therefore it is important to recognize those differences to provide a better user experience. First, the processor capabilities, mobile devices are very powerful in these days, but still not enough, the use of JavaScript is expensive in terms of CPU processing and can make the application slower and drain the battery more quickly. Therefore, the suggestion is to try to avoid its usage if it is possible, in web mobile developments specifically in cases like animations where CSS is much more efficient.

Next limitation is memory capacity. Mobile devices have considerably less memory than desktops and laptops. Web applications that consume too much memory in mobile devices can make the browser slower, unresponsive or crash.  Normally the biggest problem are the images, in a desktop application, usually the images are loaded in the DOM (document object model), even if they are not visible on the screen, but with the memory capabilities of the desktop this is not a problem and the web application can run smoothly. But in the case of a mobile device, it can crash the application, then it is necessary to remove the images from the DOM that are not longer needed in order to avoid the unnecessary consumption of memory.

In my opinion, for web development there is no way to create one hundred percent universal applications that are able to provide good user experience among different types of devices. In the design of each application it is important to identify the target devices audience, and make the design based on the characteristics of each device target, if it is a desktop, probably the web mobile application can contain richer elements than a phone version. It is even necessary to differentiate the phone and the tablet web developments.

Reference:

Zakas, N (2013). The Evolution of Web Development for Mobile Devices. Queue 11, 2, pages 30 (February 2013), 10 pages. DOI=10.1145/2436696.2441756

Sunday, October 27, 2013

#4 My experience with Cardio Trainer for Android

I am a very sporty person, and I love walking every morning, one the things that this new explosion of mobile technology has brought us is the ability to keep track of our exercising routines easily without having to buy additional hardware.

The Cardio Trainer for Android is an application that allows you to track your exercise by recording the time, distance and path (via the GPS functionality of your phone) where you have exercised.

One of the issues I found in the application is that on certain occasions it makes the navigation confusing for the user. This happens specifically when you try to go back to the main menu of the application by pressing the button “Home”. The issue I found here is that the home button takes you to different places depending on how you accessed the application. If you accessed but selecting the application item in the phones menu, or by selecting the application widget then the home button does take you to the main menu, whilst, when you enter the application by clicking on the status bar icons (the reminders that you have to exercise) then the home button instead of taking you to the main menu of the application takes you to the home screen of your phone. This is very confusing for the end user and gave me a hard time until I finally figured it out.

On the plus side, the most convenient feature is the fact that it has the possibility to enable voice output. Let’s face it, whenever you exercise and you have a tracking device, one of the things that you constantly do all the time is checking your device to see how many calories you have burned or how many miles you have travelled, but this can be quite dangerous, particularly if you are using a bicycle or roller blades. So the voice output in the application takes care of that issue and allows you to indicate the time interval in which you want each notification and the type of notification you want (i.e. Calories burned, distance traveled, current speed), and notifies you without you having to be distracted looking at the phone, and risking having an accident. This to me is a very good example of how a good human-computer interaction can be used to remediate complications from past products.

 On a final note, I would say the product is well designed in the way the interaction with the user is built. The user experience feels very good, and the issue with the home button seems to me more like a programming error than having actually been designed this way.


Tuesday, October 8, 2013

#3 My American Airlines Reservation Experience

Today I am going to talk about my experience with the American Airlines flight reservations web application.

The way the process works on the page is that first you select your starting point and your destination. While the system checks for available flights it lets you know that something is happening by displaying a message indicating that the possible flights are being looked for. Then you get a list of the possible flights and the total value of them for you to select. Afterwards you continue through a series of steps that will request your personal and other required information to book your flight. In my experience I can say that the page is very intuitive letting you know easily the information it is requesting from you at every moment. Also after you confirm every step and the page is loading the next one there is always an indicator letting you know that the system is doing something (sometimes not knowing if something is happening or if you has didn’t click the continue button yet can be annoying).

I also found the page to be well designed, without any distracting promos or on-the-side information not necessary for your booking, restricting only to displaying the information that you need or they require you to fill, this is very helpful making it easy to understand and not get lost in the process.

One of the features I found very useful as well, and one which sometimes is not found in web sites were you have to execute a full processes, was the fact that at the top of the page there was a breadcrumb-like list showing every step of the process. This not only allows the user to easily identify in which step of the process he is and how many steps are left to finish, but also allows you to go back to any previous step in case you realize that you want to make any change on your reservation.  I remember this very clearly because when I tried to do the same on other airlines in the past, I run into the issue of trying to change for example the return date that I had previously selected and there was no way of going back into the process to select again, and the only possibility was to completely cancel the process and start over again from scratch. That to me was very frustrating.
Breadcrumb-like process step list

Overall, I’d say that the application is well developed, helpful and easy to use, all the information you require is displayed at the right time and provides useful options for navigating through the process seamlessly.