The Live Web Book

Much of the promise of the Web remains unfulfilled. New patterns of Internet usage such as Twitter, RSS, Facebook, and so on point to an emerging real-time, “live” Web of events that is more fluid and dynamic than older, static, Web 2.0-style, interactive Web sites.

While much has been made of “the cloud” and numerous consumer-grade cloud-based services are available, our current models of building distributed applications make contextually integrating various APIs—particularly those that make heavy use of real-time data—overly complex.

People want to participate on the Web on their own terms and in their own context. A Web comprised of a network of equals is more useful, powerful, and valuable than a Web of clients and servers with their one-sided services, terms, and privacy policies.

The Live Web presents a new model for Web interactions based on events, endpoints, and rules that embraces the real-time Web and moves beyond the client-server model. The Live Web presents a new programming language called KRL that helps programmers understand this new model of interaction. KRL is uniquely suited to this new model that integrate events, endpoints, and rules into a system that can be used to make the most of the real-time Web.

The Internet is awash in real-time data: Twitter and Facebook feeds, instant search, PubSubHubBub, webhooks, and news alerts are just a few examples.  Of course, real-time technologies like instant messaging have been in use since the Internet was invented, but recently the pace of real-time messaging and interaction has increased.  The real-time Web promised increased user engagement.  Further, users have come to expect instantaneous access to all kinds of data.  “Real-time information delivery will likely become ubiquitous, a requirement for almost any website or service.” (seeExplaining the Real-Time Web in 100 Words or Less By Marshall Kirkpatrick / September 22, 2010)

At the same time, the focus on real-time presents significant problems for developers:

  1. Traditional technologies we’ve used to program the Web can be cumbersome in real-time scenarios.
  2. Mental models that developers have used in Web programming must be augmented with new ideas about how to architect and design applications that use—and produce—real-time interactions.
  3. The shear number of APIs and interaction modalities complicate developing sophisticated real-time applications.
  4. Real-time interactions are often not confined to the Web, but cross into other application protocols, such as mail and telephony.

Consider the following examples of live Web applications:

  • A real-time auction that accepts bids via SMS or voice, stores the results in a Google spreadsheet, and posts the results to Twitter
  • A smartphone app that alerts you to the fact that the book you put on your Amazon wish list this morning is available right now and on sale in the Borders bookstore you’re walking past.
  • A email-contextualizer that gathers relevant articles from your RSS, Facebook, calendar, Eventbrite, TripIt, Plancast, and Twitter feeds and places references to them in the email you just received.

These examples show the power that can be achieved when applications work across multiple domains and multiple protocols at the same time to help users achieve their purpose. These kinds of applications typify “the Live Web” and the results are much more impressive than those achieved by building a mere Web site. There’s no reason that clients in different domains, like your smartphone and Web browser, shouldn’t be cooperating under your guidance to help you get things done. But to make that happen, we need new architectures and programming paradigms.

The Live Web describes a new programming model based on event processing for individuals and the results that can be achieved.  This programming model is well suited to the Internet and to the burgeoning array of data available online. This book introduces the ideas, concepts, models, techniques, and technologies necessary to easily create applications work across the Internet in real-time.

The Live Web speaks personally to programmers and other hands-on technologists, helping them

  1. understand the near-future Web,
  2. create applications that leverage those changes,
  3. explain and justify new application architectures to senior management, and
  4. increase value they bring to their teams, departments and organizations.

The Live Web describes event architectures, explores where they can be fruitfully used to solve real problems, and introduces the technologies necessary to fully exploit them.  Event architectures have found increasing use in the enterprise in creating distributed applications that work in real-time.  However, the applicability of event architectures to programming the broader Internet is just beginning to be explored with techniques and technologies like webhooks, websockets, and node.js.  Readers of The Live Web will be better positioned to take advantage of these technologies.

Photo credit for banner picture of spider web: Luc Viatour


3 Responses to “The Live Web Book”

  1. […] is writing a book called The Live Web, and I’m hoping that personal event networks will play a key role in explaining the power the […]

  2. […] Windley. As co-founder of Internet Identity Workshop, author of Digital Identity and The Live Web, and developer of his own rules language, Phil has educated me more than anyone about the power of […]

  3. […] Windley. As co-founder of Internet Identity Workshop, author of Digital Identity and The Live Web, and developer of his own rules language, Phil has educated me more than anyone about the power of […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: