1

Topic: Thingiverse remix visualization

Apologies if this is the wrong forum -- not quite sure I'd call it a "project", more of a weekend hack for fun:
   http://bitquill.net/make/remix/
(Note: viz probably needs something more powerful than an iPad -- and page may take a few sec first time it loads)

By now most people around me think that Solidoodle is some kind of drug and Thingiverse some sort of trip smile -- but I thought people here might find it somewhat fun.  I'd also welcome any feature suggestions (for whenever I have time to play with this again).  Thanks!

2

Re: Thingiverse remix visualization

That is really cool. Thanks for making and sharing.

3

Re: Thingiverse remix visualization

yes... can you resume what we can extract from this map ? i'm lost...

4

Re: Thingiverse remix visualization

Its a visual presntation of the "Family Tree" of Thingiverse.

Each blue or red dot is a 'thing'. The connecting lines and dots radiating from a central dot are 'remixes' of the centre dot. Red Dots indicate a 'thing' was "Featured" - hence why lots of the Red Dots have LOTS of Remixes.

It doesn't actually 'show' you anything, other than the interesting way in which some 'things' have 100's of remixes, even without being featured. other things have 10 or 12 variations, or in keeping with the Family Tree analogy, some things have looong family lines stretching 10-12 generations... other 'things' are dots sitting all by themselves with virtually no 'relatives'... smile

5 (edited by spapadim 2013-06-20 14:31:59)

Re: Thingiverse remix visualization

Adrian, thank you for the explanation, that's great!

Ysb, yes, the viz can be a bit loaded (and yet still doesn't show enough -- when I get the chance I may add highlighting the full tree emanating from a node, rather than just the direct edges, and maybe add basic keyword search/highlighting, to make browsing easier).

Basically I did most of this while I was waiting for my SD2. Back then I spent quite a bit of time on Thingiverse, and I realized that I was frequently following "remix" hyperlinks, but it was getting kind of tedious, and I was getting lost following trails of remix hyperlinks.  So, this graph is a birds eye view of that.  (The other thing I was doing often is finding similar or related things though collections -- i.e., going from one thing to another thing not via a direct remix link, but via an indirect same-collection link -- maybe another viz sometime).

One clarification though: each graph you see is one connected component.  When you first click on the link, you get the largest connected component, which consists of about 5% of the things on Thingiverse (or at least those I have in my data) -- which is pretty amazing if you think about it (more than 5% of things are somehow related to each other--sort of).  You can choose a different connected component via the drop down on the right (e.g., try 12, 17, 13, 18, ..).  (A connected component it what the term says, btw: a partition of the graph where every pair of nodes is connected by at least one path)  The decision to show connected components separately was kind of arbitrary, I admit.

Edit: My favorite cluster among those I found is probably Colbert (has many red nodes, so easy to spot too -- probably Thingivere site editors are Colbert fans? smile, and the cross between the Stanford bunny and Colbert ("a godless killing machine") a particular favorite (should print one soon). Anyway.. smile

6 (edited by adrian 2013-06-20 14:30:50)

Re: Thingiverse remix visualization

My only immeadiate suggestion that you may have addressed but I can't actually see.... is allow you to paste a thingiverse URL, parse out the Thing-ID, and then highlight it on the map.

That way, it can actually be a 'tool' to allow you to find where a particular 'thing' sits in its family tree... and allow you to track up or down generations (assuming remixes follow Darwinian principles wink who knows, going back a generation may be better more often than not... smile )

7

Re: Thingiverse remix visualization

That's a good idea -- I was thinking simple keyword search, but ThingID too is not bad.  Thanks!

For now I have the (sort of artificial) constraint that I want to limit server-side processing.  I put this together in about a day (after I got some data), and it was easiest to do all pre-processing offline with python scripts and NetworkX, do a JSON dump, and then do everything else client-side (with the fantastic D3 Javascript libraries).  So it's not a proper webapp yet (and it's also on shared hosting -- extracting the graph and doing an initial spring layout to speed up convergence on the client is quite CPU-intensive).  We'll see...

But please post any thoughts you have, they'd be most appreciated!