Web 2.0 in the Enterprise
by Michael Platt
Summary: The old models of how people publish and consume information on the Web have been radically transformed in recent times. Instead of simply viewing information on static Web pages, users now publish their own content through blogs and wikis, and on photo- and video-sharing sites. People are collaborating, discussing and forming online communities, and combining data, content, and services from multiple sources to create personalized experiences and applications.
Commonly and collectively called "Web 2.0," these new content-sharing sites, discussion and collaboration areas, and application design patterns or "mashups" are transforming the consumer Web. They also represent a significant opportunity for organizations to build new social and Web-based collaboration, productivity, and business systems, and to improve cost and revenue returns.
This article will examine how technology, data and people come together to make up Web 2.0; how Web 2.0 is being used in the consumer space today; and how these techniques and concepts can be used both inside and outside the enterprise to provide new productivity and business opportunities. (11 printed pages)
The Web as a Platform
The Read/Write Web
The Social and Collaborative Web
Web 2.0 in the Enterprise
Business to Community (B2C 2.0)
Web applications have undergone significant change over the last decade; ten years ago, there were no Web-sharing sites or applications, merely sites composed of static pages or ecommerce applications. Companies that had customer-facing Web sites were able to connect with Internet-savvy consumers and use their Web sites as a channels to market and sell their products; corporate intranets were used mainly as places to post news and company policies. More recently, Web sites have become destinations for communities of users to create and share rich and complex data, such as music, images, and video, and to discuss and rate that content.
This phenomenon was dubbed "Web 2.0" in a seminal discussion paper by Tim O'Reilly in September 2005, and it continues expanding today. In essence, Web 2.0 is the collective realization that the ability to use the Web to write as well as read rich content—combined with support for social networking and the rapid spread of broadband access—allows people to interact with the Web, with online content, and with one another. It represents a fundamental change in the way people interact with content, applications, and other users; the new Web is a platform for harnessing and promoting collective intelligence. People are no longer merely consumers of content and applications: They are participants, creating content and interacting with different services and people. More and more people are creating blogs, contributing to knowledge bases such as Wikipedia, and using peer-to-peer (P2P) technologies. Sometimes referred to as the network effect, this increase in participation and content creation presents new opportunities to involve the user in deeper, more meaningful ways.
Tim O'Reilly originally defined the characteristics of Web 2.0:
· The Web as a platform
· Harnessing collective intelligence
· Data as the next Intel inside
· End of the software release cycle
· Lightweight programming models
· Software above the level of a single device
· Rich user experience
These can be grouped into three areas: the use of the Web as a platform, the Web as a place to read and write rich content, and the social and collaborative use of the Web.
The Web as a Platform
Web 2.0 systems use the Web as a platform, as a huge range of interconnected devices which can provide a new level of rich and immersive experience for the user, an easy-to-use and lightweight programming model for the developer, and a rapid and flexible deployment mechanism for the supplier. Web 2.0 re-envisions the Internet from the user, the developer, and the supplier's perspectives, each of which allows new and creative uses of the Internet.
The concept of service underpins all connected systems, including, of course, Web 2.0. A service-based system is based on the principle of separation of concerns through the use of loose coupling or message passing. Loose coupling allows functionality to be created as a service and delivered over a network; for example, in the Web 2.0 world, diary functionality can be provided by a blog engine and be delivered as a service to the end user or blogger over the Internet.
This delivery of software functionality over the Internet is commonly called Software as a Service (SaaS) and underpins most Web 2.0 systems today.
When we consider the Internet as a platform, we can see that it has to provide a number of important platform elements such as device independence, rich and common user interface, a common programming interface, and a software or service deployment and management mechanism.
Software Above the Level of a Single Device
We are very familiar with software on a server providing services to software on a PC (in Windows or in a browser), which then consumes or displays them. While this is a well-understood model, it does not cover a number of common cases, such as P2P systems or delivery to non-PC devices such as music players, phones or navigation devices. We need a model which includes these cases and understands a higher level of service than basic HTTP to connect them; it needs to address the concepts of a music service such as iTunes or Napster, or a phone service such as Skype. We need to have a model which addresses software above the level of a single device and a single service but which includes rich, high-level services interconnecting a mesh of different device types in a symmetric manner.
Probably the best example of this type of high level service is Xbox Live where gaming services are supplied between specialist hardware devices working in a peer-to-peer manner. This model is the general-purpose case of service-based computing, and it is what Microsoft is calling a Software + Services model of computing.
Rich User Experience
· Standards-based presentation using XHTML and CSS.
· Dynamic display and interaction using the Document Object Model.
· Data interchange and manipulation using XML and XSLT.
· Asynchronous data retrieval using XMLHttpRequest.
Ajax is a key component of most Web 2.0 applications and is providing the ability to create Web applications as rich and dynamic as Windows-based applications; indeed, we are now seeing the advent of Ajax-based applications that can work while disconnected from the Internet and thus provide offline functionality similar to Windows-based clients such as Outlook.
There are also sets of technology other than Ajax which are increasing the value of the user experience in areas such as communications, voice, and video. Instant messaging (IM) is heavily used in Web 2.0 applications to provide instant communications, and there are a wide range of agents and delivery options available for IM systems. Voice over IP (VOIP) systems allow voice and teleconference communication over the Internet as part of the user experience. And finally, the provision of real-time, stored and broadcast video rounds out the client experience.
The breadth, richness, and flexibility provided by these technologies transforms the user interface beyond a dynamic UI to a full interactive audio visual experience, with new, powerful ways for people to interact with systems and one another still being explored.
Lightweight Programming Models
In Web 2.0, the programming models, concepts and techniques are significantly different from those that have been used in the enterprise. While they are services-based and underpinned with the concept of messaging passing, they use Representational State Transfer (REST) protocols, and focus on simplicity and ease of use.
Web 2.0 programming is based on the concept of separation of concerns using a loosely coupled, message-passing-based model on top of an Internet-based, standard set of communications protocols (HTTP) which is often called RESTful programming. It implies the acts of syndication and composition where services are provided without knowledge of their use. This is very different from a conventional tightly coupled, transactional and object-oriented system. It has a different set of benefits, such as flexibility and speed of implementation, and challenges, such as integrity and management.
The languages—such as Perl, Python, and Ruby—and frameworks used in Web 2.0 are simple and dynamic, providing a low barrier to entry and reuse and high productivity. The frameworks have built-in support for common design patterns, such as Model View Controller (MVC), and methodologies, such as agile software development. They are quick and easy to learn, use, and be productive in.
Web 2.0 applications are inherently composable and compositable; because they are built with lightweight programming models and standards-based services, new applications can be created by composing or "mashing up" present applications and services. Mashups are where applications and services are composed at the UI; composition is the more general case of services being reused, but both are easily supported in Web 2.0 programming.
End of Software Release Cycles and Deployment
The concepts behind Web 2.0 strike a new balance between the control and administrative ease of centralized systems and the flexibility and user empowerment of distributed systems. Web applications are by nature centrally deployed, so central services can manage applications and entire desktops automatically. SaaS builds on this concept to provide the idea of software and services delivery over the Internet. Web 2.0 builds on top of SaaS to provide social and content services over a SaaS mechanism.
This usage of SaaS by Web 2.0 as a deployment and release methodology provides all the well-known SaaS advantages of simple deployment, minimized management and administration and, probably the most important, continual update. Thus, one of the most touted features of Web 2.0 (and SaaS) is the concept that the system is being constantly updated and enhanced, often in real time in response to user requests. Of course, the issue with this "perpetual beta" that the Web 2.0 community has yet to come to grips with is what happens to downstream or offline applications or services when services or data that they've come to rely on a Web 2.0 application to provide disappear or change.
The Read/Write Web
The second important area of Web 2.0 is the focus on data and content, and in particular the ability for people to create and interact with rich content rather than just consume it. If the original Internet provided read access to data, then Web 2.0 is all about providing read and write access to data from any source. This ability for anyone to create content has caused an explosion of availability of content of all sources (and of all types of quality) and has at the same time created a whole new set of issues around vandalism, intellectual property, and integrity of data.
As the bandwidth available to the end user continuously increases, the richness of the content that can be sent over the Internet increases. The original Internet was all about text; Web 2.0 started with music and images and moved into voice and video. Now TV and movies are the content areas that are being investigated as part of Web 2.0.
While people and organizations have been searching, uploading and downloading all this "explicit" data and content on the Web, they have at the same time being creating a huge amount of implicit data about where they are going and what they are doing. This implicit or attention data of Web 2.0 can be used to predict future behavior or provide new attention-based features. This is how the major search engines work; they monitor the queries that people make and use that data to forecast what people are likely to look for in the future. Of course, the collection, storage, and use of this implicit data raise challenging questions about ownership, privacy, and intellectual property (IP) which still have to be satisfactorily addressed.
Another issue with the huge amount of data on the Web is finding things and navigating ways through it. Search engines use the implicit data (or page ranks) to find textual data but this does not work very well with images or audio data. In addition, in many cases the search engine may not have enough contextual information to provide a valid result. In these cases tagging of the data becomes a valuable way of assisting with data navigation. Web 2.0 applications use tagging and "tag clouds" extensively as a way of finding and navigating through the vast amount of data available on the Web.
Tag data is data about data, or metadata, and one of the major issues with data and content on the Web is that caused by the lack of standards for metadata and schema. It is impossible to cut and paste something as simple as an address on the Web because there is no standard format for addresses. We need to understand the different levels of metadata and have standards for what that metadata is, in order to liberate data on the Web and, in particular, to allow applications to composite data. This standardization of metadata on the Web is what the Microformats organization is trying to provide.
The Social and Collaborative Web
The third key element of Web 2.0 systems is the concept of social networks, community, collaboration and discussion. People naturally want to communicate, share and discuss; this communication is a key part of understanding, learning and creativity. The unique element that Web 2.0 brings is that of social networks and community which are typically enabled by blogs, discussion groups, and wikis. In Web 2.0, the sheer scale and number of people on the Internet creates an "architecture of participation" where the interaction between people creates information and systems that get better the more they are used and the more people who use them. This harnessing of the collective intelligence creates systems which have more and better information than any one person could generate; it provides the "wisdom of the crowds."
There are a number of different types of collaboration that can occur in Web 2.0 systems:
· Content-based—People gather and collaborate around a piece of news or content, typically in a blog or a spaces-type environment.
· Group-based—People gather around an idea or interest such as a hobby and discuss it in forums.
· Project-based—People work together on a common task or project such as a development project, a book, or even something as large as an encyclopedia using wikis.
All three types of collaboration are supported by Web 2.0 systems.
Web 2.0 in the Enterprise
Organizations of all types and sizes from startups to Fortune 100 companies and from all industry verticals have seen the explosive growth on the Web of social and community sites in the consumer space such as MySpace, YouTube, and the deluge of Web 2.0 sites. Enterprises have witnessed the moves of major Web players such as Amazon, eBay, Live, Google, and Yahoo to include social and community elements, and the interest and demand that this has created. They are now actively investigating and in many cases building new community-based portals and businesses for their own organizations; Web 2.0 is moving into the enterprise.
Organizations are interested in using Web 2.0 techniques primarily in two areas: inside the organization to improve efficiency and productivity, and from the organization to the customers to improve revenue and customer satisfaction. The use of Web 2.0 within organizations is called Enterprise 2.0 and is likely to be the first area where Web 2.0 will be used by organizations. The use of Web 2.0 by enterprises to face their customers and consumers is similar to Business to Customer (B2C) activity but with a social and community focus so it is called Business to Community or B2C 2.0. Interest in this use of the "community as a customer" is rapidly growing.
Enterprise 2.0 or Web 2.0 in the Enterprise is a term coined by Professor MacAfee of the Harvard Business School in 2006 to describe the use of Web 2.0 techniques within an organization to improve productivity and efficiency.
Through the adoption of Web 2.0 techniques, information workers, like their consumer counterparts, are able to control their own user experiences with less guidance from IT, and thus create for themselves a more intuitive and efficient work environment. The end result is improved worker productivity, morale, and satisfaction. Properly understood and deployed, Web 2.0 technologies, methods, and patterns can be used in the enterprise to great effect, boosting overall organizational productivity and efficiency. In this section, we look at some the elements of Web 2.0 that make this possible.
Rich User Experience
Providing users with a single user experience for all their needs increases productivity, minimizes training costs, and encourages deeper adoption and usage. This includes access to information and applications whether they are connected or disconnected, whether they are using a mobile device or a laptop, or whether they are using a thin client or a smart client. The rich user experience support provided by Ajax and graphics subsystems such as Silverlight enable the rich user experience people expect in today's systems.
Lightweight Programming Models
One of the tenets of Web 2.0 is the concept of user-created applications or "mashups"—of user-generated applications using lightweight programming models. These promise to provide a dramatic change from the bottlenecks and constraints associated with IT-generated applications. With Web 2.0 techniques, users can easily create applications specific to their own needs. However, many current composite application strategies fall short by focusing on simply resurfacing applications in an Ajax interface (UI) and failing to provide true user enablement. To capitalize on the user-driven application opportunity, enterprises must provide departments and users with a managed environment and familiar tools that allow them to easily customize or create their own workspaces and solutions.
End of Software Release Cycles and Deployment
The underlying use of the Internet as a platform in Web 2.0 allows the simple, rapid, and flexible distribution of applications and data throughout the organization, removing the user from fixed and inflexible IT upgrade cycles and allowing a new level of organizational support and responsiveness for the user.
Data and documents are critical to any organization, and service-based systems such as Web 2.0 allow data and document creation, modification and exchange with greatly reduced complexity and enhanced ease of use. The provision of data, content management, and collaboration systems which can support the rich content format and social techniques of Web 2.0 is critical for the use of the read/write Web in the Enterprise.
Enterprises with large employee, partner, and customer bases have long known the value of the knowledge living in employees' heads and in the databases and unstructured documents found across the organization. Attempts to collect this information into knowledge management systems have been made in the past, with varying degrees of success but Web 2.0 technologies such as blogs, wikis, and enterprise search for people and data may lower the bar to knowledge management and provide a new platform for collaborating on complex and creative tasks. It should, however, be noted that the real barrier to knowledge management is around social and value issues in organizations rather than technical ones; these barriers are not addressed by the Web 2.0 technologies, so it is not clear whether Web 2.0 will successfully enable knowledge management in organizations.
In conclusion, many Web 2.0 techniques can be used in organizations in such areas as rapid application development using mashups and blog- and wiki-based knowledge management.
Business to Community (B2C 2.0)
The area of Web 2.0 usage in the enterprise that has the greatest potential impact from an organizational and revenue perspective is in the customer-facing areas of organizations; it is possible that the whole customer contact, sales, and CRM cycle will be changed by the use of Web 2.0 techniques. In marketing, the opportunity to provide rich, interactive media and close customer interactivity through wikis and blogs will provide new ways of contacting and engaging potential customers. In sales, the use of new form factor devices such as mobile phones to interact with the customer throughout the sales process is another major area for new development. In customer support, the use of experts in the community to assist with problem resolution through discussion groups creates whole new support models. The reasons for this interest are:
· Revenue and growth. New revenue streams can be built and present revenue streams enhanced through community and social networking. In particular, the cost containment of the last five years has given way to business-side interest in innovation-based growth and revenue. The rapid growth and innovation in the Web 2.0 space is seen as something that companies want to emulate.
· Web-based economies of scale. Companies see that they can dramatically cut the cost of capital equipment and people by using a Web-based delivery model to communities of their customers. B2C 2.0 companies are planning to support tens of millions of customers with just hundreds of employees.
· Flexible employment models. The use of contract and agency staff for delivery allows flexibility and agility. Agency and contract staff can be thought of as another, specialized community and can be supported with Web 2.0 techniques, similar to customers.
· Community creation as evangelism and support. Customers are a business's best sales, marketing, support, and development organization. The creation of communities effectively outsources these cost centers, at zero cost. Indeed, with the inclusion of targeted advertising to the community, many of the present cost centers may become profit centers.
· Community leader advantage. Community dynamics are such that the first successful community is by far the most powerful and the organization that owns this community is the one which controls the space. If an organization's competitors are first in the community space they will have very significant competitive advantage.
There are five areas in which Web 2.0 techniques can be used in working with customer communities to provide Business to Community.
Innovation and New Product Development
A large percentage of new product ideas and innovations in organizations come from suppliers and customers rather than from in-house research and development organizations. These customer-generated new product ideas are more likely to be successful as they have come from the end users of the product. Clearly, organizations that can build a system which harvests these ideas can gain significant benefits. The use of Web 2.0–based customer and supplier communities as discussion forums and marketing focus group for new product ideas and incubation is a powerful technique for gathering ideas simply and cost-effectively. Many organizations are actively investigating the use of community forums and discussion groups in the product development process.
An additional benefit of this community-based new product development is that the customers have a better understanding of the product or service delivered when they are involved in its gestation and so the customer uptake of the product will be significantly enhanced.
Probably the best known application of Web 2.0 techniques in organizations is in the marketing departments as viral marketing. The examples of community and rich content such as video being used to generate and spread buzz about products and services are legion. There are two elements to this viral marketing, initial interest generation and then viral dissemination. The initial interest generation is best done with the use of innovative image, video and movie content; it is not unusual to get millions of downloads of a creative video within hours or days of release, and ongoing interest in a product can be sustained by including an informational or tutorial element to the content. The dissemination of this material is done by the Internet community at large using IM, e-mail, or community forums. Again this dissemination can be very rapid and widespread. Engaging video of a new product or service may be passed to millions of people in hours and surface in mainstream media such as TV or newspapers in days.
There are, however, some caveats about viral marketing: Firstly, the target audience needs to be well understood, and, even then, the material may not generate community interest and buzz. Secondly, an organization cannot control the spread or use of materials; the use of viral marketing techniques by the community in unanticipated ways is well-documented and can create significant issues for an organization.
The cost of sale is normally a significant part of the overall cost of a product or service. In a Business to Community 2.0 organization, the community acts as the salespeople so the cost of sale is dramatically reduced, in many cases to zero. The customers themselves act as spokespeople and salespeople for the organization. There is no need for a high pressure and high cost sales organization in community-based businesses; in many cases, it is counterproductive and will actually stall sales.
Support is the second best known area for the use of Web 2.0 techniques. Firstly, there is the use of IM and chat techniques for real-time support of products by organizations—secondly, the use of image capture and video for problem communication and resolution. The use of community-based product experts and self-help discussion groups is the third and most important area: Self-help has been shown to work very well in communities and is a very low cost way of providing very high quality support. As with most society-based systems however the actual mechanics of these self-help groups is not simple and requires significant thought and expertise.
Training and Education
Probably the least explored usage of Web 2.0 in the enterprise is for training and education. The availability of high quality image and video provides a very low cost and simple way of providing training and demonstration materials. This rich content, when integrated with subject matter experts in the community and active discussion groups provides a powerful and simple training and education environment. While there has been relatively little activity in the training and education area today, it is certain to grow dramatically in the future.
Organizations are learning to see their customers and employees as communities with which they have both an online and offline relationship in a multifaceted community-based sales cycle: A retail specialty store may have an in-store lecture by a national expert which creates a community online around a topic of interest moderated by that expert. As part of the online discussion, community members visit the store to see particular items of interest and then order those items online within a community rewards scheme.
In summary, the Web 2.0 areas of rich content and community are being used successfully by organizations today, both internally for knowledge capture and reuse, and externally to create communities of customers. While most of the interest today is in the knowledge capture and reuse, there are still significant cultural and social issues to the successful implementation of these systems which are not solved by Web 2.0 techniques. The less well-explored area of the use of customer communities has much greater promise to the organization, yet comes with its own concomitant risks around IP and vandalism which have to be addressed.
Overall, the use of Web 2.0 techniques in the enterprise promises to have profound and far reaching effect on how organizations work both internally and externally, creating completely new and powerful ways of reaching, selling and supporting customers as communities.
About the author
Michael Platt is director of Web Architecture Strategy in the architecture strategy group at Microsoft Corp. in Redmond. He has extensive experience in architecting Web and enterprise applications for large multinational enterprises, and some 30 years of experience in the IT industry. Michael has been with Microsoft for 10 years in a number of management, strategy, presales and consultancy roles. He has an Honors Degree in Electronic and Electrical Engineering and a number of published dissertations and patents.
This article was published in the Architecture Journal, a print and online publication produced by Microsoft. For more articles from this publication, please visit the Architecture Journal Web site.