Skip to main content
Architectural Considerations for a World of Devices

The Architecture Journal

by Atanu Banerjee

Contents

NewOpportunities With Devices
What Will User Experience Look Like?
What architectures are needed to buildend-to-end solutions that support devices?
Applying a Software + Services Approach toDevices
Services to Support Devices
Summary
Resources
About the Author

Summary: Thenumber of mobile device users is rapidly increasing, but the promise ofsolutions that leverage networks of connected devices has remained largelyunrealized. Some of the pieces needed to build rich, connected experiences werenot available until recently. This article explores some of the economic,social, and technology trends that are driving the adoption of mobile devices;describes the different kinds of user experiences that are now becomingpossible; and presents an overview of architectural concerns associated withsuch mobility solutions, at the levels of hardware, software, connectivity, andservices capabilities.

New Opportunities With Devices

After 10 years of hype, mobility solutionsare finally taking off. You could ask, “Why now? What has changed? Are thereany new opportunities to consider? Should I consider mobile devices in mysolutions?” It turns out, economic, social, and technology trends areaccelerating the move to devices. There is a broad spectrum of devices withdifferent form factors, running different kinds of applications, as shown inFigure 1, and associated with different sets of trends.

Bb985492.jour14_ArchConsforaWorldofDevices_image001(en-us,MSDN.10).jpg
Figure 1. Range of mobile devices, and the kinds ofapplications that run on them

Economic Trends

An important driver of adoption for cellular phones has beenemerging markets. For example, BusinessWeek reports that Nigeria had 500,000 telephone lines in 2001, but now has more than 30 million cell phonesubscribers. It is currently estimated that there will be 5 billion cell phoneusers in the world by 2015.

Adoption of cell phones drives adoption of services for cellphones. In Asia, many services leverage high-end devices to deliver rich,interactive media. These require higher end smartphones and pocket PCs shown inFigure 1. However, many people in emerging markets cannot afford such devices,so services that target lower end volume handsets are also being rolled out. In Kenya, Safaricom rolled out an SMS-based service for mobile payments in March2007, called M-Pesa, that has been widely adopted. Unsurprisingly, access toimproved communications can also be hugely beneficial to local economies. Dr.Robert Jensen at Brown University conducted a study of Indian fishermen whostarted using mobile phones to find the best coastalmarketplaces for their catch. While the fishermen saw profits increase 8 percent, consumer pricesactually dropped by 4 percentbecause less fish was being wasted.

Today in Helsinki, Finland, 57 percent of public transport single tickets are paid by mobile phone. In Croatia, over half of all parking ispaid by mobile phone. Twentypercent of London’s congestion charge is paid by mobile phone. (See Resources: Mobile Phones As Mass Media.)

Social Trends

There are now over twice as many mobile phones worldwide asthere are personal computers. The wireless industry used the opening of itslargest trade show in March to outline opportunities for a “threescreen” world(PC, TV, mobile), in which mobile devices become major avenues for TV shows,music, games, and advertising. For many younger consumers, it might even beargued that the mobile device is the most important of those three screens.

Accompanying the growth in devices, the evolution of theInternet is leading to new usage patterns. Today’s solutions are differentiatedfrom older ones by their global reach and scale, which lead to new channels foruser participation. For example, sporting goods company Nike sells the Nike+, asmall sensor that fits into a runner’s shoes and tracks his progress on an iPodthat the runner also carries. When the Apple iPod is connected to a PC, detailsof the runner’s runs get posted to the Nike+ Web site, a social networking sitefor runners, so that runners around the world can form groups to track eachother’s routes and progress.

The Internet is also changing the way that content getscreated. Blogging is making content publishing less impersonal as readers are closerto authors. Content is also becoming interactive and social with online gaming,chat, and the advent of communities around user-generated content. This trendwill accelerate with the proliferation of mobile devices that make it easy tocapture content on a device to edit content directly on the device, attachcontext to the newly created content and then upload the content to storageeither on a PC or in the cloud. In some P2P scenarios, it is also becomingpossible to share content directly from the device itself.

This transformation of content pipelines makes it morelikely that content creation will be triggered by external events rather thanon fixed schedules. The handiness of devices makes it increasingly likely thata means of recording an event will be at hand when it happens, leading to thespontaneous creation of new content that might not have been capturedotherwise. Not surprisingly, the amount of content being generated and storedhas exploded. The upsurge in spontaneous citizen reporting has resulted, onmore than one occasion, in footage from a mobile device leading to dramaticpublic reaction.

Technology Trends

The first trend that is reshaping the industry is that ofconvergence. Today people use a wide variety of devices—smartphones, PDAs,laptops, personal media players, cameras and camcorders. It is expected thatthese technologies will converge into more powerful, general-purpose personalcomputing devices that can be used for a wide variety of business and consumer-orientedtasks. Convergence in networks will mean seamless handling of both voice anddata over the same protocols.

Convergence leads to the second trend: Devices are gettingsmarter. A new generation of smartphones is becoming increasingly aware of the user’senvironments and local context, through sensors (such as GPS or accelerometer)and better software on the device. This context might be used to tag content(for example, tagging a photograph with time/ location metadata), to tailorapplication behavior (no application alerts when the user is on a phone call,for example), or to control the user’s local environment (such as settings in acar self-adjusting based on the driver’s identity which has been retrieved froma device on the driver’s person). Networks will also extend to cover devicesand agents distributed around the body over protocols such as Bluetooth — whichis the idea of Personal Area Networks (PANs). All this will lead to newarchitectures where devices are much more than just information displays — theywill become first class application platforms in their own right. Not onlythat, but there will likely be some scenarios (such as PANs) where some devicesact as servers for other devices (in client-server architectures), or as superpeers/ index servers (in P2P architectures).

This is important as mobile device applications need toprovide a user experience that is very different from that of a desktop. Thekey characteristic of mobile users is that they are engaged in some other primaryactivity. A device-based application should not force its users to makeaccommodations, but instead fit into people’s lives and lifestyles by beingcontext-aware, nonobtrusive, and ready to provide value rapidly at shortnotice.

The third trend is the mobile Internet, a collection of Websites and services specifically targeted at mobile devices and available overInternet protocols. Growth of the mobile Web will accelerate consumption ofInternet-based applications and services from mobile devices, which today isconstrained by device and mobile access plan limitations.

The combination of these three trends will result in a movetoward pervasive computing. As devices proliferate and become smarter, morecomputing power will be embedded at the edges of the network. As devices becomebetter at handling user context, they will become increasingly unobtrusive. Asdevices become better networked, and as the mobile Internet evolves, users willhave available a rich set of services that can make use of this personalcontext. The borders between human environments and computing devices willgradually blur, and users will get the sense of being assisted by theirimmediate environments. Large numbers of embedded computing devices will forcenew solution architectures to handle emergent challenges around userexperience, device management, security, content management, and so forth.Network access needs to become universally available. Although we are clearlynot at the point of pervasive computing yet, we are moving in that directionwith the growth of embedded devices and smartphones, the spread of wirelessconnectivity across our environments (from work places to living spaces to somecars), and the broad availability of Internet services to be accessed by devices.

What Will User Experience Look Like?

As devices become more common, software will need to span amesh of Web-connected devices and embrace the increasing pervasiveness of theInternet, a core pattern of Web 2.0 described by Tim O’Reilly as “software abovethe level of a single device.” Devices are used in multiple physical andvirtual spaces (Figure 2, below).

Bb985492.jour14_ArchConsforaWorldofDevices_image002(en-us,MSDN.10).jpg
Figure 2. User experiences in a world of connected devices span multiplephysical and virtual spaces. Each of the blue dots represents a physical environment(a room, the home, workspace), a social environment (friends, family,colleagues), a virtual environment (profile pages, virtual world, online game)or a subscribed online service.

Experiences Related to Me

The devices in these scenarios are typically used forcommunications (phone, email), gathering of content (mobile search),consumption of content (personal media players), and for health monitoring(heart rate monitor). The application scope in these scenarios centers oninformation gathered about you, created for you, or consumed directly by you.Relevant information includes credentials (Live ID), contacts, messages,presence information, and personal content (audio, video). The types of devicesthat are important include cell phones, smartphones, PDAs, Ultra-Mobile PCs(UMPCs), laptops, and health monitors. The connectivity needed is for BluetoothPersonal Area Networks (PAN), Health sensors, and so on.

Experiences Related to My Local Environment

As described earlier, the proliferation of smart deviceswill lead to spaces where the boundaries between a person’s immediateenvironment and computing devices in that environment are blurred. This will beachieved through networked devices with built-in sensors (GPS, accelerometer,ambient light sensor), that understand user context, and are unobtrusive intheir actions, so that users get the sense of being assisted by theirenvironment.

An example of such an environment is the Microsoft Autosolution, which connects a user’s devices (such as mobile phones and portablemedia players) into a single in-car system that can be operated with thedriver’s voice or buttons on the steering wheel. Ford Motor Company will rollout a solution called Ford Sync in 2008, which will enable next generationmobile user experiences: for example, users entering a car while talking on amobile phone and can press a button on the steering wheel to have the phoneconnect to Sync without interrupting the call. Another case of extending anautomotive environment with devices is that of OnStar, which provides securityand roadside assistance: within the car, a communications device is connectedto the radio, a GPS antenna, and a microphone via an on-board network (or bus).

Conference rooms are being extended with devices as well.Microsoft RoundTable is a combination video conferencing camera and microphonethat uses sound and motion detection to automatically shift focus to thecurrent speaker. Eliminating the need for speakers to move to face a fixedcamera when they start to speak is in line with the idea of devices becomingless obtrusive in their actions.

In some cases, devices may need to share information withother devices also in a user’s vicinity, as well as with Internet-basedservices, raising issues around discovery, handshaking, shared understanding ofthe user’s identity and context, and so on.

Experiences Related to My Remote Environments

Remote environments are similar to local environments, inthat they are spaces where devices gather information and take actions. Howeverremote environments are not in the immediate vicinity of the user of thedevice. In other words, scenarios and experiences that relate to a users remoteenvironments allow that person to connect to, monitor, and work with devices atother locations. Reasons to do this would be to monitor or even control theenvironment at remote locations as a safeguard against criminal activity or forother reasons. For example, people might be interested in remotely monitoringtheir homes or workplaces (such as a data center), or even loved ones (childrenor elderly parents). A simple example of a device that does this is a babymonitor. Businesses might want to monitor remote locations; there are a host oflogistics-related scenarios using RFID devices in this category as well (forexample, to ensure the electronic pedigree of pharmaceuticals as they aretransported through a supply chain, in order to eliminate counterfeit drugs).

Experiences Related to My Social Networks

Figure 3 shows that mobile devices fit into social networksin the same way personal computers do. Users use their devices to search forand find people and their content, to coordinate with their friends andrelatives, and to share content with others.

However, the reach and scale of devices is much broader thanpersonal computers, and social interactions are more spontaneous (when the useris on the go, her camera phone is always at hand). Applications and servicesneed to accommodate such scenarios, where the user’s attention span is sharply reduced.

Bb985492.jour14_ArchConsforaWorldofDevices_image003(en-us,MSDN.10).jpg
Figure 3. Social networking on devices

What architectures are needed tobuild end-to-end solutions that support devices?

Challenges in Delivering Rich Experiences on Devices

