This works best in Chrome. The javascript intensive visualization will grind all other browsers to a halt
Thought it would be interesting to visualize the connections of Hubski in a different way. Though the graph should be directed, I wanted to keep it simple, so right now it's undirected. Size represents the number of followers someone has. Let it settle for a couple seconds, then click the "Stop Layout" button. You can zoom with your mouse wheel.
Many users haven't been crawled yet, so that's how you see some popular users still show up as small dots. As more of the site gets crawled, it will be updated. However, I don't want to bring hubski down by launching a shit ton of requests super fast. So, it's a pretty relaxed web crawler :)
Well, by now we've already formed pretty solid relationships with one another. You see a name you recognize here, you follow them if you like them. You already know for the most part what kinds of things they'll be posting, so it's easier to make that decision.
That's pretty freaking cool! I'm really impressed by this. I will say that even in Chrome, things are a little too close to be understandable, and it might be better not to show EVERY connection- just the stronger ones. Still, this is very impressive! (As I said before!) It would be awesome to be able to search users! In fact, I don't know how mk feels about this, but this would be a really useful page for the site to have under "community"! It gives way more information about who's popular, and with a bit of tweaking could quickly show off the different communities we have. I am wondering why there are a lot of smaller users who are only following the heavies, but I imagine that's because you're crawling the site by going through the Followers of the followers of the followers of one of the popular users.
Thanks for the kind words. Looks like it just completed a batch, so the state it's at now is with most everyone on the site. I just changed it so when you mouse over a node, it will hide all nodes that aren't directly connected to it. It makes things a little less busy. So if I want to see a group of the circlejerkers, that mostly revolve around ytknows, I can mouse over his name, and it's pretty clear to see that it's a well defined community that doesn't really include other big names from around the site.
I could definitely add a search feature. Or, could begin classifying the graph into clusters based on a number of different factors. Previously I did one for reddit subreddits, based on betweenness centrality. Either would make it more understandable, it's definitely a bit overwhelming at the moment.
Might be better to do that when you click on someone? Ideally when you left click on someone. It got a lot harder to surf around the map now, and it's way laggier. Apparently, I'm never satisfied. But I swear I think that this is cool!
Watch how all the circlejerkers gather into their own small group off to the side of the main group. I agree with the search request, I want to be able to search my username and see where I am on the map.
nice. Wanted to apologize. I just realized I have an envelope addressed to you on my passenger seat of my car with some stickers in it. I'll be sure to send them out tomorrow. My apologies.
Really cool. How do you pull the information? I feel like this is well known given some of the stats that have been done on hubski recently. Not to put more work on your plate, but what would be more interesting than a directed graph would be weighted graph based on interactions. So every time I replied to your comment, shared your post, or tagged you etc it would add to the weight. And here is me: Looks like @newgreen@, mk, and insomniasexx hold me in suspension in the middle.
I pulled the information by just going from user to user. So it starts at a user, then enqueues all the followers and followees while adding an edge for each one. Then it pops the next user off the queue and repeats. The script wasn't more than 50 lines of (python) code. A weighted graph would be cool. It would be a little more involved, and it would need to examine much more information. Also, I'm not sure what the options for visualizing a weighted graph are... But, yes, a directed, weighted graph would be more telling, no doubt.
I will always hold you, my sweet hubski lovers.
Yep, it's here: http://hiiamchris.com/hubski/hub_graph/edges.json It's just two lists, one called nodes with a username and a follower count, and the other called edges, with a to and from attribute, which is just a username.
Would you be willing to release the info scraper that gathers all of the data? Or is that out of the question?
I'd be willing to do that, but I know there were some issues with the hubski server getting overloaded, so I'm not sure if mk needs a bunch of crawlers running about. If he says it's ok, however, I can definitely pass on the code - though it's nothing special at all, just a python script. mk, do you have any thoughts on crawling hubski?
I think sharing the scraper via PM is the best course of action right now. On a side note, why isn't there SOME kind of donate link for hubski? I'd love to donate a bit to hubski!
Ah, now graph visualization is a subject that'll always be on the IEEE Vis agenda, owing to it being an impossible problem that people would like to solve anyway.