Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ $5.24 shipping
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software Hardcover – January 16, 2007
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who viewed this item also viewed
In the 80s, Tracy Kidder's The Soul of a New Machine attempted to define the story of the development of a minicomputer: from the new science to the business and nascent culture of electronic hardware and software that was characteristic of that time. Scott Rosenberg's Dreaming in Code draws on Kidder's model as it attempts to document the state of software, the Internet, and everything circa 2006 through the lens of Chandler, an as-yet-unfinished software application for the management of personal information.
The Chandler project--driven by Mitch Kapor, the founder of Lotus Development and main designer of its 1-2-3 spreadsheet, and later co-founder of the Electronic Frontier Foundation--isn't the primary point of Dreaming in Code, though reading about software people and their social behavior is at least as interesting as reading about that of meerkats or monkeys. Rather, Chandler is a rhetorical device with which Rosenberg takes on the big questions: How do software development teams work (or not)? Why does the reuse of software modules rarely work altogether correctly? Does open-source development by volunteers on the Internet lead to innovation or just insanely bifurcated chaos? Chandler helps his readers think more clearly about all of these issues; however, "answers" to these questions are, of course, not to be had, which is one of his points.
The problem with books about technical subjects that aspire to appeal to a general audience, particularly computers and software, is that such subjects are so far outside the realm of familiarity of most people that the prose bogs down in analogy and metaphor. Rosenberg manages to avoid too much of that and deliver a readable account of software development and culture. --David Wall
From Publishers Weekly
Software is easy to make, except when you want it to do something new," Rosenberg observes—but the catch is that "the only software worth making is software that does something new." This two-tiered insight comes from years of observing a team led by Mitch Kapor (the creator of the Lotus 1-2-3 spreadsheet) in its efforts to create a "personal information manager" that can handle to-do lists as easily as events scheduling and address books. Rosenberg's fly-on-the-wall reporting deftly charts the course taken by Kapor's Open Source Applications Foundation, while acknowledging that every software programmer finds his or her own unique path to a brick wall in the development process. (The software is still in development even now.) With equal enthusiasm, Rosenberg digs into the history of the computer industry's efforts to make programming a more efficient process. Though there's a lot of technical information, it's presented in very accessible terms, primarily through the context of project management. Even readers whose computer expertise ends at retrieving their e-mail will be able to enjoy digressions into arcane subjects like object-oriented programming. (Jan.)
Copyright © Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
For me, the book about the software project was the most interesting. The project is called Chandler done by a company called Open Source Applications Foundation (OSAF) by Mitch Kapor (the founder of Lotus). It's vision is to develop the next generation personal information manager (PIM), which is basically a calendar, email and note-maker integrated in one product. Chandler had a large investment and attracted some high-profile developers. Scott Rosenberg followed the Chandler project over a couple of years and the book describes his observations or narrative of the project.
The Chandler project is fascinating as they aim to do things different... and end up making all the mistakes of traditional software projects. They want to get something out quickly and facilitate an open source community to build up the product. They end-up over-designing, late delivering and over-complicating the whole project. It is really painful to follow the project (at least for me) as I could see them make the mistakes and would want to say "nooo!" but they did it anyways. Eventually the book ends without knowing the end of Chandler, but if you search online you'll discover that it unfortunately never delivered its vision.
The second book is the authors search for delivering better software. He basically picks a theme and describes that and explains some of the history. For example, at some point it explains what open source is and how open source was created. Similarly, it explains lots of aspects of software development. Most of these ought to be nothing new for nearly any software developer... and it suggests the book is actually targeted to people who aren't directly involved in software development but are curious about how it would work. The explorations were interesting but purposefully shallow, which made them a bit boring for me. Usually I ended up reading through them and wanting to go back to the Chandler project story to know what would happen there.
All in all, the book was well written. I enjoyed the Chandler parts a lot (4 stars) and felt the explorations were just ok (3 stars). I decided to average it out to 3 stars, especially for software developers who probably know all the explorations already. 4 stars for people who are interested in discovering more about software development. A pretty ok book.
There are two distinct matters to be discussed here: 1) the principle story of the book, and 2) how the subject matter is delivered.
The principle story of the book is Chandler, a Personal Information Manager(PIM)/Groupware-type software that was conceived and developed as an open-source project. The project was abandoned after several years' effort without having achieved its defining goals, and Dreaming is a narrative of the first few years.
The blame for the failure must be place squarely at feet of the project's founder and chief evangelist, Mitch Kapor. Mr. Kapor was the heroic developer of Lotus 1-2-3. For the growing number of you who have no idea what that was, it was the one app that made a PC worth having in the late 80s. It was the killer app for a long time.
Chandler was meant to be Kapor's extension of a PIM product that had once shown some promise at Lotus. He had the lofty idea of making this system capable of tying together all of the elements of PIM practice (calendar, task list, email, notes) into a seamless, ephemeral whole, without storage dictated by data type, and by the way, open source. Get it? Well, nobody else did either.
This project failed because its goal could not and cannot be articulated in a short sentence. It was consistently defined by its desired attributes, without the faintest idea of how it could be achieved. In fact, when examined more closely the defining attributes seemed to be in direct contradiction to each other.
If you will forgive me, the situation reminded me a lot of the health care bill of 2010. It was just forever before there ever was a bill. For at least two years, it existed as list of lofty attributes. For the few brief moments between the time it actually became a bill and the time it was passed into law, the Speaker of the House famously noted that we have to pass it to see what's in it. But when it was finally dissected, it contained a number of conflicting requirements that could not live together successfully.
And so it was with Chandler. I marvel at the fact that in the august collection of software professionals, no one at any point pitched a fit that the project had no clearly articulated mission, that they had not a clear image of what they were building, and how such building would occur. I presume it is because that in this particular open-source project, the developers were getting paid.
The open source idea was intended to harness the executional capacity of the masses, but again, the project was too ethereal for the masses to work on. There was no unifying mantra, such as "Write a free Unix!" or "Replace IIS!", for the masses to recite in unison. A candidate cry might have been "Replace Outlook!", but Chandler was meant to be so much *more* than Outlook. Unfortunately, "Transcend Outlook!" just never caught on. So Kapor paid a number of available systems development heavy hitters to develop the open-source project. Most of them moved along to other pastures once they saw that the emperor was in fact naked.
And all of that is pity, but again, the greater pity is that the disaster could not have been averted by a well-placed person pulling the emergency brake. In my experience in software development, you have a problem on your hands if your programmers start out by designing the splash screen. Similarly, that the software was named after the dog, the dog after the author, and the releases after the setting of the author's stories just makes me want to puke. Perhaps we could get the cart and the horse in the right order.
A number of reviewers of this book have noted that the book is just as unfocused and wandering as the software project, and that is true. It isn't entirely clear to me how it could have been otherwise, and moreover, it does not render the book unuseful. The father Berenstein Bear made an industry of showing the little tyke bear what not to do. Well, same here. Plus, the wandering captures the spirit of the endeavor.
What I do not sufficiently hear in the review-o-sphere is the dramatic turn the book makes at chapter 9, into the history of software development methodologies and personalities. For 75 pages (a bit less than a quarter of the book), we get a fine tour of software craftsmanship over the decades. Along the way, every major title in software development (and not a few minor ones) is cataloged and discussed. This discussion and the attendant bibliography is easily worth the price of the book (and maybe worth the cost of reading the other 75% of the book),
One issue the author had was when to stop the book, as the software never came to any cohesive point. So it just stopped, just like the software project did a couple of years later.
I think the title was a poor choice. It has nothing whatever to do with the book except a tangential reference, and a great opportunity to say something conclusive about the project was lost. I suppose that the jury had not yet completely returned on the project when the book went to press, however, "The Road to Nowhere: Hazards of Following the Pied Piper" or "Good Money After Bad: How and Idea, a Bucket of Money, and a Dynamic Personality Weren't Enough," would have been a lot more on point.
The book is about 2/3 following the day-to-day of the development team, 1/3 philosophizing about what programmers do and should do. The team started to grate on me after a while...maybe it was the whole "change the world" holier-than-thou approach they took to their project. It's just a calendar, and if you do a little research, it is utterly underwhelming. The history and philosophy of programming as the author sees it was very interesting, since I'm something of a code monkey myself. A reader from the general public might not appreciate that part so much, but this book will give most people a better sense of why software is buggy and takes so long to develop.