Showing posts with label Apress. Show all posts
Showing posts with label Apress. Show all posts

Thursday, February 18, 2010

Learn Cocoa is Printed

Learn Cocoa on the Mac from Apress should be available soon. Jack Nutting, the principal author, received his contributor copies today, so they should be making their way into the channel soon.

Learn Cocoa.png

I'm excited to read this book. That may sound like an odd statement from somebody's whose name appears on the cover of the book, but Learn Cocoa has a somewhat long and unusual backstory. Before I tell you about it, though, I think it's important to make sure that Jack gets the lion's share of the credit for this book. He's the one who toiled away doing the long hours writing. Dave also worked quite a bit on the book. Me? I didn't really do very much at all. I actually kinda feel bad that my name is featured so prominently on the book, to be completely honest.

Anyway, here's the abbreviated story of how Learn Cocoa came to be.

Back in late 2004 or early 2005, Dave approached me via e-mail about writing for MacTech Magazine. I didn't know Dave at the time except by reputation. I had read many of his books back in the eighties and early nineties. In 2005, he was the Editor-in-Chief of MacTech and had come across some open source application or project of mine and was just basically cold-calling me in a search for new authors. I liked writing, so I agreed to write an article. They liked it, and I started penning the Cocoa column for MacTech on a fairly regular basis shortly thereafter.

Dave and I hit it off right away. In late 2005, Dave asked me if I'd be interested in writing a book on Cocoa. Back then, he co-owned a small publishing company which was looking to fill a hole in their catalog with a book on Cocoa. They had Dave's Learn C on the Mac and Learn Objective-C on the Mac was being written.

Now, this was before the iPhone SDK. This was when Cocoa programming was still very much a small niche, but I was desperate for a way out of my day job doing enterprise software consulting, so I jumped at the chance, even though the book wouldn't likely make me enough money to bother with, at least directly. At very least, it would raise my visibility in the Mac dev community and might lead to more enjoyable work.

I began writing it, and Dave began working with me. And believe me, I needed the help. Writing a book is not an easy task. There's quite a chasm between being able to write a decent article and being able to write a good book. During this time, Dave and I began to work out the very time-intensive mode of collaboration we ended up using on both Beginning iPhone Development and More iPhone 3 Development. We worked for several months on Learn Cocoa, but not full time. We had to work around both of our other obligations.

At different points, our schedules would get busy and make collaborating difficult or impossible. After about 400 pages had been written, and maybe 100 of those pages had been edited and revised, I got on a crazy implementation project that left almost no time for working on side work like the book. Learn Cocoa began to wither on the vine.

And then, Leopard came out. Enough stuff in Cocoa changed between Tiger and Leopard, that I knew we had to go back and basically start over. The conceptual stuff was okay (and some of that actually made it into Beginning iPhone Development, most notably the discussion of Model-View-Controller, actions and outlets), but all the screenshots and step-by-step instructions had to change.

At that point, it just seemed like the book wasn't going to happen. Dave and I went our separate ways for a while, focusing on different endeavors and I gave up on my idea of going full-time as a Cocoa developer.

Then, a couple years later, the iPhone SDK was announced. Quite literally, the moment the announcement event was over, I called Dave and told him I wanted to write about the iPhone SDK. I didn't know that he was already in talks with Apress to sell SpiderWorks's catalog of books to them, and within a week or two, Dave and I had a contract to write Beginning iPhone Development for Apress. Apress still wanted Learn Cocoa, but they wanted the iPhone book much more, and that's what Dave and I wanted to work on.

Once Beginning iPhone Development was done, Apress started asking about Learn Cocoa, but I couldn't commit right away because I needed to make money after the long haul writing with no income. When we started seeing royalties from Beginning iPhone Development, I agreed to pick up and start working on the Learn Cocoa manuscript again.

Before I actually started working on it, though, someone came up with the idea of a follow-up iPhone book: the book that became More iPhone 3 Development. I don't remember exactly how it happened, but before long, I was switched to working on More iPhone 3 Development, and a new author had been recruited to work with Dave on revising and updating the Learn Cocoa manuscript. My name would be left on as a co-author, but I wouldn't be involved with the day-to-day aspects of the rewrite. So, I blew the dust off the incomplete, partially edited, and completely obsolete Learn Cocoa manuscript, and peevishly e-mailed it over to Jack.

