- Popular Questions
- What is Flowhub?
- Getting started
- Example Apps
- Browser Requirements
- What runtimes/languages are supported?
- How about support for: insert favorite programming language.
- Does Flowhub require an internet connection?
- It looks like this thing generates code.
- Is this similar to UML?
- Sounds like a good idea, but drag and drop editors are crap, this thing brings back nightmares from BPEL or Yahoo!Pipes or: insert a 90’s era flowchart looking thingy.
- Where do I report bugs?
- Privacy and Security
What is Flowhub?
Flowhub is a web-based IDE for flow-based programming. It is built on NoFlo.js for both client and server. It can connect to any language or environment that can talk the FBP Network Protocol.
To get started with Flowhub, use the Flowhub getting started docs above. To get started with Flow-based Programming and NoFlo in general, Visit the NoFlo Documentation.
Client-side example: Photobooth
Client-side example: Clock
We recommend Chrome 33+ or Firefox 28+. Flowhub aims to support evergreen browsers. This means we support the most recent versions of Chrome, Safari, Internet Explorer, and Firefox.
What runtimes/languages are supported?
- Desktop programming for GNOME (NoFlo)
- Microcontrollers (MicroFlo)
- Image processing (ImgFlo/GEGL)
- Message queues (MsgFlo)
How about support for: insert favorite programming language.
Flow-Based Programming is a paradigm that can be adapted to work with any existing programming languages. The user interface layer has been designed to be independent of the underlying FBP implementation, and so the various programming communities should be able to connect it with their flow-based environments. Making it work with Actor Based and Functional Reactive systems should be especially easy.
Please refer to the FBP Network Protocol documentation for details how to connect your own Flow-Based or dataflow environment with Flowhub.
Does Flowhub require an internet connection?
No, Flowhub is built with the offline first philosophy, and works fine without an internet connection once you’ve installed it.
Some parts of Flowhub, like GitHub synchronization or real-time collaboration however require an internet connection to work. Access to runtimes may depend on connectivity depending where they are running.
It looks like this thing generates code.
NoFlo does not generate code, but graphs can be exported as JSON.
Is this similar to UML?
This is not a rehash of UML. UML is a diagram mapping out object-oriented constructs, often used for code generation. NoFlo graphs instead are only the coordination layer that manages the control flow of your software. The components are still handcrafted and unit-tested code that NoFlo merely wires together at runtime, following the edges specified in a JSON file. No code generation here.
Sounds like a good idea, but drag and drop editors are crap, this thing brings back nightmares from BPEL or Yahoo!Pipes or: insert a 90’s era flowchart looking thingy.
The story of visual programming tools started with the GRaIL system of the 60s, and has progressed to tools like LabView and Pure Data. So far none of these tools has reached mainstream acceptance outside of their (sometimes fanatic) industry niches. This is partly because these tools were built originally with a particular problem domain in mind, and partly because of the user experience. Execution matters, as we’ve seen so many times in the tech industry. After all, there were a lot of tablets before the iPads.
Where do I report bugs?
If you find a bug, please report it on the NoFlo-UI Github issue tracker.
Privacy and Security
Local Development Support
All source code for graphs and components is primarily stored locally inside your browser’s Indexed Database storage, and only transmitted to GitHub when you choose to push your code.
When you wish to run the graphs on a flow-based runtime environment, for example on NoFlo running on Node.js, the Flowhub application talks with that runtime directly and your source code never passes through our servers. Flowhub’s network services are used for runtime discovery, however.
The Flowhub application ships with a bundled NoFlo runtime for the browser. The other runtimes can be run on your own machine(s) or deployed to some cloud service.
Why does Flowhub need access to all public repos?
We need repository access to be able to push and pull the changes you make in Flowhub. Unfortunately GitHub’s permission model only allows access to all public repositories, all public & private repositories, or no repositories at all. So to be able to provide GitHub integration we need this permission.
However, a possible workaround is to create a secondary GitHub user for Flowhub usage, and add that as a collaborator to the projects you want to work on in Flowhub.
Flowhub is free to use for public projects and open source development!
Private project development & collaboration is reserved for paid plans. You can view the different plans on our pricing page.
The Flowhub supporter plan includes all features of the Pro plan, plus access to the Flowhub community Slack.
Reward Plans from the NoFlo Kickstarter were activated on January 1, 2015 on an update on Kickstarter with instructions to claim your reward. Kickstarter Reward Plans offer the same features as a Flowhub Pro Plan.
Our [Kickstarter backers] are welcome to participate in the Flowhub beta testing program. The license rewards from the Kickstarter will be activated in Flowhub at the end of the beta testing period.
Where is the source code?
Flowhub is built on the Kickstarter-backed open source NoFlo Development Environment, which is available under the MIT license. The hosted Flowhub version adds capabilities that require backend infrastructure, like GitHub integration and runtime discovery.