Friday 23rd of June 2017 07:05:41 AM

Web 2.0 Real Examples

A third wave of innovation is emerging on the Internet. The key element is interaction of users with information and other users on the Internet. This page links to a collection of exhibits that illustrate some of them.

Web 2.0 -- the ubiquitous platform

Platform? What's a platform? Windows is an example of a "platform". Windows is a foundation that supports a wide range of programs used to accomplish all manner of tasks. Computation, writing, business documentation, home theater, video editing, and accessing the Internet are just a few of them.

The Web is quietly becoming a meta-platform -- something more than just another platform. The Web started as a communication utility. It was pretty much passive and one-way -- just a bunch of Web sites that constitute a giant library. Even email is just point-to-point. It's not a collaborative medium. Web 2.0 has become a catalyst for innovations in interactive computing and communication processes.

In this third wave, the Web is becoming a much more open, dynamic and collaborative place. People are creating work groups and social networks with the Web. Developers have built a whole range of new services on the Web (more about that later), and new ones emerge every day. They are blending Flash, HTML, CSS, Javascript and other technology to create seamless and responsive Web interfaces, which they use to implement these new services. Google makes use of one effective blend called Ajax.

Some see PCs being relegated to the role of running browsers to access the Web. Yes, the Web is indifferent about which operating system (or browser) is used. Any old computer -- Windows machines, Apple machines, Linux machines -- is an adequate gateway to the Web. But's easy to get carried away by the hype.

Web 2.0 is not going to replace PCs as we know them. It's going to extend their power further. The revolution behind Web 2.0 is enabling users to influence and interact with the other players on the Internet. The result is better access to the people, organizations and information that they find important.

Programming the Web

Google is the prime example of how the Web is being "programmed". Google also makes their search and mapping APIs (application programming interface) freely available. The APIs enable non-commercial users to easily find and manipulate information on the Web. [NewsGator API]

Google has several Web 2.0 style services based on those APIs, and there are many examples of how others have put them to work.

Google Maps
Where to find cheap gas
Recent visitors to
Our bike ride -- click "Clear points and start over" to make your own
Google Feed Reader
Personalized Google page
More, more, more ...

A Web 2.0 community has been forming over the last several months. This community has the same character as Web 2.0 itself, namely open, networked and interactive. They're involved in things like sustaining the vision, writing standards, resisting hijack attempts, education and providing resources. They're using the Web 2.0 environment to do it.

Web 2.0 API Reference
Tracking Web 2.0
Web 2.0 Workgroup

More Web 2.0 examples

ThinkFree Office Online -- a good conceptual example
Num Sum -- a simple, sharable online spreadsheet system Webnote -- a very simple online note system
Yahoo! email (beta)
Rollyo -- roll your own meta-search {Yahoo!}

The conversational Web

Wikipedia -- collaborative editing
Mozilla WiKi -- community example
Steve Rubel -- micro persuasion
The 2-way Web --
Robert Scoble -- Microsoft blogger
Nobel Intent

Social networking

Social networks are a way to represent how individuals and organizations are related and interconnected. Internet social networks can be a "circle of (online) friends" or a mixed network where personal and business contacts are blended within an online community space. The online space is maintained as a Web service.

Social Network --Wikipedia
Six Apart -- shared space
Blogs as Social Software

Remember when we mentioned static-position muchearlier in the chapter? Here's one example of how it works andhow it can be very useful.

Another important point is that when an element is positioned, itestablishes a containing block for its descendantelements. For example, we could absolutely position an element andthen absolutely position one of its children, as shown in Figure 9-23.

Figure 9-23

Figure 9-23. Nested absolutely positioned elements

Google Groups

Web feeds

You can find Web feeds for blogs, news, conversations or any other kind of dynamic (changing) online information. To use a feed, you "poll" it to find out what's new, and if you're interested in an item, you go get it. Web feeds are an important part of Web 2.0. They let people choose what they want to be connected to, and who they want to interact with.

Pluck -- browse for feeds using this simple reader
Comic Alert -- my daily dose of comics [alt]
Robert Scoble -- Microsoft geek blogger
More on Web Feeds
NewsGator and Feedster search for feeds
Getting started with Web feeds.

The essence of Web 2.0

More Web 2.0 Examples

example, one way to fill up the lower-right corner of a containingblock would use these values:

top: 50%; bottom: 0; left: 50%; right: 0;

In this example, the outer left edge of the positioned element isplaced halfway across the containing block. This is its offset fromthe left edge of the containing block. The outer right edge of thepositioned element, however, is not offset from the right edge of thecontaining block, so the two are coincident. Similar reasoning holdstrue for the top and bottom of the positioned element: the outer top design in which a font is given nine levels of weight. OpenType, for example, employs a numeric scale with nine values. If a font has these levels built in, then the numbers are mapped directly to the predefined levels, with 100 as the lightest variant of the font, and 900 as the heaviest.

In fact, there is no intrinsic weight in these numbers. The CSS specification says only that each number corresponds to a weight at least as heavy as the number that precedes it. Thus, 100, 200,


The fictional LINE element actually clarifies the behavior that results from setting line-height on a block-level element. According to the CSS specification, declaring line-height on a block-level element sets a minimum line-box height for the content of that block-level element. Thus, declaring P.spacious {line-height: 24pt;} means that the minimum height for each line box is 24 points. Technically, the

The 2nd category of Java applications called Java Application Servers (or app servers) and they make good use of XML. Unlike client side graphical Java apps (from the previous section) which are very standalone in their operations, app servers tie many different networked software components together in order to provide information from multiple sources to a set of client side Java apps or web browsers (maybe even running on different devices). This is shown in Figure 2. An app server is actually a conglomeration of several distributed and client/server software systems. So when you write an app server, you are actually writing many different software systems which are all networked to work together, to process information that comes from various sources, and distribute this information to a set of client apps (that you also have to write) running on different devices and platforms.

How can XML help app servers do their work? As you can see in Figure 2, in order for the app server to harvest information from such a rich variety of sources, there must be some common ground between all of these sources (each of which might be running on a different hardware and software system). This common ground is the information which flows throughout the entire system, regardless of what source the information comes from. CORBA is an example of tying disparate systems together based on the interfaces that certain remote objects implement. XML does the same thing for data. It allows these disparate systems to share information in a medium that consists only of pure information (and the structural relationships that exist inside of that information). By taking the lowest common denominator approach by using plain text to encode data, XML allows these systems to talk with each other without requiring any special binary information format converters or other service layers to translate between binary formats (for encoding data). Also, since HTTP already supports transmission of plain text, it is completely natural to move XML around using the Hyper Text Transfer Protocol through firewalls and disparate networks. This is shown in Figure 3. XML can be transmitted between systems using one of the most prevalent protocols in use today, Hypertext Transfer Protocol or HTTP 1.1 (which is the protocol of the web).

App server developers are not restricted to using HTTP, they can transmit and recieve XML information using simple remote CORBA objects and RMI objects. The key is that by using XML, it makes these remote services or objects easier to build. And, by sticking with XML, any one of these technologies can be used in your design of your app server. You can use whatever technology is most appropriate to getting the job done, knowing that all the information flows as XML and can be processed by any part of the system. The reason Java object serialization did not achieve this is because it encodes object data to a binary format that is dependent on too many things (like the JVM version, and the existence of classes when things are deserialized, etc). XML is not limited by any of these restrictions (or problems), which makes it much easier to create systems that allow XML information to flow between different subsystems. Also by relying only on the data, large portions of the system can be replaced with better or different implementations for future-readiness.