He wisely decided not to use most of it and tackled the subject in his own way, which I'm very glad he did. I was welcome to be part of the process, but I was busy enough with More iPhone 3 Development that I didn't really look at more than a couple of the early draft chapters.

So that's how my name ended up on a book that I haven't actually read yet, at least not in its current form. But I have read enough to know it's a really good book, so congratulations, Jack!

Monday, August 3, 2009

Me, the Hypocrite Apparently

Today, I saw somebody tweeting about signing a petition to get DRM off of the Kindle. I tweeted that the best way to "vote" on something like that is with your dollars. If you buy a Kindle and then sign a petition about the DRM on it, you haven't really given Amazon much motivation to stop using DRM. Since you bought it, you obviously didn't care enough about DRM to not purchase it, so if Amazon doesn't stop using DRM… well, they've already got your money and probably will continue getting your money in the future. At least from the point of view of an MBA, such a petition is essentially meaningless; it has about as much significance as the mewling of kittens. Money talks more loudly than petitions.

Now, I consider what I tweeted to be a truism. I wasn't particularly intending to take a stand on DRM by posting it. I was just stating a simple fact: If you feel strongly about DRM (or anything else), you shouldn't buy a product that uses it because your dollars are the only meaningful way of voting when it comes to for-profit corporations. If you want a DRM-free Kindle, you should refuse to buy a Kindle until Amazon stops using DRM.

Generally speaking, I'm not a big fan of DRM, but I'm not much of an ideologue, either. I'm practical about the whole thing. With some products, the benefits outweigh the potential harm of DRM, with others, they don't. With the iPhone, for example, the convenience and benefits outweigh the negatives by a long shot. Sure, I would rather the iPhone didn't have DRM, but I'm not going to stop using it because it has it (although it is almost certainly true that I buy less music and movies as a result of the fact that they are delivered with DRM). And, yes, the threat of having purchased apps deleted by an un-appealable decision by some unnamed person at Apple is a fear but, in reality, it's not enough of a threat to make me give up my iPhone. Maybe someday it will be, but today it's not even close.

There are other products, like the Kindle where, for me, the DRM tips the scales enough in the other direction that I don't buy the product. They don't offer enough of a benefit for me personally to offset the threat of having my books deleted behind my back, for example. Obviously, based on how well the Kindle has sold, the value proposition of the Kindle is different for me than it is for a lot of other people.

The long and short of it is that DRM is just one factor among many that I consider when making a purchase decision. Or, in other words, I'm pretty standard geek consumer.

Anyway… a little while after I tweeted that, I was basically called out as a hypocrite for making that statement because my publisher puts DRM on the electronic versions of my book. The implication being, it would seem, that you can't say anything about DRM unless you give away all of your creative output for free? Yeah, that makes sense.

Frankly, I do not like being called a hypocrite. Over the last two years, I have probably given away the equivalent of at least a thousand hours worth of my time (and probably much more) writing tutorials and sample code for my blog. Additionally, I spend at least an hour a day helping other people with programming problems over e-mail, IM and Twitter, none of which I get paid for. Now, I enjoy doing all that, but idiots like this "John Doe" sometimes make me really regret the time I've spent in that way. If I had used all that time doing contracting work or writing an additional book, I would be considerably wealthier right now.

Here's the simple truth of the matter: I have no input into how Apress delivers their eBooks. I have no contractual right to control that part of the process. I wouldn't be tempted to do so, but if if I did decide to make some ideological stand on DRM by, say, refusing to finish my current writing obligations unless Apress stopped using DRM, Apress would likely (and rightly) hold me in breach of contract. It's unlikely to the point of being ridiculous that they would stop using DRM as a result of one author being an asshole.

To state it simply, I'm an author, not a publisher, and just one of literally dozens (maybe hundreds) of Apress authors. Heck, I'm not even the only author on the books I work on! I have a great relationship with Apress and I very much like the people there that I interact with there. But I'm not them. And yet I still have opinions. Fancy that.