If you are looking for a way to generate flowchart diagrams from a DSL description, the classic is Brian Kernighan's PIC: http://doc.cat-v.org/unix/v8/picmemo.pdf
I am surprised at the amount of people that have never heard of it. It is probably already installed on your Unix system. There are several implementations with various improvements, such as https://ece.uwaterloo.ca/~aplevich/dpic/
Maybe it's just me, but if it takes more than five minutes, to figure out how to go from the example chart to a png, perhaps there's a reason no-one knows it.
This took quite some time to dig up. In case anyone else was wondering, this produces a png (assuming foo.pic contains the example pic instructions): $ pic foo.pic | pic2graph > foo.png
1. Smart. Plays to the strengths of the keyboard by using text input, vs awkward dragging of elements with the mouse (especially with big graphs).
2. Is 'pseudo code' the best description to use? Even the word 'code' can put non-technical people off as they associate it with complexity.
3. The pricing: hosting and support are good reasons to pay, but 'full confidentiality'? It seems you are going out of your way to make the product insecure because the user is not paying. It comes across as a bit money-grabbing.
4. The gif on the front page works well to show off the product simplicity in an intuitive way. My only thoughts is the flowchart could do with looking a bit more 'web 2.0'; SVG elements so you can have rounded corners, shadow effects, colours that work together, arrows that look more professional etc.
Great feedback. Thank you.
2) Probably not good for nontechnical people but on the other hand most accurate for technical people.
3) Your point sounds reasonable. How would you describe the need of some companies need to host 100% of their data? Medical companies for example. This is the point I was trying to convey in the pricing.
4) Square is the new web 3.0 :)
I suppose it depends if you selling flowchart software to mainly technical people? Else if it is more like Excel users, you may want to go with 'as intuitive as Word' or something similiar.
I'd just list 'fully secure' or 'encrypted' as one of the features, and not put it in the price plan at all.
True enough on the Web 3.0 look! I'd recommend using one of the many colour palette tools on the Web though, just to get a more natural softer look between the various hues.
Hey y'all, I've been working on this part time for a couple of years now. Recently it started getting more traffic so I thought I'd try sharing this project with hacker news. If it's useful to you, and the free app is good for most use cases, then hopefully it will reach wider audience. Cheers.
Hi, just wanted to say you've built something very nice! I just tried it out by re-making a fairly complex diagram and it took me like 10 minutes, including learning the syntax, very nice idea, done well!
I did notice one annoying bug, as I change and break the code sometimes, the editor just stops working and it's hard to tell what's happening (the loading indicator just stays there). Opening the dev tools, it appears you're not catching all errors when your parser (peg.js) fails.
SyntaxError: Expected ":" or [^\t\n\r :;[\]] but "\n" found.↵ at peg$buildStructuredError (https://code2flow.com/worker-flow.js:2:12222)↵ at Object.peg$parse [as parse] (https://code2flow.com/worker-flow.js:5:1413)↵ at exports.FlowWorker.onUpdate (https://code2flow.com/worker-flow.js:5:4410)↵ at callback (https://code2flow.com/worker-flow.js:2:8619)"
After trying hand-written approach and later perl's Parse::RecDescent I ended up using peg.js (http://pegjs.org) parser generator. It was probably the most flexible and performant out of all the options I tried.
I hope your pricing model ($100-$300/month) is meant as a joke, and you're not really serious about it. It's extremely expensive. I can drag and drop text boxes in google docs just fine and it's not costing me a dime. The added productivity would be worth it if I was doing this all day long, but it's not the case (as a software engineer).
Ignore this feedback. You have validated that customers will pay what you're charging, which means what they're getting is less valuable than what they're paying. Keep it up!
I think the feedback you should get from that comment isn't that the price is too big, but that the pricing page may not be as clear as you think. I.e. you never intended that dev to pay 100$/month but he/she took it that way.
I think this is a great execution of a time consuming problem, good job!
Consider repricing to $99 and $299, respectively. It seems like a cheap trick but (a) it's been shown many times to work, and (b) especially with the former, you may just put yourself inside someone's purchasing limit.
But requires "royality free" distribution. so charging per month and limiting to internal use only for self hosted product isnt in agreement with the licence.
digraph {
"Hey" [shape=circle]
"Welcome to graphiz" [shape=box]
"You are new" [shape=diamond]
"How are you" [shape=box]
"It's super easy" [shape=box]
"write plain english thats code like" [shape=box]
"wanna do a condition" [shape=diamond]
"editing"[shape=diamond]
"Hey" -> "Welcome to graphiz" -> "You are new"
"You are new" -> "It's super easy"[label=True]
"You are new" -> "How are you"[label=False]
"It's super easy" -> "write plain english thats code like" -> "wanna do a condition"
"wanna do a condition" -> "Just write an if"[label=True]
"wanna do a condition" -> "editing"[label=False]
"Just write an if" -> "editing"
"editing" -> "How are you"[label=False]
"editing" -> "see stuff update via entr"[label=True]
"see stuff update via entr" -> "editing"
"How are you" -> "goodbye"
}
Now I want to study up on parsing to build my own ast to
dot generator
I haven't tried an exhaustive list of UML and diagramming tools, but every other year I try a new one.
PlantUML was one of the first I've ever tried, and nothing beats it so far. Sometimes it's not as flexible as I would want it to be, but maybe that's why I like it so much? I think I've almost learned to use it to only care about being able to express what I want to, and if it doesn't look exactly how I want it to look, but it still lets me express what I want to, I'm happy enough.
Kind of surprised. My team uses it and the fact that it is all text driven (works with git) has them all sold. We mostly use class and sequence diagrams.
How do you arrive at the pricing model for this? $100 per month $300 per month? How is that justified?
Also how do you win against competitors? Is this project something that couldn't be duplicated in a week or so? No disrespect intended, maybe there is more to it that I'm seeing.
Let me start by saying that the free trial is perfectly functional and you can use the product totally for free and you are welcome to!
The pricing for individuals is gonna be published soon along with the SaaS product. It's probably gonna be something like $10/mo but still couple more features need to be built to justify that (like permanent links which content can be edited)
As for the $100/mo - we do have business/enterprise customers who find lots of value in it. I guess the price has been initially verified by the market so should I justify it?
I guess I can justify the price by saying that the project has taken numerous hours of engineering, testing and experimenting. I think this is natural in pricing models that bigger customers pay more.
If you can do the same in a week than good for you.
Sorry I wasn't questioning your ethics. I meant how do you justify the strategy that it will be a successful business model, or what was your thought process in coming to that price.
I absolutely support you charging as much as people will pay! It sounds like you have already started to prove the model. Wish you success.
Also, if this product can save more than 3 engineering hours per month for your whole company than I'd say the self-hosted product is totally worth it. Simple math. :)
I've been playing with a real time visualization of various graph visualizations that have nice text DSLs. Current progress is open source and includes an Atom Package for editing and visualizing results on the fly, as well as a command line tool for generating SVGso from the textual representations.
Don't listen to the feedback you're getting here about pricing.
It looks like you're used by people in healthcare, and they pay primarily for self-hosting.
My suggestion: replace "Data not confidential" with "HIPPA compliant" and double your prices. The free version works for 99% of people who just want to draw a flow-chart, and you charge reasonable prices to healthcare orgs that have to be extra careful because of regulations.
This is just great. Are you planning to introduce an "Export as GraphML [0]" function? My ideal workflow would be to use code2flow to quickly build up the core of a flowchart, and then importing it into a full blown flowchart editor like yEd for the fine tuning.
This is awesome! Any chance it can somehow output to a text based chart?
This is basically what has been preventing me from using https://monodraw.helftone.com/ - i didn't want to draw simple flowcharts. If this can output text for a sane price, you've got a customer!
Yea i meant Ascii art - Monodraw is an amazing program, and as much as i want to buy it, i haven't because i don't want to draw the flow charts.
Your solution is something i've literally talked about here before, so it's welcome to see! But i still need/want ascii. I suppose i don't need it.. i just like being able to view things in CLI/etc.
After trying both, Code2flow is much easier to use for quick diagrams but not as feature rich. Flowchart.js has a bit of a learning curve IMO but much more powerful. Code2flow has free and paid options. Flowchart.js open source.
I like the concept! But there is one thing that seems really weird to me: Edges connecting to other edges instead of nodes. I don't recall seeing that before, at least not very often. I suppose there might be some cases where it helps the layout but I still would make it optional and maybe even default off.
Indeed, it does look a bit weird in that case. On the other hand check out this flowchart https://code2flow.com/KdNVeJ - the same thing looks very clear here.
Cool to see this on HN. I've been using for at least a year to help document some specific use cases in our code. I appreciate the stable URLs that make this possible.
I don't know what you are using as a graph layout engine, but if it can export to a few standard layout formats (dot file, GraphML etc.) I would use this all the time.
I run a small business, and for $3,600/year (unbranded), I will easily choose to stay with Inkscape. I understand the importance of branding, so "white label" is a necessity. My use case is to document process flow in systems, which remain unchanged for months at a time.
Contact me if you want to talk about a pricing model that would make sense for my market segment. Maybe per-chart pricing.
I just wrote you an email but I'm replying here as well. If you just need to make some flowcharts they will not have a code2flow stamp in any of the pricing tiers. Maybe except free trial, but it does not watermark the output either yet. You are welcome to use the free trial until we have a paid SaaS or buy the basic self-hosted version.
The enterprise version is for companies embedding code2flow in their own products.
Check out drawexpress. It works best with a stylus. I use it on my Lenovo yoga book and it's brilliant. I can put something that I have in my head onto a neat looking graph amazingly fast.
My brain jumps from the code being psuedocode to instead being actual Swift, and the chart would be displayed in the output section of an Xcode playground.
Anyone know if something like that exists? Or if it may be easy to port an idea like this to inside a Playground?
I don't have anything large at hand that I can share. Here is a small real-world use case https://code2flow.com/wclEvF - and this is another https://code2flow.com/KdNVeJ
In the latter example, please note that "Update failed: flash error" generates only one node in the flowchart.
The most complex flowcharts were created by customers and testers but I don't want to expose their data. They have hundreds of lines of code resulting in huge diagrams.
I am surprised at the amount of people that have never heard of it. It is probably already installed on your Unix system. There are several implementations with various improvements, such as https://ece.uwaterloo.ca/~aplevich/dpic/