Welcome!

Java Authors: Elizabeth White, Liz McMillan, Esmeralda Swartz, Roger Strukhoff, Lori MacVittie

Related Topics: Java, Web 2.0

Java: Book Excerpt

Web 2.0 and Social Networking

Guidelines for creating and then implementing a strategy for Web 2.0 and Social Networking integration - Part 1

Web 2.0 and Social Networking - what do those two technologies have in common? When looking at them independently, and from a purely technical point of view, you might think they don't have a lot in common. However, merge the concepts of two of the hottest technical advances to come around in a while and you have the power to change the world. Not all at once, as change happens over time, but they do provide a framework and the opportunities for major change, which is a first step and much of what we discuss here.

My hope is that you can use this excerpt as a reference that provides some concrete guidelines for creating and then implementing a strategy for Web 2.0 and Social Networking integration within your group or organization.

Much of the focus in the Web 2.0 and Social Networking space has been toward customer interaction; that is, how to draw in or collaborate better with customers through blogs, forums, or Facebook and MySpace pages; how to increase brand or product awareness or drive sales with viral marketing campaigns; or how to increase customer satisfaction using AJAX so that pages are updated almost automatically. We'll look at these ideas and more. However, we also turn our focus inward to the enterprise to see how we can use new strategies and technologies to increase productivity, collaboration, knowledge management, and creativity of our employees and partners.

Web 2.0
By now, many people understand the use of the term Web 2.0, but it still requires some explanation in our context. For our purposes, we might define Web 2.0 as a set of enabling technologies that enable us to reach and provide services to end users in exciting new ways. The reality is that much of the hype around Web 2.0 already existed on the Web well before the term became popular with the media and within the industry, but the concept is helping to drive new innovation in the use of this technology toward better user interaction. At the core of these new technologies is the use of Asynchronous JavaScript and XML (AJAX) to provide a richer user experience to end users.

The term Web 2.0 was coined by Tim O'Reilly, founder and CEO of O'Reilly Media, Inc., and the term became better known across the industry after the O'Reilly Media Web 2.0 conference in 2004. The idea of Web 2.0 definitely has some technical aspects, with the implementation and innovation of new technologies and standards within the web platform. However, much of the focus of Web 2.0 is on new business models. Whereas the focus of Web 1.0 was on delivering products, Web 2.0 had created a paradigm shift to delivering services that can be used and combined with other services in new ways. Another key aspect is the growth of interactivity with end users in new ways, enabling users to drive what is important or of the most value.

Figure 1 illustrates the concept of Web 1.0, where there is a strict producer/consumer approach to delivering web content. The webmaster or content creators build and maintain the website for consumption by end users. The relationship is strictly unidirectional in this model, fixed and targeted based on assumptions made by the webmaster and content team.

Figure 1: Web 1.0 paradigm

In contrast to this approach, in the Web 2.0 model, users actively participate and contribute to a website. This bidirectional approach enables users to interact with the site and each other in ways that provide for and foster a collective community. Users can create, edit, rate, and tag content at will, which provides other users with new information and guides the relevance of what is important to the overall community.

In addition to providing the underlying ability for communities to build momentum, obtain critical mass, and contribute to ongoing collaboration, services can be provided in the form of application programming interfaces (APIs), Representational State Transfer (REST) services, or Really Simple Syndication (RSS) feeds, which enable end users to merge and view data in ways that haven't even been imagined (see Figure 2).

Figure 2: Web 2.0 paradigm

Web 2.0 is not only about providing data in new ways, it is also about improving the user interface and enabling end users to view data quicker and in more dynamic ways through richer user interfaces using AJAX and other technologies.

Rich User Experience Within the Browser
Although not always the case, the goal is to take advantage of the browser as the universal client and provide a richer interactive experience to the end user. Two core technologies that help provide this experience are AJAX and REST. There are lots of other frameworks technologies in this category that can also provide a browser-based rich user experience, such as Adobe Flex and Macromedia Flash. In addition, there are non-browser-based approaches, such as using an Eclipse framework-based approach such as Lotus Expeditor.