There are many differences between devices and personalcomputers, and it would be a mistake to consider devices as just smallerversions of PCs. In order to deliver rich experiences onto devices, solutionarchitects need to consider a number of constraining factors, much more so thanwhen delivering applications to a personal computer. These constraints includehardware capabilities of the devices themselves, device operating systems andapplication runtimes, development tools, connectivity choices, and alsoavailable services running on the Web. Some of the challenges in buildingexperiences for devices are:

  1. Unlike PCs, people consider devices to be accessories: Users carry devices on their person and often view them as expressions of their lifestyle or even personal self-image. Coolness factor, great design, and user experience are critical.
    Implications: Rich device design and presentation capabilities are needed—both for the device itself as well as for the applications running on the device.
  2. Devices have limited resources. As devices (and their batteries) become smaller and lighter, screen sizes and layouts become more restrictive, and the “power budget” to support rich applications shrinks. More complex devices tend to have shorter battery lives than simple bare-bones phones. Memory available on a device is limited as well, although this is mitigated by improvements in storage technology. Devices support for Wi-Fi often comes at the price of shorter battery life as well.
    Implications: Energy efficiency is critical. Device operating systems should have fine-grained control over hardware utilization. In some cases, application processing should be offloaded from the device to avoid excessive resource consumption. This leads to a trade off with the first two items in this list.
  3. Devices are not standardized. Unlike PCs, the form factors and hardware/software profiles of devices are much less standardized.
    Implications: A developer of applications for mobile devices needs to target lowest common denominator for screen size, shape, and orientation in order to deploy to a wide variety of handsets. This leads to an implicit trade off with the need for rich user experience; solution architects will have to optimize both software and hardware together in order to get the best overall experience. Application developers for embedded devices have a different set of challenges in this area – lack of standardization in hardware make it hard to presume the set of resources that will be available to the application.
  4. Devices need to support offline scenarios and occasionally slow connections. For many reasons, devices are not always connected (connections may not be cost-effective during international travel, for example) or access speeds are not fast enough to support decision-making at the point of need (using online maps to make routing decisions while traveling).
    Implications: Devices need to be more than thin client displays; they need to be application platforms in their own right. A key requirement for this capability is local processing and storage, with synchronization with PCs or Internet-services.
  5. Connectivity is not standardized. Although several standards exist for network protocols, there are several ways for a user to access information and services on the Internet from their mobile devices. Depending upon the capabilities of their device, and the service plan that they have with their network operator, a user might want to access information and services on the mobile internet via voice (through voice recognition), messaging (SMS, email), or through Internet protocols (WiFi, tethered connection, or appropriate data plan). In emerging markets services will probably need to be delivered over SMS or voice, as users are more likely to have volume handsets with limited capabilities. For rich media experiences, it is likely that a fast Internet protocol will be required.
    Implications: Tailor access to the kind of experience being delivered and the market to which it is being delivered. It is possible that services will need to be accessible to devices from a number of different end points, each supporting a different address and method of access.

Applying a Software + Services Approachto Devices

The last issue of TheArchitecture Journal covered the emerging paradigm of Software +Services. In the context of a mobile application, the goal is to combine thebest of the Web with the best aspects of devices—but subject to the constraintsjust described. As shown in Figure 4, solution architects need to design for aspecific type of user experience, and pick an appropriate device based on minimumdevice capabilities needed (hardware and software on the device) andconnectivity options and services available to users of the device.

Bb985492.jour14_ArchConsforaWorldofDevices_image004(en-us,MSDN.10).jpg
Figure 4. A conceptual framework to apply Software +Services to a mesh of devices

Hardware Form Factors of the Device

Just as there is a wide range of mobility-based scenarios,there is a wide range of device form factors to support these scenarios asshown in Figure 1. The choice of device depends on how it is going to be used.

For example, in the consumer personal device space, thespectrum of available hardware ranges broadly from WM (Windows Mobile)-baseddevices on one end, laptops on the other, and UMPC devices in the middle. WMdevices are usually either smartphones or pocket PCs (typically under 5-inchscreen size), and UMPCs are usually portable digital companions (typically 5.6-to 7-inch screen sizes).

Sensors to Receive Inputs From the Immediate Environment

Devices can receive inputs from a variety of differentsensor elements listed in this section. Some of these sensors will providechannels for users to interact with the software running on the device. Othersensors on the device will provide applications with a view of the user’scurrent context at any time so that software can adjust itself accordingly.

  1. Touch Technologies. Some devices use touch technologies to improve user experience. Newer devices use “capacitive touch,” which does not require pressure to register touch (unlike the “resistive touch” found on older devices, which often required a stylus). Devices with “capacitive touch” are easier to use, more accurate, and more responsive. The older touch screens were often not very clear in sunlight, which made it harder to see rich media, but the newer touch screens are typically brighter, as their surface isn’t covered with the thin film required for “resistive touch.” Another advance is multitouch (the ability to handle input from more than one finger at the same time), which lets users resize a window by pinching or expanding two fingers on the screen. A common user objection to touch screens is their lack of tactile response. However some handset manufacturers are adding the tactile-feedback technology found in game controllers (for example, to give a slight vibration when a touch screen’s virtual keyboard is tapped). This will be similar to the response that users are accustomed to getting from traditional mechanical keyboards.
  2. GPS. Many mobility solutions depend upon knowledge of the user’s location. A common technique for a device to determine its location is GPS (or Global Positioning System) which does so based on line of sight from three or more satellites (which means that GPS cannot be used indoors). Some location-based services on the Web will automatically use GPS information on the device (when available) to provide information filtered by the users location (Live Search).
  3. Accelerometer. Some devices have accelerometers built in. A basic usage of this is to automatically detect the orientation of the device, that is, landscape or portrait mode. More advanced uses of the accelerometer include gesture recognition, media control, or game control. In the future, it is quite conceivable that accelerometers on devices could lead to sophisticated control scenarios similar to those of the remote control of the Nintendo Wii, which is built around an accelerometer.
  4. Health monitoring sensors. Examples are sensors for heart rate or blood sugars.
  5. RFID. RFID readers, scanners, and printers are a range of devices that use RFID technologies in primarily enterprise scenarios such as logistics and supply chain management. Devices with built-in RFID sensors are meant to replace an older generation of devices that use bar code scanning.
  6. Other Sensors. Other sensors found on devices might include ambient light sensors (to control screen brightness and preserve battery life) or proximity sensors (to turn off display when the device is being used as a phone).

Software Running On the Device

Software running on the device falls into the followingcategories:

  1. Device Operating System
  2. Application Platform—both the application runtime and design tools
  3. Mobile Browser—this is emerging as an application platform in its own right for consumer devices
  4. Applications.

The operating system should be chosen based on how thedevice is to be used, as there is an implicit trade off between managinglimited device resources and the richness of applications running on thedevice. Devices have different needs; let us look at the software stacks foreach type of device represented in Figure 1.

Software Stack for Embedded Devices. Windows EmbeddedCE is a hard, real-time, 32-bit, memory-protected operating system kernel thatcan support a wide range of processor architectures (ARM, MIPS, x86, or SH4).It comes as a set of about 700 components, from which a subset can be packagedinto custom images. For example a kernel only image can be assembled that bootswith an approximately 300 KB footprint, but it is also possible to add othertechnologies into the image—such as Web server, browser, media player,networking support, .Net Compact Framework—all of which increase the size ofthe OS image. Devices built with Windows Embedded CE might be headless, ormight have some form of display. Also devices can either be open (that is,exposing application APIs) or closed (without a third-party developer story).

Windows CE is available to the general embedded system developmentcommunity to build their own devices. It is also used within Microsoft to buildthe Windows Mobile and Microsoft Auto solutions. Windows Mobile is used topower smartphones and PDAs, while Microsoft Auto is a platform for the autoindustry to build advanced in-vehicle solutions.

Software Stack for Smartphones and PDAs. WindowsMobile chooses its own set of operating system components from Windows EmbeddedCE, with a custom shell, device-specific technologies (connection manager), andsome applications (Office Mobile). Windows Mobile OEMs often add their ownspecific applications and services to the image (screen plug-ins, applicationslike VoIP, games), but do not customize the set of components in the base WMimage. The result is a consistent set of APIs that are offered across allWindows Mobile devices: In theory, applications written for one Windows Mobiledevice should work across all Windows Mobile devices. In reality, mobile devicesvary greatly in their hardware capabilities (connectivity options, screen size,resolution, orientation), making it difficult to build an application thatworks well across all devices, even when the underlying APIs are the same.Figure 5 shows the range of development options for building applicationinterfaces on a Windows Mobile smartphone.

Bb985492.jour14_ArchConsforaWorldofDevices_image005(en-us,MSDN.10).jpg
Figure 5. Development options for building application interfaces on aWindows Mobile smartphone

