Concept maps

Quick links:

March 9, 2010 – Thanks to Courtney Barnett for the update!

Geek!

So I’m not completely hopeless after all… ;) Hanging out with
uber-geeks at events such as the International Game Developers
Association social last night has made me feel really non-technical,
but a full day of good hacking’s made me feel okay again. I finally
got the hang of the prefuse visualization library for Java. It didn’t
have documentation and it doesn’t have much of a Google footprint, but
I used my mad source-reading skills to piece things together, cobbling
together pieces from different demos and diving through the API for
things I know should be there.

Java was, as usual, a pain to deal with, cross-platform – version
incompatibilities with my browser plugin at the beginning! – but after
a lot of searching, I finally got that all sorted out. I was very
happy to get the visualizations to work, and a couple of people in the
Cambridge lab had fun with it too.

It’s good that I’ve found something for drawing polished, interactive
visualizations. =) All I need to do now is learn graphviz so that I
can also be an ubercool researcher. ;)

On Technorati: ,

Random Japanese sentence: 猫は驚いて飛び上がった。 The cat jumped in surprise.

LifeCampTO social graph

After LifeCampTO, I asked people to give me the list of people they wanted to talk to (or, well, those people’s primary keys ;) ). I’m still figuring out how to do a great little mail merge that reminds people of the keywords, but along the way, I thought I might I’d learn more about network visualization.

Here’s the resulting graph: (click on it for a larger version)

LifeCampTO social graph

So, what does this graph say?

You can see that most people have quite a lot of follow-up conversations ahead. It wasn’t the kind of event where most people walked away with only two or three conversations, although they might have smaller follow-up conversations with different groups of people. It might be interesting to do some cluster analysis around topics, and maybe someday I’ll figure out how to encode the data in order to make that analysis easier. ;) Based on this, our on-the-fly decision to have three big conversations turned out to have made sense, although it would also be interesting to try having small conversations about both popular and niche topics, and then having people come together at the end (or on a wiki).

Getting to this graph (and to the individualized graphs I’ve just figured out how to produce – it highlights each person’s connections) involved a lot of bubblegum and string.

  1. I typed in the data people had written down, using OpenOffice.org to form the upper triangle of an adjacency matrix. Two people’s sheets were missing, and one person didn’t have any connections incoming or outgoing. =( Thank you, programming competitions, for all those lovely data structures.
  2. I copied the adjacency matrix and pasted it onto itself using OOo’s Paste Special – Transpose, Skip Empty Cells. This gave me a full adjacency matrix.
  3. I used a really long and hairy OOo formula to concatenate the cells into Emacs Lisp code as an associative list, with extra information and an edge list.
  4. I copied that into Emacs and processed the associative list’s edges. I needed to do that anyway in order to be able to e-mail people personalized e-mail with all of their introductions, instead of sending one e-mail per edge. Along the way, I got the idea of visualizing the network diagram, so I spun off some code to output a full edge list in DOT format for visualization with circo.
  5. I used a command like
    circo -Gsplines=true < lifecampto.dot -Tpng > lifecampto.png

    to generate the graph shown.

  6. Then I thought it would be cool to personalize the graphs, too, so I wrote some more Emacs Lisp to generate personalized DOT files that highlighted the recipient in green and the recipient’s requested links/nodes in green, too. I used a Bash for loop to turn all those personalized DOT files into PNG files.

Example of a personalized image:

Tomorrow, I’ll work on the mail merge. =)

A little computer science is a dangerous, dangerous thing.

Harvesting the backchannel bazaar of insights

One of the things I love about virtual presentations is the richness of the backchannel conversation — the chat that accompanies a presentation. When people don’t have to worry about interrupting others and they’re free to discuss things in parallel, the conversation explodes.

It can be overwhelming for speakers and participants alike, but it’s a great way to capture a lot of insights, answer many, many questions, and start an ongoing conversation.

A few weeks ago, I gave a presentation on microblogging. There were 150+ participants. 51 people actively used the chat to share their thoughts during the presentation, typing in 461 messages in total. Topics ranged from beginner questions about getting started to advanced questions involving multiple tools.

I saved the chat transcript and uploaded it along with my session materials. Another participant converted the text transcript into a spreadsheet that also summarized messages by author. The spreadsheet also tagged replies with the ID of the person being replied to.

I reviewed the chat spreadsheet and categorized useful messages, assigning the following keywords:

  • Value: related to the value of microblogging (13 messages)
  • Process: incorporating it into your day (15 messages)
  • Network: growing your network (12 messages)
  • Tools: discussion of specific tools to make things easier (26 messages)
  • Challenges: what’s difficult and how to deal with it (15 messages)
  • Adoption: meta-conversation about microblogging (10 messages)
  • Personas: managing multiple personas (10 messages)
  • Takeaways: short summary (14 messages)
  • Next: things to explore next (12 messages)

image

There were many messages I didn’t categorize because they repeated information, were related to the teleconference itself, or were part of the general back-and-forth.

As usual, IBMers like talking about tools and sharing tool-related tips. You should’ve seen us during Dan Roam’s presentation on the Back of the Napkin – we were fascinated by the drawing tools he used! ;)

It’s interesting to see how people cluster around topics, too. When I look at the spreadsheet, I can see who cares a lot about adoption, who’s interested in personas, etc.

I’m sure there’s been research on the analysis of conversations. The backchannel is like Internet relay chat (IRC), after all, and IRC has been around for decades. I wonder how the real-time extra channel of speaking influences the flow of the backchannel and vice versa. I wonder how we can get better at picking up ideas and following up on them. I wonder how we can get better at strengthening the newly-formed connections.

In a real-life presentation, it would be difficult to have all these conversations and to get this kind of insight into what people care about. A presentation backchannel where people can chat is an incredibly powerful tool, and I’m looking forward to helping learn more about making the most of it!

Visualization of my blog categories

This visualizes how often I blogged something with a tag in a given year, sorted by all-time popularity. There are more categories, but I skipped them. The height of each block represents how many blog posts I wrote in that category, while the different blocks represent the years, ending with 2010 at the far right. The graph reflects changing interests and recurring themes.

image

This visualizes some of the things I’ve been writing about in 2010. We’re only a month in, so the last line is pretty small, and in some cases (n < 4) not even visible.

image

Sparkline bar graphs created with Sparklines for Excel. Initial categories table created with the following SQL incantation:

select p.post_date, p.post_title, terms.name from wp_posts p inner join wp_term_relationships tr on p.id=tr.object_id inner join wp_term_taxonomy tt on tr.term_taxonomy_id=tt.term_taxonomy_id inner join wp_terms terms on tt.term_id=terms.term_id into outfile '/tmp/categories.csv';

then imported and tweaked in Microsoft Excel.

Learning from my mood data

One of the unexpected benefits of switching my phone plan to something that includes unlimited international texting is that I can participate in nifty things like Experimonth, which is a month-long study about moods. I get regular text messages prompting me to rate my happiness on a scale of 1-10, and it graphs it for me. I can probably come up with similar graphs using KeepTrack and a bit of spreadsheet magic, but the convenience and the social data make this fun and interesting.

Here’s how my mood data stacks up so far:

image

I stay on a fairly even keel, with awesome happy experiences possibly any day of the week. Hmm, maybe I should track text notes too, so I can get a better handle on what causes the 10s or the 6s. It might also be interesting to combine the happiness ratings with my time analyses to see if there any correlations.

Here are the results they’ve collected so far: