Web 2.0 in the Enterprise

Web 2.0 is a popular term used to describe a number of web applications on the Internet. Terms like Enterprise 2.0 and Office 2.0 have also made their way into mainstream Tech vernacular. As a Technical Decision Maker, as an Architect, as a Business Decision Maker - what does Web 2.0 mean to you?

I've had a number of conversations with technologists, analysts and product managers over the last few months to really understand what Web 2.0 for the Enterprise means to them. To sum up what I think Web 2.0 means for the Enterprise: it's all about turning users into participants allowing them to easily create, share and connect with information, applications and people. That's it.

Web 2.0 generally refers to the notion of rich browser applications that are developed using technologies like AJAX. But not all rich browser applications are Web 2.0 and Web 2.0 isn't just about AJAX/technology. Technology is an enabler... nothing more; nothing less. Having said that, as a Technical Decision Maker, you must think about how your organization can allow its users to very easily and efficiently create the applications they want. This means having an agile platform capable of hosting a variety of applications.

So why do people make a big deal about AJAX, XML, Services and why should you care?

AJAX - Stands for Asynchronous Javascript and XML. This is not a new concept. In fact, Microsoft was one of the first pioneers here with Outlook Web Access 2000. AJAX leads to a smooth, immersive experience... almost client-like... reducing the amount of browser post-backs. AJAX is becoming an increasingly popular development technique on the Internet because of broadband ubiquity.. so the footprint of web applications no longer has to be a couple KB. Having rich, browser accessible applications in your Enterprise is a good thing... this allows for easy access to applications and services from anywhere.

XML - There's been an industry buzz around XML for years. XML allows systems to interact with one another seamlessly. As technologies, this is important to consider when making investments in different technologies. Beyond serving as a common way to communicate, XML also had some other great benefits that include the separation of data and presentation allowing content to be easily syndicated and used in different ways. A very common example of this today is RSS.

Services - A services-oriented architecture is important for Enterprises to gain maximum value of the investments, adoption and usage. Mash-ups are examples of how applications can quickly take advantage of services to create a rich application. In the Enterprise, a close parallel to mash-ups are composite applications.

So what kind of technologies should you invest in?
Beyond the standard software criteria like low TCO and strong developer/partner ecosystems, Enterprises must consider the following to reduce the barrier of user participation:

1. Agility. Agility is extremely important especially as the number of users (employees, customers, partners) increases. Organizations must be able to develop and host different business applications quickly. Better yet, IT should not become the bottleneck for creating business specific applications. Ideally, IT should focus on having a single platform for consistent management, deployment and maintenance.

2. Adoption. You could have the best and most agile technology, but it's useless if people don't use the technology. It's important for organizations to have easy-to-use software. This means allowing users to use the tools they are most familiar with - for example, Office, the browser.

3. Self-Service. Self-service is important. Users must be able to create and provisiong applications easily without having to involve IT and/or development. This allows users to be most productive.

Where am I going with this... if you're a decision maker, you have to get away from highly niche software that is accessible by a few and requires a lot of IT/services effort for managing. There are exceptions to the rule, but in order to really gain the advantages of Web 2.0, you really have to make it easy for your users to participate in the user community and leverage services and applications. This is critical. Buying niche software to fulfill a specific need will lead to siloed investments that will serve a specific purpose for a short period of time. You really want to think about enabling technology for the masses... and gain the productivity gains that come with 100s/1000s of users interacting with each other.

Also, on the Internet, as I mentioned before, Web 2.0 refers to browser applications... in the Enterprise, it doesn't have to be browser only if you consider my definition of web 2.0 which is about transforming users into participants. It has to be easy so people can interact... and this includes familiar applications like Office. If it's easy to consume and publish content from Office, that makes it even more attractive. Examples in the latest 2007 Office system include:

1. Blogging: blog from Word 2007 or the web w/ SharePoint blogs.
2. PowerPoint Slide libraries: View PPT slides in the browser.. or consume slides from PPT 2007
3. Excel Services: Host spreadsheets on a server and make it visible through a browser... publish the spreadsheets from Excel 2007.
4. Access and interact w/ documents, contacts and tasks via a browser... take them offline with Outlook 2007

So why care about the client?
1. While "Web 2.0" browser applications are client-like by using AJAX dev techniques, client apps are still richer... client apps are also generally more flexible w/ less storage and security restrictions... .and generally tend to be faster. Caveat: on the performance and storage front, I do see advances in services, grid computing and storage technologies to lead to even greater improvements in the next few to many years.
2. Offline. When you're offline, you need to be able to be productive and create/use content.
3. Rich Clients are the ultimate mash ups. Part of the point of mash-ups is to surface new functionality within an applicaiton a user already knows and loves.

Don't get me wrong - web applications are equally important! But Web 2.0 when taken to the Enterprise isn't just about web apps. Some organizations want to reduce the manageability costs so they try and move to a central model... but for the reasons outlined above, it's simply not practical.

You probably know where I'm going with this... 2007 Office system (with SharePoint technology as a foundational pillar) provides an unparalleled "Web 2.0" business productivity platform with out of the box solutions and a platform to develop and host custom apps. Examples of out-of-the-box "Web 2.0" applications with SharePoint technology include:
1. Blogs and Wikis
2. Team Workspaces (Collab)
3. Search
4. PPT slide libraries and Excel Services
5. Web Content Management

Needless to say, RSS is everywhere; users can create custom apps with SharePoint Designer; self-service is an extremely important underlying theme. If you take a look at the core tenets of Web 2.0 software I mention above for TDM/BDMs to consider, SharePoint technology addresses all of them.

For IT Professionals, this platform is a unified platform for different apps -> one backup/restore, one deployment, one management story... with the right tools to control and manage different users, application and information.

So the next time your company is thinking about Web 2.0, you should really take a look at WSS v3/MOSS... and see how 2007 Office system/SharePoint technology offers a Web 2.0 platform and business productivity solutions that can be accessed via a browser or interacted with using the Office client transforming your users into active participants.