Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A visual C4 model tool for your team (icepanel.io)
50 points by JacobDesigns on Sept 28, 2021 | hide | past | favorite | 14 comments


I'm new to C4 but so far, after 5 mins read, I can't see anything you can't achieve with PlantUML. I'm surely missing something, though.

To be honest, diagram-as-code is so powerful I can't be tempted by eye-candy. What is the game changer with C4 and all its editors (if more than this)?


This (icepanel.io) is just a graphical editor (with some very nice functionality) for C4 Model diagrams: https://c4model.com

The actual standard is quite light weight, which is its main selling point. The whole premise is that many teams find rigorous standards like UML and Archimate too heavy and thus resort to basic boxes-and-lines diagrams. C4 essentially says "take your boxes-and-lines and put full sentence descriptions on everything". Combine that will successive levels of detail, and you have the C4 standard.

You don't have to give up diagrams-as-code because you can create C4 diagrams with PlantUML [0] or using the C4 specific DSL [1].

[0] - https://github.com/plantuml-stdlib/C4-PlantUML

[1] - https://github.com/structurizr/dsl


Thanks a lot, mate!


C4 model creator here ... in a nutshell, the C4 model is: 1. a hierarchical set of abstractions to describe software systems, and 2. a hierarchical set of diagrams to visualise those abstractions. Benefits include it providing teams with a lightweight common vocabulary to describe/visualise software architecture, with the resulting diagrams being "developer-friendly". It's also independent of any specific notation and tooling. My top tip is that you don't need to use all four levels ... the first two are usually sufficient for most teams.

I agree, diagrams as code is very powerful, and that would be my recommendation for teams looking for tooling ... the Structurizr DSL being the tooling that I created specifically to create multiple diagrams based upon the C4 model, in multiple output formats, from a single DSL source file. You can see a demo at https://structurizr.com/dsl and there are more details at https://structurizr.org

Some teams do like the familiarity of diagramming/modelling via a UI though, and that's where something like IcePanel fits in.


DAC has a lot of strengths for technical users and audiences, but it isn't accessible for everyone. Our focus is keeping everyone in the team up to date and on the same page about the system design and in line documentation in an accessible, simple way. Decisions get made all the time and (most) often aren't captured in places everyone can access. Simply understanding how the product works that you're involved with shouldn't be difficult. There is a table for comparison here: https://icepanel.io/c4-model#dac-table


I don't understand, though. Since it's a model, why say "gitable=no" instead of having ability to have those "frozen sources of truth" git-committed?

In fact, it's not clear to me, can I even get the model code out of this? I see "model export" but can't tell what the toolbox means from your visual tool.

I really want to use this, but only if it integrates back into the everything-as-code record. (I don't even care if bi-directional for now, but it has to snapshot the model out.)


What use cases do you have that need the model to be committed to the repository if it wasn't bi-directional?


C4 is a language for describing systems. I use structurizr to catalog everything and to better understand the relationships and problems.

It can then create multiple views. For instance focus on one component and filter which relationships to show.

I end up with 8 or more views, a few of which are useful to highlight a problem or problematic dependency.

It can export plantUML as well as SVG.

plantUML is more open and more widely applicable. C4 is a process of cataloging.


For those who like me had no idea what C4 means (other than an energy drink, a workout powder, an explosive, and a Corvette, in that order, according to Google):

https://c4model.com/


Don't forget the Colossal Clean Crawled Corpus [1] too!

Came here thinking it was another neural network + data visualization tool.

[1] https://ai.googleblog.com/2020/02/exploring-transfer-learnin...


Can this tool export the diagrams as code? That would be nice as I can save it in git.


What use cases do you have if the diagrams were exported to code?


What is the diagram framework being used?


Sorry I don't understand, what specifically do you mean?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: