Ray Ozzie on Software-plus-Services Strategy
I always find Ray Ozzie's memos an interesting read. His most recent memo is about Microsoft's Software-plus-Services strategy where he talks about the guiding principles informing the design and development of Microsoft products for consumers and businesses.
These are my favourite sections from his memo:
The web is first and foremost a mesh of people. Elements of this social mesh will be a first-class attribute of most all software and service experiences, as the "personal" of the PC meets the "inter-personal" of the web. Whether in work, play, or just life, the social element of software will continue to transform the ways that we interact with people with whom we have some affinity. All applications will grow to recognize and utilize the inherent group-forming aspects of their connection to the web, in ways that will become fundamental to our experiences. In scenarios ranging from productivity to media and entertainment, social mesh notions of linking, sharing, ranking and tagging will become as familiar as File, Edit and View.
...
To individuals, the concept of "My Computer" will give way to the concept of a personal mesh of devices – a means by which all of your devices are brought together, managed through the web, as a seamless whole. After identifying a device as being "yours", its configuration and personalization settings, its applications and their own settings, and the data it carries will be seamlessly available and synchronized across your mesh of devices. Whether for media, control or access, scenarios ranging from productivity to media and entertainment will be unified and enhanced by the concept of a device mesh.
...
At the back-end, developers will need to contend with new programming models in the cloud. Whether running on an enterprise grid, or within the true utility computing environment of cloud-based infrastructure, the way a developer will write code, deploy it, debug it, and maintain it will be transformed. The cloud-based environment consists of vast arrays of commodity computers, with storage and the programs themselves being spread across those arrays for scale and redundancy, and loose coupling between the tiers. Independent developers and enterprises alike will move from "scale up" to "scale out" back-end design patterns, embracing this model for its cost, resiliency, flexible capacity, and geo-distribution.
...
Successful experiences on the web are those that are organically compelling, highly engaging, and viral across their intended audience. By applying our three principles consistently across all the markets we serve, we have an opportunity to reshape our offerings for individuals, businesses, and developers, and to deliver a broad range of compelling scenarios.