Mobile computing devices abound. Most of us have them in our pockets and purses—the joy of the omnipresent cell phone. The newer the model, the more likely it is to be "computing capable." A new cell phone has computing power equivalent to that of a 1998 desktop computer; next year's will be better yet. Yet, for the time being, the computing power of mobile devices has gone largely unutilized. This is about to change, however, and the exciting part is that this change will encompass just about everything—you included.
Mobile computing is not a new concept. In fact, Microsoft acknowledged its importance in the software industry some time ago when it changed its vision statement from "a computer on every desk and in every home" to "empower people through great software any time, any place, and on any device." This vision shifts the location of the software. Whereas it used to reside on "every desk and in every home," software will now reside everywhere and on every device. That device includes your phone. Mobile computing is one of the new starting players in the technology lineup. It may be a rookie, but it has MVP prospects.
The Transformation of "Everything We Do"
Bill Gates (BG) announced recently, "We're entering an era when software will fundamentally transform almost everything we do." One might add that specifically mobile computing will contribute significantly in the transformation of "everything we do." But, this raises deeper questions: Why mobile computing now? What is the catalyst that will propel mobile computing into our quotidian routines?
The answer is simple once you consider that creating mobile software applications has traditionally been very difficult, painful even. This difficulty has led to the dearth of mobile applications, which subsequently relegated the PDA to little more than a glorified address book. The "software is the constraint" [BG, PDC 03], and for mobile computing this has certainly is true—until next year, that is. Next year, the release of Visual Studio.NET 2005 (VS.NET '05) will provide software developers with a viable software development environment for creating sophisticated mobile applications for the Pocket PC operating system. VS.NET '03 was pretty good, but VS.NET '05 is better because it makes key technologies more accessible: SMS, PC telephony, Bluetooth, and message queues (admittedly, Bluetooth might yet be simplified, and where's my G3—precursor to handheld porn?"). For example, VS.NET '05 eases the difficulty in building applications that can place phone calls (which may lead to a renewed interest in PC telephony) and makes it significantly easier to build applications characterized by intermittent connectivity. Developers should soon be able to focus on function rather than feature and, as author Chris Date writes, on "what to do, rather than how to do it."
The software story is only half the picture, however. Until a few months ago, the hardware also left something to be desired. Personally, I reluctantly became Inspector Gadget, "strapped" with a Pocket PC on each hip (a Hewlett-Packard 5550 and a T-Mobile Pocket PC Phone Edition), ready to pull out my "gat" and point and click. The T-Mobile Pocket PC Phone Edition was useful, but certainly not enterprise ready—no wireless LAN and no Bluetooth (thereby useless for enterprise applications). The HP 5550 had impressive features such as wireless LAN, Bluetooth, and fingerprint security, but it lacked a phone. I ended up having to take both with me, the HP providing the Bluetooth needed to communicate with a Bluetooth navigation system (maps and directions), while the phone functioned to "integrate my life."
Having two Pocket PCs was certainly awkward. Finding an adapter for my car to support both of them would have been difficult without Arkon Resources, Inc. (www.arkon.com), that helped me from a purely practical point of view. Arkon is an example of a company propelling forward the convenience of mobile computing. A picture might best illustrate the need for convergence:
Arkon's resourcefulness led me to ask them to enact my own episode of "Pimp Out My Bike." Another picture might serve to give new meaning to the term mobility:
The hardware to support consumer and business mobile computing finally seems to have arrived. For example, HP's latest offering, the HP 6315 combines phone, Bluetooth, and wireless LAN for the first time (but it still needs more hard drive space!). The Treo 630 is another example of a valuable addition to the computing lineup. Still, the most demanding music connoisseurs will find current Pocket PC memory insufficient for song storage.
Software and hardware still don't paint the full picture, though. The story would just be incomplete if I didn't mention the plethora of other developments that are exerting an inexorable force on mobile computing. "Wireless everywhere" initiatives are increasing the availability of hot spots. Quite frankly, I thought the concept had arrived almost two years ago when, while walking in downtown San Francisco, I used my Pocket PC to instant message my brother in South Africa. Alas, I was deceived. It was a false positive! I could not use the phone on the Pocket PC and be connected online at the same time—terribly disappointing.
Voice over IP is now in our homes. I make most of my phone calls over my Internet-based phone (www.vonage.com). Skype also has created a voice communications application for the Pocket PC. I was able to use my HP Pocket PC (no phone) to make a phone call to another HP Pocket PC (no phone) over a wireless network. MPEG-4 does a much better job of compressing video and audio than its predecessors. As such, it enables quality video and audio to be piped at a lower bandwidth to mobile devices!
All this and I haven't even mentioned Tablet PCs!
And lest you think I did not give Java equal time, I'll throw respect across the shrinking divide: J2ME and BREW provide a solid Java-based mobile development platform. The standards, such as MIDP 2.0 (releasing for J2ME), are now at a point where they allow developers to go beyond simple applications and actually take advantage of devices. Java3D is giving non-Microsoft developers the ability to create cool applications, such as 3D games. These technologies are also working to push Microsoft and mobile computing.
With both the hardware and software ready to roll, all that is missing is you, the software developer who knows how to build the software that can take advantage of this nascent technology.
Software Today vs. Software Tomorrow
If you could look into the future, you might well understand why BG believes that "just as software has driven the past 25 years of innovation, it will be the key to enabling another quarter-century of breakthroughs—and in the process, transforming how people live, work, learn, and are entertained."
The societal impact of software already has been significant. Online dating is a common example of how technology can impact human relationships, and this trend is still in its infancy.
Today, users use the desktop computer to interact with computer programs. Tomorrow, a new breed of software application, "sense and respond" applications, will detect critical conditions where user intervention is required and contact the user through his or her mobile device. Today, developers build software applications that must run on the desktop or on the Web, but tomorrow they will build software that runs on multiple devices. My brother Michael (technological neophyte with all of two weeks' experience), in contrast to my loquacious verbosity, explained it somewhat more concisely: "Today's 'request and respond' software applications do what you tell them to do and answer what you ask, but with sense and respond, the applications speak to you. They ask you what you want based on what they have sensed."
The reason this ultimately will happen is the delivery of timely and relevant information is a powerful value proposition. Dr. Mani Chandy, Simon Ramo Professor of Computer Science at the California Institute of Technology and an early researcher in distributed computing, says that mobile devices are much better suited for receiving personalized information dealing with important situations than for searching the Web. The key is personalization: You must provide information about situations that are critical to the user—and only those situations.
The killer app for mobile devices is the mobile application that will serve as the user's window to the world of software. This human interface application is remarkably simple; initial prototypes might well resemble an instant messenger application that blinks at you when an incoming event needs your attention. Later versions will be tied more closely to the human senses. The application would simply await incoming events that would contain all the information needed to interact with the user. The interaction would present information and garnish information. This interaction must be rare: You don't want your mobile devices to be beeping at you frequently, and the information must indeed be critical. You do want to know immediately when something critical happens and don't want to be interrupted with non-critical events. From a technical perspective, the technologies to do this are available now: Message-queuing technology can be used to transport messages carrying XML payloads. The XML payload could be structured according to an XML schema that defines which information to present, and which information to garnish. The human interface application should simply enable the interaction to occur. It is important to note that various forms of this human interface application will emerge. Voice-based communications will be one of them.
In short, the killer mobile device app is the end-point at which a human interacts with a software system that continuously monitors the world, correlating multiple streams of events and alerting the user only when necessary. Of course, mobile devices can be used to browse the Web and play games, even enjoy a good cantata. These apps are also important. Both types—proactive and reactive apps—will make billions of people carry mobile devices.
When mobile devices reach that level of ubiquity, the problems associated with spam must not be allowed to propagate to mobile computing. Dr. Chandy is on the money when he says "you will turn off systems that send you too many false alerts" (false positives). This is perhaps best illustrated by his biological metaphor for Sense & Respond.
The Plains of the Serengeti and Survival of the Smartest
On the plains of the Serengeti, there exist predator and prey. The relationship between zebra and lion highlights the importance of being able to sense opportunities and thwart threats. If a zebra fails to sense the proximity of the lion and thereby fails to respond by fleeing the scene, it is unlikely that the zebra will survive. Conversely, if the zebra runs away from non-genuine threats, it will deplete itself of energy and die. Similarly, if it fails to sense opportunities and act upon them it will not thrive. Real threats and real opportunities must be made distinguishable from their counterpart false positives. Dr. Chandy applies this metaphor to humans who might use historical information more intelligently to identify genuine opportunities and threats. It is the ability of software to amplify what biological organisms do instinctively that promises to bring about the vision BG presented. The emergence of complex event-oriented software systems will be an instrumental part in the realization of this vision.
Too Much Excitement
All this mobile computing excitement left me wondering about how I was going to be able to relax. This was starting to sound like serious bizzzzzness! Dr. Adam Kolawa, chairman of the board at Predixis (www.predixis.com), told me to chill. He said the whole point was to enjoy the experience; it was, after all, very personal. Predixis is the creator of MusicMagic, whose blatant marketing plug follows: "An incredible personal DJ, provides continuously varied playlists. Matching a mood or even an acoustical choice, MusicMagic can provide hours of new listening ideas. Imagine... getting up in the morning to a list of "wake-up" music. Or how 'bout creating a work-out playlist that energizes you during your cardio time and calms as you cool down? The possibilities are endless." I get a free iPod for that plug, right?
But really, I was starting to get the idea: Mobile computing will change "everything we do," including how we enjoy our music—the MP3 player is one of the killer apps for mobile computing. The great part is that the MP3 players can be used to educate children by using both audio and visual mediums. Why not learn vocabulary on your mobile device or track your scuba dives, skydives, or pilot's/sailor's logs? Why not get the surf report? I would strongly caution that you avoid being unproductive while doing these activities. Remember, the goal of computing is to free us so we can work towards greater pursuits.
This aside, I was still confused as to how MusicMagic really worked. I worried about what music Dr. Kolawa was listening to, so I asked: "Dr. Kolawa, my musical proclivities, while somewhat eclectic, are irrefragably ostentatious. Frankly speaking, I listen to gangster rap. How can MusicMagic hook me up?"
The rest went something like this:
Dr. Kolawa paused and looked at me inquisitively. "So you're a fan of Dr. Dre? Dr. Dre from Compton, California? This is good news indeed," he exclaimed. "Dre is conducting excellent research in his lab, a true pioneer in his field. You see, those Sense & Respond programs you speak of might well be able to sense the release of new songs by such gifted artists. As Dr. Dre publishes his prolific scientific contributions, we could have a sensor configured to sense this event. The Sense & Respond system would then invoke MusicMagic to analyze the song and automatically download it to you in the event it matches your 'eclectic proclivities'."
Nice theory, but I wanted more specifics. He continued, "Consider what happened with Eminem's recent release: Mosh. Within hours, thousands upon thousands had downloaded the song. Discerning Mathers fans such as yourself may have thought he fell off with that particular song [sorry Em, had to dis you]. MusicMagic might have been able to sense that the song would not be to your liking and thereby have prevented this false positive."
I was shocked, but Kolawa was relentless. "What this really means is that you'll get exposed to new artists and many old favorites. And for you, Jonathan, I believe MusicMagic will bring the joy of Nate Dogg, the smoothness of Snoop Dogg, the untamed strength of Xzibit and 50 Cent, and many more West Coast rap extraordinaires."
In one fell swoop, I felt as though Kolawa had cut through the Gordian Knot of my confusion. I was beginning to understand. There was much truth in his words. Dr. Kolawa clearly understands the importance of a highly personalized music experience, but at what price? It's comforting to know that MusicMagic is free, pre-installed on the InTempo/iPod and available for Pocket PC (now I definitely want the U2 Edition iPod, projected to be an excellent museum foyer piece in a few short years!).
But, I still wasn't getting the whole picture. What are these software systems sensing? For this, I did a little more digging and concluded it probably has something to do with the exciting research in Dr. Feng Zhao's book Wireless Sensor Networks. Dr. Zhao, the Godfather of Sensor Networks (if you would permit a histrionic reference) (http://research.microsoft.com/nec), writes: "The technology promises to revolutionize the way we live," which seems to be the phrase du jour, a mantra in the making. It is these sensor networks that will transmit event streams containing information that can be "sensed" by the Sense & Respond Event Servers.
The Clichéd "Challenges" Section
Initially, the challenge or (to be more politically incorrect) the problem is building these complex event-oriented software systems to model the sensing of events from disparate sensor networks. There must exist a common means to define what an event entails. Does every event have a temporal element? How do you distinguish events from each other? How do you secure these events? How do you propagate events to everyone who needs to know about them? How do you version them? How do you form event hierarchies? Even though this is just scratching the surface, it is questions like these that will bridge Sensor Networks with Sense & Respond software. Once the event has been sensed, there must be a means of triggering an activity that determines how to respond. Once a course of action has been decided upon, the response must be executed. This response can take many forms; it might even include communicating back to the original sensors. This set of challenges encompasses the research at the Infospheres Group at the California Institute of Technology.
Steve Haeckel, author of the Harvard Business School Press book Adaptive Enterprise, first applied the term Sense & Respond. While Steve alone may be able to describe the adaptive enterprise, it will take the joint efforts of today's leading experts to realize the vision of tomorrow's computing landscape.
What is exciting is that Sense & Respond applications are beginning to appear. The first generation of these applications is mobile alerts. You can register your interest in certain areas of a Web site and it will alert you about them through e-mail. The coming years will witness the need for significantly more expressive event specification and subscription models to avoid the false positives and false negatives, the likes of which we have experienced with SPAM and disappointing songs. A corporation called iSpheres has created an event-oriented software infrastructure to deal with such problems. I am just ashamed of myself with these unsubstantiated plugs. I went to bed with a dog (Takoda) and woke up itching!
As an example, consider how you might apply Sense & Respond to the two prevailing branches of market analysis: fundamental/quantitative analysis and technical analysis.
You now know that the ability to react to critical conditions in near real time helps you thwart threats and respond to opportunities. Whoever is able to react quickly will have the first mover advantage and be able to take advantage of opportunities when the window of opportunity is short lived.
This first mover advantage will be instrumental for survival. For example, say a stock trades on the NASDAQ (event). This event is usually meaningless—it happens a million times a day—but occasionally it is significant. If you sense this event, you might be able to discern that a particular stock transaction is a rare event, leading to opportunity or threat. Perhaps the stock transacted event indicates that the price just crossed over its 50-day moving average (technical analysis), or the stock price broke through some resistance within a certain trading range (technical analysis). Perhaps a sensor on some rogue wireless sensor network at the Patent Office (or the FDA) indicates the approval of a company's patent on a new drug (fundamental analysis), or a sensor on the Q4 earnings reports registers a record quarter (fundamental analysis). All these events might denote a strong buy signal to institutional investors. An automated Sense & Respond software system might sense this event and respond by contacting the investor on any device (Web application, desktop application, e-mail, SMS, mobile computing device, PC telephone through voice XML, Braille?). The response would both notify the investor of the rare opportunity or threat and allow the investor to take action by placing a trade. The sensing and the subsequent response would happen anywhere, anytime, and on any device. Obviously, automated responses such as the automatic execution of stop losses also would allow traders to thwart threats as rare events indicate the presence of bearish trends.
As great as this functionality is, there is a price: Users will be more tethered to the computer than ever before. It will always be with them, their constant companion and cherished friend. So, for those rare moments when you want a little privacy, might I suggest accidentally defenestrating (http://www.thefreedictionary.com/defenestrate) your mobile device, which may actually be feasible (unsubstantiated sources indicate Microsoft may be contemplating disposable operating systems).
The Proof Is in the Pizza
As a final note, consider some of the early experiences we at the Infospheres Research Group have had with mobile computing. Using Pocket PC sales automation software, we were able to cut the time required to take an order from 6:00 minutes down to 2:00 minutes. With deliverymen making upwards of 20 deliveries per day, we were able to shave well over an hour off delivery time. This meant the drivers could generate more revenue by making more deliveries. But, the efficacy improvements came largely on the backend when the driver arrived at the warehouse. We saved the driver another hour by automatically uploading all the orders and generating summaries as to amounts owed. Furthermore, we essentially automated the function of the data entry clerks and allowed management to have a closer real time view of the extended operation of the organization. Mobile computing made this possible.
For this system to truly help mankind, it must be accessible to all of mankind, irrespective of race, creed, ideology, sexual orientation, physical disabilities, and so forth. Because such a system will have an impact on the daily lives of each and every one of us, my sincere hope is that it will be used for man's betterment rather than its detriment. As we enter a new era in our own evolution, let us now use our experience and history to proceed prudently for "they stumble that run quickly" [WS—no, not Web services—William Shakespeare].
Almost done.... The technologies needed to realize the computing landscape of the future are innumerable, and the requirement for us will be bridging between theory and practice, between academia and industry. It is exciting to see such bridges taking shape in the collaboration between educational institutions and corporations, which will certainly usher in the new era that has BG saying his optimism for the future of computing has never been greater. Do you see why? Perhaps I'll elaborate further.
In the next column, I hope to divagate garrulously on the idea of what makes the enterprise software architect and the singular software system. So, stay plugged in to codeguru.com (you didn't think I'd forget to plug my publishers, did you?)!
And remember, nothing exceeds expectations like xCESS.
About the Author
Jonathan Lurie is a newly minted doctoral student at the California Institute of Technology, prior to which he toiled as a "professional software professional" whilst acquiring a bad case of acronym certification measles: MCT, MCSD, MCSE, MCDBA, MCAD.NET, MCSD.NET, MSF, Java Certified Developer, and IBM XML Certified Developer. He currently researches an area of Computer Science known as Sense & Respond at the Infospheres Research Group.