Writing Projects II

Don Box's Spoutlet

Syndication

I just blogged about starting a new writing project. Independent of whether I go public on a Wiki or do it the old fashioned way, here are the potential writing projects I'm thinking about.
 
Project A - Joint Avalon/Indigo project with ChrisAn
 
Either a single book or a jointly authored two volume book on the experience of writing Windows programs in an Avalon/Indigo world. 
 
Pros
  • A chance to work with ChrisAn
  • My coauthor's availability constraints are similar to my own
  • It would force us both to really grok each other's technology and hopefully come up with a coherent story that incorporates both.
  • I'd buy and probably read this book if I weren't involved in the project
 
Cons
  • The shape of the book is the least formed (at least in my head)
  • Chris is already planning on doing an Avalon book, so I'm loathe to derail him
  • Unknown how our writing styles would mesh
 
Project B - New book that would subsume my CLR book and include integrated Indigo and maybe even (gasp) COM
 
A book on how code loads, runs, and interacts on the platform I call home.
 
Pros
  • The most logical successor to what I've written to date
  • A chance to "fix" the stories from my previous books - I think of this project as Essential COM/XML/NET 3rd Edition
  • The most architectural of the lot - I've been wanting to try to write for the "upscale" market :-)
  • It would most likely be a solo project which is one of my motivations for writing
  • I'd buy and read this book if I weren't involved in the project
Cons
  • Solo projects get lonely, so I'd need an angel reviewer
  • This book would likely be even less tutorial-like than anything I've written before, so readers may be disappointed if they're looking for something super-practical
 
Project C - Essential .NET Volume 2 - Indigo
 
The obvious technology book on Indigo - probably co-authored with one or more friends.
 
Pros
  • A chance to work with friends and maybe get some new blood into the authoring game
  • I have a lot of passion for the story and would love to tell it
  • I would stop getting those "where's Essential .NET Volume 2" emails
 
Cons
  • It's what people expect me to do
  • I run the risk of alienating friends and co-workers if I don't give their feature adequate coverage
  • I think the story is pretty baked (in my head at least), so the risk of getting bored is non-zero
  • I'd buy and but probably only scan this book if I weren't involved
 
Project D - Essential .NET Volume 1, 2nd Edition
 
Update my last book for Whidbey/Orcas.
 
Pros
  • There are a couple of chapters I'd love to rewrite
  • If I target Whidbey, the technology would be out this year (and maybe the book would too)
  • If I skip Whidbey and target Orcas, there'd be sufficient evolution to easily warrant a new edition. Doing a Whidbey edition is as much about me wanting to rewrite a few chapters as it is feature growth.
  • The amount of work is potentially smaller assuming I can stop myself from rewriting the whole thing
 
Cons
  • Least aligned with where my head is at on a day to day basis
  • I'd buy this book if I weren't involved, but I don't know if I'd ever crack it open
  • I'd probably need a co-author and it's not clear who I'd work with
 
 
Project E - Essential COM, 2nd Edition
 
Keep the first chapter (or perhaps 2) intact and rewrite the back 2/3rds to take into account contexts, the catalog, and remove references to the class store and NT5 :-)
 
Pros
  • People love this book and continue to buy it. It's painful that at least one chapter (Apartments) is woefully out of date.
  • It would be a lot of fun to write the sidebars on how the CLR and Indigo improved (or made worse) features and characteristics of COM
  • The Raymond Chen crowd ain't going away anytime soon
  • COM is (still) love
  • I'd buy this book and read it immediately if I weren't involved in the project
 
Cons
  • I run the risk of ruining a book that a lot of people love. Petzold should have stopped at the 3rd (or maybe 4th) edition of Programming Windows.
  • The project has the least practical use for the generation of programmers entering the industry now
 
Comments/flames welcome.

Posted Feb 26 2005, 10:32 PM by don-box

Comments

casey chesnut wrote re: Writing Projects II
on 02-26-2005 7:22 PM
i'm for chris doing an avalon book and you doing the indigo book. mixing the 2 would be cool, but isnt necessary, and might get in the way.

i 'thought' at one point you wrote a forward for a book (COM interop) saying that it was the last COM book that needed to be written. maybe it was somebody else? so if you wrote another, then i would lose trust in you. at this point, COM is necrophilic love. i definitely would not buy it.

nor another CLR book. i've had enough. at some point i actually want to code an app to do something.
Don Box wrote re: Writing Projects II
on 02-26-2005 7:26 PM
Yes, I wrote the cover quote for Adam Nathan's COM/CLR book and indeed say it was the last COM book that needed to be written.

If I did Essential COM, 2nd Edition, I would hope that it would simply replace the old edition, not introduce a new one into the market.

As for the necrophilia comment, COM is done but it sure ain't dead.

DB
Mujtaba Syed wrote re: Writing Projects II
on 02-26-2005 8:43 PM
I would love to read your side of the Indigo story in a book form (not as a wiki).

Claudio Brotto wrote re: Writing Projects II
on 02-26-2005 11:25 PM
All of them, please !
Ok ... just kidding !
I would really like to read any of the books you mentioned, but if I have to write my personal ranking, well, here it is (order by rank desc):
B - C - E - A - D.
C and E are very close as to my reading preferences, the only reason I have ranked C better than E is that ... COM is an old technology, with some good text already written, while Indigo is yet to come, and I believe people are waiting for an in-depth book about it.
Ciao
Claudio
Marco Russo wrote re: Writing Projects II
on 02-27-2005 1:32 AM
Go for B (Essential COM/XML/NET)

Reason: you are one of the few people on the world who could write an outstanding book for each one of this topic (and you already did it!): COM (by interop, of course), NET and XML.
Today we build solutions mixing all of this.
Indigo would be a first-class citizen in this book.

No other books are ambitious like this one. This should give you enough motivation to finish it before the successor of .NET appears :-)

Marco
Fumiaki Yoshimatsu wrote re: Writing Projects II
on 02-27-2005 1:43 AM
B and/or E. I completely agree with Marco' comment above. I'll definitely seek the way to translate to Japanese for B and E. I can live with if C and the portion of A are on blog/wiki entries. I'd like to read B and E on the paper than on the screen however.
Daniel Moth wrote re: Writing Projects II
on 02-27-2005 2:41 AM
Project D - Essential .NET Volume 1, 2nd Edition
Anonymous Coward wrote re: Writing Projects II
on 02-27-2005 2:41 AM
My vote goes for B. Not only it has the least cons and the most pros (ok, it's on par with E, but that's about COM and my selfish little self wants to forget about COM, not deal with it one more time), but:

- I think A is definitely not the best idea. Indigo is a big monster, Avalon is a big monster. Mixing them in a single book would be monstruous. Two volumes, maybe, but what would link them? You could just write a book on Indigo and ChrisAn a book about Avalon.
- E? I develop new software, so I'm less interested in old technologies. Of course, I'm being selfish and ignorant of other people's needs.
- D? I think it would be a subset of what you could do in B...
- C? I think you could do the same thing in B...

