Challenges in Mobile Apps: A Multi-Disciplinary Perspective

Meiyappan Nagappan (Queen's University, Canada), Emad Shihab (Rochester Institute of Technology), and Ahmed E. Hassan (Queen's University, Canada)

Update: The slides for the talks have been uploaded here. Photos of the workshop and the panel have been uploaded as well.

Motivation and Justification
The popularity of mobile devices, i.e., smart-phones and tablets, has been rapidly growing. These mobile devices run mobile apps. Mobile apps are small software applications that are intended to achieve specific functionalities. For example, some mobile apps are used for gaming; others are used for everyday banking.

Mobile apps are made available through app stores. The largest app stores, offered by the platform vendors, are Google Play, Apple App Store, Windows Phone Marketplace, and Blackberry App World. It is estimated that these aforementioned app stores contain more than 1.5 million apps that users can easily download and install on their mobile devices.

There has been decades of research on mobile devices, with respect to their hardware, power related performance, and network capabilities. However research related to "Mobile Apps" is in its infancy stage. Therefore the central theme of this workshop was examining the research challenges in mobile apps.

The software engineering research community has over the past few decades made giant strides in observing, understanding, and improving software that is run of desktop devices and backend servers. However, mobile apps are very different from such software. One key difference is that mobile apps are often distributed through centralized market places called "App Stores". In such markets even small team of developers can be highly successful. A considerable number of apps are very small in size and sometimes tends to follow no particular design principle.

Additionally the mobile devices for which such apps are designed for are always connected to the internet, run on batteries (as opposed to a steady power source), and have fairly limited resources like screen size, CPU, and memory, while having unique new hardware attachments like accelerometers, global positioning systems, and cameras. Such differences introduce further challenges in mobile app development.

Examples of some of the most common challenges with respect to mobile apps are:

  1. Privacy and Security of user information
  2. Power consumed by the apps
  3. Monetization challenges
  4. Run time analytics challenges
These challenges are in addition to typical developer challenges during the implementation of the app, like debugging, quality control, and maintenance.

The expertise needed to address these challenges goes beyond any single discipline. A collaborative effort by researchers from various computer science disciplines, such as software engineering, privacy, security, data mining, and power and non-computer science areas such as business and legal is needed.

Invited Speakers

    Academic:
  1. William G.J. Halfond, University of Southern California

    Title: Improving the Energy Consumption of Mobile Applications

    Abstract: The capabilities of mobile devices have increased dramatically and end-users are able to perform a wide range of useful tasks on their smartphones. However, the usability of these devices is strongly influenced by their energy consumption. Despite advances in hardware and battery design, a poorly coded application can drain a smartphone’s battery with numerous energy-expensive operations. Developers lack the tools and techniques to identify when and where the energy consumption of their applications can be improved. In this talk, I will discuss my group's research efforts to develop techniques that help software engineers understand how energy is consumed by their applications and change the applications in ways that will lead to reduced energy consumption. As part of these efforts, we have developed program analysis based techniques for estimating an application's energy consumption for a given workload, visualizing online energy measurements, and rewriting mobile web applications so that the web pages they display consume less energy on an end user's device.

    Slides

  2. Mayur Naik, Georgia Tech

    Title: Automated Testing of Mobile Apps

    Abstract: Smartphones and apps that run on them are becoming increasingly prevalent. There is a growing need for software-quality tools in all stages of an app's life-cycle, including development, testing, auditing, and deployment. This project investigates algorithms and systems for effectively analyzing smartphone apps.

    Dynodroid is a system for automatically generating relevant inputs to Android apps. It is capable of generating both UI inputs (e.g., touchscreen taps and gestures) and system inputs (e.g., simulating incoming SMS messages). It also allows interleaving inputs from machine and human.

    Slides
    Industry:
  1. Samer Fahmy, BlackBerry
  2. Brian Vanpee, BlackBerry

    Title: A Discussion of Mobile Development Challenges

    Abstract: With the performance power that comes in Smartphones these days, it could be assumed that developing for a mobile platform would be an extension of developing for the desktop. In practice, this is rarely the case. There are in fact many challenges that developers face when building applications for mobile. Developers must deal with technical challenges such as memory and performance. On the visual front, applications are faced with unique constraints that require creative solutions. Testing and deploying can be difficult even for seemingly straight forward applications. Drawing on our experience, in this session we will explore these challenges and provide insights into dealing with these problems and more from a developer's perspective.

    Slides

Goals and outcomes
The goal of this workshop is to bring together researchers from various disciplines of computer science and practitioners, to discuss challenges, solutions and best practices in the area of mobile apps. We intend to provide a platform for these researchers to collaborate with practitioners and researchers from other disciplines, to come up with innovative ways to address the critical challenges facing the mobile app industry. In particular, the workshop will focus on areas related to quality assurance, power consumption by apps, privacy and security of user information, monetization of apps, and testing of mobile apps.

Workshop Registration
The workshop is part of the CASCON 2013 workshop series. Registration for CASCON (and the workshop) is free and can be done here before Nov 15th 2013:
https://www-927.ibm.com/ibm/cas/cascon/registration/login.jsp

Workshop Structure
The half-day workshop will feature invited presentations from some of the most prominent and experienced researchers and practitioners in the area of mobile apps. In order to facilitate collaboration we have made the workshop structure interactive. We also will hold a panel at the end of the workshop with the mobile app developers, which will provide a forum to discuss their current and future challenges.

Agenda
02:00-02:30 Welcome + Brief summary of research related to mobile apps
02:30-03:30 Session on Academic Perspective in mobile apps
02:30-03:00 Improving the Energy Consumption of Mobile Applications - William G.J.Halfond, University of Southern California
03:00-03:30 Automated Testing of Mobile Apps - Mayur Naik, Georgia Tech
03:30-04:00 Break
04:00-05:00 Session on Industrial Perspective in mobile apps
04:00-04:30 A Discussion of Mobile Development Challenges - Samer Fahmy and Brian Vanpee, BlackBerry
04:30-05:00 Panel Discussion
05:00-05:15 Wrap up