When you imagine that each dot is a program and that behind each of these dots, there is at least on person, it gives a very good appreciation of how complex each of these projects are. These are pretty big human architectures..
One finger touch moves forward, but it makes very hard to touch a point and see what it is. I keep selecting something past it, especially for large dots, which I'm curious to see what they are.
Rotating the device changes the direction but it's hard to point towards a specific star.
On the good side it's very nice to look at. I wish there would be something as fast as this for navigating real galaxies, with of course better controls.
Although I agree that navigation via device orientation makes some navigation aspects difficult, I also find it oddly fascinating. It's like my phone has become a window into another world.
This looks very nice, but a 2D visualization might have been more practical. For example, the fact that the dot size represents the total number of dependents is obscured by the fact that the dot sizes are also a function of camera distance.
Reminds me of the 3D file browser user interface in Jurassic Park, which was an actual application. Looks cool but its not good to use (I mean the 3d file browser, not this software galaxies, which i found quite good).
3D interfaces rarely plan out, wonder if something like a vision pro or quest could make a 3D user interface work better than a 2D counterpart.
To be fair, it was all new back then and people were playing with ideas, so a 3d file browser seemed like a cool idea. A bit like the metal roller on the Paris Metro ticket machines https://www.youtube.com/watch?app=desktop&v=9SjBfRA3YzA
The discoverability on those things is definitely lacking. I think it took us five or so broken touch-screens before my wife noticed that you could use that to select menu options instead! I guess once you know it's fine though? Feels a bit dated compared to the typical touch & go card payments elsewhere in Europe now though.
I couldn't work it out for a good while, because it's the most unintuitive UI I have found on reasonably recent ticket machines. Once you know how to use it, it's ok.
ProTip: if you travel from London on a train, the buffet sells Paris Metro tickets.
Yes, it was a SGI application. Probably used in the movie Hackers.
There was also a Doom file manager where you'd use BFG to nuke a directory. I only found one for Doom 3 but this also existed with original Doom. Nowadays, BFG is only used to nuke git repos.
Doom process managers where a thing for a while too, 20 years ago. Using the BFG on a crowded room of processes usually resulted in a system crash. Hunting down a stuck program and shooting it in E1M1 was pretty neat though. Your comment reminded me of playing with this in MacOS X a long time ago.
There was a bunch of "demo" applications bundled in Irix, some more some less useful, that were used to showcase the capabilities of the systems. File System Navigator was, afaik, one of them (similarly there was bundled "dogfight", a networked flight simulator game).
2D might be more practical if you were trying to make architectural decisions, but I feel the author's whimsical embrace of the starship metaphor made his/her project more interesting and fun. I've already seen a bunch of 2D code graphs.
It's weird, because there are (at least in the Rust "galaxy") several tiny, extremely distant constellations. I thought they were background decoration until I zoomed way in on them. Hard to image why they would be so distant if they're relevant.
Hell yeah. In our department we setup Gource to render out a video every midnight and pimped it out with a bunch of overlays and profile pics to show project progress and to visualize who worked on what. Shown endlessly looping on an iPad in front of the department, so no contributions are forgotten, especially the ones by interns who participated only a short while.
Seems unusable with unintuitive undiscoverable controls, standard touch screen controls like pinch-zoom and pan don't work on Firefox for Android. The about page says something about rotating your device, but that's a pretty bold assumption that the user wants to do that, or isn't currently on a subway/bus or otherwise in a fixed position like a stand, large tablet, or the user could have various disabilities.
they are more like star clusters than galaxies. Galaxies usually have a lot of mostly circular momentum with arms forming etc.
might be even the better marketing term "Software star clusters"
not to mention the widely accepted hypothesis that galaxies require dark matter to be held together... we don't want to dive into the analogy here for software, or do we? ;-)
Not joke part, it's a neat visualization, just a bit confusing on the distribution. There were a few, like Microsoft being way off in their own world that were kind of obvious. Yet much of the distribution seemed like stuff that was related, but got put way off somewhere without any clear link. I ended up finding angularJS refs way out in the border.
The graphics remind me very much of Netwars [1], although the controls of Netwars were a little bit better. However, this feels so good compared to some randomly generated universe, as you know that every star is something meaningful. And you can find actually helpful stuff: I just found logrus [2] a Go library for logging, which sounds cool :-D
For Golang they used some exotic aggregator site, and it seems it went defunct years ago. I've tried clicking a few packages and was served casino ads.
Cool website, but I'm in a barbershop right now and can't wave my phone around like a madman to see the map. I'd love it if I could drag the sphere around with my finger on the screen.
Wow, I love this. A long time ago I did some dependency graphs for gentoo linux packages [1] and also for a django project [2]. I put all the packages on a circle with dependencies being drawn as lines. This is so much cooler!
I'm a bit confused by the Rubygems visualization. Many popular gems appear to be missing, and the role of Rails in the ecosystem is something you could miss if you weren't explicitly looking for it.
Cool viz, just not 100% clear what I'm looking at.
Impressive visualization, for sure. But a honest question: What are real use cases of such a representation? I mean, can (and will) this be used in a productive manner for solving what kind of problems?
The only use I can imagine is to use it to write a guide on the available software. You can pick from the image clusters and make them into chapters in your guide or something like.
seems to be done in the same way, but the parameters are off. aswd (camera angle) + arrow keys(panning) works nicely when zoomed out but very sensitive when zoomed in.
Couldn’t make the Elm galaxy show up on my phone. Anyone know what accounts for the disconnected islands? I know Elm has a fairly closed-off core development process that could be part of it, but can’t otherwise tell…
The UX is garbage. It tracks my phone's motion, making it incredibly jittery (I guess I don't have the rock steady hands required?). And one finger starts an automatic zoom, while two fingers unzoom.
How is this data getting populated? I go to click into rust to see if I project I work on is there, and it isn't, even though its been on crates.io for years.
Off topic, I still couldn't find an easy or seamless way to search GitHub repos by keywords (repo name, coding language, etc) and have them order by most stars descending.
This is art! I wonder... What if the depth at which a package first appears depends on its release date? And what if each universe evolves in terms of package releases?
I use his reddit graph all the time to find related subs. That one is 2d and imho is much more useful than a 3d visualization. Sad that it's probably not getting updated any longer due to reddit's apis no longer being available.
As you’ve said given it's a project done in their freetime I don’t have any expectations.
At the same time when I design a project I want to share to others (in my free-time too), I always think about making it working for the majority of the users (mobile in that case).
How users (who are non-devs) are planning to use this piece, I wonder.
Also is there any well established web-native way to navigate in 3d space, that works on mobile?
Personally, quake-style keyboard only navigation on my desktop works like a charm.
When you imagine that each dot is a program and that behind each of these dots, there is at least on person, it gives a very good appreciation of how complex each of these projects are. These are pretty big human architectures..
And it emphasizes the immense human effort involved in these projects.
Would be interesting to see one for the Linux Kernel. Each include an edge on the graph
[flagged]
Navigating the galaxies is frustratingly hard.
One finger touch moves forward, but it makes very hard to touch a point and see what it is. I keep selecting something past it, especially for large dots, which I'm curious to see what they are.
Rotating the device changes the direction but it's hard to point towards a specific star.
On the good side it's very nice to look at. I wish there would be something as fast as this for navigating real galaxies, with of course better controls.
Although I agree that navigation via device orientation makes some navigation aspects difficult, I also find it oddly fascinating. It's like my phone has become a window into another world.
I think I had the same feelings
It seemed hard at first, until I decided to get up and pan around (looking like a fool).
Imagine you're in a spaceship and pushing down accelerates it.
It was fascinating how quickly this perspective gave me a sense of orientation.
It was easy with a PC and keyboard.
Mobile was awful, but from the desktop W-A-S-D + the arrows make navigating pretty fun.
This looks very nice, but a 2D visualization might have been more practical. For example, the fact that the dot size represents the total number of dependents is obscured by the fact that the dot sizes are also a function of camera distance.
Reminds me of the 3D file browser user interface in Jurassic Park, which was an actual application. Looks cool but its not good to use (I mean the 3d file browser, not this software galaxies, which i found quite good).
3D interfaces rarely plan out, wonder if something like a vision pro or quest could make a 3D user interface work better than a 2D counterpart.
https://fsv.sourceforge.net
There's a great write up at https://scifiinterfaces.com/2023/11/27/jurassic-park-1993/
IIRC it was an SGI application - very cool but not terribly practical!
To be fair, it was all new back then and people were playing with ideas, so a 3d file browser seemed like a cool idea. A bit like the metal roller on the Paris Metro ticket machines https://www.youtube.com/watch?app=desktop&v=9SjBfRA3YzA
The discoverability on those things is definitely lacking. I think it took us five or so broken touch-screens before my wife noticed that you could use that to select menu options instead! I guess once you know it's fine though? Feels a bit dated compared to the typical touch & go card payments elsewhere in Europe now though.
I couldn't work it out for a good while, because it's the most unintuitive UI I have found on reasonably recent ticket machines. Once you know how to use it, it's ok.
ProTip: if you travel from London on a train, the buffet sells Paris Metro tickets.
Looks like it's "File System Navigator" or fsn (fusion)
https://web.archive.org/web/20160416092919/https://en.wikipe...
Since removed, but still mentioned here:
https://en.wikipedia.org/wiki/Graphical_user_interface#In_sc...
Can be seen here (@8.02): https://www.youtube.com/watch?v=1PP--lVTPCQ&t=482s
(A $36,000 Graphical Workstation from 1993 | SGI Indigo 2)
Yes, it was a SGI application. Probably used in the movie Hackers.
There was also a Doom file manager where you'd use BFG to nuke a directory. I only found one for Doom 3 but this also existed with original Doom. Nowadays, BFG is only used to nuke git repos.
Doom process managers where a thing for a while too, 20 years ago. Using the BFG on a crowded room of processes usually resulted in a system crash. Hunting down a stuck program and shooting it in E1M1 was pretty neat though. Your comment reminded me of playing with this in MacOS X a long time ago.
> https://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html
There was a bunch of "demo" applications bundled in Irix, some more some less useful, that were used to showcase the capabilities of the systems. File System Navigator was, afaik, one of them (similarly there was bundled "dogfight", a networked flight simulator game).
There's also Doom as an Interface for Process Management https://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html
In VR, there was a wave of that kind of thing (3D productivity apps, file browsers etc.) None really took off though as far as I can tell.
2D might be more practical if you were trying to make architectural decisions, but I feel the author's whimsical embrace of the starship metaphor made his/her project more interesting and fun. I've already seen a bunch of 2D code graphs.
What's used to compute distance?
I couldn't find any legend or description (mobile).
Edit Ah, noticed the bottom-right about: https://github.com/anvaka/pm/tree/master/about#software-gala...
Distance is seemingly arbitrary, decided by clustering algorithm.
It's weird, because there are (at least in the Rust "galaxy") several tiny, extremely distant constellations. I thought they were background decoration until I zoomed way in on them. Hard to image why they would be so distant if they're relevant.
I did notice it seems to have a preference for distancing well-connected clusters.
Maybe it's a layout algorithm preference for distancing "complexity" (i.e. groups of many items / connections) for improved readability?
Or that's representing single source-to-core clusters (e.g. many different things depend on a single library, which itself links back to core)?
I love these kind of things: - https://github.com/acaudwell/Gource : generate a beautiful and organic videos from git repositorios. - https://code.google.com/archive/p/codeswarm/ : similar to Gource . - https://skyline.github.com : it is dead, like as Atom .
Hell yeah. In our department we setup Gource to render out a video every midnight and pimped it out with a bunch of overlays and profile pics to show project progress and to visualize who worked on what. Shown endlessly looping on an iPad in front of the department, so no contributions are forgotten, especially the ones by interns who participated only a short while.
Cool. Do you have public (in a git repo or something) this setup for Gource?
+1 for providing the setup if you can. I love Gource.
Seems unusable with unintuitive undiscoverable controls, standard touch screen controls like pinch-zoom and pan don't work on Firefox for Android. The about page says something about rotating your device, but that's a pretty bold assumption that the user wants to do that, or isn't currently on a subway/bus or otherwise in a fixed position like a stand, large tablet, or the user could have various disabilities.
just to be a bit astronomically nitpicky ... ;-)
they are more like star clusters than galaxies. Galaxies usually have a lot of mostly circular momentum with arms forming etc.
might be even the better marketing term "Software star clusters"
not to mention the widely accepted hypothesis that galaxies require dark matter to be held together... we don't want to dive into the analogy here for software, or do we? ;-)
But really it's the dark web that binds us all?
Not to be confused with Github stars and their social dynamics.
My God! It's full of leftpads
is-even was the first package I have tried to search.
Wandering around in the javascript realm, there was some amusing stuff out at the borders.
Eject the warp core: https://i.imgur.com/h1ngR7A.png
Barren bare defaults: https://i.imgur.com/hLWXqER.png
Ideal atomic separation: https://i.imgur.com/3lmujgV.png
Rides his black horse upon the horizon: https://i.imgur.com/e6NnsDv.png
Not joke part, it's a neat visualization, just a bit confusing on the distribution. There were a few, like Microsoft being way off in their own world that were kind of obvious. Yet much of the distribution seemed like stuff that was related, but got put way off somewhere without any clear link. I ended up finding angularJS refs way out in the border.
The graphics remind me very much of Netwars [1], although the controls of Netwars were a little bit better. However, this feels so good compared to some randomly generated universe, as you know that every star is something meaningful. And you can find actually helpful stuff: I just found logrus [2] a Go library for logging, which sounds cool :-D
1: https://en.wikipedia.org/wiki/NetWars
2: https://github.com/Sirupsen/logrus
As for Go, the dataset looks very-very old and outdated. At least 5 to 10 years old.
For Golang they used some exotic aggregator site, and it seems it went defunct years ago. I've tried clicking a few packages and was served casino ads.
Same for R
Am I the only one who is getting some sort of gambling site (go-search.org) when clicking on golang galaxy?
https://github.com/anvaka/pm/issues/44
Yep, seems like someone already opened an issue
That’s what I get too
Wonderful!
Want more.
Every blob displays its icon
Mouseover over displays much more stuff
Right-click: the world is your oyster
Ctrl-click: make a group, etc, much much more
Ultimately: create 3D bash/OS/
This is a UNIX System! I know this!
From the same author:
Cool website, but I'm in a barbershop right now and can't wave my phone around like a madman to see the map. I'd love it if I could drag the sphere around with my finger on the screen.
Saw an odd little cluster in distance of the NPM galaxy and decided to explore more: https://i.imgur.com/PIXKU1A.png
It's strongcanary-a through strongcanary-z, and more.
They're packages designed to test strongly-connected components in a dependency graph.
https://www.npmjs.com/package/strongcanary-a
Looks like this tool passes the test! Cool that it was so identifiable from a distance
Wow, I love this. A long time ago I did some dependency graphs for gentoo linux packages [1] and also for a django project [2]. I put all the packages on a circle with dependencies being drawn as lines. This is so much cooler!
[1] https://www.thebacklog.net/2011/04/04/a-nice-picture-of-depe... [2] https://www.thebacklog.net/2012/10/13/visualizing-lernantas-...
I'm a bit confused by the Rubygems visualization. Many popular gems appear to be missing, and the role of Rails in the ecosystem is something you could miss if you weren't explicitly looking for it.
Cool viz, just not 100% clear what I'm looking at.
Lots of star in the nuget galaxy, but there is not several package I worked on :(.
super cool, but no jvm maven central?
Yeah that is what I came to ask here as well. Also no p2...
Edit: I see someone open an issue for it https://github.com/anvaka/pm/issues/2
Impressive visualization, for sure. But a honest question: What are real use cases of such a representation? I mean, can (and will) this be used in a productive manner for solving what kind of problems?
The only use I can imagine is to use it to write a guide on the available software. You can pick from the image clusters and make them into chapters in your guide or something like.
It could be very effective in some cases
Seems like a very useful way to navigate on a large touchscreen.
no.
The gyroscope aiming on mobile is fantastic!
I've never seen a demo with such small latency and responsive to small movements. Even more impressive by being a web page and not a native web.
This is so cool! I’d love to see this kind of thing for nixpkgs
Interesting and very cool!
But since navigating around is not easy, would it be an idea to implement a game like controller that allows you to move around?
Current controls are not working so well.
seems to be done in the same way, but the parameters are off. aswd (camera angle) + arrow keys(panning) works nicely when zoomed out but very sensitive when zoomed in.
Maybe provide some insights on the main clusters identified? I think of this youtube video on Wikipedia Graph: https://www.youtube.com/watch?v=JheGL6uSF-4&ab_channel=adumb
Couldn’t make the Elm galaxy show up on my phone. Anyone know what accounts for the disconnected islands? I know Elm has a fairly closed-off core development process that could be part of it, but can’t otherwise tell…
Perhaps it's the versioning? Like in the way that libraries for Elm 0.18 are often (mostly? always?) incompatible with 0.19.
(N.B. 0.19 has been the latest version for almost six years.)
The UX is garbage. It tracks my phone's motion, making it incredibly jittery (I guess I don't have the rock steady hands required?). And one finger starts an automatic zoom, while two fingers unzoom.
https://github.com/anvaka/pm/blob/master/about/README.md
How is this data getting populated? I go to click into rust to see if I project I work on is there, and it isn't, even though its been on crates.io for years.
Off topic, I still couldn't find an easy or seamless way to search GitHub repos by keywords (repo name, coding language, etc) and have them order by most stars descending.
Weird you are right
I just tried this:
https://github.com/search?q=lang%3Arust&type=repositories&s=...
Filter by language to rust and then select sort by most stars, and the top repository has 249 stars...
Though if I add a filter for stars greater than 1000 the results look way better:
https://github.com/search?q=lang%3Arust+stars%3A%3E1000&type...
This is art! I wonder... What if the depth at which a package first appears depends on its release date? And what if each universe evolves in terms of package releases?
This is such a cool visualization. It's so interesting to see that Rust's embedded libraries are on a more separate, dense, group.
No maven central?
I imagine it would be pretty large, too.
How does this manage to plot so many points yet running pretty smoothly here on a low end computer browser?
I'd presume a WebGL particle shader
I imagine Gentoo would be extremely difficult to visualize because USE flags add a 4th spatial dimension...
Beautiful work
Where is CPAN, I don't see it.
Doing a Research paper Galaxies would also be interesting, especially in the domain of AI.
This is very hard to understand
Brew but not ports or pkgsrc
Too bad there isn't one for quicklisp...
Incredible. The amount of effort that goes into each of those dots.
Couldn’t find the TensorFlow family in the Python galaxy…
Nuget has a lovely SampleDependency constellation.
Links in the Go galaxy point to a casino page.
Fun. Needs haskell hackage :-)
I wrote up some details about adding Elm packages to this if you want to do the same for hackage! https://mattbrandly.com/every-elm-package/
I love anvaka's maps! See also reddit: https://anvaka.github.io/map-of-reddit/ and GitHub: https://anvaka.github.io/map-of-github/
I use his reddit graph all the time to find related subs. That one is 2d and imho is much more useful than a 3d visualization. Sad that it's probably not getting updated any longer due to reddit's apis no longer being available.
can we do one for the java + maven repository galaxy?
primitive.io has a VR browser for Java Maven, .Net, Node, Pip and PhP
Disclosure: founder posting here
SO f*ng cool!!!!
I'm a bit disappointed that it has Homebrew, but not MacPorts, which is superior in my opinion.
no nix pkgs, what's even the point
Add the dataset!
Is it just me, my extensions, or are the controls broken in Firefox?
I have difficulties too. "d" does nothing so I can only shift to the left.
might be you, I am on firefox and things work fine. Press ? key to show the controls if you don't see them.
this is crazyyyy
Holy crap, Bower still exists?
I think this is a 9 year old snapshot of Bower
Now imagine, if there was a timeline to show the evolution.
love this!
Shit that's cool.
[dead]
[flagged]
It seems cool but is completely unusable on mobile. It still amaze me how today people do not think about designing mobile-first website.
The gap between devs and users is far from closed yet.
Assuming this was done in free time, for fun and posted here because it looks cool, why would you hold these expectations?
This is the kind of expectations you should have of a commercial product that you're paying for. Not of someone's random side project.
As you’ve said given it's a project done in their freetime I don’t have any expectations.
At the same time when I design a project I want to share to others (in my free-time too), I always think about making it working for the majority of the users (mobile in that case).
I do too, but usually not until I've first validated the idea is interesting to people. Not much sense in optimising the wrong thing.
It's for us geeks, not the majority :)
How users (who are non-devs) are planning to use this piece, I wonder. Also is there any well established web-native way to navigate in 3d space, that works on mobile? Personally, quake-style keyboard only navigation on my desktop works like a charm.