Software Stack for Ultra-Mobile PCs. UMPC devices getthe full fidelity software stack—the Windows Vista operating system, the .NetFramework as the runtime for managed applications, and IE7 as the browser.Existing PC applications do not need to be rewritten to run on an UMPC—althoughthey might be extended to support touch and ink (these capabilities are nowbuilt right into Windows Vista). However, all this comes at the cost of batterylife (often just 4-6 hours), as UMPCs do not manage device resources at thegranular level the way Windows Mobile does.

Access Channels to Support Devices

Mobile devices such as cell phones are used primarily forcommunications—mostly voice calling today—but also some other forms ofmessaging, such as email, instant messaging (IM), and SMS. Beyond these basiccommunication services, it is expected that devices will connect to a muchricher set of application services in the future. While there is a relativelylarge market for such services, it cannot be assumed that users of thoseservices will always have advanced Internet-capable devices that either have acarrier data plan or are WiFi-enabled. This leads to service delivery todevices over other channels as well (such as SMS or voice, as in the previouslydiscussed SMS-based services for mobile payments in Kenya).

Some examples of network channels over which applicationsand services may be delivered are:

  1. Voice
    1. Voice Recognition: These services are accessed through a phone call, with voice recognition software running on the other end. Figure 6 shows how Microsoft Office Communications Server can be used to deliver speech-enabled applications that can either be accessed through telephony application services, or through alternate channels. As an example of such a mobile application, consider Live Search on Windows Mobile devices, which can be accessed through a voice interface in the U.S. Voice recognition software converts the users speech into the search query string; results are then displayed as usual.
  2. Messaging
    1. SMS: Some basic services are now being offered over SMS, such as stock updates, alerts, and, in some countries now, Internet search. For example, Microsoft Research did a project in India, where they built an SMS-enabled solution for a sugarcane cooperative. Farmers can use their phones to get information (such as market price information) by sending in requests as SMS messages. The responses are also sent back to them through SMS. Microsoft Research has made the toolkit used for this project available as a shared solution on CodePlex. (See Resources: SMS Server Toolkit.)
  3. Internet
    1. WiFi: This works well for devices equipped for WiFi, when in the vicinity of an accessible wireless hotspot.
    2. Mobile data plan: This typically is a premium service offered by mobile network operators, to provide Internet access over the operator’s own cellular network.
  4. Connection to other devices using P2P (Peer-to-Peer) technologies
    1. Some devices can exchange information with another device directly, without having that information pass through a central server. Architectural considerations, such as discovery and handshaking, can be accomplished in two ways:

                                                             i.     A central index server brokers the connection: For example consider theXBox 360 and the XBox Live. When a user logs into his XBox 360, he can join agroup of up to 16 gamers that play within a single session. Although the Liveservice tracks who is online and brokers the initial connection into the group,all further messaging between XBox 360 consoles is direct through P2Ptechnologies and not through the server.

                                                            ii.     Without a central index server: Discovery of nearby devices, and thehandshaking between them, happens directly, without going through a centralserver. For example, the Zune music player can share currently playing musicwith up to three other Zunes in the vicinity via P2P technologies.

Bb985492.jour14_ArchConsforaWorldofDevices_image006(en-us,MSDN.10).jpg
Figure 6. Using Speech technologies in Microsoft Office CommunicationsServer to deliver voice enabled services over the internet

Services to Support Devices

Beyond basic communication services, it is expected that inthe future, devices will connect to a rich set of services on the Internet.These services will likely be architected in three tiers:

  1. Application and solution services. These offer support that is specific to a set of scenarios, such as health or CRM.
  2. Attached or third-party services. These services offered by other providers are attached onto the application services; for example, a mobility solution for healthcare providers using services for email, update, or collaboration provided by other parties.
  3. Utility/infrastructure/building block services.

Services in the second and third tiers represent common,horizontal capabilities which cut across many different application services.Some of these are described below in the context of mobility solutions. In thefuture, these services would typically be provided by a platform provider, suchas Windows Live Platform, or even by a mobile network operator.

Device Management and Security

