Mobile Device Applications from a Development Perspective

M

Limitations and opportunities explored

Mobile devices have many positive aspects including opening up networking channels and increasing the accessibility of information, but as with any new technology, potential pitfalls must be researched, remedied and cautiously provided for.  This literature review discusses several potential pitfalls of mobile technologies as well as potential opportunities faced by developers of software as well as mobile device manufacturers.

More specifically, several themes are highlighted through existing literature on areas concerned with the development of mobile applications.  These themes include context awareness, mobile security, usability and accessibility.  By focusing on these themes and researching the literature available, the developer will be better equipped to face the challenges and opportunities ahead in order to create practical and usable applications.

Introduction

The beginning of the 21st century saw the rise in popularity of mobile devices and their application software.  Personal Digital Assistants took the spotlight several years ago, however more recently mobile phones or smart phones are beginning to replace them.  Many applications (or apps) are being developed and distributed at a rapid rate through online vendor websites.  What was once a market for business users has expanded to everyday consumer buying.

The iPhone has only been around since 2007, however it has already been deemed a major success within the smart phone industry.  A lot of careful consideration and planning went into the device with regards to its user interface and available applications and services.  The ‘App Store’, which opens the doors to any developer who wishes to sell or give away software for the device, has greatly contributed to its popularity.  Other phone manufacturers are also researching technologies to deliver touch screen easy to use and learn portable technology to the everyday consumer.  The Google Andriod platform has received a lot of attention lately and will continue to grown in popularity in the months ahead.  Nowadays, a typical smart phone can provide a wealth of information at the user’s fingertips while opening up communications through text and voice applications as well as more advanced social networking environments.

While there are many advantages to using mobile applications, there are some serious limitations that need to be considered when developing for the mobile environment.  Some of the more obvious of these include the small screen size, limited processing capabilities and general accessibility issues.  This paper examines some of these limitations that should be considered when developing a mobile application.  More specifically it discusses some of the potential challenges of developing a mobile application by exploring the opportunities of context aware software, security concerns, interface usability (or non-usability) and application accessibility issues.

Developing Context Aware Applications

The term ‘Context Awareness’ has become more widely used in recent years as mobile computing and platforms continue to grow in popularity.  Kim et al (2004) explains that it was first introduced by Schilit and Theimer (1994).  They defined context awareness through a number of examples.  These examples include location, identities of nearby people and objects, and changes to those objects.

In today’s mobile computing application, it is clear to see how other examples of context such as time, location lighting and temperature come into play.  The mobile application developer needs to take into consideration the many opportunities and in some cases necessity of context aware issues.  Mobile devices that are used both indoor and outdoor must for example cater for the different environments by adapting screen resolutions and brightness levels to ensure ease of readability.  Devices that are used in extreme temperatures must be equipped to handle these extremes and function as they would in more accommodating environments.  Kim et al go on to explain how context awareness opens up the possibility for the next generation of appliances that understands the user’s context and provides services to enhance the user experience.

Many mobile devices today are faced with some of the challenges context awareness presents.  Burigat et al (2006) discusses in depth visualization of applications or software on mobile devices.  While newer mobile platforms have improved greatly over the years, visualization is something that application developers need to take seriously, depending of course on the platform they are developing for.  Factors such as available resolutions, contrast and screen orientation play an important part in developing good visual applications.

Burigat et al (2006) examines the issues surrounding spatial applications, more specifically mapping applications that are simply too big to fit on a mobile device screen.  In this context they explore several techniques including a halo, which provides a partially drawn circle near the edge of the screen, prompting the user that more data is available off screen.  Another technique they use is the implementation of arrows to bring to the users attention to certain parts of the map.  The iPhone’s touch screen capabilities allow users to simply scroll by moving their fingers along the touch screen.  Many apps take advantage of the touch screen features to enhance the overall usability of the software.  Regardless of the platform, application developers need to continue to take advantage of context awareness opportunities, while continuing to develop ways to overcome some of the challenges they pose.

Mobile Device Security Considerations

With the convenience of mobile devices and mobile applications come some of the pitfalls or challenges software writers face.  In many ways mobile devices face some of the similar challenges and threats that have plagued desktop PCs for years.  Threats such as malware, viruses, phishing scams and identity theft, are just some of the concerns that should be taken seriously on a mobile device.  Some of these problems can be more serious on a mobile device simply because of its portable design.  People carry smart phones and laptops where they travel and on business, which opens up greater chances of theft, leading to a potential compromise in sensitive data.  Oberheide et al (2008) have spent a considerable amount of time exploring ways to increase security efforts on mobile platforms.  They discuss the implementation of remote services that would provide additional protection to connected mobile devices.  Essentially what they propose is the distribution of a server-side virus protection that would make use of the devices bandwidth and local capabilities to provide additional security.

