Article

An Assessment of Design and Implementation Trade-Offs and Their Impact on Mobile Applications

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

When building an application for a mobile platform, there are many aspects to consider; portability, speed, and the user interface are just a few. Because there are several mobile devices that are capable of running custom applications and the costs associated with software development continue to increase, software portability is often a desired attribute of mobile applications. In addition, mobile devices are typically constrained with respect to memory and processor performance. Unfortunately, the effect of design and implementation decisions relative to these limitations will often conflict with the portability and usability of the software. If an application is easy to move from one device to another, the application is considered portable and less time is needed to create releases for new devices as well as maintaining updates for all devices. However, the design and implementation requirements associated with portability often create conflicts with other desirable attributes of the application. Mobile devices tend to have limited computing power and memory relative to a conventional desktop, which requires developers to become more conscious of the processing and memory efficiency of their application. While limited memory and processing power can be viewed as similar problems between many of the mobile platforms, the user interface creates a new problem for developers. Whereas desktop environments generally have the same de facto layout, user interfaces for mobile devices vary significantly and impose additional constraints on software design and implementation Leveraging from recent experience developing a commercial prototype of a language translation application, this paper will explore options the developer has to choose from in terms of programming language...

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Wireless Application Protocol (WAP) phones are a growing relevant part of the mobile market, and the number of WAP services offered is rapidly increasing. Usability is crucial for these services, which must be easily operated on small screens and keyboards. ...
Conference Paper
This paper describes an experimental course on the topic of software portability, and initial experience in teaching this course. With the continuing proliferation of both applications and computing environments, the need for portability is being increasingly recognized. A large proportion of the software now being developed will eventually need to be ported to new environments. Yet this topic is missing from most computer science and software engineering curricula. The course described here was designed to explore practical issues in the development of portable software. Lectures and discussions on portability topics are combined with the ongoing development of a simple software project designed to expose a variety of portability problems. During the course the project is ported to several environments and redesigned to improve its portability. This course has been taught experimentally with encouraging results. Student assignments have used novel and effective methods to overcome portability barriers. Feedback from student indicates that they have become more aware of portability issues to be considered in software development, and have gained experience with system interface issues in several programming environments.
Conference Paper
Portability is clearly a form of reusability, but the problem of enhancing and supporting portability raises problems which are not often addressed by reuse research. Portability is typically concerned with the reuse of complete applications on new platforms, while reuse research has typically concentrated on building and maintaining collections of reusable components or similar artifacts, and reusing them effectively in new applications. This paper reviews and compares current issues in reuse research and portability research. Although the dominant problems for the two research domains are distinct, the goal is to identify some common areas where both domains may benefit from continuing research. Several common areas are identified. These include classification, specification and measurement, validation and verification, software process issues, and management issues. The problem of integrating portability into the software development process is briefly considered. Benefits may be anticipated from integration of both portability and reuse. It appears, however, that integration of portability may be more easily accomplished, yet harder to justify to management.
Article
A range of system-design strategies that can be used to support portability and the ways in which these strategies have been employed by past and present systems are examined. The strategies are grouped into three categories: (1) strategies that maintain identical execution-time interfaces by porting system components that form the interface, (2) strategies that maintain identical or nearly identical interfaces for different system components by adhering to appropriate standards, and (3) strategies that assist in the adaptation of programs to a target environment. The principal emphasis is on operating-system issues. User interface portability, dynamic portability in a network, and international exchange of programs are briefly considered.< >