Chapter 17. Afterword
Any sufficiently advanced technology is indistinguishable from magic.Arthur C. Clark, author of 2001: A Space Odyssey and one of the fathers of satellite communications (Encarta 2004, Quotations) If you have read this far, thank you for your attention! I hope you have enjoyed the book and that it has been both inspiring and educational. If you are skimming through this chapter and mulling a purchase decision, I hope you buy the book and read it!I am often asked where I think things are headed with mobile devices. Without getting too specific (which is doomed to failure), I'd like to offer the following thoughts:The"personal computer"is not going away or being replaced by mobile devices . I often hear statements such as, "Last year 500 million mobile phones were sold and 100 million PCs. The PC is going away and going to be replaced by mobile phones that connect to the Internet." These kinds of statements assume that mobile devices serve the same purposes as personal computers; this is incorrect. For raw interactivity with the user, flexibility of purpose, richness of display, and in-depth experience, it is almost impossible to imagine replacing the personal computer. Try to imagine writing a book on a mobile phone or designing complicated spreadsheets on a PDA; it is just not possible, nor is it compelling. Personal computers, with their large screens, rich input and output capabilities, and truly awesome computing power and storage capacity, serve a very important purpose in giving their users an encompassing information experience. However, personal computers are evolving and bifurcating. The desktop computer does indeed appear to be fading away and is probably destined to be replaced by laptops on one end and personal/home servers on the other end. The desktop PC may be on its way out, but the personal computer continues to become more important than ever. Mobile devices will play an increasing role in interacting with these computers, pushing data in, pulling data out, and probably in identifying ourselves to them, but the personal computer is here to stay.Mobile devices will become our constant companions. In the old days people carried pocket watches with them. These devices were one of the first examples of personal technology that traveled with its owner and gave the owner valuable on-demand information. The form factor was correct, and the utility was indisputable; people needed to know what time it was. It fit in peoples' pockets and offered unobtrusive and valuable information. As increased technology enabled miniaturization and mass manufacturing brought down prices, watches moved from pockets to peoples' wrists. There was no need for the devices to be pocket-sized, so they got smaller. Digital technology came to watches, further reducing prices and increasing functionality, but the devices remained primarily read-only. Early and present-day digital watches offer some services their owners can interact with, but they are mostly read-only because of their form factor. Remember how hard it was to push buttons on digital watch calculators? Separately, mobile phones have emerged. Mobile phones offered the promise of portable two-way interaction, first starting off quite large but then quickly moving into the sweet spot form factor of "fits nicely in my pocket." Perhaps fittingly, mobile phones all have clocks on them as well, bringing us back to the pocket watch but with vastly greater capabilities. Technology has improved, prices have continued to fall, and adoption rates have risen to staggering numbers. These devices have moved from being fixed-purpose timepieces and telephones to being mobile computing platforms, but they have not moved to peoples' wrists because the current form factor is more useful for two-way interaction. Like the pocket watches of yesteryear, mobile phones are always with us and offer us information on demand, but now the interaction is definitively two-way. Mobile devices, and specifically mobile phones, are becoming the constant companions we keep in our pockets and pull out when we need information or services. Their size is well suited for comfortable portability, battery lives now span multiple days, the screen is suitable for displaying a useful quantity of rich information, and their already impressive communications capabilities are sufficient to bring a wide array of services to us. Most of what is needed today is just better software, both on the devices and the servers they talk to. As extensible computing platforms, mobile devices offer great promise to bring their users the information and services they need anywhere and at any time, online and offline. Just as many of us now find it hard to imagine how we got by before mobile phones and the Internet, today's and tomorrow's rich mobile devices will offer us services so valuable and compelling that they will quickly weave themselves into the fabric of our daily activities. Just as people in former times occasionally took out their pocket watches and quickly glanced at them to glean valuable information, so too will people everywhere soon habitually and almost unconsciously take out and glance at their mobile phones, perhaps tapping a few things into them and then placing them back into their pockets having been informed and served. More exotic form factors such as eyepiece displays and earpiece computers may yet make their mark, but for my money I'm betting on the pocket watch.Mobile devices will become ever more aware of their surrounding environment. Knowledge of time and date is something computer application programmers take for granted today. Knowledge of location, environment, and the device owner's context will be capabilities mobile devices will gain in the coming years. This knowledge will increase piecemeal and incrementally because there are many aspects to this knowledge that must be mastered and the task is complex. This knowledge is not a single factor but many small factors that when exposed to application developers in a meaningful way will bring the capabilities of mobile devices well past where they are today.Mobile devices will contain lots of specific-purpose small and mid-sized applications. Desktop computers lend themselves to large and engrossing applications that surround their users with data and invite them to explore and work with that data. Mobile applications work best when they give users a highly focused experience that provides them with exactly the needed information or the immediate services they want with a minimum of application navigation. Rather than a single large application, rich mobile devices are better suited for many small to mid-sized applications, each offering a highly focused user experience for accomplishing a specific set of tasks. The challenge with this model is keeping the user interface consistent in all the applications so that the user is given a single unified experience when using the device. The user, tomorrow even more than today, will become unaware of the concept of separate applications on the device; there will only be rich capabilities that the user switches comfortably between. Success means that the user does not notice the imperfections and weld lines that glue the pieces together, but instead sees only the smooth polished whole.We are at the beginning. It is only recently that mobile devices have become small, cheap, powerful, and connected enough to serve as capable software applications platforms. Because of this, most of today's state of the art in mobile device programming technologies has focused on bringing device-appropriate versions of desktop and server technologies down to mobile platforms. This is a necessary first step, but it is only the beginning. Having now brought the appropriate desktop and server technologies down to devices, the really interesting work is ready to begin. This work will consist of developing new capabilities and programming models that originate on mobile devices. These innovations will initiate on mobile devices and cross over to laptops, desktops, and servers as appropriate. Concepts such as knowledge of the environment surrounding the device, knowledge of communications capabilities, and knowledge of the individual using the device are natural areas for innovation to begin on devices and later find its way out to larger and less-mobile computing platforms. It is going to be an exciting ride. Mobile devices offer the unprecedented capability to bring information and services directly to users in ways that can truly be described as "anytime, anywhere." It is hard to overestimate the potential for these kinds of improvements in increasing people's productivity, increasing their enjoyment, helping maintain their health, improving services for the elderly and disabled, and most importantly helping people communicate better with the world around them. Software enables developers to paint in the realm of ideas, and good engineering practices allow these ideas to be transformed into useful inventions. I hope this book has gone some small step in helping you understand and take advantage of the promise that mobile software development offers.Ivo Salmre |