I get tired of making this same comment on every Canvas-based thing anybody builds, but if they'd taken the 30 seconds it took to write that paragraph about how it doesn't work in IE, and instead used it to paste in the following snippet of HTML, it would <i>actually work</i> in Internet Explorer:<p><!--[if IE]><script type="text/javascript" src="/excanvas.js"></script><![endif]--><p>Like, IE5 even. Internet Explorer has had vector graphics since 1999, and it overlaps 90% with Canvas (which came out several years later).<p><a href="http://excanvas.sourceforge.net/" rel="nofollow">http://excanvas.sourceforge.net/</a>
While beautiful, I don't think it illustrates BitTorrent very well. Data doesn't just magically flow to clients, it needs to be coordinated and/or negotiated somehow. Data integrity is also somewhat important aspect of BitTorrent, every piece that client receives is verified against the .torrent file.
This could use some concurrent data plots showing, say, the number of new bits being received (by anyone). Would be especially useful when comparing the same visualization for traditional file transfers, to show what's special about BitTorrent.
So pleased to see this restored! It's one of the best process visualizations I've ever seen. It's not "this is what the data means", it's "this is how an algorithm works in practice". It looks organic and there are subtleties (like the fact that the rainbow-coloured segments correspond to the data line flowing to each peer, and that the sizes of blobs on the line represent transfer speeds) that you can grasp later without distracting from the initial "aha!" moment.
I've updated the page so that it works properly in IE9, at least (all I had to do was add the <!doctype html> header at the beginning, and that seems to be good practice anyway, so I have no issue with it).<p>I have no way to test IE7 or IE8 at this point, and I don't like the idea of adding code that I can't test. If someone wants to volunteer their time to help me test those browsers with excanvas, I'm willing to give it a shot.
From the visualization, it doesn't appear that BitTorrent uses a spanning tree to reduce the bandwidth load on ISPs. When will we see true application level multicast for P2P?