Design structured diagrams, built to increase your team's trust in your docs
icepanel.io
icepanel.io
I love UML.
I know that is not dominant sentiment so it might get downvoted.
I worked with UML over decades now.
I refuse to use Visio, Draw.io or PlantUML for that part. I use a tool that knows UML and is constructed to quickly build UML diagrams.
Doing a Sequence diagram in draw io is something I find painful and slow.
My favorite tool is Visual Paradigm. It has the best intelligence for quickly building diagrams.
It also features two way code generation.
You can get diagrams created from code, and you can modify diagram to modify code.
From that you can get a lot of help (it is far from perfect) to create needed diagrams and also in maintaining them.
I have also used Sparx Enterprise Architect which is also very good.
In so far as creating higher level diagrams that Icepanel is most centered on, it should be greatly aided by a set of tools to discover and map artifacts in an automated manner.
Keeping diagrams up to date is a huge chore that it is nice to have help with.
Having to recode, my code, in a document for PlantUML is not something I could do either. There are some great tools for generating PlantUML diagrams and those are great.
We use some of that to generate certain diagrams automatically in our CI pipeline. When it is done running all diagrams are up to do date and placed in our documentation.
We use it to show each one of our microservices with a lot of data around then. And another one displays a lot of information about each of our container images.
Took a while to get that setup right.
Then, in markdown/readmes use .
It will render locally, and in GitHub, and also if you use remark or something like that, it will still render as an image.
I can highly recommend using the *.drawio.svg extension though! Svgs also work in Github readmes and perform much better overall. They also work much better over liveshare!
Love the extension, great work
We're replaced our diagramming with it instead of things like omnigraffle as it means everyone has access to tweak the diagrams without having to buy software (and then buy upgrades and plugins), and by embedding the diagram in the .png there's just one file to keep track of.
With PlantUML you usually commit your diagram's text syntax to VCS, often close to the code.
As far as usability, we're never going to agree. I find it tedious, compared to writing predictable declarative syntax.
Here's more info => https://joe.blog.freemansoft.com/2020/10/diagram-definition-...
The shapes libraries are pretty nifty and extensive (just need to turn them on).
Can you provide an example of what you're referring to?
Plenty of examples here.
The product should wow the user and sell itself and then the user will come asking to pay for more features. I've bought many products this way.
There's no way I'm signing up for these things.
Something like this could be really useful, and I'm keen to give it a try!
If the founder is here, a question: what formats can you export diagrams in? My biggest fears in using something like this would be lock-in, or it shutting down and losing everything.
It'd be great to hear your thoughts/feedback on the tool. Please feel free to reach out to us.
In terms your comment about lock-in I understand your fear and I think a lot of companies will share this. We currently offer PDF/PNG export however due to the interactive nature of our diagrams we're looking into how we can provide an interactive export. An IcePanel file is also an idea we're looking into. We'd love to work with you if you have any specific ideas in this area.
I also have a side business (me and a co-founder), and I'm planning on making the plunge and going full-time on it in the next few months - there too I've used Visio, because it's what I'm used to, and I get a license with our Microsoft Action Pack subscription. Here though, I'd probably prefer to move to a declarative model, like PlantUML (I only recently found out it works with icon sets, so can do things like nice architecture diagrams too).
Aside from that, I'd echo what a couple of others here have said about having a desktop app version, which would work with local, rather than cloud storage - I generally prefer to have full control over my data and how it is managed. I personally wouldn't mind an Electron app (presumably a native app is going to be a lot of work).
I look forward to trying it!
The bigger issue is a) it doesn't do many of the things that we as architecture and design work requires - declarative rules (Component A --> connects to --> Component B) - enforce this rule without my having to worry about arrow drawing b) Version management c) Visio's default of a printed page as Canvas is incredibly cumbersome - we want big canvases in which we can zoom in / out liberally for large diagrams (hundreds of components).
It's more a question that it's not really an architecture tool for large systems. It's a general purpose tool that we've attempted to manipulate. So it doesn't work well for in-depth uses.
Working for a megacorp doesn't mean they shower their people with money for tooling (or anything beneficial, actually). They are incredibly wasteful in some respects, but very seldom in ways that benefit the people working for them, or the work they do for them. In truth, they are a bunch of c*nts that couldn't care less about their people ¯\_(ツ)_/¯
But now I digress, and will get back on topic :P
Also, when I mentioned cost, I meant in general - not just specifically for me in my specific day job. If you're solo-bootstrapping a startup for example, $280-530 might seem relatively expensive for a tool that you will seldom use. Perhaps less of an issue if you're using O365, or the Microsoft Action makes sense for you.
> Visio's default of a printed page as Canvas is incredibly cumbersome - we want big canvases in which we can zoom in / out liberally for large diagrams (hundreds of components).
I don't understand your argument here; the Visio canvas can be whatever size you want - you can even let it auto-expand as needed if you want. I regularly do use it for diagrams of large systems with numerous components, and can zoom in/out just fine.
> It's more a question that it's not really an architecture tool for large systems
I like declarative diagrams very much (versioning is a huge plus too), and have been making much more use of them recently, mainly for UML diagrams. But actually, for large architectural diagrams they can become a sea of text that's difficult to work with. Being able to visualise* things more intuitively can be a bonus.
> It's a general purpose tool
This is one of the things I like about it - I can do architectural diagrams, sequence diagrams (or any kind of UML diagram), process flows, swim lanes, anything really.
Still, it has a gazillion features and capabilities that I'll never use (such as the extensibility you mention), and it can be really fiddly to size and position things just-so. Hence, I think something a little more focussed (like the OP's app, or the likes of draw.io) could be a great alternative.
We're also looking at how we can bring our diagrams into source control to allow it to be maintained easier.
Seeing the demo page, I have to ask: why do we stay with the traditional black, grey and white colors for diagrams?
For example, I ended up writing this to integrate diagrams and Sphinx. https://github.com/j-martin/sphinx-diagrams
Similarly there's https://pypi.org/project/sphinxcontrib-plantuml/ and https://mermaid-js.github.io/mermaid/#/ (among other similar tools).
I'm sure these kinds of services have good use cases for back office async tasks and things like that, but for web workloads it doesn't really work.
I’ve found it pretty easy to rapidly throw together some reasonable diagrams with relatively little effort but where it really seems to fall down is with the layouts themselves. I’ve found that just so hard to get things to lay out how I want them to and the syntax for this seems particularly arcane to master. I usually just give up after a while and end up with a layout I hate but that at least conveys the information I want to convey.
I’m probably making things hard upon myself because I manually crank out the markup by hand and brute force slog through it until it looks ok. Reading through this thread made me realize that I could potentially be using PlantUML or something similar to make this less awful.
If the diagrams had some linkage to your code you'd be able to see what a failed unit test means in the overall context of the app, what code is used in which block, what protocol is used for connections between blocks, a summary of what each block does etc...
A monitoring tool as you say - and since you'll use it often you'll probably keep it up to date
Key features - be able to distinguish between connections flowing into a hub (Outlines); have bi-directional flows to illustrate different data exchanges; colours; lack of due to huge Pro sign up ad in Diagrams view are all hinderances.
It keeps things simple - you can't have a super complex ASCII diagram; even crossing lines look terrible - and there's at least a fighting chance that when someone changes the code they will at least notice the diagram is out of date.
To prevent insanity, I use a tool to help draw them: Monodraw in my case.
I was explaining to people that they were getting scammed ( they said they bought one coin) and i was looking it up since I didn't know it, so i concluded that they were scammed.
They just didn't believe me and said i was a liar. Their family friend who walked away with >50k would never do that to them.
A lot of people just don't understand cryptocurrency and greed had them losing their common sense, i was truelly disgusted by this.
Even as I had crypto until 2017 and earned a reasonable amount with it, I've started to become a non-believer in it. The existing coins are just an example of the blockchain and while the tech is great, an existing coin will never be adopted by a country. So it's futile to believe that a certain coin will become the standard.
Authorities ( for good reason) will never allow that to happen.