And, finally, B: It looks like a very interesting superset of C and D, it seems more challenging than E and we already established that A is not the best idea you could come up with. By the simple process of elimination we established what is the greatest book you could author in the near future. Good luck and I can't wait for the book to come out!
Paolo Pialorsi wrote re: Writing Projects II
on 02-27-2005 5:19 AM
I think you should write B first, in order to discover the internals of .NET and COM in the Indigo World, because as Marco stated you're one of the few people able to do so in the right way! By the way I'd like also C. Why don't you Wiki C and write B? I like blogs and Wiki, but I love reading books touching the paper and feeling it's smell! :-)
kpako@yahoo.com (Dare Obasanjo) wrote Re: Writing Projects II
on 02-27-2005 7:04 AM
I agree with Casey. I'd like to see you do an Indigo book and Chris do an Avalon book. My worry is that the book would not have enough of either topic due to space restrictions and more importantly both technologies have nothing to do with each other besides the fact that they are being produced by Microsoft at the same time.
Curt wrote re: Writing Projects II
on 02-27-2005 7:27 AM
"B" please!
Brendon Schwartz wrote re: Writing Projects II
on 02-27-2005 7:39 AM
I would probably be most interested in either B or C, it would be great to have you cover Indigo and to see a great book about it. Most likely I would not read a book on project A, I feel Avalon and Indigo are two different books for two different products. Project D and E would be more for reference and updated material than they would be for new interesting ideas. Good luck at whatever choice you make I am sure they will be interesting books.
martin@hueser.name (Martin Hueser) wrote Re: Writing Projects II
on 02-27-2005 8:06 AM
A book on Indigo explaining the "Why" and not only the "How" would be great. I learned COM by reading "Essential COM" and I would love to have a similar book on Indigo.
Marlon Smith wrote re: Writing Projects II
on 02-27-2005 8:18 AM
My vote is for Project B. (IMHO) There are enough books on COM and CLR. Project A could be covered in one book. Any new book on COM or the CLR would be reference for me. Your second Con for project B will be covered by the number of practical books, blogs and msdn articles.

I expect your Indigo book to be more about the "WHY" of Indigo's implementation, along with guidance for extending and using it. You guys have done such an excellent job of making so easy to understand it from a coding perspective it would be very disappointing for your book to be practical.
Marlon Smith wrote re: Writing Projects II
on 02-27-2005 8:20 AM
Correction: Project could "NOT" be covered in book.
Don Box wrote re: Writing Projects II
on 02-27-2005 9:44 AM
Marlon,

Your statement of "it would be very disappointing for your book to be practical" has made my month.

DB
Peter Hornby wrote re: Writing Projects II
on 02-27-2005 11:05 AM
Write a book with Clemens.

Any book.
Mike Petry wrote re: Writing Projects II
on 02-27-2005 11:42 AM
Us COM programmers love you too. Keep us in mind, we need all the love we can get.
apra la fonte wrote re: Writing Projects II
on 02-27-2005 3:20 PM
Do the COM book and include XPCOM.
http://www.mozilla.org/projects/xpcom/
JosephCooney wrote re: Writing Projects II
on 02-27-2005 4:20 PM
my votes go for C or D in that order. Please please please please write another book.
Jeff Donnici wrote Don Box's Writing Itch
on 02-27-2005 5:42 PM
Marlon Smith wrote re: Writing Projects II
on 02-27-2005 6:43 PM
http://pluralsight.com/blogs/dbox/archive/2005/02/26/6194.aspx#6223

hehe, Glad I could help.
William wrote re: Writing Projects II
on 02-27-2005 7:53 PM
My vote would be pure Indigo. I don't see how Avalon and Indigo would go together and run the risk of covering neither in depth. A deep book focused on Indigo is what we will all need after it is released IMHO. Client/Server, Peer to Peer, Server designs, threading, maybe fibers, etc. Cheers.
Jef Newsom wrote re: Writing Projects II
on 02-27-2005 8:08 PM
How about:
- A book on teaching your children to program dynamic languages.

- Programming LISP on the CLR.

Barring either, I would vote for B or C (in that order).
Ed Pinto wrote re: Writing Projects II
on 02-27-2005 9:44 PM
Project C
It could be the authoritative work on the platform and the paradigm you cherish and have invested in so heavily.

Why does it matter if this is obvious, or if people expect it of you? The Indigo team has made the service and messaging paradigm as simple as it can be. However, there is still a significant gap between what average devs can write and the vision of loosely coupled services that Indigo is designed to support. Filling that gap will take another significant effort from Microsoft, ISVs, enterprises, and SIs. You are uniquely positioned to give this audience the cohesive guide enabling them to this end.
Ranjan wrote re: Writing Projects II
on 02-27-2005 9:48 PM
<Off-topic>
Apart from missing the Essential XML (not available in India :( ), I kinda like the way things come up in your books. "Come up". I don't know if you've read James Clavell and his Oriental Saga (fiction) but thats how I feel the style is (I dont know who came up with it, you or him or someone else) but it surely suits my way of thinking and thats why i like both.
</Off-topic>
I would actually love to read something on Indigo, but surely you should write about web-services now. Thats a religion which needs a bible.
Ian Ringrose wrote re: Writing Projects II
on 02-28-2005 12:44 AM
Project C - Essential .NET Volume 2 - Indigo

I want this, however it may be better to wait a bit so as to see if version 1 of Indigo makes it.

Project D - Essential .NET Volume 1, 2nd Edition

This is needed, as there is no other book that goes into so match detail. I think of Essential .NET as being the source for all other books/training on .NET, so if it not updated then Microsoft may have problem getting the real (detailed) story about .NET v2 out to people.

Project E - Essential COM, 2nd Edition

Updating the chapter on Apartments would be good, more importantly is keeping it in print for the next 20 years. (Have you tried to get a copy of Inside OLE recently?) There will still be COM code to be maintained 20 years from now, by then all of the COM articles would be long gone from MSDN and the web.
Mesalem wrote re: Writing Projects II
on 02-28-2005 12:59 AM
Definitely Indigo deserves a book of its own
Andreas Häber wrote re: Writing Projects II
on 02-28-2005 4:00 AM
I'd prefer one book about Avalon and antother book about Indigo. "Essential .NET Vol. 2 - Indigo" seems nice too. And maybe "Essential .NET Vol.3 - Avalon" by Chris too?

An update to Volume 1 would be welcomed too (maybe co-authored with Chris Brumme? Too bad the information flow on his blog stopped. Hope that changes when beta2 is out the door). 1st edition was very good, thanks for writing it!

Sorry, I haven't read "Essential COM" - I learned COM from Dale Rogerson's "Inside COM" :) Doubt I'd buy the 2nd edition...
Christian Romney wrote re: Writing Projects II
on 02-28-2005 5:34 AM
Don,
It sounds like B is Essential .NET Volume 1 + Indigo. I guess I'm not really groking the difference among the choices. Perhaps you should start with the already wonderful Ess.NET, re-write the 2 chapters you mention, tack on the section on Indigo, and insert the COM stuff before the existing Interop section. It's a very tall order, but this would be a book I'd definitely buy and drop $60 for. I'm thinking something the thickness of the Balena/Petzold books but with your unmatched writing style and which will require aspirin with every chapter because of how mindblowingly awesome the hardcore technical content you've got in that noggin is. To get around the nags, call is a combined Ess .NET Volume 1 (2nd Ed.) + Volume 2 in one tome. I'd gladly trash some dead trees on my shelf to make a new home for this puppy.
IM wrote re: Writing Projects II
on 02-28-2005 5:41 AM
Don, you should climb Mount Everest, while programming in Mono on a Powerbook. And write an inspirational tome about the experience.
I'd possibly buy that book.
But definately no COM!
Mike Petry wrote re: Writing Projects II
on 02-28-2005 7:04 AM
Please don't forget about your subjects, oh King of COM.
Jiho Han wrote re: Writing Projects II
on 02-28-2005 7:22 AM
I would vote for something on Indigo. And I suggest that you create a wiki/blog/vanilla website for anything COM stuff with updated content. I don't think writing a book on a technology that is being phased out(not dead yet, I know) makes much sense. I'd still go out and buy the original COM book and use the web site as a reference/errata, etc.
David Angers wrote re: Writing Projects II
on 02-28-2005 12:56 PM
When I read your CLR book I got the impression (whether correct or not) that the book was "I (Don Box) needed to understand some things about the CLR in order to do Indigo and this is what I learned." I found the result very fascinating and useful. So my suggestion would be that your next book be about whatever you are currently exploring for what might be coming next (maybe like the "what is the contract" issues). A book of the result would then help me prepare for the next thing. Even better, if it was developed as a wiki, then I could see some of the discovery process as well. Perhaps the starting toc would be a list of questions that need to be answered.
Tom Sioungaris wrote re: Writing Projects II
on 02-28-2005 1:24 PM
Hey Don, I recall watching an extract from one of the SOAP presentations you've given at a WS Dev Con where you mention : "This talk is essentially the first chapter of my new book". Has that book been published yet and if it has can you please let me know of the title ? I loved that talk by the way. It's been so inspirational to me and I'm really into asynchronous messaging and Service Orientation lately. Gregor Hohpe's book "Enterprise Integration Patterns" is great but having read it I can't wait to get a deep insight of how messaging works in Indigo. I'd be great if you write a book on it so I'm all for project C.
Isn't it obvious? wrote re: Writing Projects II
on 02-28-2005 1:27 PM
There's only one sane choice!
Phil wrote re: Writing Projects II
on 02-28-2005 4:14 PM
Indigo, Indigo, Indigo
Don Box wrote re: Writing Projects II
on 02-28-2005 10:08 PM
Peter (Hornby),