Mobile application developers need to be very careful when designing software that potentially will request or house sensitive data.  Appropriate steps should be taken to ensure that data would not be compromised if the device fell into the wrong hands.  Methods such as security passwords and user accounts are one way of addressing this issue.  Other methods would be to completely remove any sensitive data component from the mobile device application and force the user to login at a PC workstation to access ‘advanced’ services.

As technologies continue to evolve, so too does the innovation of developers and researchers in the field.  Tamviruzzaman et al (2009) have proposed an intelligent software solution that would allow a phone to recognize its owner.  Essentially the phone would have an advanced authentication system based on ‘intrinsic’ attributes of its owner such as voice, face, hand and fingerprint geometry.  As devices continue to advance in features, so too do the security threats, which is why it is essential for all application developers as well as device manufacturers to continue to explore new possibilities and more advanced security systems.

Interface Usability

Since mobile platforms have become mainstream over the years, programmers and developers have had to face the challenge of changing the way they think in terms of user experiences and optimizing overall usability.  What may be a very well thought out application with an attractive design, can unfortunately often fail because of poor user interaction considerations or usability.  User interface design methods, which have traditionally worked well in desktop environments, are not always suitable to the portable platform.  Courasaris & Kim (2007) discuss some of these issues and have developed a framework based on usability dimensions including the effectiveness, efficiency and satisfaction metrics as well as several others.  Their framework studies the user, the environment they are in, the technology driving a particular application and the tasks and activities at hand.  By taking all these components into consideration when developing a suitable application, they are better able to promote adoption, retention, loyalty, trust and overall satisfaction of the user.

There are many other researchers in this field who have published guidelines for more effective usable systems.  Developers can benefit greatly from much of the research that is already widely available to them.  More recently Hussain & Ferneley (2008) published a usability metric specifically for mobile devices using their Goal Question Metric (GQM) approach.  They go on to explain that the GQM model is a hierarchy structure, which starts with a goal.  The goal is then used to define numerous questions and then metrics are developed for each question.  This process enables the improvement of usability guidelines, which developers can then use when writing new software for mobile applications.

User research can assist in developing highly effective and usable systems and is a process that is commonly used in software development today regardless of the platform.  Mobile smart phone devices are however relatively new and pose other challenges that were not present in their desktop counterparts.  Schusteritsch et al (2007) spent time at Google developing a mobile device observation platform, where they could observe user interactions.  They developed a “flexible infrastructure for mobile studies” that has enabled them to observe most devices in most locations gaining firsthand experience from their users.  Mobile devices will continue to change and evolve and it is up to developers and researchers to stay on top of these issues, in order to ensure the best overall user experience for their device or specific application.

Mobile Accessibility

Understanding the user is essential in developing efficient applications that are not only generally straightforward to use, but accessible by different population segments.  In recent years, much work has been carried out to increase accessibility of web and mobile device applications.  People with blindness, deafness motor or other disabilities are just some examples of population segments that have just as much of a need to use software applications as those without any disabilities do.  Other accessibility issues include language differences, age and location specific technology or bandwidth limitations.  All applications should be developed with their user populations accessibility challenges in mind, regardless of platform.  The W3C or World Wide Web Consortium provides guidelines for web accessibility for both desktop and mobile devices.  Their website discusses involving the users from early stages in the development cycle.  ‘When developers understand accessibility issues, they can implement more effective accessibility solutions; for example, their website will work better and be more usable for people with disabilities, older users, and other target groups.’ (“Involving Users in Web Projects for Better, Easier Accessibility,” n.d., para. 5).

While many devices have been created to be able to access Internet resources directly, some argue that the Web in its current form is not appropriate model for delivering mobile content.  Parikh (2006) theorizes how a mobile World Wide Web might look if it were designed from the ground up and believes that in its current form the web is not as efficient with mobile devices.  Newer applications, that are designed specifically for mobile devices, have the potential to be much more efficient than their WWW counterparts simply running in a mobile browser.  These tend to allow for more flexibility and greater enhanced accessibility.  The downside of custom developed applicationss for specific devices brings other issues to light.  Smillie (2006) reminds us of the problems of cross browser compatibility that plagued the early days of the Web.  By developing different applicationss for different platforms, we face similar challenges in cross-platform compatibility as well as accessibility for different users.  Smillie believes that we are in an evolving environment and the lessons learned from yesterday on the traditional desktop web, will help us with some of the newer challenges facing us in mobile platforms.

Conclusion

While there are many benefits to mobile technology, there are challenges and hurdles that need to be overcome.  It is clear that application development on a mobile device is not only very different from development on a PC, but it is also very different from one mobile platform to another.  As smart phone sales continue to rise and more platforms emerge, new opportunities and challenges will surface. Social networking and online e-commerce applications for products and services will continue to rise in popularity.  A report by Juniper Research forecasts that 2.1 billion subscribers of mobile services will buy digital goods downloaded to their phones by 2013.

Mobile device programmers and developers face challenges with cross compatibility on many different platforms.  They need to consider the themes discussed in this literature review with regards to context awareness, security, usability and accessibility.  The playing field is forever changing and evolving.  In order to be successful, the developer must continue to hone their skills in the technologies available to them as well as emerging trends.  They must develop secure applications with the user in mind and take full advantage of the mobile experience and context aware opportunities available to them.  The applications they develop should be flexible enough to be delivered on multiple platforms and have the ability to change and evolve as the mobile smart phone market changes in the days ahead.

References

Burigat, S, Chittaro, L & Gabrielli, S (2006). Visualizing locations of off-screen objects on mobile devices: a comparative evaluation of three approaches. ACM International Conference Proceeding Series; Vol. 159.  Retrieved from ACM database.

Coursaris, K, Kim, D (2007). A research agenda for mobile usability. Conference on Human Factors in Computing Systems. Retrieved from ACM database.

Chittaro, L (2006).  Visualizing Information on Mobile Devices.  IEEE Computer Society.  Retrieved from ACM database.

Hussain, A, Ferneley, E (2008).  Usability Metric for Mobile Application: A Goal Question Metric (GQM) Approach. International Conference on Information Integration and web-based Applications and Services.  Retrieved from ACM database.

Involving Users in Web Projects for Better, Easier Accessibility (n.d.).  World Wide Web Consortium. http://www.w3.org/WAI/users/involving.html accessed December 5th, 2009.

Juniper Research: More than 2 billion users will buy digital goods with their phones by 2013 (2008). http://www.intomobile.com/2008/08/08/juniper-research-more-than-2-billion-users-will-buy-digital-goods-with-their-phones-by-2013.html accessed December 1st, 2009.

Kim, SungWoo, Park, S, Lee, J, Jin, Y, Park, H, Chung, A, Choi, S & Choi, W (2004). Sensible appliances: applying context-awareness to appliance design.       Personal and Ubiquitous Computing.  Retrieved from ACM database.

Oberheide, J, Veeraraghavan, K, Cooke, E, Flinn, J & Jahanian, F.  (2008).  Virtualized in-cloud security services for mobile devices.  MobiVirt ’08: Proceedings of the First Workshop on Virtualization in Mobile Computing.  Retrieved from ACM database.

Parikh, T (2006). Mobile phones may be the right devices for supporting developing world accessibility, but is the WWW the right service delivery model?  ACM International Conference Proceeding Series; Vol. 134. Retrieved from ACM database.

Peney, A, Wong, R (2008).  Grouping hyperlinks for improved voice/mobile accessibility.  ACM International Conference Proceeding Series; Vol. 317.  Retrieved from ACM database.

Schusteritsch, R, Wei, C & LaRosa, M (2007).  Towards the perfect infrastructure for usability testing on mobile devices.  Conference on Human Factors in Computing Systems.  Retrieved from ACM database.

Smillie, D (2006). Web accessibility: is it just a “merry-go-round”? ACM International Conference Proceeding Series; Vol. 134. Retrieved from ACM database.

Tamviruzzaman, M, Ahamed, S, Hasan & C, O’Brien, C (2009).  ePet: when cellular phone learns to recognize its owner. Conference on Computer and Communications Security.  Retrieved from ACM database.

About the author

Ian Carnaghan

I am a software developer and online educator who likes to keep up with all the latest in technology. I also manage cloud infrastructure, continuous monitoring, DevOps processes, security, and continuous integration and deployment.

About Author

Ian Carnaghan

I am a software developer and online educator who likes to keep up with all the latest in technology. I also manage cloud infrastructure, continuous monitoring, DevOps processes, security, and continuous integration and deployment.

Follow Me