Show HN: Visual flow-based programming for Erlang, inspired by Node-RED
Project reception & documentation
- Many commenters find the idea of an Erlang backend for a Node-RED–style visual environment compelling, especially for IoT, concurrent systems, and as an educational tool.
- Repeated requests to:
- Move screenshots and examples to the top of the README.
- Link to a live demo early.
- Clearly define “flow”, “flow-based programming”, and other terms, possibly via a small glossary and links to existing Node-RED/FBP docs.
- Add real-world examples, videos, and a non-technical explanation of what the tool does and who it’s for (Erlang/Elixir devs vs non-programmers).
Flow-based and visual programming: benefits and pain points
- Visual flow-based programming is seen as productive and conceptually attractive, especially for wiring event/data pipelines and concurrent processing.
- Major drawback: tooling for collaboration and version control.
- JSON representations mix visual state (coordinates, labels) with logical behavior, making diffs noisy and hard to interpret.
- Some argue you must compare flows visually; others suggest separating visual vs logical data in the format.
- Scaling issues: large flows are hard to navigate on limited screen real estate; modularity via subflows and reusable components is essential.
- Visual environments expose poor modularity more clearly than text-based code, which is viewed as both a feature and a criticism.
Erlang vs Node.js and alternative backends
- Author chose Erlang because:
- It maps naturally to FBP via message passing, lightweight processes, and concurrency.
- It’s intentionally “niche”, and the language is mostly hidden from end users if flows remain compatible with Node-RED.
- Some wish for a Rust/Go/JVM-based or Python-based equivalent with a larger library ecosystem and more familiar tooling.
- Debate on concurrency models:
- Pro-Erlang side emphasizes millions of lightweight processes, strong isolation, and suitability for many concurrent, small messages.
- Critics note overhead for heavy compute or large-data workloads where shared-heap multithreading can be more performant.
Node-RED ecosystem and long-term stability
- Core Node-RED is praised as stable and backward compatible; flows.json is simple and robust.
- Serious concerns about plugin/module ecosystems:
- Many community nodes are broken or unmaintained due to npm churn.
- This “bitrot” is seen as a structural problem for JS-based, plugin-heavy orchestrators.
Licensing and “Don’t Do Evil” clause
- The custom “DON’T DO EVIL” license is intended as moral messaging and a barrier to effortless big-tech productization.
- Several commenters warn:
- Nonstandard licenses are legally risky, require costly review, and sharply reduce adoption and contributions.
- “Philosophical” clauses likely have no real-world ethical impact but do have practical downsides.
- Others are sympathetic to using a license as a symbolic pushback against large corporate exploitation, even if formally unenforceable.