In early July, I wrote in this space about how I was feeling a little inundated by the massive amount of research and discussion material that was out there lately. (My metaphor complained about how we had been getting hammered by severe weather in the plains states. My concerned readers will be happy to know that it hasn’t so much as rained here in a month. Be careful what you wish for, I suppose… I’m spending a fortune on watering my lawn.) My point was, it’s hard to decide what or how much to read. There must be a way of filtering things down so that I only use time on the most meaningful information. Do you try to touch on everything a little or do you just pick and choose things that you can get elbows deep into.
However, there has been something that has kind of fallen out of that original lament. I have begin realizing that a part of my filtering algorithm has been based around what format the information is delivered in. There are some things that work better in some formats whereas others are better delivered in other ways. Unfortunately, sometimes the information isn’t presented in that preferable format. Of course, sometimes that just isn’t possible. Still, I like it when people go the lengths to make digestion easy for me.
Less Code, Please
There are a few recent examples of how I just don’t have the calories to burn on something which should be very important to me. One such medium is SDKs or other forms of AI code. I downloaded the F.E.A.R. SDK a few months back — and I looked through it some. I also grabbed the AI source code for Civ 4 — which is really important to me with my specialization in strategy simulations. In neither case could I find the time to wade through it. I suppose I could have done it a little bit at a time… but just the act of remounting my brain to figure out where I left off is time-consuming. I often wish that there were road maps that pointed me straight to the important bits so I didn’t have to go through the mundane stuff. I want write-ups of what I’m looking at. I want diagrams of how the pieces and parts are working so I don’t have to assemble all the clues myself. (To be fair, I don’t even like looking through my old code that I haven’t touched in a while… but going through someone else’s sight-unseen is very tedious.)
More Code, Please
On the other hand, one thing I don’t like so much is presentations on what are ostensibly programming concepts (or programmable concepts) that don’t include code. Whether it be a book, whitepaper or blog article on a subject, there are times when grasping the concept would be just a touch easier, quicker… or at least more complete, if they were to include even simple code snippets. I will even accept pseudo-code at times. Now, I understand that for shorter things like blog posts, writing up sample code is asking a bit much. But I really appreciate the extra effort made by authors of books to show what they are talking about in code. In the AI Game Programming Wisdom books, for example, there is definately a premium on articles that have code — not just on the CD, but actually excerpted in the article itself.
Pretty Pictures, Please
Another form of explanation that really works for me is the visual side of things. If you can put example data in a table, do it. If you can assist in the presentation of a sequence of events by drawing a simple box and arrow diagram, do it. As I read on through the written material, my eyes will flicker back and forth to the diagram. In a way, it acts like an anchor for my thoughts. For more involved concepts such as entity relationships, this becomes even more important. If you are going to paint an example of how an agent will react in a situation, show me a simple representation of the situation.
Uh, What Are These Pretty Pictures?
On the other hand, there’s only so much I can get from pretty pictures. Sometimes I really want to hear the person describe what they did (and by implication, what I should do). I find that I can often not only get more information quicker with a video or live presentation than I can get from a paper or code, but the quality of the transfer is better into my brain. I also know that he is not likely to bother saying or showing the fluff… but rather the sexy stuff. Coming full circle, however, there is going to be a wall in even the best presentation where I am going to want code to complete my immersion into the concept.
On a related note, there is nothing more frustrating than having some killer Powerpoint slides without the actual presentation available. You get all the teaser material but the content is missing. One of the best examples I saw of this recently was Damián Isla’s 2005 AIIDE presentation on “spatial competence” entitled “Dude, where’s my Warthog?” (7.1 MB ppt download) I was salivating in true Pavlovian style by going through the 44 slides of bulleted lists, images (many of which have multiple overlays per slide), and a one paragraph nod to “Grandfather Minsky”. However, without Damian’s dulcet tones to fill in the gaps between the bullets, I was left creating small puddles of drool on my desk. I needed more… I needed explanation… I needed it written out… I needed code. (BTW, my plan is to ply Damián with beer at October’s AIIDE Conference and get him to reprise this presentation.)
And The Verdict?
Another reason that this whole idea of various presentation methods has been important to me lately is… well… I can’t officially announce my reason yet. (Many of you know anyway - but give me a few more days before I go “on the record” with it.) Suffice to say, I will be doing some “presenting” of my own soon. I have had to ask myself over and over throughout the process (and will need to continue to do so), what is “the best way” of getting my point across? So, that brings me to my discussion question for the week…
How do you like getting your educational information? When is code a good thing and when is it over the top? When do you want detailed text and when would you rather have a diagram handy? When do you just simply have to have
Damián a live person armed with Powerpoint or simply a paper napkin and a pen?