Books & Videos

Table of Contents

  1. An Overview of XMPP

    1. Chapter 1 Introduction

      1. What Can You Do with XMPP?
      2. Brief History
      3. Open Source and Open Standards
      4. Extensibility
      5. Summary
    2. Chapter 2 Basics of XMPP

      1. Architecture
      2. Addresses
      3. Streaming XML
      4. Communication Primitives
      5. Hello Hello World World: Building a Basic XMPP Application
      6. Summary
  2. The XMPP Toolkit

    1. Chapter 3 Presence

      1. Is Anybody Home?
      2. Authorization Required: The Subscription Handshake
      3. How Presence Is Propagated
      4. Availability Status
      5. Presence Priorities
      6. Directed Presence
      7. Going Offline
      8. Rich Presence
      9. Presence and Rosters
      10. Using Presence
      11. Summary
    2. Chapter 4 Instant Messaging

      1. I Think, Therefore IM
      2. Chat Sessions
      3. Are You There? Chat State Notifications
      4. Looks Matter: Formatted Messages
      5. Who Are You? vCards
      6. Talk to the Hand: Blocking and Filtering Communication
      7. More Messaging Extensions
      8. Summary
    3. Chapter 5 Discovering the World

      1. Items and Info
      2. Using Service Discovery with Servers and Services
      3. Using Service Discovery with Clients
      4. Summary
    4. Chapter 6 Data Forms

      1. Basic Structure
      2. Using Data Forms
      3. Defining Your Terms: Form Types
      4. Including Media in Data Forms
      5. Summary
    5. Chapter 7 Multi-Party Interactions

      1. Starting the Party
      2. Groupchat Basics
      3. Crowd Control
      4. What’s in a Nick?
      5. Configure This!
      6. Privacy, Security, and All That Jazz
      7. MUC As a Data Transport
      8. Summary
    6. Chapter 8 Publish/Subscribe

      1. Why It Matters
      2. Quickstart
      3. Subscriptions
      4. Publishing and Receiving Notifications
      5. Payloads: To Send or Not to Send?
      6. Items: To Store or Not to Store?
      7. Discovering Nodes
      8. Node Management
      9. Personal Eventing: PubSub Simplified
      10. Summary
    7. Chapter 9 Jingle: Jabber Does Multimedia

      1. To Instant Messaging and Beyond
      2. The Jingle Model
      3. Making a Call
      4. A Swarm of NATs
      5. Jingle on ICE
      6. Additional Jingle Actions
      7. Summary
    8. Chapter 10 Sending Binary Data

      1. Starting Small: Bits of Binary
      2. Moving On Up: Transferring Midsize Files In-Band
      3. Thinking Big: Sending Large Files Out-of-Band
      4. Negotiating File Transfer
      5. Summary
    9. Chapter 11 Remote Commands

      1. Controlling Clients
      2. Providing Custom Commands
      3. Advanced Workflows: SOAP, RPC, IO Data
      4. Summary
    10. Chapter 12 Connection Methods and Security

      1. Negotiating an XMPP Stream
      2. Authentication Options
      3. Encrypting the Connection
      4. Server Federation
      5. Server Components
      6. BOSH: XMPP over HTTP
      7. Serverless Messaging
      8. XMPP Security
      9. Summary
  3. Putting It All Together

    1. Chapter 13 Design Decisions

      1. Is XMPP the Right Choice?
      2. How the XMPP Community Works
      3. Writing XMPP Software
      4. Extending XMPP
      5. Summary
    2. Chapter 14 Building an XMPP Application

      1. The CheshiR Microblogging Platform
      2. First Sprint: The CheshiR XMPP IM Bot
      3. Second Sprint: Configuring the CheshiR XMPP IM Bot
      4. Third Sprint: Scaling the CheshiR XMPP Service Using a Server Component
      5. Fourth Sprint: Registering with the CheshiR Server Component
      6. Fifth Sprint: Extending the Server Component with Rosters
      7. Future Sprints
      8. A CheshiR Server Module or Dedicated Server?
      9. Summary
  4. Appendixes

    1. Appendix A Guide to XMPP Specifications

      1. XMPP RFCs
      2. XMPP Extension Protocols
      3. Humorous XEPs
      4. XMPP Compliance Suites
    2. Appendix Popular Servers, Clients, and Libraries

      1. Servers
      2. Clients
      3. Libraries
    3. Appendix Further Practical Considerations

      1. Getting Started
      2. Debugging Tools
      3. Network Setup
  1. Glossary

  2. Bibliography

  3. Colophon