Preface

Whether you consider the first blogs to be the online journals started around the time Jorn Barger coined the term “weblog” in 1997, or the “what’s new” pages at NCSA and Netscape shortly after the birth of the Web, or the political pamphlets of American Revolutionary War times, you have to acknowledge that the concept of blogging is not entirely new. Blogging is just another word for writing online.

What is new is the widespread adoption of blog technology—newsfeeds and publishing protocols—on the Web. In the late 1990s, blog software and Web portal developers needed standard data formats to make it easy to syndicate content on the Web. Thus, RSS, Atom, and other XML newsfeed formats were born. They needed standard protocols for publishing to and programming the Web. Thus, XML-RPC, SOAP, and web services were born.

Now, thanks to the explosion of interest in blogging, podcasting, and wikis, those same developer-friendly blog technologies are everywhere. Newsfeeds are a standard feature of not just blogs, but also of Web sites, search engines, and wikis everywhere. Computers, music players, and mobile devices are tied in, too, as newsfeed technologies become a standard part of browsers, office applications, and operating systems. Even if you don’t see opportunities for innovation here, your users are going to ask for these technologies, and now’s the time to prepare.

This book is about building applications with those blog technologies. For the sake of the cynical developers in the audience, we start with a few use stories that show some truly new ways of collaborating using blog technology. Then, we explain what you need to know about blog technology—and not just RSS and Atom. We also cover blog server architecture, blogging APIs, and web services protocols.

To help you get started, we’ve included what amounts to a blog technology developer’s kit, including a complete blog server, newsfeed parsers, a blog client library and, in part 2, ten immediately useful blog applications, or blog apps, written in Java and C#. The blog server and the ten applications, known as the Blogapps server and Blogapps examples, are both maintained as an open source project at http://blogapps.dev.java.net, where you’re welcome to help maintain and improve them.

I hope we’ve provided everything you need to start building great blog applications, and I look forward to seeing what you build. Enjoy!