Industries of all varieties have begun to realize that the target audiences for their business applications have shifted in massive numbers from the use of traditional personal computers, such as desktops and notebooks, to using mobile devices such as smartphones and tablets for accessing the internet and for obtaining the information that they seek. This applies if the intended audience for the application is a direct customer of the enterprise (business-to-consumer apps, or “B2C”), or if the targeted user is an employee or business partner (“B2E” and “B2B”, or business-to-employee and business-to-business apps).
This crucial shift in user behavior has motivated enterprises to develop mobile channels for their existing business applications, and to plan for new kinds of applications that can use the unique characteristics of the mobile devices on the market. As with all major evolutions in the information technology industry, the first years of this shift have seen frantic activity to meet demand and create market presence without considering more strategic issues such as application development costs, maintainability, quality and security. As the mobile application market matures and the initial rush to market settles, these more comprehensive software development issues are being brought into focus by those in the enterprise responsible for longer-term planning and economics. The question we now must ask, is how will these new mobile apps fit with the existing enterprise applications and development processes?
Unique challenges for mobile application development
The creation of applications intended to run on newer mobile devices such as smartphones and tablets involves unique requirements and challenges.
- Form factors and user input technology: The first and most obvious unique aspect of mobile applications is that the form factor for display and user interaction is significantly different from prior forms of software. Smartphones usually provide only a four-inch area in which to display the application content and offer lower screen resolution pixel density compared to personal computer (PC) displays. Another physical difference for mobile applications is that the mechanisms for user input are different. Mobile devices have pioneered the use of non-keyboard “gestures” (touch, swipe, pinch) as an effective and popular method of user input. In addition to tactile user input, mobile devices are a natural target for voice-based user input as keyboard input is probably the least effective and least popular mechanism for input delivery from mobile application users.
- Usability and user interaction design: Several factors motivate the need for more attention to usability and user interaction design for mobile applications. The mobile app designer has to consider the screen real estate. The rich variety of input methods available on mobile devices also is a motivation for early design work to identify and use more efficient ways to deliver input data than the simple “type it in a form” design that is a default for traditional web and PC applications. Identifying non-keyboard ways in which information can be gathered and delivered to the mobile app is a significant design challenge. Ideally, these usability considerations and design aspects should be codified in the requirements for the mobile application and then linked to the later stage development deliverables, along with the tests that validate that the user interaction and “consumeability” of the app is as satisfying as possible.
- Choice of implementation technology: There is a spectrum of implementation choices for mobile applications in the market. There is no one perfect answer for the choice of implementation for a mobile application, and all of the choices across the spectrum have their advantages and disadvantages. Therefore, the challenge for mobile development teams is to understand the trade-offs between the technologies and make a choice based on the specific application requirements. The choice of implementation technology for a mobile project will have an impact on other decisions related to the application’s development, like for development tools, team roles and structure, and testing and distribution.
Download the full whitepaper here
About the Author
Leigh Williamson is an IBM Distinguished Engineer who has been working in the Austin, Texas lab since 1988, contributing to IBM’s major software projects including OS/2, DB2, AIX, Java, WebSphere Application Server, and the Rational portfolio of development solutions. His current role is as a member of the Chief Technology Officer team, influencing the strategic direction for products addressing the needs of software development teams, with a primary focus on tools and best practices for mobile application development. Follow Leigh on Twitter at @leighawillia.