Monday, May 17, 2010

A Year of Writing Moodle 1.9 Extension Development - Part 3

Part 3: The Last Half of Writing
This is the third of a four part series on my experiences writing my first book, Moodle 1.9 Extension Development. The book was co-authored by Mike Churchward. The four parts are detailed below:

  • Part 1: Getting a book deal
  • Part 2: Writing the first half
  • Part 3: Writing the last half
  • Part 4: Post writing production

Chapter 8 Reports -- Writing in Belize
Our CEO, Bryan Williams, is an avid SCUBA diver. For many years, we had talked about going on a dive together with my wife Michelle. Last September, we decided to finally make this happen and to get some much needed sun. So after looking at the options, we decided on a trip to Belize. I worked out that with Mike's efforts on Chapters 5-7, that I could get back on schedule, if I could complete a full chapter while on vacation. I must say that writing on the beach is really the way to go. While it can be a bit tricky getting your computer screen at just the right angle to be visible, its well worth the effort. I didn't quite manage to get the entire chapter done on vacation, but I got most of the source code finished and completed all but one section on the plane ride back to the US.

Feeling good about the progress and rejuvenated by our trip, I quickly wrapped up Chapter 8, on my return to the states.

Chapter 9 Integrating with 3rd Party Systems -- Drive Crash!

I was really feeling good again at this point. System integrations are a particular specialty of mine and I had an existing library of material that I was pretty quickly able to work into half of a completed chapter. I put in some extra time during the evenings and had most of the coding samples quickly completed. Then ene night, as I was packing up, I notice that my laptop which should have been fully charged was showing a low battery. When I get home, the computer wouldn't boot. The battery had died and somehow this caused a nearly complete wipe of my SSD drive. While I had backups, I had done so much work in a short period of time that I didn't really have a good backup of the materials for Chapter 9. Even more disruptive was taking the time to rebuild and reload the computer and restore my files. I went from finally being caught up with the schedule to being 2-3 weeks behind. My take away from this was, you can always improve your backup system, even after 15 years working in IT.

I managed to rewrite everything and get it out the door. I think I rushed it a bit trying to get back on schedule; this chapter ended up being one of the ones I spent the most time editing later.

Chapter 12 Pagelib -- Back on Track
Thankfully, our CEO has been very supportive of the book effort. He agreed to give me half a day per week during work hours to work on the book. This got me back on track to deliver the book on schedule. Chapter 13 was remarkable in that it was probably the only chapter in the book that we didn't end up tight on space. While pagelib is a core library, it is pretty simple. Mike and I actually recommended this as most easily cut from the book, when we thought we were going to have to delete a chapter. Luckily, we were eventually able to get the entire book into the print edition.

Chapter 14 Web Services-- Writing on Christmas Break

It was getting down to the wire. I was confident that there was enough time to get all the writing finished. Especially, since we had a block of time off for Christmas and later for New Years Eve. We had a major snow storm hit during this break and I recall not leaving the house for about 4 days and a final marathon coding/writing session finishing at 2 AM. I managed to submit the last chapter 2 days before our final deadline for the book. I can't tell you how much of a relief it was to finally hit send on that last chapter, especially considering how far behind I was just a few chapters into he book.

In the next and final part, I talk about the production process.

No comments:

Post a Comment