4 ms·
I've had the idea that graph diagrams (including architecture diagrams) can be paged - you show a different set of links/vertices on each page of the same graph
by samsquire 3y ago
I've had the idea that graph diagrams (including architecture diagrams) can be paged - you show a different set of links/vertices on each page of the same graph (show the same node but different enumeration of edges). Many codebase visualisations I've seen were too complicated to understand because the diagrams were so large. (I've seen some visualisations generated from code that were so small when panned around you have to zoom in. It's not a great experience.) I once wrote some tooling to generate Graphviz diagrams of RabbitMQ topic architectures based on log data by querying Elasticsearch to reverse engineer our architecture transitions between microservices, to see how the system actually worked in the present.
My dream is that software architecture can have a late binding and can be transformed easily and trivially, without breaking any of its items it arranges.
I am satisfied that I see the question "What is the main entry point?" in this post. This is so useful. I like the idea of an "entrypoint" folder for main(), routes and dependency injection containers.
I think clear push/pull, async/synchronous, simultaneity and data flow can go a long way to understanding an architecture.
I want software architecture to be a function of scaling requirements, that you can scale up and down. "architecture(scaling-requirements)"
Wouldn't you love to be capable of changing the diagram to move code around? (You're in effect moving control flow or what I call the "tip of execution" by drawing lines or moving boxes around)
I think your software architecture is a data structure, excepts it's really painful to change.
- Veuxdo 3y ago> I've had the idea that graph diagrams (including architecture diagrams) can be paged - you show a different set of links/vertices on each page of the same graph (show the same node but different enumeration of edges) You're describing something very similar to Ilograph[0] with its multiple perspectives. [0] https://app.ilograph.com/demo.ilograph.Ilograph/Request https://app.ilograph.com/demo.ilograph.Ilograph/Request
- mcbutterbunz 3y ago> I've seen some visualisations generated from code that were so small when panned around you have to zoom in. It's not a great experience. I would love a Google-Maps-Like architecture diagram. Zoom out and you see high level flows, zoom in and you get the details you want to see. Different overlays to let you explore how systems are connected or how certain sub features work. Obviously this is hard to do and even harder to maintain but it could be really cool.
- jtwaleson 3y agoI’m working on exactly this idea, if it goes well I’ll launch it as a product. I am trying to figure out the value proposition and who to sell it to and for how much. If anyone has ideas, please reach out. I would be very grateful.
- algomammoth 3y agoI am also working the on a personal project like this in my free time, but would really like to see others' work or even contribute to them. Would you be up for exchanging ideas?
- jtwaleson 3y agoYes! Email is in my profile.
- deleted 3y ago[deleted]
- JanitorBrian 3y agoSounds like http://icepanel.io/ http://icepanel.io/
- alixanderwang 3y agoD2 has keywords to split up diagrams into multiple pages: https://d2lang.com/tour/layers https://d2lang.com/tour/layers disclaimer: i work on it.
- Onawa 3y agoAnd I wholeheartedly endorse and love D2, as well as the Terrastruct Studio web interface for it. Although Iainly use the VSCode extension now and the local TALA install. Now if I could only get Posit to put D2 into Quarto alongside Mermaid and GraphViz, I would be set.
- oaiey 3y agoThe diagram industry is ready to be disrupted. Views on views, your pushing idea, etc. So many ideas. Right now most tools including lucidchart and old timers like Enterprise architect are far too static