Multiuser Bibliography Reflection

You asked us to reflect on how these projects have led us to rethink our identities as professional writers. And that is indeed a central question for most of the class; while I'm sure some will go on to build sophisticated web applications with significant server- and client-side processing, for most probably the key outcome will be insights gained by experiencing this medium from the implementation side.

But I'm a professional writer only occasionally, and at best secondarily. While I did gain some new software development skills over the course of this project (and they're much appreciated), it understandably didn't greatly alter my conception of application implementation — or even my view of the relationship between designers and developers, which I've formed from twenty years of professional programming experience. What I've taken from this project mostly falls into two areas, both of them I think very useful:

I also have to admit that, having gone through the three modules and other tasks of this class, I do feel a bit of a professional writer, or at least more of one than I'd have considered myself at the beginning of the year. However often I'd produced documentation or other texts for co-workers or customers in the past (and despite my academic background in English), I'd always felt that my professional writing was largely accidental, a collection of informal practices I'd adopted from here and there and would apply ad hoc. Now at least I have some specific knowledge in the area to build on.

New Knowledge

Obviously, most of the design work and the actual writing happened in Module 2. During development, though, I did find writing and design playing a role, particularly as I actually realized the design sketched out by the design comps. When working with my team, I had to communicate technical ideas to non-experts, which was essentially technical oration — very nearly technical writing. And, of course, there were the project journal and functional spec. Those are genres I'm familiar with professionally, but they vary at each site, and this one was no exception. It's always good to see such things in light of a new audience.

On the programming side, I'd never worked before with PHP, though I know most of the languages (C, PERL, etc) it borrows from. PHP is a cluttered attic of a programming language, full of everyone's cast-offs jumbled about with no rational organization whatsoever; but sometimes a messy workbench can be as productive (and fun) as a tidy one. And I'd only done a very few things with SQL in the past, so that was definitely a useful experience.

Successes and Setbacks

This project took quite a lot more time and effort than I expected. Partly that was simply due to being used to working on development full-time, rather than a few hours here and there, but it was also in part because I didn't account for the number of curious little problems I'd run into along the way. In part I'm disappointed, because I had hoped to use this application as a real tool for the joint project Kristen and I are working on, and it wasn't available in time. On the other hand, I learned a number of useful things, particularly about SQL.

There are certainly features I'd like to have provided (there's a good list in the final entry in the project journal). And while the application is usable, it's questionable whether it's really useful, compared to alternatives like Zotero. (While MultiBib does things that Zotero doesn't, they may not be compelling in light of Zotero's strengths.)

Whatever reservations I have about the product, though, I think the process was valuable. It's true that my scrum team had some unusual dynamics, given my background; but while my teammates weren't in much of a position to help me solve coding problems, they did offer excellent input on design questions, and in working with them on their problems, I got to practice my technical communication skills.

And, ultimately, I'm proud of several things in this project. The code is mostly clean and well-structured, though some common pieces could be refactored into a single function. The database design is fairly elegant. It meets most of the criteria I laid out in the design packet (though some features haven't been implemented). Aesthetically, it may not be to everyone's taste, but I like it, and the HTML and CSS is, I think, pretty clean.

Building Something Real

There's no question this was a substantial assignment (particularly when modules two and three are taken together). I came into 410 thinking that this sort of assignment would be one of several projects, which we'd whip together as a matter of course; that's why I proposed the MultiBib project in the first place, because I expected to make use of it this semester.

And the result is a substantial achievement. As a professional developer, I can say that the projects I've seen — and I'm not too humble to include my own — are serious pieces of software. They're not giant enterprise mission-critical systems, but they're not toys or mere learning exercises either. These are applications that people can use to do real work, and they're better built than a lot of commercial software. I'm very proud of what I did, and what Casey and Jen did; and I hope the rest of my classmates are proud of what they did. You should be proud, too.