Thanks for jogging my memory.

I really should spelunk the 2nd edition of Clemens' book.

I really liked the first edition, but the fact that the 2nd edition is like 3 times as thick scares me.

DB
Wil wrote re: Writing Projects II
on 03-01-2005 8:16 AM
"Building Web Services with Indigo and Java" would cover the whole potential marketplace.
Ian Cooper wrote What is a Don Box book?
on 03-01-2005 8:51 AM
Maybe you are asking the wrong question. Maybe the right question is 'what is a Don Box book'. For me, as a reader, it seems that what I value about a Don Box book is that:

It is not a tutorial or just a rehash of the MSDN documentation for the API.
It is perhaps not even about application development using the API.
It is not an 800 page - they pay me by the word - monster.
It is an attempt to capture the essence of a technology, its poetics if you like, the kernel that once understood give you that perspective to understand the details. Essential COM is the nadir here.

So I feel that you have already captured the latter for COM and updating the book for more recent detail would not increase the value of the original. And you have already looked at the CLR.

So where can you give me the same insight you delivered in Essential COM and Essential.NET that is new. Are you too close on Indigo to see this, too in the detail.

Here is an left-field thought. Maybe you and Chris should swap technologies, try to understand the essence of each others technologies and then relay that information to us.

Keith Hill wrote re: Writing Projects II
on 03-01-2005 3:34 PM
Have a co-author do the bulk of the work to update Essential .NET to the 2nd edition (choice D). Perhaps you could do some rewrites but let someone else do the boring update stuff. It should have a chapter on generics though. Then focus your time on choice C, Essential Indigo. Of course, you might want to use the official name assuming it will be something different from Indigo.
Don Box wrote re: Writing Projects II
on 03-01-2005 5:38 PM
Ian,

Thanks for the nice comments.

At this (late) point in the product cycle, I don't think I'm too close to the facts of Indigo to see the truth, although last year I might not have said that.

I also suggested to Chris that we swap technologies, which is how we came up with Project A. I firmly believe that Project A will yield the same benefits as the "presto-chango" approach, but we'd wind up with a more cohesive story doing the whole thing together.

DB




Antonio Di Motta wrote Nuovo libro per DB?
on 03-02-2005 3:33 PM
MSDN TV wrote re: Writing Projects II
on 03-10-2005 6:54 AM
Don, when are you gonna re-appear on MSDN TV or the .NET show ? These latest shows about Small businnes accounting platforms and stuff I find really lame. We want more Indigo related stuff and more of you.
Bill Sempf wrote re: Writing Projects II
on 03-10-2005 8:28 PM
Irrespective of your next project, it would have been great to have seen you present at the book Publishing Summit again this year! I'm sure you could have gotten (more than) a little feedback on your next project plus a whole host of co-authors! Hope to see you next year! Haven't seen anyone delete powerpoint.exe since ... last year!