WinHEC: Developers Must Prepare For 'Access Anywhere'

That's the message Mundie delivered Tuesday in a keynote presentation to developers at the Microsoft Windows Hardware Engineering Conference (WinHEC), in Los Angeles.

There are about 1 billion people on the planet with high disposable incomes and about 2 billion with enough disposable income to have access to personal computing devices, Mundie said. However, another 3 billion lack the disposable income to take advantage of current computing technology but will be the target of new services that will take advantage of low-cost technology, such as mobile phones with the power of a PC, he said.

For example, Mundie cited the potential for low-cost computing via mobile phones and portable kiosks to help an illiterate mother in an emerging country gain access to medical care for her ailing infant, despite the lack of local medical facilities.

The mother will someday be able to use a mobile phone to key in her infant's symptoms using a series of symbols, and receive recorded or live information about what to do. She might be directed to a local unmanned kiosk where she could use a portable blood scanner to do an analysis of her infant's blood within 15 minutes, with recorded video from a doctor explaining proper card for her child downloaded to her cell phone. And the information collected from visits such as hers could be collected into a database to help pinpoint possible epidemics, Mundie said.

Sponsored post

In another example, Mundie demonstrated what looked like a normal coffee table, but a checkers boardch was projected onto it. An elderly person could use the board to play checkers online, with her moves scanned and sent to her opponent and her opponent's moves projected on the board. And after the game, the table could remind her to take her medicine and scan the pills to make sure she was taking the proper medication and dose, he said.

Developers increasingly will be faced with a shift in microprocessor design, moving from an emphasis on clock speed to an emphasis on multiple cores as a way to get more performance from computing devices of all types, according to Mundie. Developers have been able to take advantage of increasing clock speed to piggyback increased performance for their applications, but they won't be able to do so going forward, he said.

"The free lunch is over," Mundie said. "We're not going to get faster clock rates. We're going to get more cores with the same clock rate. Software developers will have to think of parallelism, of working with two cores, four cores, eight cores and more."

Computing devices are being segmented into fixed devices such as desktop PCs, portable devices such as laptops that allow users to move their computing environment and mobile devices such as cell phones that are used as the user is moving, Mundie said.

As a result, the die size of the processor, which determines how many cores are available, will be the main indicator of a device's computing power, he explained. Ultra-mobile computing devices will use a chip with a small die size and fewer cores, and servers will feature massive dies with many cores.

Yet that shift will come with a challenge: Moving from traditional programming languages, which rely on executing one command at a time, to technology that exploits multiple cores, Mundie noted.

"One of the challenges of these distributed systems is to get them to work properly in terms of parallelism," he said.

Such applications would need to be loosely coupled with each other and run asynchronously, Mundie said. They would also need to employ concurrent processing, in which several processes run simultaneously and interact. The applications would also tend to be decentralized so there's no single point of failure, as well as be resilient so they can't fail, even as the user moves to a new environment.

"The complexity is going to be daunting," Mundie said.

Developers will have to overcome such challenges as how to construct parallel programs that can take advantage of what essentially are supercomputers on a single die, Mundie said. Other challenges include how to coordinate resources and services and execute fine-grain programs, or the ability to run the same application on any device without regard of the device's form factor.

That will require looking at new models of computing, Mundie said.

For instance, applications must be context-aware, he said. The devices and the software need to be aware of what the user is doing, in what environment the user is working, when to interrupt the user, and when not to interrupt the user. He said Microsoft is working on API models that provide access to computing models based on the interactions of users and their applications.

Computing will also have to become more personalized, which Mundi said will result in "speculative execution," where the application looks at what users are doing and predicts their next move.

For instance, Mundie said that users may be running one application and may click on another, such as a news or entertainment site, and expect that second application to start running immediately. Microsoft's new Windows Vista operating system already is starting to predict which applications users will want to run with up to 90 percent accuracy, making it possible for developers to design applications that can be preloaded for immediate execution in certain circumstances, he said.

Mundie also said the pendulum that has been swinging between personal computing and centralized computing is starting to stop between the two computing models. That means developers will need to gravitate toward software-as-a-service (SaaS) to ensure that the rising power of computing devices does not lie fallow.

The WinHEC community, he said, will need to look at computing devices that can take advantage of context, human/machine interfaces to enhance discrete interactions and output abstractions, identity and trust to ensure secure access and operation, and management to regulate devices and access.

They will also need to focus on connectivity in self-organizing mesh networks, which requires being able to set up networks for easy connectivity and seamless roaming, he added.

"Microsoft's view is that the PC itself will continue to evolve in radical ways," Mundie said. "They have already evolved over 30 years. [But] all these things will come within the next five years."