In the Bay Area, we are fortunate enough to have so many great tech meetup groups that there are frequent collisions, and it's always a bummer to pass on what promises to be a great presentation.
On January 20, the SF Java group has three sharp guys presenting on Scala.
Meanwhile, down in Mountain View, the Google App Engine group has a "hacking..." talk that with a handful of presentations including an update from Google AppEngine Product Manager Pete Koomen.
What to do? Hmmmm...
Ultimately, I decided on AppEngine.
Principally, it appeared that more new, not-readily-available-today-on-the-net material would be presented at the AppEngine group. Lightning talks give a forum to quirky thinkers, very early startups, and other interesting folks, while representation from the mothership might be able to offer a little detail or timeline on upcoming features, like large BLOB support and the next language.
The Scala talk just seems less likely to include info that I can't get from existing resources.
Which leads to the following conclusion about what makes for more compelling talks, at least for an audience of me:
A focus on information that is not readily available, and which gains from the presence and experience of the speaker.
So, for example, I've seen many talks on "my cool [insert language] library that does [insert function]."
A fine topic. Now in the execution, perhaps best to talk about the problem being solved, how you solved it, what tradeoffs were made, constraints dealt with, any magic foo inside ... rather that a bunch of examples showing how clever/elegant the external API is and examples of what one can do with it.
Not that the latter is unimportant, but that the latter is (should?!) be readily available from the online docs/examples or the presentation notes; whereas the former represents the specialized knowledge and experience of the library's creator.