Attack vectors for devices are similar to that of networkedpersonal computers, except that devices are much more likely to get lost orstolen, and it is often harder to secure them physically given their mobility(as opposed to a computer sitting on a desk or in a data center). So there arethree primary areas in which to consider security issues on devices. The firstis around securing the device itself. The second is around securing thenetwork—that is, ensuring message confidentiality and integrity. A number ofsecurity issues here can be addressed in layers of the networking stack (forexample, radio modulation techniques to provide wireless signal transmissionsecurity, IPSec, and so forth). The third area of security is securing theapplications that run on the device—or run on the Web but are accessed throughdevices—and that is described in the section on identity and access management.

In some cases management of devices is like that of personalcomputers. For example, devices need to be upgraded with patches (firmware andsoftware), media, or applications. Communications to devices need to besecured, and in some cases metered, and paid for (for commercial downloads).However, management of devices does differ in some crucial respects becausedevices are often much harder to secure: Mobile devices are easy to misplace,and in many cases, access to the devices cannot be restricted.

Management services need to be provided to devices thatconnect into a network, to answer the following kinds of questions.

  • Network administrators: “How many devices are on my network right now? How much bandwidth? How much time? What types of devices are there?”
  • Helpdesk: “What is the history for your device? Has your device been updated? What are the details of your device?”
  • Security administrators: “What devices don’t have my security update? What if I enforce this policy? How many devices are in compliance?”
  • User: “I just lost my device and I’d like to safeguard private information on it. Can you wipe it remotely?”

Note that simply locking down a device isn’t enough if ithas a 2 GB storage card filled with sensitive information when it gets lost.One way that Windows Mobile 6 handles this problem, is by encrypting storagecard data so that it can only be read by the device that wrote to it.

Identity and Access Management

Applications running on different networked devices need away to share credentials among themselves, as well as with back-end servicesthat they connect to. As scenarios for devices become more sophisticated, thiswill require universally recognized credentials (for example, the identity ofthe user, and in some scenarios, the identity of the originating device aswell). Today a cellular phone is identified by a phone number. Althoughsmartphones do allow the user to connect to back-end services online, thoseservices typically require the user to authenticate himself in multipleadditional ways—which have nothing to do with the phone number, such as emailaddress or other Web-based credentials. As devices proliferate in the future,as will the services to support them, a single universal identifier(conceptually similar to Live ID today, perhaps) might solve the authenticationproblem. However, other new complications will arise—how does identity getchained across devices and Web-based services? Where do boundaries of trust getestablished?

Although much has been done to secure networks and devices,a different set of technologies are needed to broker trust among applicationsrunning on those devices (and services that they connect to)—technologies forfederated identity. These technologies help the user manage multiple digitalidentities and control how much personal information is shared with otherdevices and services. Each of these identities would be built around a set ofclaims which are expressions of trust from a certifying party — one or moreidentity services in the cloud acting as brokers of trust, issuing claims (orexpressions of trust) embedded in security tokens.

Rendezvous and Presence

Mobile presence services make users’ mobile contextavailable to their social networks. Context data, such as location, device idletime, device profile (ring volume, vibrate), and calendar information, would beavailable either from other mobile devices, or through a gadget/widget/badgeembedded on the user’s blog or Web page. It might be displayed as a list (byaugmenting a contacts list), or might be displayed on a map. In short, mobilepresence should let a user’s social networks know when they are reachable andwhen they are not, and what their preferred mode of communication is at thatmoment. This information should not be specific to a user’s mobile carrier, asit is unlikely that all members of a user’s social networks are customers ofthe same mobile carrier. Ideally, this presence information would connect intoa unified communications backbone that combines different forms of messaging.

Location-Based Services

Unlike personal computers, in the future it is likely thatmost consumer devices will know their exact location, possibly through aposition determination technology such as GPS. This opens up the possibilityfor a wide variety of cloud services which can make use of that information topresent to the user content appropriate for that location. The growth of onlineGeographic Information Systems (GIS) with published interfaces for storing dataand associated spatial metadata is enabling this trend. Some of these systemsare also marked up with extra user-generated content tagged by location. Alocation-based service would make use of the user’s geographic coordinates as anindex or a filter into a GIS, to retrieve the right information. Such servicesmight include local search, navigation, emergency services, tracking ofchildren/pets/objects of value, multi-player mobile games, locating people inyour social networks, logistics/transportation management, and so on.

