Issue No. 02 - Mar.-Apr. (2014 vol. 31)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2014.39
James Edmondson , Carnegie Mellon University
William Anderson , Carnegie Mellon University
Jeff Gray , University of Alabama
Joseph P. Loyall , Raytheon BBN Technologies
Klaus Schmid , University of Hildesheim
Jules White , Vanderbilt University
This issue of IEEE Software discusses where the mobile computing has brought us today and where it could be taking us in the future. It provides a glimpse into the near future of mobile computing by focusing on proximate software challenges coupled with promising techniques, infrastructure, and research from academia, government, and industry. The first Web extra at http://youtu.be/iLnNHwp-H8E is a video demonstration of the Group Autonomy for Mobile Systems (GAMS) project, which is an extension of a research project called Self-governing Mobile Adhocs with Sensors and Handhelds (SMASH) that investigated human-in-the-loop autonomy at Carnegie Mellon University. The project created Android interfaces to a drone swarm that tried to autonomously search for survivors in a disaster scenario using the Parrot AR.Drone and custom GPS and thermal sensors. The second Web extra at http://youtu.be/lW1dqsrdRHU is a video demonstration of HD4AR mobile augmented reality technology that was commercialized through PAR Works. The third Web extra at http://youtu.be/M4w5oPqrMRo is an audio interview in which James Edmondson talks with Suzanne Miller about autonomous systems, specifically as they relate to robotic systems. In particular, Edmondson's research focuses on partial autonomy with an aim of complementing human users and extending their reach and capabilities in mission-critical environments. From the SEI Podcast Series "Conversations in Software Engineering."
THE PAST DECADE has seen immense growth in both the level of interest and the demands on mobile computing. Users are buying fewer stand-alone desktop computers but have been purchasing new mobile technology at an exponential rate to complement their personal computer needs. Within the last decade, laptop sales have surpassed those of desktop computers in many world markets, and the worldwide popularity of smartphones has surpassed them both (see the sidebar for further reading).
But smartphones are not the likely end of the mobile computing innovation vector. We believe mobile computing is in its infancy, and the next generations of mobile technology are going to be even more pervasive, smaller, and maybe even a bit weirder and more integral to our lives, jobs, and future.
Most commercially available mobile computing technology tends to iterate the same core concepts that made personal computers so popular and engaging. Smartphones connect us to our families and friends over wireless access points, the Internet, or cellular networks and provide entertainment via games, puzzles, and browsing. Larger tablets provide us with even more power on the go to connect and interact with the world. But these innovations are just the tip of the iceberg for the challenges that are on the mobile computing horizon.
Inventions like the Fitbit (www.fitbit.com) track our movements, heartbeats, sleep patterns, and overall health, and we can imagine users posting such information to their blogs and social media outlets to which other people can follow, track, and respond. Other pervasive devices like Google Glass (www.google.com/glass/start) present compelling use cases for augmenting reality for users and allowing them to experience and share their lives from a first-person perspective and in a way that is potentially more natural, resembling the type of wearable, immersive computing that was previously only possible in science fiction novels and movies. Both of these devices present very obvious challenges in privacy and security, but if these types of devices become truly integral to a large percentage of the world's technology consumer base, such small, pervasive devices could also overwhelm our networks—even more so than the worst-case fears over the consumption capacity of video and music sharing services like Netflix with regard to our Internet bandwidth.
What would we actually do if fifty million people attempted to stream video and data feeds from every waking moment of their lives? Even in fiber-opticconnected cities, the load would be overwhelming. Anyone who has gone to a fireworks display in a city of millions of people and tried to call out or even send text messages during the celebration can attest to the fragility of our current network and software infrastructures. What would happen if even 100,000 of those people at the celebration were trying to live stream their experiences?
The problem is even more compounded in rural environments, where we are actually in the midst of a surge of mobile computing innovation that is likely to change mid- and large-scale farming environments forever. The same unmanned vehicle technologies that have been used in aerial surveillance, bomb disposal, and search-and-rescue are being actively transitioned to tasks such as crop fertilization, pesticide and disease control, and border monitoring. Unlike the live streams of experiences such as fireworks shows, deviations or drops in communication in these situations could result in the catastrophic loss of expensive equipment or even lives from crashes of unmanned aerial vehicles, failure of mission-critical systems that control public utilities, or any number of exotic doomsday scenarios. Many of our protocols, like the reliable-communication-dependent windowing system of TCP or current cloud computing clusters, are simply not built for frequently disconnected operation, and expanding cell towers or wireless access points into all such areas is likely to be infeasible, especially across the entire world.
And then there are the frontiers of mobile computing that are as exotic and far removed from our personal lives as they are dangerous and important. Maritime and space exploration continue to rely on mobile computing innovations to expand our horizons, harvest new minerals, food, and other natural resources, and maybe even provide us with room to grow as a species. Indeed, the challenges facing mobile computing go beyond the difficult problems of enterprise-level scaling in a highly connected data cluster. Mobile computing is a frontier of hardware and software development that is likely to challenge every facet and resource of our technology sector.
We, the guest editors of this issue, would like to be able to tell you that scale, social issues, and connectivity are hardware problems—that some new networking device or blackboxed security server will solve all of our biggest challenges, but such a belief is a counterproductive fantasy. The truth is that privacy, security, connectivity, and scale for mobile computing devices are going to need software innovations in infrastructure, networking, device management, and other fields that we may have yet to invent.
In this issue of IEEE Software, we glimpse into the near future of mobile computing by focusing on proximate software challenges coupled with promising techniques, infrastructure, and research from academia, government, and industry. We received many amazing submissions for this topic call, but we were unfortunately limited to choosing only a handful of interesting, relevant articles. We whittled down this submission base by specifically looking for research, techniques, and practices that could help drive interesting discussions and thoughts about some of the more immediate challenges in mobile computing—technologies and social movements that we believe will be readily apparent in the next five to fifteen years.
The solutions presented in these articles are not necessarily the ones that will find their way into the mainstream of mobile computing development, but we hope that these might lead to some of the high-impact ideas that will ultimately change mobile computing paradigms, connectivity, privacy, or infrastructures for the better. However, such an expectation is lofty. At the very least, we hope that you, the reader, will find these articles interesting.
JAMES EDMONDSON is a senior member of the technical staff in the software solutions division of the Software Engineering Institute at Carnegie Mellon University. His recent work involves middleware, tools, and user interfaces for unmanned aerial vehicles, smartphones, and dedicated computing resources operating within wireless, reduced-capacity environments. Edmondson received a PhD in computer science from Vanderbilt University, where he worked in the Distributed Object Computing Group for six years. There, he developed high-performance, quality-of-service-enabled middleware for distributed reasoning systems. He now leads the Group Autonomy for Mobile Systems group at Carnegie Mellon and specializes in middleware for distributed artificial intelligence in mobile computing systems. Before entering graduate school, he spent several years in industry working on embedded systems, device drivers, operating systems, and end-user application development. Contact him at firstname.lastname@example.org.
WILLIAM ANDERSON has a career-long focus on process improvement and technology management. He's a senior member of the technical staff at the Software Engineering Institute at Carnegie Mellon University. His research interests include application of mobile device technology in the emergency response domain, integration and interoperability of complex software-intensive systems, service-oriented architecture and reuse management, and governance of complex systems. Anderson received an MSIE from the University of Pittsburgh. Previously, as a vice president of a Fortune 500 company, he successfully led operational, financial, product line, and new product launch groups. He's a senior member of IEEE and recently cochaired the 2012 Advanced Mobile Systems Challenge Workshop. Contact him at email@example.com.
JEFF GRAY is an associate professor at the department of computer science at the University of Alabama. His research interests include model-driven engineering, software evolution, and computer science education. Gray received a PhD in computer science from Vanderbilt University. He's a senior member of both IEEE and ACM, and currently serves as the chair of the Alabama IEEE Computer Society. Jeff teaches topics in mobile computing to K12 students via outreach activities and teaches both a freshman introductory course and senior design class on app development at the University of Alabama. In addition to receiving the NSF Career award in 2006, Gray was named the 2008 Alabama Teacher of the Year by the Carnegie Foundation and serves on the Education Advisory Council of Code.org. Contact him at firstname.lastname@example.org.
JOSEPH P. LOYALL is a senior technical director and principal scientist at Raytheon BBN Technologies. He leads the Distributed Systems Group, which conducts research and technology development in the areas of quality of service, information management, distributed middleware, distributed real-time embedded systems, adaptive applications, survivable systems, and service-oriented, component-oriented, and aspect-oriented programming. Loyall received a PhD in computer science from the University of Illinois, Champaign-Urbana. He's a distinguished member of ACM, a senior member of IEEE, and a senior member of AIAA. Loyall holds three patents for his work in quality of service and adaptive middleware. Contact him at email@example.com.
KLAUS SCHMID is a professor of software engineering at the University of Hildesheim, and leads the software systems engineering group at its computer science Institute. His main research interest is on the flexibility and adaptivity of software at development time and runtime. In the context of runtime adaptive systems, he focuses particularly on the notion of dynamic software product lines. He was for several years a chair of the DSPL workshop series. He's currently chair of the steering committee of the software product line conference. Schmid received a PhD in computer science from University of Kaiserslautern. He's a member of the IEEE CS, ACM, and the GI (Gesellschaft für Informatik) in Germany. Contact him at firstname.lastname@example.org.
JULES WHITE is an assistant professor of computer science in the department of electrical engineering and computer science at Vanderbilt University. His research focuses on securing, optimizing, and leveraging data from mobile cyberphysical systems in mobile security and data collection, high-precision mobile augmented reality, mobile device and supporting cloud infrastructure power and configuration optimization, and applications of mobile cyber-physical systems in multidisciplinary domains, including energy-optimized cloud computing, smart grid systems, healthcare and manufacturing security, next-generation construction technologies, and citizen science. His research has been licensed and transitioned to industry, where it won an innovation award at the 2013 International Consumer Electronics show. His research is conducted through the mobile application computing, optimization, and security methods (Magnum) Group (www.magnum.io) at Vanderbilt University, which he directs. Contact him at email@example.com.