I discussed this project with a few people and GUADEC and finally have gotten around to actually starting it. Below is a rough outline of what could become a series of books written about D-Bus and related technologies.

This first book will concentrate on the D-Bus concepts , trying to introduce the model, terminology and best practices with an eye towards practical knowledge as one of the biggest barriers to developing with D-Bus is understanding the base concepts. Because of this the book will focus solely on the 1.0 D-Bus core API with a little place at the end reserved for various authors to briefly introduce various binding API’s. The hope is that other books would be forthcoming which would go into depth on the bindings subject.

This will be my first book and I haven’t decided on anything other than I am going to write it. I’ll leave all the nitty gritty details (such as how we are going to publish it) until after I have some content to show.

Please read over the outline and give suggestions on topic you would like to see covered by the book.

Working Title: Driving D-Bus

Forward
In the beginning (History of D-Bus)
Basic Concepts
	Object Oriented Design
	Bus'
		System
		Session
		Arbitrary
			Transports
		Bus API Overview
	Bus Names
        Objects
	Interfaces
	Messages
		Method Calls
		Method Returns
		Error Returns
		Signals
	Filters
	Threading
	The Life-cycle of a Message
		Async vs Sync (pending calls)
	Introspection

Creating your first app to talk to the bus
	List Names

Creating your first provider/consumer pair
	Who's the server and who's the client

Creating a more complex app for listening to HAL events

Bypassing the bus - creating your own server

Spot the mistakes
	Methods of debugging the bus
	examples of apps with obvious flaws that D-Bus writers commonly run into

Reaching Higher Ground - An overview of select bindings
	GLib
	Python
	Qt4

Refrence
Glossary
Extended Reading

[read this post in: ar de es fr it ja ko pt ru zh-CN ]