Copyrighted Material
Total Page:16
File Type:pdf, Size:1020Kb
02_579169 ftoc.qxd 3/31/05 12:26 PM Page vii Contents Acknowledgments v Foreword by Dare Obasanjo xxvii Foreword by Greg Reinacker xxix Introduction xxxi Part I: Understanding the Issues and Taking Control 1 Chapter 1: Managing the Flow of Information: A Crucial Skill 3 New Vistas of Information Flow 4 The Information Well and Information Flow 4 The Information Well 4 The Information Flow 5 The Information Flood 5 Managing Information 5 What Do You Want to Do with Information? 6 Browse and Discard 6 Read 6 Study and Keep 6 Taking Control of Information 7 Determining What Is Important to You 7 Avoiding Irrelevant Information 7 Determining the Quality of Information 8 Information Flows Other Than the Web 8 Books 8 Magazines 9 Newspapers 9 Broadcast MediaCOPYRIGHTED MATERIAL 9 The Web and Information Feeds 10 New Information Opportunities 10 New Information Problems 10 The Need to Keep Up-to-Date 11 Distractions 11 Summary 11 Exercise 11 02_579169 ftoc.qxd 3/31/05 12:26 PM Page viii Contents Chapter 2: Where Did Information Feeds Start? 13 The Nature of the Web 13 HTTP 14 HTML 14 XML 14 Polling the Web 14 Precursors to RSS 17 MCF and HotSauce 17 Netscape Channels 17 The Microsoft Channel Definition Format 18 RSS: An Acronym with Multiple Meanings 18 RSS 0.9 19 RSS 0.91 19 RSS 1.0 19 RSS 0.92, 0.93, and 0.94 19 RSS 2.0 19 Use of RSS and Atom Versions 20 Summary 21 Exercises 21 Chapter 3: The Content Provider Viewpoint 23 Why Give Your Content Away? 23 Selling Your Content 24 Creating Community 25 Content to Include in a Feed 25 The Importance of Item Titles 25 Internal Links 25 One Feed or Several? 26 Structuring Topics 26 Blogging Tools 26 Wikis 28 Publicizing Your Information Feed 28 Deciding on a Target Audience 28 Registering with Online Sites 28 How Information Feeds Can Affect Your Site’s Visibility 29 Advertisements and Information Feeds 29 Power to the User? 30 Filtering Out Advertisements 30 Summary 31 Exercise 31 viii 02_579169 ftoc.qxd 3/31/05 12:26 PM Page ix Contents Chapter 4: The Content Recipient Viewpoint 33 Access to Information 34 Convenience 34 Timeliness of Access 35 Timeliness and Data Type 35 Timeliness and Data Source 35 Newsreaders and Aggregators 36 Aggregating for Intranet Use 36 Security and Aggregators 36 Directories 37 Finding Information about Interesting Feeds 38 The Known Sites Approach 38 The Blogroll Approach 39 The Directory Approach 41 Filtering Information Feeds 42 Filtering Blogs 42 Summary 42 Chapter 5: Storing, Retrieving, and Exporting Information 43 Storing Information 44 Storing URLs 44 Storing Content 44 Storing Static Files 44 Relational Databases 45 RDF Triple Stores 46 Two Examples of Longer-Term Storage 46 Onfolio 2.0 46 OneNote 2003 50 Retrieving Information 52 Search in Onfolio 2.0 53 Search in OneNote 2003 54 Exporting Information 55 Exporting in Onfolio 2.0 55 Exporting in OneNote 2003 55 Summary 56 ix 02_579169 ftoc.qxd 3/31/05 12:26 PM Page x Contents Part II: The Technologies 57 Chapter 6: Essentials of XML 59 What Is XML? 60 XML Declaration 62 XML Names 62 XML Elements 62 XML Attributes 63 XML Comments 64 Predefined Entities 64 Character References 65 XML Namespaces 66 HTML, XHTML, and Feed Autodiscovery 68 Summary 70 Exercises 70 Chapter 7: Atom 0.3 71 Introducing Atom 0.3 72 The Atom 0.3 Specification 72 The Atom 0.3 Namespace 72 Atom 0.3 Document Structure 72 The feed Element 73 The title Element 74 The link Element 74 The author Element 74 The id Element 74 The generator Element 75 The copyright Element 75 The info Element 75 The modified Element 75 The tagline Element 75 The entry Element 76 Using Modules with Atom 0.3 78 Summary 79 Exercises 79 Chapter 8: RSS 0.91 and RSS 0.92 81 What Is RSS 0.91? 82 The RSS 0.91 Document Structure 82 The rss Element 83 The channel Element 83 x 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xi Contents Required Child Elements of channel 83 Optional Child Elements of channel 84 The image Element 85 The textInput Element 85 The item Element 86 Introducing RSS 0.92 87 The RSS 0.92 Document Structure 87 New Child Elements of the item Element 87 The cloud Element 88 Summary 88 Exercises 88 Chapter 9: RSS 1.0 89 What Is RSS 1.0? 89 RSS 1.0 Is RDF 90 RSS 1.0 Uses XML Namespaces 90 RSS 1.0 Uses Modules 91 The RSS 1.0 Document Structure 91 The channel Element 93 The items Element 93 The image Element 94 The item Element 94 The textinput Element 95 Some Real-World RSS 1.0 95 Summary 98 Exercise 99 Chapter 10: RSS 1.0 Modules 101 RSS Modules 101 The RSS 1.0 Official Modules 102 RDF Parser Compatibility 103 Module Compatibility 103 The Content Module 103 The content:items Element 104 The content:item Element 104 The Dublin Core Module 105 The Syndication Module 107 Including Other Modules in RSS 1.0 Feed Documents 108 Adding the Namespace Declaration 108 The Admin Module 108 The FOAF Module 108 Summary 109 xi 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xii Contents Chapter 11: RDF: The Resource Description Framework 111 What Is RDF? 112 Simple Metadata 112 Simple Facts Expressed in RDF 112 The RDF Triple 113 Using URIs in RDF 113 Directed Graphs 114 How RDF and XML Are Related 115 What RDF Is Used For 115 RDF and RSS 1.0 116 RDF Vocabularies 117 Dublin Core 117 FOAF 117 RDF Toolkits 118 Jena 118 Redland 118 RDFLib 118 rdfdata.org 118 Summary 118 Chapter 12: RSS 2.0: Really Simple Syndication 121 What Is RSS 2.0? 121 XML Namespaces in RSS 2.0 122 New Elements in RSS 2.0 122 The RSS 2.0 Document Structure 122 The rss Element 122 The channel Element 123 The image Element 124 The cloud Element 125 The textinput Element 125 The item Element 126 An Example RSS 2.0 Document 126 RSS 2.0 Extensions 127 The blogChannel RSS Module 127 Summary 128 Chapter 13: Looking Forward to Atom 1.0 129 Why Another Specification? 130 Aiming for Clarity 130 Archiving Feeds 130 xii 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xiii Contents The RDF Issue 130 The Standards Body Aspect 131 What Is Atom? 131 Further Information about Atom 1.0 131 Atom 1.0 Document Structure 132 The XML Declaration 132 The feed Element 132 The head Element 133 The entry Element 133 Extending Atom 1.0 Documents 134 Other Aspects of Atom 1.0 134 The Atom Publishing Protocol 134 An Atom Entry Document 135 The Atom Notification Protocol 135 Atom Feed Autodiscovery 136 Summary 136 Part III: The Tools 137 Chapter 14: Feed Production Using Blogging Tools 139 Movable Type 140 WordPress 146 Blojsom 147 Summary 154 Chapter 15: Aggregators and Similar Tools 155 Overview of Desktop Aggregators 156 Managing Subscriptions 156 Updating Feeds 156 Viewing Web Pages 156 Individual Desktop Aggregators 157 Abilon 157 ActiveRefresh 159 Aggreg8 160 BlogBridge 161 Firefox Live Bookmarks 162 Google News Alerts 162 Habari Xenu 163 NewzCrawler 164 Newsgator 165 Omea 166 xiii 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xiv Contents Onfolio 168 RSS Bandit 169 Thunderbird 1.0 170 Summary 171 Exercise 172 Chapter 16: Long-Term Storage of Information 173 Choosing an Approach to Long-Term Storage 174 The Use Case for Long-Term Storage 174 Storage Options 174 Choosing Information to Store 174 Determining Who Will Access the Data 175 Ease of Storage 175 Choosing a Backup Strategy 176 Characteristics of Long-Term Storage 176 Scalability 176 Availability 176 Software to Support Long-Term Storage 177 Onfolio 177 Microsoft OneNote 178 Microsoft SQL Server 2005 179 Summary 180 Chapter 17: Online Tools 181 Advantages and Disadvantages of Online Tools 181 Registration 182 Interface Issues 182 Online Tools When Mobile 182 Cost of Online Tools 182 Stability of Access 183 Performance 183 Notifications 183 Cookies 183 Using Multiple Machines 183 Making a Choice 184 Choosing Between Individual Online Tools 184 Bloglines 184 Feedster 185 Furl 186 Google News Alerts 187 Kinja 188 xiv 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xv Contents Newsgator Online 190 Rollup.org 191 Syndic8.com 192 Technorati 193 PubSub.com 194 Summary 194 Chapter 18: Language-Specific Developer Tools 195 Python Tools 195 PyXML 196 RSS.py 196 Universal Feed Parser 196 xpath2rss 196 Chumpologica 196 PHP Tools 196 lastRSS 197 MagpieRSS 197 Java Tools 197 ROME 197 Jena 197 The Redland RDF Application Framework 198 XSLT Tools 198 Perl Tools 198 XML::RSS 199 Support for XSLT 199 The rss2html Module 199 The Regular Expressions Approach 200 Miscellaneous Tools 200 Useful Sources 200 Summary 201 Part IV: The Tasks 203 Chapter 19: Systematic Overview 205 Before You Start 206 Python 206 Recommended Downloads 206 States and Messages: Exchanges Between Client and Server 207 Resources and Representations 207 States and Statelessness 208 RPC vs. Document-Oriented Messaging 208 xv 02_579169 ftoc.qxd 3/31/05 12:26 PM Page xvi Contents Communication Layers 210 Web Languages 210 The HTTP Client 210 Try It Out: Client Requests 210 Server Response 212 Acronym City 214 Application Layers 214 Server Producer: Producing Feeds 214 The HTTP Server 214 Sockets and Ports 215 Try It Out: Serving an RSS Feed 216 Getting Flexible 219 Try It Out: Improved Version with Python 220 Serving and Producing 221 Client Consumer: Viewing Feeds 222 Single-Page View 223 Three-Pane View 223 Syndication, the Protocol 224 Polling 225 Reducing the Load 226 Try It Out: HTTP Client with gzip Compression 227 The Trade Off 230 Client Producer: Blogging APIs 230 XML-RPC 231 RESTful Communications 232 Server Consumer 233 Weblog Comments 233 Trackback 233 Architectural Approaches 234 Summary 234 Exercise 234 Chapter 20: Modeling Feed Data 237 Model or Syntax? 237 The Conceptual Feed 238 The Feed-Oriented Model 238 Source or Styled?