AJAX has again brought JavaScript into vogue by providing a new approach to the language. Now you can leverage JavaScript using eXtensible Markup Language (XML), Representational State Transfer (REST), JavaScript Object Notation (JSON), and other technologies. The term AJAX is relatively new; although if you work with web technologies, you have undoubtedly heard of the term, but the underlying technologies have been around almost as long as the Web itself.

The key in AJAX is the term asynchronous, which enables the browser to provide services and features in simple but exciting ways. AJAX provides a new paradigm for interacting with the browser. Essentially, the browser can be updated in an asynchronous manner, which means that there need be no more full-page refreshes that are so common with the Web. Take, for example, a simple stock ticker or some fluid piece of data. With the pre-Web 2.0 approach, the entire screen needs to be refreshed to update a potentially small piece of data. With AJAX and Web 2.0, that small piece of data can be retrieved behind the scenes at regular intervals and updated while users focus elsewhere on the page (see Figure 3).

Figure 3: AJAX interaction model

The purpose of all of this is to provide much more dynamic web pages that not only respond quicker to user action, but that actually assist the user in working with the web page. Simple AJAX patterns include the following:

  • Type Assist: This enables a user to type into a text box while the system tries to figure out what word or phrase the user is looking for. As the user types, the text box continues to change with different values that can assist the user in getting the right value.
  • Form Assist: Another scenario is the concept of updating a list of options based on an earlier choice. Consider, for example, a user trying to fill out a form on the screen. Choosing one option from a list or drop-down box might trigger different options to appear, change, or prefill with additional values based on that choice.
  • Page Fragment Updates: Again, as in the stock ticker example, data can be retrieved behind the scenes and update small fragments of a page without requiring a full refresh of the page.
  • Sliding Palettes: This pattern is where a window appears or slides out on top of the page. This allows the user to choose from a picklist or set of displayed options.

More advanced examples of using AJAX are more obvious, where large sections of the page are updated based on options chosen. One example is a customer service type of application where the user can look up customer and order detail information in a single interface. A detailed example of this is in Chapter 3, "Ajax, Portlets, and Patterns." It has been said that the use of AJAX is nontrivial, which means that although it is simple to add basic examples to your web pages, more advanced works require advanced skills and additional design work to obtain good results. The results of this effort can be impressive as web pages become truly interactive for the end users.

AJAX and the Dojo Toolkit
The Dojo Toolkit is a JavaScript-based collection of libraries (hence the name toolkit) that enable you to build AJAX capabilities into your web pages. The Dojo Toolkit is more than just AJAX, but that is our primary focus here. In reality, Dojo is a DHTML toolkit. Because Dojo is open source, it is free to use in your projects, and many large organizations contribute to Dojo itself.

JavaScript, DHTML, and AJAX are complicated. Dojo encapsulates complex JavaScript capability with predefined components and APIs. Of course, Dojo has a learning curve; however, the gains obtained by focusing at a higher level of abstraction can be enormous. In addition, while some optimization can be obtained, using Dojo libraries implies heavier pages in the form of JavaScript libraries that need to be transmitted to the user's browser to enable all the cool functionality that you will build. It is worth the tradeoff, but I don't want you to think that you get something for free.

Several AJAX libraries are available on the market today. Many of them are open source. IBM has opted to support Dojo by contributing to the community and building Dojo into WebSphere Portal 6.1.

More Stories By Joey Bernal

Anthony (Joey) Bernal is a Senior Consulting IT Specialist with IBM Software Services for Lotus. Working with IBM WebSphere Portal since its initial release, he has worked with dozens of customers helping them be successful with their portal projects. In addition to writing articles and books, he is a frequent speaker on portal topics. Joey is also a co-author of Programming Portlets, and the author of the WebSphere Portal in Action blog.

Armed with a BS in computer science from the University of Montana, Joey started out working primarily with Microsoft technologies, programming with Visual Basic, FoxPro and later Active Server Pages, and Microsoft Site Server. Prior to joining IBM, he was the IT Director for a performance improvement and incentive company in Minneapolis, Minnesota.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.