Rich_Morin

Rich_Morin

The Applications tab in Observer displays a diagram of running applications and supervision trees. This is a really impressive capability, especially given that Observer was written decades ago.

However, we can (and should, IMHO) do better these days. For example:

  • Observer’s diagrams don’t scale gracefully. If there are dozens of processes in a pool, the user should be able to collapse that part of the diagram, hiding the details. Etc.

  • There’s also the aspect of discoverability and progressive disclosure. (PIDs such as “<0.110.0>” are a bit opaque…) So, the user should be able to learn a little by hovering over an icon and learn a lot more by clicking on it.

  • The diagrams only show a single view of the system. There are lots of graphs and trees that could be diagrammed, to good effect. Imagine being able to examine dependencies, message flows, process creation, etc.

Given the size of systems being built these days, it amazes me that developers can maintain a mental model of what’s going on. Yes, LLMs can help a lot, but at some point the human has to provide intent, assess behavior and results, etc. Chats and dashboards are part of the answer, but (IMHO) diagrams should be, as well.

Although creating a diagram-enabled browser for Elixir systems would have been just a pipe dream in the past, we now “have the technology” to make it happen:

  • There are a variety of open source diagramming tools (e.g., D3, Graphviz) that allow generation of static and/or dynamic diagrams. LLMs can use these tools directly and (for deterministic results) generate tools to do so.

  • Phoenix LiveView could generate and present desired web pages and diagrams “on the fly”. Other tooling (e.g., graph databases) could store supporting data. Finally, LLMs can do the heavy lifting of creating the needed code.

Frankly, I’m amazed that I haven’t seen any work in this direction. Am I missing something?

Showing Posts 1 to 2

arcanemachine

arcanemachine

I know basically nothing about this topic, but I do know that mix xref graph can be used to graph dependencies. There is also this neat tool by @axelson which does a good job of visualizing the data:

Just mentioning in case you aren’t familiar with these.

Rich_Morin

Rich_Morin OP

I note that both DepViz and mix xref graph already use the DOT tool from the GraphViz project. FWIW, DOT can generate SVG files, which an LLM can manipulate to match the user’s preferences.

— All posts loaded —

Where Next? Top

Trending in Dev Env & Tools Top

AstonJ
Not sure I’m going to upgrade myself yet, but curious what others think: How are you finding it for dev? What are your thoughts of it g...
New
AstonJ
This just hit devtalk - best use of AI to date? Stop paying for software that has a free twin. 971 open-source replacements for 443 pai...
New
AstonJ
Curious whether anyone is taking any specific precautions, such as creating new non-administrative user-accounts and then simply copying ...
New
AstonJ
We first posted one of these threads back in 2017 - so let’s start a fresh one, and let’s use a site that was created by @davejs using Ph...
New
brightball
I’ve been enjoying great results on my personal projects using AI tools with Elixir recently, thanks largely to the guardrails that are a...
New
JosePamplona
Hi everyone, Over several Elixir projects I kept writing down what each one taught me and turning the setups I got right into something ...
New

Other Trending Topics Top

KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews