Wednesday, February 13, 2008

What to Eat? It depends on whether you are a cat...

I won't even pretend that these two books are related at all, so I'll just jump into this post.

First of all, I recently wrapped up Michael Pollan's excellent In Defense of Food. I've blogged occasionally here about my growing nerdy obsession with food and cooking. This book acts as kind of a capstone to my gradual transformation into a Bay Area foodie: it reaffirms a lot of the habits that I've accidentally slipped into, gives me encouragement, and frees me from feeling like I need to worry about what I'm putting into my body. It does all this while presenting an occasionally funny but always strong criticism of "nutritionism," the modern tendency to focus on the invisible ingredients in our food that we don't understand.

Backing up a bit:

To date, the book that has had the biggest impact on the way I eat and how I think of food has been Marion Nestle's What to Eat. Like most people, prior to that book, my food information came from one of two sources. First came the explicit, though often confusing and contradictory, reports in the news. "Eggs are good for you!" "No, they're bad!" "Fat will kill you!" "Carbs are worse!" "You need more fiber!" "You need more Omega-3s!" "You need more beta-carotene!" I would read this, sort of shrug my shoulders, and go back to eating whatever I was before, not changing my habits but acquiring a nagging sense that I was doing stuff wrong.

The second source of food information comes from my family and friends, which tends to be more implicit and consistent. These lessons were more along the lines of, "Vegetables are good for you," "Don't eat too much dessert," "Don't drink alcohol." I followed these precepts (sometimes grudgingly) when living at home, later abandoned them, and find that they continue to define a part of how I feel like I "should" be eating.

Marion Nestle's book demystified... well, everything. Much of it probably counts as common sense, but for me and many other young people, that common sense needs to be learned again. I still think that her introduction should be required reading for all public schools. She explains how many calories is equal to a pound, how to healthily lose weight, why weight is important, and replaces the incomprehensible panoply of conflicting dietary guidelines with a brilliant, memorable, and effective mantra: "Eat less. Move more. Eat lots of fruits and vegetables." If you follow those three principles, everything else automatically falls into place.

Those few pages were great. The rest of the book was fascinating as well; her technique is to walk through a supermarket, with each chapter devoted to a typical aisle (breakfast cereal, juice and soda, baby products, etc.) and her analysis for how to navigate it effectively. It was all great stuff, and it had the ultimate effect of pushing me to follow her guidelines of shopping at the edges of the store - produce, meat, and dairy, far away from the processed prepackaged morass in the center.

That was just part of the story, though. Even before picking up the book, I'd started to patronize the Campbell farmer's market. At first I would pick up my lunch fruit and a few vegetables, along with the occasional pastry or fresh fish. They were replacing the canned foods that had been a sizeable part of my diet previously. Over time, though, a larger and larger slice of my dining has come from the market; increasingly I'm making mains out of their products, or growing the vegetable while shrinking the main. Best of all, this change isn't being driven by guilt or a well-defined drive to be healthy - it's because shopping the market is fun, interesting, and really tasty.

So, the progression in books from What to Eat to In Defense of Food seems to match my own personal progression. Without really noticing it, I'd been moving increasingly towards more locally grown fresh produce and spending increasing amounts of time preparing and cooking meals. It turns out that this was Pollan's plan all along!

Pollan has been writing for a while, but first rose to prominence with his recent book The Omnivore's Dilemma. In this book, he didn't just attack the typical American diet and fast food: he also swung his guns towards Whole Foods and the organic food movement, charging that organics have been subverted and are often more harmful than conventionally grown produce. How can this be? Compare a locally grown vegetable to some organic asparagus that was grown in Chile and flown to the US. The fuel involved offsets the environmental benefits of organic growth, while the mileage involved offsets any gains in taste. You are left with an expensive plant that makes you feel better without really doing anything for health or the environment.

The Omnivore's Dilemma caught people's attention, much like Nestle's earlier Food Politics; like Nestle, he was then confronted with a litany of people asking him, "Well, I see the problem, so tell me: what SHOULD I eat?" He did so, first in a New York Times Magazine article titled Unhappy Meals, and eventually in this book. As with Nestle, Pollan organizes his book around a simple mantra: "Eat food. Not too much. Mainly plants." ("Now, with 70% wordcount!") Their mutual affection seems clear when reading this book, but his background and aims are a bit different from her. Nestle is a talented nutritionist who has grown suspicious of her colleagues' obsessions. Pollan's background is in gardening and agriculture, and while Nestle is mainly interested in the link between food and health, he likes to look at the whole cycle: from soil to plant to animal to human to culture to planet. This means that, on the one hand, his book spends less time on the immediately practical question of what you should be eating. However, it also is more broadly interesting, and prompted me to think about some aspects that I had never considered before.

For example: in many studies of aboriginal populations, the absolute healthiest people belonged to cultures that primarily consumed meat, milk, and blood. We tend to think of modern food as being an unprecedented shift from traditional eating, but that "traditional eating" which started in the agricultural revolution of prehistoric times led to all sorts of health deficiencies that our species has only recently adapted to.

I'm distracting myself from the main point of his book, which is: the Western diet is killing us, and nutritionism is making it even worse. This isn't alarmist; rather, it is anti-alarmist. He goes through 150 years' worth of health claims and scientific studies, showing how we've been wrong every step of the way about which food components were good or bad. He also shows that, throughout this entire time, people who ate traditional diets of food (as opposed to "foodlike substances," my favorite phrase in this book) lived relatively long and healthy lives, while anyone pursuing contemporary nutritionist advice would sooner or later be confronted with an unpleasant reversal.

This argument is persuasive, and liberating for several reasons. First of all, like Nestle, he stresses that the big points (eating real food, minimally processed, from plants) are what you should focus on, while not being overly concerned about the dietary concern of the year - though, like Nestle, he does make an exception for trans fat, which is largely of our own creation - and, as they both point out, a food that for years was thought to be "healthy" by nutritionists. Even that, though, won't be a concern if you're mainly eating plants.

Secondly, he says that you should consider eating a traditional diet. Which one? It doesn't matter! Italian, Greek, Japanese, Mexican... as long as you're eating the way they've been eating for hundreds of years, you'll be fine. Cultures would not have survived and kept going if these diets were unhealthy. We may not currently understand why they're healthy - the French diet is often cited here - but the empirical evidence of millions of people over hundreds of thousands of years is far more compelling than any run-of-the-mill industry-funded study.

As Pollan points out, the context in which a meal is eaten - its culture, the way meals are paced, how a society relates to food (the French, for example, don't snack between meals and don't eat second helpings) - is just as, and maybe more, important than the meal itself. His book closes on a brilliant and powerful note, stressing that we've lost sight of the point - food is meant to be enjoyed and savored. I intend to do so.

I cruised through In Defense of Food, taking just under 48 hours from start to finish. It interrupted my progress through my latest Murakami journey, Sputnik Sweetheart. For some reason I'd been under the impression that this was his first novel, though I learned that was not so - he wrote it in 1999, long after his career began in the late 70's. This isn't a complaint, just an observation.

The book starts out rather slowly. Murakami is a beautiful writer even when nothing much is happening, and at times it felt like he was trying to prove that. He introduces us to his female protagonist, his male narrator, the female love interest, and the way in which they interact. It's all very languid, filled with wonderful analogies and long, drawn-out dialogs. While I enjoyed it, it didn't exactly possess a gripping narrative drive, and I felt free to put it aside for days at a time.

Things start cranking, but not until nearly the halfway point of the novel. There is finally some physical movement, the action jumps halfway around the world, and the narrative is broken up with some more innovative (though not original) devices. There was one particular point of the book where I got an intense burst of deja vu and a strong, creepy sense that I had read this before. I eventually realized that I had, only months earlier: the short story "Man-eating Cats" from Blind Willow Sleeping Woman contains an identical scene, and as the novel progressed, I realized that it was in many ways a reworking and extension of that story. This was far from obvious - again, I didn't make the connection until halfway through, but once I did it was impossible to ignore.

This gave me a better chance than I ever get to compare the short story as a form with the novel as a form. While crucial details about the plot are different, so much was shared that I could almost eliminate the story as such from comparison and look at how each worked.

To wit: the short story felt MUCH tighter and more compelling. He grabs your attention in the first few paragraphs with the same anecdote that eventually got my attention a hundred pages into Sputnik Sweetheart. The background that took those hundred pages to develop in Sputnik Sweetheart is condensed to about a page in "Man-eating Cats." What do we gain in those 99 pages? Mainly the pleasure of seeing a fine writer showing off: great turns of phrase, vivid scene-setting, ruminations on human nature and philosophy.

However, after we crossed that halfway point where the stories slid into sync and I could anticipate what would happen next, I was surprised to realize that I was actually finding the novel more interesting. While the short story was brief, it was not intimate. I didn't really feel connected with either of the main characters, and while watching what happened to them was interesting, I was reacting more to the events than the people. In Sputnik Sweetheart, just by virtue of spending more time with these characters, I had become invested in their lives and passion. As the stories moved along, I felt an extra layer of dread or excitement as I anticipated the twists that I knew were coming.

Hmmm... actually, a good analogy might be a movie adaptation of a Stephen King short story. Film-makers will add some stuff to flesh it out, and while a one-sentence summary of the plot will be identical to that of the printed version, the overall feel and message of the film may be very different.

After a while, the stories diverged again. The short story just ends, at a particularly lonely and jarring moment, while the novel pushes onwards. I hesitate to talk about "typical Murakami," but in "Man-eating Cats" I felt like Murakami's world was lurking in the background, silently pulling the strings and slowly unspooling this vaguely frightening situation. In Sputnik Sweetheart, that world actually becomes visible, and you can directly see some of the forces at work, even if you can't understand them.

The more I think about it, both works ultimately explore a theme of loneliness. This is probably more poetically expressed in Sputnik Sweetheart - I keep returning to the lovely, chilling mental image of our souls as satellites, orbiting the world, beeping out our feelings but receiving no warmth in return. In "Man-eating Cats," it is expressed more starkly... almost as if a rug is suddenly pulled away, revealing the vast gaping hole that lies underneath.

Altogether, I thought this was a fine book. I'm glad I read it after Blind Willow, Sleeping Woman - it's the mark of a great author that, when you read their stuff a second time (in whatever form) it becomes better. I'm still motivated to seek out one of his true early works. Judging from Wikipedia, Murakami's first novel available in the US was Pinball, 1973. (Available for just $400 on amazon.com!) The first one that seems fairly well known, though, is Hard-Boiled Wonderland and the End of the World, which as a bonus has an awesome title, so that may be the next one up. As usual, I want to take a break first - I feel like a kid in a candy store, and want to save some Murakami to treasure in the years to come.

Let's see, what else? Oh, let's jump to the semi-embarrassing confessions. You know that writer's strike that just finished? I'm blaming that for the fact that I've been watching Terminator: The Sarah Connor Chronicles. I've never been as into this franchise as my peers. I remember T2 being a huge deal in my youth, but there was no way I would actually see an R-rated movie. It was one of those weird things where I picked up on all the cultural impact of a movie - "Hasta la Vista Baby," the sunglasses, the idea of morphing - without seeing a single minute of it.

I wouldn't actually watch Terminator until the summer of 2001, when I did a promotional Blockbuster program that let me watch a ton of movies for practically nothing. Watching Terminator 1 and 2 almost back to back, I came to the startling realization that I might be the one person in the whole world who actually thinks that the first movie is better than the second. Why, you ask? First of all, they're very different movies, and the grim Philip K. Dick-esque view of the future we get in the first movie appeals to me more than the violent, high-octane acrobatics of the second one. I also thought that the plot in the original was really clever; the second one has a quite good plot for a sci-fi movie (I especially love the mental institution aspect), but didn't grab me in the same way. Finally, John Connor is just amazingly annoying in the second one. I tend to dislike child actors in general, but he especially bothered me.

I saw T3, and remember almost nothing about it. It was fine, but didn't stick in my head the way the first two did.

So why would I watch the series? Four words, two sentences. Summer Glau. Writer's Strike. Any questions?

My favorite things about the show:
  • Summer Glau
  • Music - love that theme
  • The way all authority and most morality is stripped away in light of the impending holocaust. For example, they beat up innocent people to steal their vehicles, and you cheer for them.
  • Surprisingly clever writing. "Is that nuclear?" "No. Not really." Cameron seems to get the best lines.
  • Have I mentioned Summer Glau?
My least favorite things:
  • Sarah Connor looks too young and isn't that great an actress.
  • After twenty years, they've broken that cool real-time chronology thing they had going.
  • After just a handful of episodes, I'm sick of hearing "You're not ready to fight!" "We need to fight!" They should stop complaining or just beat people up. Watching people bickering is not entertaining.
  • I feel like I'm watching a 1980's Magical Computer plot. "Oh no, where are they going?" "Hang on for five seconds while i hack into this computer! Okay, now I have a fancy map displaying everyone's exact location and identity!"
  • In general, not addressing the technology phobia that is at the heart of the franchise.
The biggest thing I'm ambivalent about: John Connor. A lot of people say that he's too whiny. I think this is true, but he also is about 800% less annoying than in T2, so I'm willing to cut him slack.

Lost has started back up again. I'm loving this season so far. I feel like after suffering through season 2, the creators have rewarded me for my patience and started giving me a good show again... the second half of the third season was some of the best to date, and so far the fourth looks like it may be even better. The deeper they move towards the mystical heart of the island and explaining its relationship with the world, the more excited I become.

House is going strong as well. Nothing yet has topped the great arc from the first half of the season, but the few episodes so far have been good. I'm regularly impressed at their ability to pull out new situations and diseases, even after four seasons on the air. The most memorable yet was one where the victim is a psychiatrist in Antarctica, and they have to communicate over a video hook-up. (Which, by the way: isn't there supposed to be a really long lag on those things?) It reminded me of the great episode last season where House diagnoses a plane full of sick passengers... he gets out of his environment and needs to use imperfect tools to examine a problem.

They're now saying that, thanks to the strike, we won't catch the second half of the new Battlestar Galactica season until 2009. Frack!

The strike has also moved me back into the habit of watching The Colbert Report and The Daily Show. These got shoved off my schedule after I added too many dramas, but now they've back and surprisingly entertaining. The Colbert Report has been particularly sharp. I also think his interviews have gotten much better than they were when I was regularly watching during the first season; or maybe I'm just more used to their awkwardness now; or maybe guests have gotten better at playing along. Anyways. They've helped me keep my sanity during the primary season, and while I'll probably dial down my viewing time, I'll need to remember to occasionally check in.

I'm letting two magazine lapse: Newsweek and the New York Review of Books. The former because it is shallow and reductive, the latter because it is way too long and compelling... if I read every review that looked interesting, I'd never have time to read any books. Both were freebies when I pledged to KQED/NPR last year, so I don't have any regrets about receiving them, but neither will I really miss them. (I probably will occasionally seek out the New York Review online.)

More media! How about games! I've kind of been looking forward to playing a new generation of PC games, but since I'm in the middle of some console stuff, it will need to wait a while. I did, however, download the free Valve pack for nVidia owners. It contains a few small things, including an extended demo of "Portal," which won some awards last year. I've been really surprised by how good this game is. It's the same kind of revelation I felt when I first played Half-Life in 1999. Up until that point, all first-person games (well, almost all) had been brain-dead twitchfests: you ran around, shot the demons, and got bigger guns. This had no appeal to me at all. With Half-Life, that technology was finally put in service of an actual game, with an actual plot. Moving away from a pure combat focus (you didn't even get your first, primitive weapon until several minutes into the game), the emphasis of that game was on exploring your environment, solving puzzles, and figuring out just what had happened that day in Black Mesa.

Portal continues that proud tradition of reclaiming the "game" portion of the FPS genre. In doing so, it may breathe fresh life into the benighted adventure game genre. The puzzles in that game felt far more real and interesting and, above all, rewarding than anything from the later years of Sierra. Even better, it has a surprisingly keen sense of humor.

On the console front, I'm making good progress through Final Fantasy XII. I took break for several weeks from the main plot, instead focusing on side-quests and hunting for marks. Tonight I finally picked back up the story with a jaunt to Giruvegan, and was pleasantly surprised by how much quicker and more fun this is than the struggle I was having before. I feel like I'm closing in on the endgame now.

After this is done, I want to check out the latest build of Fall from Heaven. Andrew's been tantalizing me with all the cool new stuff Kael and his friends have added... I can't wait to try it for myself. I'm thinking of repeating my original run as the Kuriotates, but maybe I'll finally take the plunge and try playing an Evil civ for a change. I must admit, the vampires sound fascinating.

Beyond that? As with books and movies, there are always more games that I want to play than I will be able to. I want Bioshock, and the Orange Box, and Oblivion, and Mass Effect. The best news of all: Spore finally has a release date - September 5th in Europe, September 7th here. For years they've held the line against rabid anticipation and held off on making any promises, so for once I feel optimistic about a highly desired release.

That's it for now! Oh, and I'll be taking in the first part of the Tour of California this holiday weekend - if you're interested in cycling and live in California, check it out! It's a great time.

Monday, February 11, 2008

The Hidden World of Title Text

I recently made a cool and unexpected discovery. For a while now I've been a big fan of XKCD, a webcomic of romance, sarcasm, math, and language. However, I just did not get last week's comic. It felt a little like reading a confusing Far Side, where I feel baffled, and also a bit frustrated with myself because I usually do "get" these comics.

When poking around online for an explanation, I discovered a forum post dedicated to this particular comic. This cleared up the joke for me, though I think this is one of the rare XKCDs where more complete art would have helped in the last panel. However, what caught my eye was a line below the image labeled "Alt text:". Could it be?!

Yes! I jumped back to the main XKCD side and hovered my mouse over the comic. Eureka! Up popped a lovely little tooltip with a little joke related to the comic! Intrigued, I started flipping through the archives. Sure enough, every single image in there had its own little additional hidden punchline. Sometimes this was even funnier than the main comic, which was great to begin with.

This is a really cool technique. I actually saw it about a year ago at Dinosaur Comics, but it's rare enough that I am not at all in the habit of hovering my mouse in the hopes of getting more text. Back in the days when I maintained my personal website, I did a similar thing, although I did it via the "alt" attribute (which is intended for screenreaders and the like) instead of the "title" attribute (which is intended to give contextual information, like these do). DC and XKCD are kindred spirit webcomics, so it feels great to share a common movement with them.

While I enjoyed my rejuvenated tour through the archives, I was disappointed to find that on some images, the whole tooltip wouldn't display. Instead, the end would be clipped off and only an ellipsis would show. I found that you could see the whole text only by choosing "View Source" and digging through the HTML, or right-clicking on the image, selecting "Properties", then expanding the size of the window so you could read the entire text. What a pain!

Firefox is really good about allowing users to adjust browser settings, so I thought that there might be an about:config option for this. No dice... browser.chrome.toolbar_tips controls whether the tips display, but there was no setting I could find that would expand the space available for the tooltip.

This seemed curious to me - surely I wasn't the only person who thought this was bad behavior? I started Googling, and before long my search brought me to the official bug report. As I read through it, my heart sank. I am a fervent believer in the virtues of the open source movement: greater transparency, better testing, higher-quality software, more responsive to user's input. What I was seeing on display was a travesty of how the process was supposed to work. For starters, the original bug (which focused on an older, but related, display problem) was filed back in 2000 - yes, Mozilla/Firefox has had this problem for almost eight years. Does not inspire much confidence, and is something I'll need to remember the next time I'm tempted to bash Microsoft for spending years to develop an inferior product. Even worse than that, though, was the vile, hurtful things that Firefox developers were writing in the comments. Some users were being rude as well, unfortunately, but their actions do not reflect badly on Firefox, while those of the programmers do.

I love open source. I enjoy using its products, but I also enjoy going through the source (tangent: for a fun time, grep the Linux kernel source for swear words - you'll be surprised by what's in there) to figure out how it works. I've also written and submitted patches before - it's a curiously exhilarating feeling to see a piece of code you've written take wings, join the contributions of dozens of other people, and be used by many as a free product. That said, after reading through these comments, I feel strongly disinclined to do anything for Firefox. If this is the way their developers conduct themselves, I have no desire to join their ranks.

I think the saddest thing was a post by Ryan North, the beloved (by me at least) author of Dinosaur Comics. Yes: he cared enough about his readers and this browser to seek out the problem, and in a friendly and pleasant way explain why he thought this problem is worth fixing. The result? A developer insulted his intelligence and swore at him.

So this is a sad tale for me. I feel a little like a free speech advocate at a KKK rally, or a war supporter touring central Baghdad. I still believe in the cause, but am dismayed by the actions carried out in my name.

This tale does have a glimmer of happiness at the end, though. After eight years of alternating silence and vitriol, the Firefox developers have accepted a patch that was contributed years ago and that fixes this seemingly simple problem. Of course there's a catch - the fix has only been made in Firefox 3, which won't be released for quite a long time. That means all of us users will need to suffer in silence, or live on the edge by running unstable, bleeding-edge versions of Firefox.

But wait! Where the official project fails, the community comes through. Thanks to a wonderful individual by the name of Xavier Robin, there is now a Firefox plugin to display long titles. Adding it is but the work of an instant (plus a browser restart) and when it is complete - poof! XKCD, Dinosaur Comics, and other citizens around the web will proudly speak to you, free from the confines of the official buggy Firefox program. So I guess there still is reason to have faith in open source. There are good developers out there in addition to talented developers, and their quality shines through.

I'm a little slow sometimes

Ohhh.... now I get it! Several years after reading Neal Stephenson's Zodiac, while driving to work and listening to a completely unrelated NPR station, my mind started to wander, and I suddenly got a major joke in the book. Pöyzen Böyzen is a heavy metal band! As in... heavy metal. You know, like the toxins that Sangamon hates.

You'd think that an intelligent person who had studied English Literature would have made this connection long before.

Thursday, February 07, 2008

Droids and droids!

For the second time in as many weeks, I was driving north on 85 to the Googleplex, lured by the promise of free food and insight into the Android platform. This event was held by the Silicon Valley Google Technology User Group; I'm not familiar with them, but they seem to be a new group with loose ties to Google proper. Unlike the earlier Campfire session, this was a slightly larger affair, a bit more structured, and felt less under-the-radar.

200 people had registered for the event, and a good chunk of them showed up. We were in the Tunis room in building 43 - a different location from Campfire, but the same place I went about half a year ago for the forum on mobile advertising. Food wasn't as interesting as at the Campfire, and there was no open bar this time around, but it was more of a meal - various kinds of pizzas, lasagnas, and a green salad. The meet and greet lasted from 6 until 7, and we'd been warned by email to arrive early to avoid long security lines, so I had close to an hour to kill before the talk officially started. I got into a nice chat with Julian and Richard, two other attendees who had recently started work on Android. They haven't done a lot of mobile development in the past, so I got to put on my explainer hat for a while... I still hesitate to call myself an "expert," even after three years in the field, but times like this make me amazed at how much more I know now than when I first started this gig. I feel like the more I learn, the more I take that information for granted, and erroneously assume that everyone knows it. Shades of the "Curse of Knowledge" from Made to Stick, I suppose.

There was a round of early introductions that clarified exactly who these people were and how the night would be structured. I realized that the people running the event were not Google employees, but the main speaker was. I'm embarrassed to admit that I am not familiar with him; it sounds like he's a pretty big player in the Java world. Anyways: Dick Wall runs with the Java Posse and is currently working for Google... I THINK he's one of their Developer Advocates, but I could be confused about that, as I will explain below. Bonus: he's English!

The first part of the night was focused on a slideshow presentation Dick Wall gave. After the first five minutes or so I was feeling a bit dejected - I had come to the event hoping to learn more about Android, and so far it seemed to just be re-hashing the official documentation on the Web. After a while, though, I started to perk up as I heard information I hadn't encountered before (or else had forgotten). He ran an interactive talk that was regularly interrupted by questions, and a few rambling declarations, which was both good and bad. It led to some good points being made, but at the same time it would occasionally derail the talk and led to a lot of comments like, "We'll be talking about that soon."

The first big "Aha!" moment I had was with the lifecycle of an Activity, which I thought I totally understood. One thing I just realized a few weeks ago was that multiple Activities can run in the same process. What I didn't know until last night, though, was that an activity's onFreeze method will only be called if it is going away due to another process. For example, if I navigate from a main menu Activity in my app to a Help Activity that is also in my app, I will receive an onPause in my main menu but not an onFreeze. However, if my Help screen is interrupted by an incoming call, then both the onFreeze and the onPause will be called.

The consequence of this is that you only need to bundle up your temporary data if you're moving to another process. This is because Android can silently kill your process when another Activity runs out of resources, and will resume your process when it's ready to be shown again. It's a cool system, and I now understand it better than before. That alone was worth the price of admission. (The event, by the way, was free. Worth the price of gas, I guess.)

One thing I meant to ask but never did: in the above example, would only the Help screen's onFreeze get called? If so, is there any way to capture the current state of the main menu Activity? Unless I misunderstand how this works, only the top-active Activity in your application will be notified that it is in danger of being destroyed.

UPDATE: The above 3 paragraphs are incorrect. See the bottom of this post for details.

I won't rehash the whole talk here - about 80% of it comes from the official documentation, which is much better than I'd be able to produce. I'll just call out a few things that I thought were interesting.

He seemed pretty dismissive of the need for threads. We didn't get too deep into this, but he did say that you generally don't need to make them. This seems in keeping with my experience - stuff like Handlers let you omit many uses for them, and for the long run you'll often want a Service - but it was the most explicit word I've heard yet about threading. I assume you'd still want to spawn threads for network connections and medium-length processing. This is probably another area where we'll be seeing Best Practices come out in the near future.

He confirmed my suspicions about Bundles by saying that they're basically just Maps, with a few changes, and pointed out that you can store Bundles in Bundles. This is something people have commented on before: Android terminology can sometimes be confusing. (He also pointed out that what Android calls a "View" is what most people would call a "Control.")

Some of the early Android hardware will have 3D acceleration hardware. I heard some audible laughs, but was not surprised... it isn't something you see in America, but Japan has had phones with these capabilities for years. If you don't believe me, look for videos of FF Before Crisis (two years old!) and the like. I don't think we'll be seeing killer 3D apps at launch, because they tend to require resources beyond what an individual developer would be able to contribute.

The first big bombshell of the night: XMPP is going away in the next version of the SDK! I was stunned and relieved. Stunned because I know that a lot of people are working on apps for the challenge that rely on XMPP for their data interchange. Relieved because I haven't spent much time at all with it, and so I don't feel I've wasted my efforts there. Still, I can see another backlash coming.

At the end of the talk, Dick demoed a cool little app he wrote called WikiLinks. (I think that was the name... WikiNotes, maybe?) He said it will be made available on Google Code in a few weeks. Anyways, it's a tight-looking simple app that lets you edit pages, scans them to find Wiki links, and lets you follow those links to other pages. The app demonstrated how efficient Android is when working with Intents and Activities. Each time you clicked on a Link, it creates a new Intent and fires it. Every Intent maps to the same Activity - the WikiLink. However, even if you are clicking 40 links in succession and creating all these Intents, during the whole time you're using a single process - Android is re-using its resources while maintaining its open, pluggable interface. It was a cool demonstration that should help alleviate some skepticism over performance.

Speaking of which, the most encouraging thing I heard all night was that performance on the emulator is a good predictor of performance on the device. This is very different from my experience with BREW and J2ME, where applications that run well on the emulator can crawl once you get on the phone. Dick said that, in general, applications will run at least as fast on the phone, and maybe a bit faster... in particular, text input is less laggy on the phone. Anyways, I was delighted to hear this; it's something I've been worrying about.

There was a long run of questions before the break. A few interesting things came out here. First, support for touch was added recently to Android. The current SDK has some controls you can click on. Upcoming SDKs will enhance this support. However, true multitouch like the iPhone is a trickier problem. Dick didn't want to go into specifics, but it sounds like there might be some patent issues or other legal considerations in play.

One of the GTUG folks asked about J2ME support. I often think that questions like this miss the point, but there's a lot of people who understandably are reluctant to surrender years of development work. In the past, some OHA affiliates have expressed an interest in adding this support. The bottom line, though, is that Android will be open-sourced, so if anyone wants J2ME, they can make it.

They cut off the talk and took a break. During this time they ran a nice raffle, using a cool application based on Java FX that looks a lot like Wheel of Lunch. It spun and spun, people came up to claim their swag (Google thermoses, T-shirts, etc.). And - wait for it - I was a winner! My name was the last called, and I took my prize, a black T-shirt. It was labeled "Google Developer Days", which was clearly a lie. It was also labeled "Large", which I also think is a lie, but will need to wear the shirt before making sure.

Afterwards we had breakout sessions. The vast majority of people moved to the front of the room for the Android session with Dick, but other GTUG people ran sessions on other technologies... there was one for Maps, another for Gears, one for Open Social, and possibly more. They introduced Ash, an Android Champion, who will be running the sessions on Android in the future. A Champion is someone who promotes a technology and facilitates learning, and I think is an awesome name. I'll now have to decide whether to come to their monthly meetings for the Android sessions... I kind of doubt I will, but it is tempting.

The breakout was pure Q&A. I tapped out some notes on my iPhone, so I'll dump those in here. Here we go!

The first question was about the backlash against Android and the bad press it's been getting. Dick listened sympathetically. He explained that, more than anything, Google was just surprised by the amount of excitement Android generated, and wasn't prepared to deal with it. In the first 24 hours after the SDK was released, it was downloaded over 10,000 times. A chunk of these started doing serious work and posting on the discussion groups with questions. He said that they had 5 people to handle all of this, and just couldn't keep up. I don't think he meant they had 5 people on the dev team - that seems way too small - so I'm guessing he's referring to the Developer Advocates or other people meant to directly communicate with the community.

The overall response could probably be summed up as, "I feel your pain, but I don't want to apologize." They've been very busy, and they're focused on getting the next version of the SDK out, improving the state of Android, and while they want to help people, they just don't have the resources and it isn't their only priority. This matches my experience on the group - I asked a question about support for hybrid maps a few weeks ago and still haven't gotten a reply. I don't blame the Googlers - hackbod, Dan M, romain guy, and anyone else who chimes in. They always give great answers, and the group is quickly becoming a useful resource to learn about how to use something, or what doesn't work. But there's just a lot more activity on the group than they can keep up with. Dick says that they've been trying to hire more people, but it hasn't been working.

The worst news I heard all night: porting to the new SDK "will be painful." They aren't just fixing bugs and adding features; they're also changing APIs and removing things. I think XMPP is probably going to have a lot of fallout. Dick also specifically mentioned that the Content Provider system is going to be changing a lot. He said that WikiLinks took a few hours to port from Version 3 of the SDK to Version 5, so I'm shuddering at the thought of how long it will take to port a more complex app. That said, he hopes to write a porting guide that will explain how to make this shift.

Once again, his tone was sympathetic without being apologetic. They want to focus on making the SDK as good as they can, even if that means breaking things. After Version 1.0 comes out and the first phones ship, they'll be tamping things down, but up until then, anything should be fair game.

On a related note, he explained a bit more about the status of the challenge, and specifically the controversial decision to extent it. Background: they initially set a deadline of early March, which was heralded as a "firm date." They now have pushed it back to the middle of April to give people more time to submit. A lot of developers feel betrayed: they have devoted a lot of time and energy trying to meet the deadline, and now that Google has yanked it back, their chances of winning will diminish due to the increased number of entries, plus they will need to re-write their applications to make them competitive with whatever the latest version of the SDK ends up being. As Dick explained it, there were a lot of problems with the current version of the SDK, and some developers were frustrated because they couldn't make the apps they wanted to on it. The plan had been to release version 4 in enough time for everyone to switch to it before the deadline. However, they (Google) missed their deadline for version 4. Version 5 will be released in the very near future, and just leaving a few weeks before the deadline wouldn't be enough time for people to take advantage of it. So, they moved it back.

For the record, I'm disappointed in this decision, but it isn't my choice to make... it's Google's money, their contest, and they can do whatever they want. It has certainly not endeared them to the early adopters, however.

Talking generally about the challenge, Dick said that it hasn't exactly gone as planned. On the one hand, it sparked a great deal of interest in Android and got people looking at it, which has been Google's goal all along. On the other hand, the competitive nature of the contest has made people more inclined towards secrecy, less likely to share what they have learned or talked about ideas. If they had it to do over again, they might not have done the challenge at all.

There has been a lot of concern on the groups over the Terms and Conditions for the challenge, which (at least as of this writing) includes some very distressing statements such as "You agree that you will not be entitled to any rights in, or compensation in connection with, any such similar or identical applications and/or ideas." Basically, any member of the OHA is free to take your idea (whether or not you win the contest) and make that exact same application without paying you a dime. Again, there was some concern that people won't submit their apps, instead waiting until phones ship so they can sell them without worrying about "stealing." Dick was actually surprised to hear about this. The one thing he said was, "Google doesn't have a history of screwing people over." This is in keeping with the semi-official responses on the blog, which boil down to "We are running this contest to generate goodwill towards Android, and it would be stupid of us to ruin all that goodwill." He said that, if Google really wanted an app that you wrote, they'd be more likely to hire you than steal your idea. (Good answer!)

Someone asked about development in C++. My impression here has been that it's currently not supported and might possibly be in the future. It turns out that, while that's the official story, the reality is that some people have been getting C++ code to work on Android. The Google team is aware of these efforts, and, unofficially, think it's great. They can't support it, since their hands are full with the official Java SDK, but they aren't going to stop it. Also, the SDK will be getting support for JNI, at which point it will become possible to call C++ code from the Dalvik VM.

Someone asked about distribution. This still hasn't been decided, but Dick mentioned that there had been some talk of doing a vending machine, like for iGoogle gadgets. Google could be a (not the only) clearinghouse: you send your app to Google, Google sells it to people and gives you a cut of the money. This is the first time I've heard that suggested, and it's an exciting possibility: it gives a chance to really make a business from this while hewing to the open philosophy of Android and breaking out from a Qualcomm-style tight control. That said, the team's current focus is on finishing Android itself - "We're very busy" was a common refrain this night. These sorts of questions will be answered later on.

Along the same financial lines, another person inquired about advertising. Dick laughed. Everyone wants to know about ads, and everyone cares more about it than Google. He dismissed the rumors that, when you make a call on an Android phone, you will need to listen to a 30-second advertisement. Google's official position, the reason why they are doing Android, is to use it as a tool for keeping the Web open. There are more cell phones than computers in the world, and Google has a vested interest in making sure that all of them will be able to get on the Internet and browse freely, without being locked down in a walled garden. That's the big picture, and Google isn't interested in nickel-and-diming users. As he put it, his boss had told him, "Your job is to help developers make money." Google isn't after a slice of the pie, they just want to make sure everyone has access to the pie.

Will Android run on non-phone platforms, like GPS units or set-top boxes? Not at first, but after it's open-sourced, it will probably be ported everywhere. When will it be open-sourced? Google doesn't own all the code in Android - some is contributed by OHA partners - so it can't open source it all now. But, the agreement signed by OHA members says that all the software will be released when the first phone ships. So, we'll have access to it soon!

We don't know if there will be SyncML in the next SDK. It's a popular technology, but Google isn't sure yet what the syncing story for Android will be. Again, they want to get it right, not necessarily fast.

The main focus now is just on making it work and getting it done. Because of that, they aren't as devoted to standards as other players. Earlier in the talk, Dick had said that while J2ME was a great technology for its time, devices have now advanced to the point where its design is too limiting, giving Android a great opportunity to rethink how to do mobile development. If this includes breaking standards, so be it. Google is aware of the pain that this can cause developers, but believes it's important to make software better. (As an example, think of Google Docs. By releasing this tool for free, Google killed off some companies who were charging for similar services, but the market as a whole got stronger. Again, after Android is released they'll be able to focus more on standards, but right now, it's intentionally being kept quite fluid.)

The Google philosophy, in case you can't tell yet, is "Have a very long beta period." During that beta, they're free to tinker, and users are rewarded with improved products, but nobody should expectit to be stable.

The browser is built on Webkit and is comparable to the iPhone browser. People have had good experiences getting iPhone web apps to run on the Android browser. There will inevitably be some quirks, but so far, they appear minimal.

He isn't sure how judging for the Challenge will work. Ash, the Champion, said that he has heard that each OHA member will judge all the applications, using whatever criteria they want, and the winners will be determined based on that consensus. Also, Dan Morrill is in charge of the challenge, which was news to me but makes sense. I imagine there's a lot of pressure when you're responsible for distributing millions of dollars!

Finally, someone said, "When can I buy a gPhone?" "There is no gPhone!" was the immediate and correct response. As Dick said, Google has no interest in getting into the hardware game; they want others to get into the game, and want to help them succeed. As for Android devices, they will be shipping in the second half of 2008 - they still don't know exactly when.

At this point, they started to yell at us to leave, so we did. I was pretty impressed... it was already 9:30, but the last three and a half hours had flown by. It was a great evening for me, a chance to dig deeper into Android and, even more interesting, peek behind the Google curtain to learn more about what is actually happening on Android.

On my way out, I stopped and chatted in the parking lot with a fellow GTUG attendee. It turns out that he works for Yahoo, and as I drove home that night, I reflected yet again on how awesome Silicon Valley is. Just think about it! Google and Yahoo are, by all appearances, each others' biggest competitors (though even there, there is more friendliness than you might expect). And yet, an employee from one company could waltz into the other's campus and spend a night getting information from Google on its technology. Not only that: Silicon Valley is also the place that attracts people who, after working a full day creating technology for a tech giant, would voluntarily surrender an evening learning about different technology for another tech giant. We're all nerds, and we all get along. I love this place!

UPDATE: After testing out the onFreeze/onPause thing myself, I need to correct my above statement. I thought Dick had said that onFreeze will only get called if Android needs to recreate the Activity later (i.e., because another process is taking over), but I must have mis-heard. As I had previously thought, onFreeze ALWAYS gets called before onPause.

That returned me to my earlier confusion - why on earth have two methods for this, when they will always be called in combination? I haven't found an explicit explanation, but I think it may be just to simplify Activity design. Conceptually, onFreeze is responding to your transition to another Activity by storing persistent state; this state will later be passed to onCreate if the Activity was killed by Android. On the other hand, onPause is responding to your transition to another Activity by cleaning up non-persistent resources: reclaiming threads, canceling network activity, and surrendering any resource locks; these resources will be reclaimed in your onResume call, whether or not the Activity is still running in this process.

Continuing that thought: onFreeze can be omitted altogether if there's no state to restore. It isn't that Android doesn't call your method, just that you the developer don't need to do anything. In this case, your onCreate will always do the same thing.

Again, I'm not sure about all of this since I feel like I'm making it up, but it fits in with what Dick was describing and what I'm seeing in the emulator. If so, it's a keen design. I may need to revisit some of the Activities I've written in the past - I have been playing loose with the difference between onCreate and onResume, and between onFreeze and onPause, since they always seemed to move in lockstep (well, except onResume, which can happen every time you return to a screen). It will take a bit of work, but should make them more robust, and better citizens in Android!

UPDATE 2 3/17/08: Either I'm going crazy or this actually changed between M3 and M5. I'm now seeing the behavior that I thought Dick had originally described - when navigating from one Activity to another in the same application, only your onPause will get called, not onFreeze.

In practice, one thing this means is that I can't rely on onFreeze as a good place to store preferences, like I did in M3. I'll need to either move this to onPause or start updating preferences whenever they change.

I swear, one day I'll understand how this all works...

Tuesday, February 05, 2008

Big Government / Small Government

Civic engagement is fun!

I enjoy going to rallies. Partly because it taps into one of my personal quirks: I'm a shy and introverted person who really enjoys crowds. Rallies expose me to a sense of camaraderie and togetherness that doesn't require a whole lot other than the ability to clap and cheer. It's also a fun, low-stress way to get connected with like-minded individuals. Hey, you already have something in common with everyone else there: you care enough about a candidate or a cause to give up some of your time and attend it.

I actually agonized a little bit about whether to attend the Obama rally in San Jose on Saturday. Not because I'm unsure of my support... heck, I voted for him weeks ago. But he wasn't going to be there, and instead was sending Kerry in his stead. I have complicated feelings towards Kerry. I supported him in '04, and even took some vacation time to help him (through MoveOn.org) in Get Out The Vote efforts in Missouri. It was all for naught, and I felt crushed. Additionally, while I believe Kerry would make a far better president than George W. Bush, he was far from my first choice among the Democrats, and truthfully I never forgave him or Gephardt for their slimy, mudslinging attacks against Howard Dean.

All water under the bridge, though. Kerry redeemed himself in my view by strongly endorsing Obama, and when I learned that other local supporters, including Zoe Lofgren, would also be in attendance, I was sold. Best of all: it was being held in the Mexican Heritage Plaza, near Ground Zero for good Mexican food in San Jose. I could conceivably turn down Kerry, but not the combination of Kerry and tacos.

The turnout was quite good, filling the theater we had. It's the first time I've been to the MHP, and I was impressed by the architecture. All the walls are glass, letting in lots of natural light, and the entire back can be opened up, which they did so that everyone would be able to see and hear. I arrived just in time to grab one of the last seats.

The event began almost on time, a rare occurrence for this type of thing. First up was Congresswoman Lofgren, who isn't my representative but who is a really solid legislator who I admire for several reasons, not least among them her resistance to the war in Iraq. She gave a really eloquent and striking speech extolling Obama's virtues, revealing that she had decided to keep her commitment to this rally even though her mother-in-law had just passed away. After she wrapped up, she left the plaza with a lot of applause to speed her way to the visitation.

Next up was state Senator Elaine Alquist, who also doesn't represent me. She was probably the weakest speaker of the bunch... not bad, but she just wasn't all that compelling either. I cringed when she said, "It isn't a fairytale to say that Barack Obama voted against the war... because he did!" No, no.... he was in the state Senate in Illinois at the time, and unfortunately, the Illinois senate didn't get to vote on the declaration. It IS true, though, that he spoke out forcefully and publicly against the war at the time, and has maintained his opposition since then. I wish she had done her research and not let something like that slip out.

Next were two Latino union organizers who spoke in succession... I don't recall either of their names, but both were excellent. They spoke passionately about their personal history, working in the fields of the Central Valley, fighting for migrant workers' rights, and the hopes that Obama offers to immigrants and the working class. The second speaker in particular did an excellent job: fiery and passionate, he whipped up the crowd and threaded call-and-response into his introduction. "Viva!" "Obama!" "Se Puede!" "Si, se puede!" "Fired Up!" "Ready to go!"

SEIU, one of the largest and certainly the most active of unions in the state, had been backing John Edwards. At the 11th hour, after Edwards dropped out, they voted to back Barack. The organizers assured us that their resources would be put to use: they would be doing all they could to get out the vote on Tuesday. That made me happy, of course. As I learned in Missouri, the ground game is incredibly important in close elections.

As much as I enjoyed the speakers, I also enjoyed surveying the audience. To my eyes it was mainly white, but maybe a quarter Asian and perhaps a tenth African-American. I didn't see many hispanics at all, which was probably disappointing to the campaign - they've been making a big push for Latinos in California, which was probably why they chose this venue in the first place. Ages ranged all over the place, but it looked like a majority were young. I felt a little underdressed - most guys were wearing dress pants and shoes, while I was slumming in my standard oversized bluejeans and dirty sneakers. Of course, sitting in my chair and keeping my coat on (it was unusually cold), I didn't feel too visible. I'm really bad at judging audience sizes... I'd say definitely more than 400, and definitely less than 1000.

Just paying attention to my immediate neighbors was interesting as well. To my left was a young Japanese woman who was really... earnest, in the best possible sense. She would clap at the right times and say "Yay!" in a small voice. I don't mean that she made affirmative noises: she actually pronounced "Yay!" In front was a family with adorable kids. To my right were some quiet guys, probably in their late 20's or early 30's. Behind me was someone who loudly talked into his cell phone during the speeches, and when people asked him to be quiet or take the cell outside, would say "Baghdad! Baghdad!" I tuned him out and stayed focused on the action.

Kerry arrived, and the last speaker turned it over to him. Kerry was in much better form than I'd ever seen him during the '04 cycle: warm and funny, he opened with a few jokes, many at his own expense, before launching into an eloquent endorsement of Obama. He stressed that he wasn't opposed to Hillary, and that everyone should support whoever the eventual nominee was, but said that Obama was the best choice for the party and the country. He laid out all the reasons we've come to hear: a better understanding and engagement with the world, a passion for community-level improvement, intelligence, character, and judgment.

Listening to him talk, I reflected on the recent phenomenon where failed presidential candidates always get way cooler. During '96, Dole was dour and boring; afterwards, he became pointed, funny, and dry. During '00, Gore was stiff and programmed; afterwards, he became fiery and inspiring. During '04, Kerry was sonorous and passive; the man I was watching now had discovered how to connect with a crowd and keep them engaged.

He wrapped up the speech and then, to my surprise, took questions from the audience. I guess that this was more of a "Town Hall" than a standard rally, which is cool. He was pretty good at this portion, although he seemed to slip more easily into his standard system of giving long and round-about answers. Some specific ones I recall:

The first question was from a man who asked how he could ask someone not to vote for the first woman President. There were actually a few "boo"s in the audience. Kerry said, "It's a fair question," and launched into his response, which boiled down to: both would be a historic choice, and we can't really say that one (race or gender) is "more important" than the other.

This got me thinking to the curious bifurcation of responses to Obama's race. Among supporters, you often hear two things, and sometimes both from the same person. On the one hand, "Race doesn't matter:" Obama is post-racial politics, draws support from across the racial spectrum, isn't running on "black" issues, and so people shouldn't be concerned about it or factor race into their choice. On the other hand, people talk about how an Obama presidency would, on Day One, improve American stature in the world by forcing others to see another side of the United States. It would show that we as a nation can get beyond our ugly racist past, that we have a leader who has seen poverty in the global South, that a new kind of politics is starting in the most powerful nation on Earth. So I guess it boils down to, people want to say that race isn't important within the U.S., but could be a significant asset in our foreign relations.

A teacher talked about how bad "Nickleby" had been, and how children aren't learning. It took me a while to realize that he was saying NCLB, for No Child Left Behind. As soon as Kerry started his answer, he explained exactly that to the audience, which was great... I'm sure everyone in Congress uses the lingo, but he's connected enough to understand that not all of us would make that connection. He did an Obama-esque thing here, giving a straight answer that combined what the questioner wanted to hear (teaching is important, Obama will increase funding for education, we need to get away from test-focused evaluation) with things he may not have enjoyed hearing (standards and accountability will continue to be central). I have allergic reactions to pandering, so I was happy to hear this straight (albeit long-winded) answer.

A woman mentioned that her son was serving in Iraq, and asked what Obama's plans for that conflict were. This was probably Kerry's best response of the day - he engaged the woman, asking for her name and her son's name, and what combat unit he served with (100-and-somethingth Airborne). He then led the audience in a standing ovation for the service of the armed forces. This has become Democratic boilerplate in the last seven years - be very careful to show a lot of respect for the military while arguing against the war, and it seems to be effective. Kerry highlighted Obama's work on the Veteran's Affairs Committee, where he has had to battle Bush to get enough money for the veterans returning from Iraq and Afghanistan. Kerry closed with a strong statement that a President doesn't show he's pro-military by starting wars; he shows he's pro-military by taking care of soldiers after they come home. Great response.

An eloquent young woman said that, as an Arab American, she is disturbed by the steady climb in hate crimes over the last several years, and asked what Obama would do in response. Kerry's answer was kind of odd - he never directly answered the question, but instead launched off on a bit about how to fight Islamic terrorism. It was a good response, but not to the question she asked. He ended strong, saying that the US needed to empower moderate Muslims throughout the world, so that they can promote "Islam for what it is: a religion of peace."

The same annoying impeachment crowd was present for this event that crowded the town hall Mike Honda held several months ago. I sympathize with these people - yes, Bush and Cheney have been poor leaders, some of their actions (particularly wiretapping and Guantanamo) may be illegal, and there should be a reckoning. That said, in the large sense, I totally disagree with their actions: an impeachment would, at most, shave a few months off this presidency, and in any case there aren't the votes in the Senate necessary for it. If they want to use impeachments as discovery, then it will take even longer, and we should be able to learn more once the new President moves in anyways. On the small sense, I find them annoying, disrespectful, and disruptive... they pretty much ruined the Honda Town Hall, they eat their own, and I wish they would just shut up and let people talk.

Anyways! They started up their annoying interrupting and yelling during Q&A, and Kerry earned my admiration when he politely but firmly shut them down. He explained why impeachment wasn't an option, they started yelling again, then he said, "Let me say one final thing. If you want a Republican elected in November, then keep up with this impeachment talk, because that's the way you'll make it happen." Everyone applauded, and either ashamed or enraged, the impeachment groupies kept quiet the remainder of the time.

Someone asked if Kerry could convince John Edwards to endorse Obama before the Tuesday primary. That got a chuckle. (They were running mates in '04, obviously [well, obvious to everyone except the San Jose Mercury News] but disagreed over strategy during the campaign and have fallen out since then.) Kerry said that John Edwards deserves to make his own decision, and nobody, except for Elizabeth, will be able to influence him. So, no, he won't be calling Edwards. He did say that he thought endorsements are important now, but they will become much less significant after Tuesday. Endorsements are a tool to get to know candidates better, but after the big round of election coverage, voters will have gotten to know the candidates and won't be as affected by endorsements.

The last question was an amazing one from a little kid, who gave what sounded like a well-rehearsed question, but delivered without any notes. It boiled down to "How will Obama stop the influence of lobbyists on controlling Washington legislation?", but was extremely articulate and intelligent. Kerry bantered with the kid a little, learning that he was in seventh grade, before saying, "Do you want to be President tomorrow?" He then gave his answer: to fix the problem with lobbyists, we need to start by stopping their influence on campaigns, which Obama has done by refusing to take any federal lobbyist or PAC money during this race. The second thing, a theme he mentioned multiple times, was the importance of individual citizens (that's us!) in holding politicians accountable. He talked about his work against the Dirty Dozen after returning from Vietnam, how a grassroots movement identified the twelve senators most hostile to the environment and worked for their defeat. Nothing, Kerry said, is more important than citizens keeping track of what their legislators are doing, and complaining when you don't like it, because they listen to you.

And on that note he finished the town hall. Music started playing and people either surged towards Kerry or filed out. I followed the latter route.

Oh! One more thing. During one of the questions, someone handed Kerry a sheet of paper. He read it and made an announcement that the next night (Sunday the 3rd), Michelle Obama would come to San Jose State University for another town hall. This got a lot of applause - everyone loves Michelle. I resolved to go.

I tried. Doors opened at 7 and the event started at 8. I arrived around 7:30 - by my calculations, I came 30 seconds too late to get into the ballroom. They had roped off the hallway leading to the event, and there was no communication at all about what was going on - nobody said "We're full, go home," nor did they say, "We're going to set up an overflow room for you." I waited for about ten minutes, getting more frustrated by the lack of information, before giving up and left. It was a curiously poorly run event by a campaign that's been doing such a great job throughout the year.

However, I wouldn't long be without a political fix. The next night was a meeting that had been on my calendar for weeks: my councilmember, Pierluigi Oliverio, and the District Seven representative, Madison Nguyen, were hosting a Parks forum that would address the Willow Glen Spur Trail. (This is a very local issue, so even if you've made it this far, feel free to stop reading.)

I'm a big fan of the Los Gatos Creek Trail, which I've taken to commute between my apartment and work. The trail starts in the Santa Cruz mountains by Lexington Reservoir, and currently stretches as far northeast as Meridian, a bit south of 280. The eventual plan is to connect it with the other trail systems that run in the area. A critical portion of that connection will come through the Willow Glen Spur Trail, also known as the Three Creeks Trail. It doesn't exist yet, but it is planned to connect the Los Gatos Creek Trail with the Guadalupe River Trail and the Coyote Creek Trail. This is hugely important, and also supremely hard. Although this connection has been planned for years, San Jose's budget deficit and legal issues have kept it from moving forward. The meeting was intended to connect with the community and keep them abreast about the current state of things, as well as solicit input.

I had agonized a little before going to the meeting. It was scheduled to run from 6:30PM-8:30PM on a Monday night, leading me to wonder: would they serve food? At the prior meeting on neighborhood parks, on a Saturday morning, they had served pastries and bagels. It seemed less likely that the city would spring for dinner. Still, starting at 6:30, it seemed like the perfect time to serve food. I agonized a bit before deciding to forego my meal. Turns out it was a postponement instead - no food was to be seen. On the other hand, they ended the meeting around 8:15, so I still had time to eat.

(I think way too much about food.)

Arriving in the Gardner Community Center, I did a double-take. Was that Chuck Reed? Yes: the mayor of San Jose had dropped in for a visit. I have a confession to make: I did not vote for him, but I now wish that I had. His first year in office has been a promising one: low-key, but he has been a solid performer, pushing through ethics reform and managing the city well during a difficult period. My fear at the time of the election had been that he would lock horns with the city council and nothing would get done, but he swept some reformers into office in his wake, and while he doesn't have Gonzales's solid backing, he can certainly take care of business. I didn't introduce myself, but I could have: he was standing right there!

The meeting started with the Mayor giving a quick mini-speech, in which he said, "In years of working on the City Council and now in the mayor's office, I have come to one conclusion: trails are hard." Every government agency that gets involved seems to double the amount of time involved, and he said that with the Willow Glen Spur Trail, there are often three or four levels of government involved. He asked us for two things: patience, and persistence.

Next, Oliverio and Nguyen gave brief introductions. Pierluigi has grown a beard since the last time I saw him, which looks good on him. As in the earlier meeting he was friendly and brief; he mostly stayed out of the way during the night. Nguyen, who has come under fire recently (undeservedly, in my opinion) for an issue involving the local Vietnamese community, also thanked people for coming, and remained quiet for the remainder of the night.

The main feature of the meeting was a 20-minute Powerpoint presentation given by the city's trails director, which reviewed the project and the issues with it. Major points that I recall include:
  • The land, which is currently owned by Union Pacific, was tested several years ago and found to be contaminated. The State of California is now working with the railroad to determine how to fix it. This could go a lot of ways: the railroad might clean it up and then sell it; the city might buy it and then cap it; or the state could get involved in some way. In any case, though, that process needs to finish before work can start on the trail.
  • Developers are interested in several parcels along the trail. For parcels that are part of large residential projects, the city can require the developer to build a trail, at no extra cost to the city. But, for smaller parcels or ones zoned commercial or industrial, the city can't make such requirements. It must buy the property or secure an easement.
  • Most of the land between Los Gatos Creek and Coyote Creek / Highway 87 is zoned residential, while most of the land to the east is zoned light or heavy industrial.
  • Crossing the railroad by Highway 87 could be a problem. We can't cross at the grade, because there are 3 tracks there, and can't build a tunnel, because of the river. An elevated crossing is possible, but complicated because the proposed high-speed rail system that would connect San Diego, Los Angeles, San Jose and San Francisco would run through here. Such a rail would have to be elevated, making it hard to plan for a trail crossing.
  • Most of the land to the east of 87 runs behind factories and warehouses, with no windows. This forms an "alleyway", which has the Police Department concerned: there's no easy way on or off the trail, and nobody keeping an eye on what's happening there.
  • Also on the eastern reach, the old railroad crosses several streets in the middle of the block. The city can't do an at-grade crossing here because it's too close to the traffic signals. It also can't do a bridge or tunnel, because they're already at the grade. Typically, they would direct people to cross at the signal. However, they know from experience that many people would cross the street directly, leading to safety risks.
  • Union Pacific is asking $20 million for the whole stretch from Los Gatos Creek to Kelly Park. We won't know the actual price until negotiations begin, but it seems to be reasonable, based on the cost of comparable properties. The city thinks that it can probably get the western reach of the project for about $5 million, which is what they currently have budgeted for the project.
At the end of the presentation, he presented an alternative that the city has started looking at: complete the western reach of the trail as planned, but instead of following the railroad to the east, follow Alma avenue instead. Alma is a road in poor condition that runs through a neighborhood with gang problems. However, it would avoid many of the problems with the other route: it's a more visible location, with lots of access on and off, all crossings at signals, and no need for environmental cleanup. This approach would involve working with the Transportation Department to redesign the street: adding bike lanes and widening sidewalks to make them more distinctive. The result wouldn't be a "trail" in the sense we think of, but would accomplish the goal of linking together the desired points.

After this was done, we had a good hour or more of questions and answers. During this time, various people from different agencies in the room pitched in as the inquiries were all over the map: zoning policies, funding options, inverse condemnation, and other fun bits of arcana. I won't recount EVERYTHING, but a few moments stand in my memory:
  • One semi-irate man lives near Reach 4 of the Los Gatos Creek Trail, which just opened a few months ago, and has been dismayed by the increase in crime that the trail has brought. The presenter acknowledged the problems, and said that the city is in the process of hiring trail patrols that will take care of a lot of these problems. They are also working on a new system that will help the police respond to reports, by making trail mile markers, recording their GPS coordinates, then integrating this information with the police's maps and the 911 dispatch system. Others in the room pointed to the older sections of the Los Gatos trail, which had similar problems when they first opened, but which everyone now loves.
  • Most of the people were pro-trails, but a few were mainly anti-development. One graying 60's radical spoke at length about the absurdity of developing along Coe Avenue, and seemed as willing to leave the ground fallow as to build a trail... anything but letting houses in there.
  • More on inverse condemnation: as a Supreme Court case has decreed, the city can make demands on developers only if they are in proportion to the the project and benefit the owner. This comes from an Oregon timber warehouse that resisted a demand that they build a trail: they pointed out that nobody buying lumber would use the trail, so it was useless. The Supreme Court agreed. As a result, on a case-by-case basis, cities need to establish that a condition is (1) appropriate for the property (for example, a trail that residents will take), and (2) not onerous to the developer (you can't require them to build a whole trail if they're only developing a single home).
  • The city would gladly name the trail after Bill Gates or Larry Ellison if they paid the $20 million for the trail.
  • However, even if the city got a check today, they wouldn't be able to start building immediately. They would still need to do environmental cleanup, determine the safest place to build the trail, etc.
  • Man oh man, Chuck Reed wasn't kidding about government agencies. This didn't come out until the Q&A, but it sounds like there's some serious friction between the city and Santa Clara County. Some county representatives in the room said that they have $2 million that they are planning to put towards the spur trail. However, they are only interested in it if it covers the whole property: in other words, it sounds like if the city pursues the Alma road solution for the eastern reach, they may lose that money. At the same time, that $2 million is a small chunk of what might be $20 million for the whole project.
The overall tone of the meeting was civil, with just a few minor outbursts. I'm really glad I went. This is kind of a micro-issue that only affects a small portion of people, but it also feels very real in a way that large national issues sometimes do not. This meeting made it clear that this would be a years-long endeavor with an uncertain outcome. If we finish it, it will be extremely satisfying to have seen the whole process unfold.

Finally, for full disclosure, I should explain my vested interest in this: I am a passionate user of the Los Gatos Creek Trail. My dream is to be able to ride my bike downtown, and eventually, out to the Bay Trail, a network of bike trails that should eventually encircle the Bay. Because of this, I could care less about the eastern reach: what I really want is to be able to get from the LGCT to the Guadalupe. Because of this, I'm actually more concerned about how the existing trail from Meridian, or the bike lane along Willow, will eventually connect with the Spur Trail. That being said, I recognize how selfish this is... the eastern reach is just as important for people who currently use the Coyote trail as the western trail is for me, and I hope that in one form or another, the project is eventually completed.