Mobile Search and Advertising Services

In some ways, Web search from a mobile device is not verydifferent from Web search from a personal computer. An analysis of Googlesearch logs presented in “Deciphering Trends In Mobile Search” shows thatdespite the limitations in input techniques, the average number of words in asearch query did not change much across mobile phones, PDAs, and personalcomputers. (See Resources: Deciphering Trends in Mobile Search.)

However, in other ways mobile search has the potential to bemore dynamic than search from a personal computer. Devices are in the positionto know more about the user’s current context (location). Search engines todayprocess queries against an index that has been built up by crawling the Web.The potential for mobile search is that the extra context available to thedevice could also be used by the search engine when formulating its response.For example, search results might be filtered by the current location, or listof sponsored links might include a mobile coupon to a local business.

As an example of this, Live Search for Windows Mobile nowincludes voice input (beta), gas prices, and hours of operation for businesses.The service can also use GPS data on GPS-enabled phones to providelocation-aware local search.

Storage, Content Delivery and Content Management Services

As mentioned in the section on social trends, theproliferation of devices is leading to an explosion in the amount of contentthat is being generated and that needs to be stored off the device. This leadsto the need for storage services to back up devices, for content deliverynetworks to move the data, and also for content management services to organizenewly acquired content so that it becomes discoverable.

Organization of content implies a taxonomy—which might beexplicitly defined, but is more likely to be emergent based on tagging ofcontent with a snapshot of the context of the user at the time that the contentwas created. This context might be location, time, an event, and soforth—anything that the device was aware of and automatically recorded.

Alerting Services

As the amount of content available online keeps increasing,there is a need for users to filter the information signals that they receive.One way that users can do this is by subscribing to a particular alertingservice like Windows Live Alerts. These alerts can be received on mobiledevices as SMS messages. A user can also embed a gadget for reading alerts ontheir own Web sites.

Synchronization Services

As users move to a world of devices, content is increasinglybeing left scattered across personal computers at home, at work, in onlineservices, and now on mobile phones. An important part of end-to-end mobilitysolutions will include synchronization services, which solve the problem ofsynchronizing any content, over any protocol, and onto any device or personalcomputer. These synchronization services would need to be able to handle subtleissues around scenarios involving caching, offline usage, sharing, and roaming.One way to build such services is to use the Microsoft Sync Framework, whichlets application developers easily add synchronization capabilities to anapplication or service. This is enabled through a provider model that can beextended to support common scenarios such as syncing relational databases, filesystems, lists, devices, PIM, music, video, and so on.

Summary

A summary view of all the development options available toan architect of mobility solutions is shown in Figure 7, with examples ofspecific experiences, connection points, and access channels. There are severalcross-cutting concerns for devices, services, and access technologies, such ashow to manage identity and trust across all these different layers.

The approach for an architect of mobility solutions shouldbe to balance the need to achieve broad reach and scale for his target audienceagainst the need to deliver rich experiences that users can connect with. Idealsolutions will combine the best of the Web with the best aspects of devices.

Bb985492.jour14_ArchConsforaWorldofDevices_image007(en-us,MSDN.10).gif
Figure 7. A summary view of the development options for building mobilitysolutions

Resources

About the Author

Atanu Banerjee is a member of the PlatformArchitecture Team at Microsoft, where he works on architecture for next generationsolutions. He joined Microsoft from i2 Technologies, where he worked in variousroles for more than seven years, including chief architect for a supply chainmanagement product line, development manager, product architect, team lead, andsoftware developer. During that time, he wrote a lot of code, designed newsolutions, and worked with some large manufacturing customers. Prior to i2,Atanu worked in the advanced control systems group at Aspen Technologies,designing and implementing model predictive control systems for the processindustry. Atanu received his Ph.D. from Georgia Tech in 1996. He resides in Redmond, Wash. with his wife and six-year-old son.

 

This article was published in the ArchitectureJournal, a print and online publication produced by Microsoft. For morearticles from this publication, please visit the Architecture Journal Web site.