ne of the fundamental tenets of the Internet revolution is that distance is irrelevant: It makes no difference where network clients are located, as long as they have a reliable data connection and an IP address. That's been the reality for software developers and IT managers for several decades. In fact, the only location-based questions have been binary: Are you on the LAN or the WAN? Are you broadband or dial-up? Are you inside the firewall or outside?
Location-aware services are changing that long-held rule. Thanks to innovations such as Microsoft's MapPoint Location Server, enterprise applications can know the real-world location of a wireless client device. The challenge is to leverage that location information to add genuine value and richness to enterprise applications, benefiting both the business and the user of that mobile device.
32 First Street, Fourth Floor, Suite 405
Anyone walking around downtown San Francisco, or many other big cities, has to be careful to avoid the bike messengers. Fast, furious and too-often riding on the sidewalk, they're vital to keeping documents flowing within many urban centers. Back in the 1980s and early 1990s, bike messengers were dispatched by two-way radio. Nowadays, many use cell phones to link back with their dispatcher.
Imagine if they used MapPoint Location Server along with their cell phones.
The bike messenger company's dispatch application may have started with a simple tracking system, where customers phoned in their pickup requests to the dispatch center. The dispatcher would track, through a mapping system, the last known location of his messengers, as well as their current status (idle, busy, off-duty). Perhaps a recent modification allowed customers to use a Web-based interface to log in, indicate that they have a package to dispatch, its pickup and destination addresses, and other vital information. Even with that technology, a human dispatcher, working over radio or using telephones, needed to communicate with the individual bikers to determine their location, to identify the best messenger for a route, and to make the assignment.
A first phase of location-enabled enhancement to that application could use the MapPoint Location Server to find the position of the bikers, and then use the MapPoint Web Service to automatically identify, on an interactive map display, the real-time location of all bike messengers, along with an icon depicting their idle or in-route status. Using this display, the dispatcher would be able to monitor his fleet, while continuing to give assignments to the bikers over the telephone or radio.
The second phase could add program logic to assign bike messengers dynamically to new pick-up assignments.
When a request for service came from a customer, the dispatch server could determine the travel time (using real street distances and routes) between the customer's pickup location and the real-time current location of bike messengers who show their status as idle. If the distance between those idle messengers and the customers would require a long delay before pickup—say, greater than 20 minutes—the search engine could automatically compare the customer's location to those of other "busy" bike messengers who are within five minutes of making a drop-off. Based on those parameters, the best-fit messenger would be chosen. (Those types of fitness algorithms are relatively easy to develop.)
Location-aware applications aren't just for bike messengers. Imagine if your corporate telephony and messaging system was tied in with MapPoint Location Server, and it could use that capability to intelligently route calls.
When a caller dials your number, the telephony/messaging system would first query your location using MapPoint Location Server, based on whichever piece of mobile gear you've registered with the system—your cell phone, your PocketPC or other wireless PDA, or any other compatible equipment. If your location checks out as near your office, your office phone rings. If your position is farther afield, the call is shunted instantly to your cell phone. It's all automatic: No need to remember to forward your calls is required.
With that software infrastructure in place, however, a messaging system can be programmed to become more intelligent and helpful. Perhaps you can indicate, by pressing a button on your cell phone, that you don't want to receive calls forwarded from the corporate messaging system. Or that outside of business hours, and on the weekends, you don't want call forwarding or location tracking to be enabled. Or if your location is tracked to be at home, during a designated work-at-home day, you'd like the call to be forwarded to your home telephone, instead of to your cell phone.
If you're waiting for that important phone call, such services could make all the difference.
The next step would be to offer the messenger—most of whom are independent contractors—the assignment. If the messenger was equipped with a SmartPhone or PocketPC device, the dispatch application could send the relevant details to an application running on the device, requesting that the messenger confirm that she can take the assignment or will decline it. If the messenger declines the assignment, or doesn't answer the request within a specified period, the dispatch application offers the assignment to the next messenger.
What if the messenger uses a cell phone, instead of a smart wireless client? No problem. In that case, the dispatch application leverages the new Microsoft Speech Server 2004, which can handle both text-to-speech and speech-to-text over ordinary wired or wireless telephones.
Using Speech Server 2004, the application dials the bike messenger's phone. If there's no answer, a busy signal, or voicemail, it makes a second attempt before moving to the next messenger. If the messenger answers, the text-to-speech engine offers details of the assignment. The bike messenger can say "accept" or "decline," as appropriate, or even ask for additional details. The use of audio, rather than touch-tone, simplifies the operation of the dispatch system and reduces the possibility of error.
A further enhancement: Once the messenger has been dispatched, the application could then contact the customer—using an e-mail, or perhaps a telephone call using Speech Server 2004 again—to provide an estimated arrival time.
This simple scenario could be broadly applied to many other dispatch or asset-tracking situations. Taxis, trucking companies, even law enforcement agencies could use similar technologies to work more efficiently. A financial benefit is that by using ordinary cell phones, SmartPhones, PDAs or other common off-the-shelf devices and consumer-grade carriers, companies can outfit their mobile workforce for a fraction of the cost of dedicated equipment or radio services. Think about the complexity of those dispatch systems you see in many urban taxis; in many cases, a wireless PocketPC could do the job cheaper and better with MapPoint Location Server.
Not only would the devices and wireless services be less expensive, but it's likely the software development process would also be easier. Because the above technologies can all be programmed using Visual Studio .NET and Web Services, enterprise developers, ISVs, or consultants could build mobilized applications using existing tools and expertise and deploy on Windows Server 2003.
Tow Truck 54, Where Are You?
The uses of MapPoint Location Server expand far beyond a busy downtown. Because the server's technology depends on Microsoft's partnerships with carriers and telephony providers, the scale of location-aware services is huge.
Consider the potential for fleet management. A lightweight laptop, hard-wired into the vehicle and equipped with a cellular, GSM, or other wireless modem, could be tracked via the MapPoint Location Server to give a company real-time awareness of the position of its key cars and trucks. You don't even need to add a global positioning system to the vehicle; in most cases, the position accuracy of the service provider's radio may be sufficient for the application.
That location information can be used to monitor vehicle usage through passive logging and analysis, or to actively improve customer service through more efficient dispatch services, in a style similar to that of the bike-messenger example. Laptops or PocketPCs installed into ambulances, tow trucks, or cable TV repair trucks could be more efficiently routed to their next destination.
MapPoint Location Server can also allow companies or service providers to develop inexpensive applications that provide their mobile workforce with greater autonomy and increased efficiency.
Imagine that in the examples above, the bike messenger became lost (okay, that's an unlikely scenario), or that the tow-truck driver didn't know the best route to a disabled car. Combining the real-time position information of the truck, using MapPoint Location Server, with the mapping and turn-by-turn routing engine of MapPoint Web Services could help the driver get to his destination quickly, even if he doesn't precisely know his location at any particular moment.
While these scenarios are all fiction, they're not science fiction—they could all happen today, using existing software and services from Microsoft and its partners. They're effortless to use. Because MapPoint Location Server, working in conjunction with carriers, can tell a device's position automatically, there's no need to disturb a driver or worker (like a bike messenger busy dodging pedestrians on the sidewalk) to find out his status or current location.
They're also private. The architecture behind MapPoint Location Server deployments ensures that only mobile workers that have personally opted in to having their phones monitored can be tracked by the software. Further, as MapPoint Location Server is installed on a company's own servers (it's not a hosted service), nobody but that company will have access to the location information.
But as mentioned earlier, the greatest benefit of solutions based on MapPoint Location Server is that they're, well, doable. Developers only need common tools, such as Visual Studio .NET, a subscription to the MapPoint Web Service, and .NET-based infrastructure products such as Windows Server 2003 and Speech Server 2004, to build and deploy location-aware applications.
Want to learn more? See Microsoft's MapPoint Loccation Server homepage.