Jason Barker is Currently...
Software is Hard
Posted on Monday, February 05, 2007 at 5:42 AM by Jason Barker
Salon published over the weekend an interesting interview with Scott Rosenberg, the author of a new book on Mitch Kapor's Chandler. The book - which I haven't read, but sounds like it has something in common with Fred Moody's fascinating (but out-of-print) I Sing the Body Electronic - details the three years (and counting) of development of a new PIM application. The interview makes clear that a focus of the book is more than Chandler itself:
The story of Chandler is also a platform for Rosenberg to explore much larger questions about the nature of software. Such as, why is it so hard to pull off a big project on deadline? What is it that software developers actually do? How is the art of writing software different from other forms of creative endeavor or technological construction?
I am always interested in examinations of software development projects. I am in no way a programmer: I design the applications for my Bible studies using Director and Flash (and before these I used Opus), and am dependent on the Lingo and ActionScript created by others to modify for use in my projects (at the same time, modifying and implementing these scripts is itself a complicated task). Nonetheless, because a significant part of the work I do is at least related to the type of work done by a typical development team, I always benefit from reading about the work of others.
Creating any type of interactive project is a monumental task. To use my Bible study applications as an example, creating the content - namely, the articles themselves - is only one part of the process. I must design the interface so that everything maintains a look that is attractive, consistent (this is vital), easy-to-use, and yet also does not distract from the focus on the Bible and biblical study. The design process itself is extremely complicated, as I realize that elements that seemed simple and clear in my mind are in fact quite complicated, and in the end must frequently be replaced with a different type of element (or jettisoned altogether). Scripts must be developed for each element so that it functions properly; this is often made more difficult by the fact that scripts frequently simply will not work, and thus must be debugged, and then must be extensively tested to ensure that they do not conflict with the hundreds of other scripts in the application. As the articles are placed into the application, I must go through each one to make sure that the format remains correct, and I must add hyperlinks where needed: the process of adding hyperlinks necessitates going back through earlier articles to add new hyperlinks to articles that have since been written, and testing every hyperlink to ensure that the links are not broken. Each article must also be added to the appropriate index.
There are more steps than these in the process of creating each chapter of an application (Luke will have 24 chapters), but this gives you a general idea of the workload in creating such application.
This process is complicated by the fact that almost all development teams struggle to obtain the necessary resources for their project. In my case, I am the sole worker on these projects, and thus must do all the work that would otherwise be delegated to several people in a development team. I love doing all these different tasks, but it adds greatly to the development time for a Bible study: furthermore, because I am the sole worker on these Bible study projects (as well as a number of others), any outside delay (sickness, family responsibilities, etc) completely delays a project's development. Limited financial resources further lengthens the production time, since I must find or develop free alternatives for resources that could otherwise be easily obtained if funding were available.
Thus, when you are tempted to ask, "What is the holdup in releasing chapters of the Bible study of Luke," you can already see my answer: "Software is hard!"
Posted in Miscellaneous







