8/29/09

Book Review: The Time Traveler's Wife

I approached "The Time Traveler's Wife" by Audrey Niffenegger with a mixed mind. Normally I love time travel books, especially ones that explore the possibilities of travel within your own lifespan, and contrast theories of free will vs determinism. But this wasn't your normal semi-obscure sci-fi tale lurking in used book stores or found in an old pulp magazine. I was getting recommendations from people who belonged to book clubs, and it was prominently displayed at the local independent bookstore. Is this some attempt to mainstream the time travel story? So, despite the title (more on that in a bit) I decided to pack it with me on my vacation.

Just as in the plays of ancient Greece where the stories had certain ritualistic elements, but each author chose to tell them with different styles, in time travel books the plot isn't as important as how it unfolds. That said, here's my summary: a guy, Henry, has a genetic problem that gives him fits, sort of like epilepsy, but instead of blacking out he's displaced in time. He arrives in the new time naked, and usually doesn't know where or when he is. He can't control his jumps, but he's drawn to places and times that have strong psychological ties for him. In this way he meets his future wife, Clare, when she's only six, and then at random intervals through her life.

I had some problems with this book, the least of which was the title. It seems like there are too many books called "The Memory Keeper's Daughter" or the "The Zookeeper's Wife" or the "Cheesemaker's Niece" (OK, I made up the last one). Moreover, the story isn't about the time traveler's wife: it's about the time traveler, but I figured some editor probably changed the title to fit a publishing trend.

Another issue was that the non-time travel problems seemed to be falsely inserted into the story, and then easily resolved. Clare's mom is an alcoholic and was forced into marriage by an unwanted pregnancy, but it turns out OK in the end. Henry's dad also drinks, and ruins his career as a concert violinist, but we know from time traveling he'll be happy in the future, so it's all good. Even the wedding scene had a false sense of tension that was too easily resolved.

Which brings me to the biggest obstacle in the plot: Niffenegger's conceit is that Henry can't change the past, but only observe it. Yet his appearance to his to his future wife when she's six years old has a weird vibe. As Henry pops into young Clare's time line he teaches her chess, French and other his other interests, forming her into a person that will love him. It's almost as if Niffenegger had taken the premise for the old game of Mystery Date, and turned it into a literal plot. Who will Clare marry? It's all pre-ordained: a muscular dark stranger from the future, who will know all her inner desires, and will be her soul-mate. Does anyone else find this a little trite? Sure, it's a common romantic dream, but presented this way I thought it was also anti-Feminist -- a romance novel disguised as sci-fi where the female lead can only watch the adventure.

Despite the problems, I still liked reading the book. The story is told from the points of view of the two main characters, and annotated with dates and ages (eg: "Saturday, April 8, 1989 (Clare is 17, Henry is 40)") so you can track whether Henry is in or out of time. The first 200 pages speed along as you learn the history or future of Henry and Clare and their friends and family. I like how Niffenegger presents their out-of-time meetings from the different points of view. The plot cleverly clicks together like a puzzle as they meet for the first time in real time and piece by piece the whole picture forms.

Niffenegger also does a great job of exploring the possibilities of Henry's particular form of time travel. I don't understand how they conclude it's a genetic disease, but that's a minor bump. From there she asks various questions. Can a time-traveler drive a car? What sort of person does it take to appear in a city, naked, without any resources and survive for couple of days. Can a time-traveling condition complicate a pregnancy? (Answer: and how!)

The final question she poses concerns death and dying and whether life after death exists. The last couple sections of the book I lived with Henry as he approached his end and even though he'd seen his own death, Niffenegger added interesting twists and details based on time travel. And because of the time travel, Henry's possible appearances into the future leave us with literal metaphor (is that possible?) of memories of loved ones living on with us.

Despite some problems, I enjoyed reading The Time Traveler's Wife.









Reblog this post [with Zemanta]

8/7/09

The Snowball vs The Zen Master

Classical ideal feedback model. The feedback i...Image via Wikipedia

How It Begins

Your company develops accounting software.

The user asks the sales guy if there's a way for the system to show all people over 120 days in arrears & they'd send a dunning letter to those people.

The sales guy talks to the product manager: "Some of our users want a feature to create dunning letters on the fly."

The product manager talks to the system architect: "We need integrated word processing with a catalog of stock letters: collection accounts, new accounts, reminders, happy birthday cards...the works!"

The system architect tells the developers: "We're adding integrated document management to our system. We'll wrap everything around MS Word to save development time."

The developer tells the project manager: "The new features require new components. Also we need to extend the security to the new module, rework the backups, completely revise the graphics, and who's going to develop the content and write the documentation?"

The QA person collapses on the floor, moaning: "This will take a year to test!"

A year later they show the new system to the user.

"Nice," he says, "But have you worked on my dunning report yet?"

I read a blog entry about "Practicing Product Minimalism" and feel that people commenting on it really don't get the zen of "maximizing the amount of work not done."

Developing software is a lot like rolling a snowball down a hill. It starts out easy, picks weight along the way, becomes a juggernaut, and good luck to anyone who tries to stop or slow it down. Eventually, if you're lucky, it hits a brick wall and stops. If you're unlucky it takes out some of the team on the way down.

That's why it's necessary to question every new bit of work going into a project. Talk to users and be sure you understand what they want. Moreover, keep the feedback loop short: show them your solution as soon as possible. Make a paper prototype if necessary...draw it right there during the meeting.

New features tend to multiply tasks. For example, one new feature may be multiplied by security, storage, UI, graphics, documentation, configuration, backward compatibility, operating system compatibility, and hardware requirements. If the user has asked for a button with two states: [Stop] and [Go], don't assume they want a third state for [Slow], or that they want to be able to configure a set of buttons [Stop],[Go Slow], [Go Faster], [Go Fastest]. Or even that they want to be able to provide Urdu translations of the text of the buttons. Instead: stop and ask them before developing anything.

User priorities are also hugely important to maximizing work not done. Develop your software as if the next feature is the last feature, so it had better count. If the feature you're working on right now isn't the most important item on the list for the user: don't do it.

If you had practiced the zen of minimalism the user would have had the dunning report in a couple of weeks instead of a year later, and you could have used that year to develop more vital solutions. That's the payoff for practicing the zen of minimalism.

Reblog this post [with Zemanta]

Xtranormal: It's a long way from X-files

Xtranormal is a web site that facilitates making creepy animated movies. OK, they're not trying for the creepy part -- it just works out that way.

You can choose from one of six pre-packaged sets, decide whether to have one or two actors, and then start making your movie. The "super hero" set looked interesting, although I have no idea why the hero is in a cage. I used my last couple of tweets for a script, then I chose various camera angles, facial expressions and body motions. All of the staging is pretty limited: twelve camera angles, about fifteen "emotions" and five or so expressive movements.

All the rendering occurs at their servers, so you don't have to have a fast computer, but even still it took 15 minutes or so to render the final movie.

Here's the result. Creepy, no?


Reblog this post [with Zemanta]