ソフトウェア銀河
(anvaka.github.io)- Code Galaxies は、複数の言語とオペレーティングシステムにまたがるパッケージ生態系を銀河のように探索できる可視化ページ
- 各銀河は
#/galaxy/...リンクでつながっており、パッケージマネージャーやリポジトリ単位で分かれている - 言語別の行き先には npm, PyPI, RubyGems, Composer, NuGet, CRAN, crates.io などが含まれる
- オペレーティングシステム・ディストリビューション側では Debian, Fedora, Arch Linux, Arch Linux + AUR, Homebrew のパッケージを個別に見られる
- 一部のリンクにはカメラ座標、ズーム値、バージョン時点のようなパラメータが含まれており、特定の可視化状態に直接入れる
言語別パッケージ銀河
-
JavaScript 生態系
-
言語別リポジトリとパッケージマネージャー
- Composer: PHP 向けパッケージマネージャー
- RubyGems: Ruby 向けパッケージマネージャー
- Go: go-search.org ベースの Go パッケージ検索
- Python(PyPI): Python Package Index
- NuGet: .NET 世界のパッケージ
- R Language CRAN: R パッケージネットワーク
- Rust: crates.io の Rust パッケージリポジトリ
- Elm: Elm 言語
オペレーティングシステムとディストリビューションのパッケージ
- Debian: Debian パッケージマネージャー
- Fedora: Fedora パッケージ
- Arch Linux: AUR なしの Arch Linux パッケージ
- Arch Linux + AUR: AUR を含む Arch Linux パッケージ
- Brew: macOS 向け Homebrew パッケージマネージャー
1件のコメント
Hacker News のコメント
それぞれの点が1つのプログラムで、その背後に少なくとも1人の人間がいると想像すると、これらのプロジェクトがどれほど複雑か実感できる
かなり巨大な人間のアーキテクチャのように見える
各
includeをグラフの辺として入れるような形でよい銀河を動き回る操作が、もどかしいほど難しい
1本指タッチは前進なので、点をタップして何か確認するのが難しく、特に大きな点は気になって見ようとしても、その向こう側を選び続けてしまう
デバイスを回すと向きは変わるが、特定の星に照準を合わせるのも難しい。見た目は本当に素晴らしく、実際の銀河もこのくらいの速度で探索できたらいいのにと思うが、操作性はもっと改善されるべき
スマートフォンが別世界への窓になったような感覚
宇宙船の中にいて、画面を押すと加速すると考えると、この視点だけで方向感覚がすぐ身につくのが興味深かった
見た目はとてもかっこいいが、2D 可視化のほうが実用的だったかもしれない
たとえば、点の大きさが依存パッケージ総数を意味するという事実が、点の大きさがカメラとの距離にも左右されるせいで見えにくくなっている
実在のアプリケーションで、見た目はかっこいいが使いやすくはなかった
3D インターフェースは概してうまくいかないが、Vision Pro や Quest のようなデバイスが 2D より優れた 3D UI を可能にするのかは気になる
2D のコードグラフはすでにたくさん見てきた
モバイルでは凡例や説明を見つけられなかった
追記: 右下の about を見つけた: https://github.com/anvaka/pm/tree/master/about#software-gala...
距離はクラスタリングアルゴリズムが決めているようで、かなり恣意的に見える
こういうものが好き:
https://github.com/acaudwell/Gource : Git リポジトリから美しく有機的な映像を生成する
https://code.google.com/archive/p/codeswarm/ : Gource に似ている
https://skyline.github.com : Atom と同じく、今では死んでいる
部署前の iPad でループ再生し続け、特に短期間参加したインターンの貢献も忘れられないようにしていた
天文学的に少し言うと、これは銀河というより星団に近い
銀河は通常、ほとんどに円運動量があり、腕のような構造ができる
マーケティング用語としても “Software star clusters” のほうがよいかもしれない
さらに、銀河が維持されるには暗黒物質が必要だという仮説が広く受け入れられているが、ソフトウェアの比喩でそこまで踏み込みたくはない
直感的でなく、見つけにくい操作のせいで、ほとんど使えない
Android 版 Firefox ではピンチズームやパンといった標準的なタッチスクリーン操作が機能しない
about ページにはデバイスを回すように書かれているが、ユーザーがそうしたいと思っている、地下鉄やバスに乗っていない、スタンドに固定された大きなタブレットを使っていない、あるいはさまざまなアクセシビリティ上の制約がない、と仮定するのはかなり大胆だ
なんてこった、leftpad だらけだ
is-evenが最初に検索してみたパッケージだったJavaScript 領域を動き回っていると、端のほうにかなり笑えるものが見えた
ワープコア放出: https://i.imgur.com/h1ngR7A.png
荒涼とした bare defaults: https://i.imgur.com/hLWXqER.png
理想的な原子分離: https://i.imgur.com/3lmujgV.png
黒い馬に乗って地平線を駆ける: https://i.imgur.com/e6NnsDv.png
冗談はここまでとして、可視化自体は悪くないが、分布は少し混乱している
Microsoft が自分だけの世界に遠く離れているような明確な例もあったが、関連していそうなものがはっきりしたつながりもなく遠くに配置されているケースも多く、angularJS への参照も端のほうで見つけることになった
Go 側のデータセットはかなり古く、時代遅れに見える
少なくとも5〜10年前のデータのようだ
いくつかパッケージをクリックしてみたらカジノ広告が出てきた
Golang 銀河をクリックすると、go-search.org というギャンブルサイトのようなところが表示されるのは自分だけ?
すでに誰かが issue を開いているようだ