Daring Fireball: Open and Shut

John Graber of Daring Fireball has a great (albeit occasionally snarky) post challenging the value of “open” for shareholder value in technology companies.

The key point he starts to discuss, and then backs away from, is the value of externalities contributing to create better products faster.

Tim Wu also hints at this in his piece in the Newyorker, which kicked off Graber’s conversation. I’d like to hear more from both on this.

With an increasing demand for technology solutions to increasingly complex and evolving business problems, there’s a lot of money for whomever solves them. Share the wealth, and I bet we’ll provide our customers value faster now, and as the problems continue to change.

Network Analysis Application to Game Theory (with Software)

When will network analysis provide additional insight into game theory? In a word: inequality.

There must be some form of quantifiable inequality in the game: access, strength of relationships, goals, etc.  This difference creates opportunities for the individual players to use information (or resource) asymmetries and broker to their benefit.

unequalrelationships1

On the left all of the arrows representing the relationships have the same weight, representing the same value, in both directions and between all nodes.  On the right, the arrows have different weights between nodes. The greater the inequality, the more effective the application of network analysis.

The relationships depicted could be import/export pairs ($ or volume), contract frequency, or even strength of social relationships. Do not underestimate the potential utility in measuring based on qualitative values, such as strength of relationships. Using them can not only be quite effective, but they can often be much easier to calculate than one might suspect at the onset.  Here’s why.

The analysis method I suggest looks at all of the weights relative to the originating node.  It does not matter whether you can accurately value A’s relationship to B versus B’s relationship to A, as long as you can compare A’s relationship to B versus A’s relationship to C.  From the point of data collection, even an intuitive estimation these comparative values will provide insight. Thus knowing A wants something from B more than A wants the alternative from C, is often sufficient.

Looking at the perspective of access, this is represented in the shape of the network as “holes” or gaps.  There are technical definitions, but it’s usually quicker to understand through an image. Compare:

locationlocationlocationFrom the perspective of the two darker nodes A and B, they clearly have different opportunities to act as brokers based on the holes (or lack thereof) in the network.

Using the two of these together has shown some promising results.

Here is a simplified version of one of the tools I wrote to calculate the opportunity to act as broker based on the value of relationships and the network.  The TAR file contains the simplified program written in Perl, and two sample CSV network files: one similar to each network in the second image. The program relies on a module not yet indexed by CPAN, but is available there.

The calculation is called the network constraint, after Ronald Burt’s work.  The lower the constraint, the larger the opportunity to act as a broker, i.e. perform well in the game based on network structure.

I am in the process of requesting CPAN to host the Perl module, in registered space, so stay tuned.

[for an older version of the code, with some egregious bugs, but all in one place and no extra downloading, get it here]

Random Graph Generation in Perl

If you ever find yourself needing to generate random graphs in Perl (quite the ice breaker, I can tell you), I recommend checking out Matt Spear’s Graph::Maker, which has generators for everything from Erdos-Renyi and Watts-Strogatz to Lollipop graphs. The only downside is the use of Graph which is s-l-o-w for graphs of even moderate size, so makes using it directly for simulations of Social Networks out.

Watts Strogatz Network from Wikipedia

[Image from Wikipedia]

8 Requirements for a Perfect Contact Management System

I read about some new organization software over at LifeHacker, which got me thinking about what would be my ideal organization software.  I am beginning to embrace the implications of the uneven levels of attention I can pay to people I know, and the definite limit to which I can keep everyone in my head.  With this in mind, I have come up with 8 requirements which would greatly enhance my ability to maintain a wider and more useful network of contacts.  What software do you use, and what would you add to the list?

  1. Integration of Email, Contacts, Tasks, and Calendar. Supporting your network requires all of those, so a tool to help you manage it should too.  (I refer bellow to an entry in any one of these as an event.)  My favorite piece of integration is the automatic add of new contacts to my contact lists.
  2. Reminders for events relevant to your contacts. Any good calendar should do this.  Unfortunately, most require the calendar to be open to perform this.  Hosted calendars like Google’s and Yahoo’s, allow you to be reminded by email.  A handy function for those of us on the run.
  3. Reminders to reach out to your contacts. You can do this manually now through tasks or using your calendar, but this is ripe for automation.
  4. Provide context about each contact. This should be presented when you are reading or creating a task/email/meeting in your system.  How you know the person, and the last time you saw them, etc., are usually available through searching your contacts and calendar if you keep track of these, but again, ripe for automation.
  5. Provide context about each conversation. Latest emails, events, etc. each time you are creating a task/email/meeting in your system.
  6. Show tasks outstanding and recently completed for the individuals in each action.  A summary of the tasks you owe someone can help define a productive conversation.
  7. Show tasks outstanding and recently completed by the individuals in each action.  A summary of what you are owed, similarly can help define a productive conversation.
  8. Automatic tagging of actions and participants. With all of the natural language processing developments over the recent years, it would be relatively simple to pull themes from the content of each event and record those along with the participants.  When you create new events, the tag database could be polled as you are creating a new event to recommend people who may be interested, and other relevant topics.  Would be a helpful plugin for your word processor too.

Most of these are available today, but not in an automated fashion and often not available at the same time.  I primarily use GMail with a Firefox plugin called GTDInbox which together provide good integration of email, contacts, tasks, and calendar.

Google Calendar provides good reminders of events relevant to my contacts, but requires me to set them up.

The more recent version of GTDInbox provides an increasing level of context about the participants, and I hope they keep pushing in that direction.  The unfortunate thing today is that it does this by learning association of special labels it uses.  This is indeed helpful for labeling, but the more I communicate with someone, the less I need the context.  Since it’s a Firefox plugin, they could create a side panel, which would also allow showing the tasks owed and outstanding.

As for autotagging?  Please, this is a desperate cry for help…. If there are any creative programmers out there, take a look at OpenCalais, and make a pluggin for FireFox + GMail!

Visualize Your Network with Fidg’t

figd't screenshot
figd’t screenshot

There are more and more great tools getting developed for visualizing our social networks. One of the more beautiful ones I have come across is Fidg’t.  While not quite a SN visualization tool, it does operate on data from SN’s.

Fidg’t is an interactive display that looks at your tags in Flickr and LastFM, and shows the relationships visually.  There’s even a movie of the tool in action.

Available for Mac, PC, and Linux.

http://www.fidgt.com/visualize

Playing with Circos

Martin Krzywinski at the Genome Sciences Centre of the BC Cancer Agency, created software called Circos designed to help elucidate the interaction of genes, and has used it to create some truly beautiful graphs.

The software is pretty complex, and I have only figured out how to use his simple on-line version, which limits the number of inputs.  But, even so, here is an image I created using Circos.  The image represents the number of emails exchanged by the top 10 most connected participants with each other, from an active large email list.

Relative % of each other's time
Relative % of each other's time