[HN Gopher] Design structured diagrams, built to increase your t... ___________________________________________________________________ Design structured diagrams, built to increase your team's trust in your docs Author : JacobDesigns Score : 200 points Date : 2021-05-15 12:55 UTC (10 hours ago) (HTM) web link (icepanel.io) (TXT) w3m dump (icepanel.io) | darkwater wrote: | "Error: could not handle the request" looks like HN hug of death | did its job. | JacobDesigns wrote: | Try this? http://icepanel.io/ | VWWHFSfQ wrote: | I've had really bad experiences trying to serve web workloads | from lambda or cloud functions type services. The ramp up | period to scale for a sudden influx of traffic is ridiculously | slow. basically it can't handle a thundering herd at all unless | you pre-provision enough concurrency which is incredibly | expensive. | | 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. | victor96 wrote: | We're only using cloud functions for the initial redirect for | some links, looks like we're hitting some kind of quota limit | in our cloud environment. Should be fixed now. | f6v wrote: | Tools are great, but here's the million-dollar question: how do | you make people maintain the docs? | JacobDesigns wrote: | We have a few ideas in that area revolving around our Slackbot, | keep watching for our next releases for more details. | finnh wrote: | I actually have an approach here: ASCII diagrams, so i can | embed them in code or a README. | | 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. | systemvoltage wrote: | Dark diagrams make for terrible documentation IMO. | drewcoo wrote: | What on earth do diagrams have to do with trust in docs? Docs | that are useful, accurate, and up to date would increase trust. | JacobDesigns wrote: | We agree - useful, accurate, and up to date docs are what | increases trust! We're bringing docs closer to the diagrams to | visually explain your system in smaller chunks. We've found | docs often accompany diagrams, and they become out of date as | soon as they're exported! We think instead of diagrams being in | docs, docs should be in the diagram. | jmarcher wrote: | Alternatively, they can live together. | | 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). | deanclatworthy wrote: | Having fallen back in love with PlantUML recently I'll never use | a proprietary tool that doesn't have declarative syntax. System | diagrams and documentation are a crucial part of any software | business and one that is regularly out of date as people end up | using tools like draw.io which nobody knows how to get access to | or use. | drewpc wrote: | > I'll never use a proprietary tool that doesn't have | declarative syntax | | Can you provide an example of what you're referring to? | petepete wrote: | PlantUML diagrams are generated from plain text, they can | easily be embedded in markdown or even in code (I'm sure | there's a plug-in for that!) | | Plenty of examples here. | | https://plantuml.com/state-diagram | gregmac wrote: | And importantly, because they're text, they can live in a | version-controlled environment. I mainly use them within | Confluence, and even there you can diff between versions to | see changes. | Veuxdo wrote: | +1 for declarative syntax. Diagrams-as-code is great, but | diagramming in a _programming_ language (e.g. Python) is... | weird. | jasau wrote: | Just mentioning that programming language doesn't rule out | the option to have declarative syntax for an API. | mattm wrote: | Wow, this is interesting. Are there any diagramming tools that | allow importing PlantUML to display them a little nicer than | the examples? | sombremesa wrote: | There's some nicer looking ones here: | | https://crashedmind.github.io/PlantUMLHitchhikersGuide/ | iso1210 wrote: | How do people not know how to get or use draw.io? You literally | go to draw.io and can use it online. | | 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. | deanclatworthy wrote: | I've worked at places where people have exported draw.io as | PNG/PDF on internal wikis for diagrams. But what happens when | you want to change it? You then have to track down the people | who made them, and get access yourself - or find it buried on | someone's google drive. | | 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. | iso1210 wrote: | drawio embeds the code in the png, so you just edit it in | situ. | john-tells-all wrote: | Wait, drawio embeds the source and rendered version in | the same file? That's great! | | Here's more info => | https://joe.blog.freemansoft.com/2020/10/diagram- | definition-... | mroche wrote: | You can also use it offline, there's a downloadable Electron | app they provide (AppImage on Linux). | | The shapes libraries are pretty nifty and extensive (just | need to turn them on). | simonireilly wrote: | I tend to use .drawio.png extension and then collaborate inside | the repo in real-time using vscode live share | (https://visualstudio.microsoft.com/services/live-share/) and the | drawio extension together | (https://marketplace.visualstudio.com/items?itemName=hediet.v...) | | Then, in markdown/readmes use | ![](./relative/file/path.darwio.png). | | It will render locally, and in GitHub, and also if you use remark | or something like that, it will still render as an image. | Gehinnn wrote: | Author of the drawio extension here, nice to see you using it! | | 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! | cdnsteve wrote: | Can these be part of the source code repo and attached from ADRs? | powerapple wrote: | I have been using whimsical for diagrams and prototyping | prototypes. Some of my colleagues are converted after they have | seen it. The ease of use is the best I have seen so far. It is | bold and easy to read. | | Seeing the demo page, I have to ask: why do we stay with the | traditional black, grey and white colors for diagrams? | NicoJuicy wrote: | I think this is partially why I started to hate crypto. | | 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. | d--b wrote: | What tools like these need is monitoring capacity. Hook your | diagrams to your logs and health status, and then you have a | compelling reason to actually keep them up to date. | devgoldm wrote: | Yeah I was thinking something like this too, hopefully someone | makes this if it hasn't been already. | | 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 | marsven_422 wrote: | What ever happened to the spirit of open source... Everyone | trying to make a quick buck on some SaS scheme. | ThinkBeat wrote: | This seems to be based on C4 which apparently is an heir to UML. | | 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. | rubicks wrote: | Is anyone using dot and/or graphviz in earnest for something like | this? | logbiscuitswave wrote: | I've tried playing with graphviz and dot for some system | architecture diagrams - mostly because it integrates well into | our internal MediaWiki site and, it's ... ok I guess. | | 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. | camyule wrote: | PlantUML uses a declarative approach to diagrams and works well | with dot and graphviz. | css wrote: | A question I always have for diagramming software is how it | handles refactoring. This is often the most frustrating part of | every tool. How does IcePanel improve this experience? Group | selection and dragging to hopefully have enough room for | something new is not workable in complex diagrams. | edsonmedina wrote: | If a diagram is too complex, shouldn't you just add more | abstractions? That would simplify the refactoring too. | JacobDesigns wrote: | We want to help users spread complexity across several diagrams | with the aim of reducing enormous diagrams that cause | confusion. IcePanel allows you to quickly create tabs for each | diagram you want to communicate and a model view to keep all | the properties in sync. | | We're also looking at how we can bring our diagrams into source | control to allow it to be maintained easier. | [deleted] | Veuxdo wrote: | For diagrams that are long-lived and refactorable, diagrams-as- | code is really your only option. Changing complex diagrams with | drag-and-drop interfaces is a nightmare. | ta988 wrote: | I wish there would be a mixture of diagrams.net and mermaid. | kitd wrote: | draw.io/diagrams.net has a mermaid plugin | | https://github.com/nopeslide/drawio_mermaid_plugin | Veuxdo wrote: | What would that ideal mixture look like to you? | ta988 wrote: | drawio using the templating engine of mermaid. So it | would have a "restricted mode" that matches roughly to | what mermaid would output. | kqr2 wrote: | Any thoughts oh lucidchart : https://www.lucidchart.com/ | syntaxing wrote: | Nice, I'm pretty excited to try this out for my personal | projects. Been looking for something like lucidcharts but meant | for code architectures. | vishnumohandas wrote: | That's a beautiful website. Love the colors, mascot and the way | you've laid out the information. | andreygrehov wrote: | I've always felt that these type of tools shouldn't have a | traditional home page with sign up, sign in, etc. If you go to | Excalidraw's website, it immediately launches the application for | you to start using it. If you need extra features, only then you | go to a page that provides details, pricing, etc. This is a | beautiful pattern that makes these type of tools a daily habit | for people to use. I don't want to create an account to try the | app or use it in its most basic form. | kpwagner wrote: | I get that, but they want to collect your email to improve | marketing. If the product is strong enough it may not matter. | Practically speaking, I think getting user signup info is | pretty important. | nerdponx wrote: | Pop up a modal after they've been using it for a while. Don't | shove it in my face the first time I visit. | jwalton wrote: | The thing is, we all know they want our email address so they | can market to us, so there's absolutely zero chance of me | ever entering a real email address into that box. | GordonS wrote: | I usually use Visio for diagrams like this. It's a very powerful | tool, but it's expensive, and _really_ fiddly to use such that | everything is aligned and sized the way I want - I invariably | spend _far_ too long adjusting size and position. | | 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. | victor96 wrote: | Hey Gordon, | | 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. | GordonS wrote: | I'd love to be able to export to a vector format - something | I can load into another diagram tool. Not sure of the Visio | format is open and documented, but being able to export to | Visio would set my mind completely at ease. | | 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! | toss1 wrote: | A native app would also allow you to access different market | segments. E.g., I work with a fair amount of DOD-controlled | information, and storing it in a cloud is not an option. I'd | be all over an app like this that allowed us to use local | storage. | JacobDesigns wrote: | What size of company and what industry do you work in out | of interest? | ta988 wrote: | Have a look at diagrams.net, you can run it locally, and | there are quite a few interactive elements (panels you can | close and this kind of stuff). | Datagenerator wrote: | Having used Visio and Diagrams.net, Visio really is the | least productive one. Constantly fighting with the | unpleasantness of applying little tweaks made it my 3rd | choice. 1) Diagrams.net 2) PlantUML 3) Visio | humps wrote: | I was considering Visio until I saw the price, the only | alternative I found was MyDraw[1], which looks competent and is | much cheaper ($69). I haven't used it yet though. In the past | I've relied on Dia[2]. | | [1] https://www.mydraw.com/ [2] http://dia-installer.de/ ___________________________________________________________________ (page generated 2021-05-15 23:00 UTC)