As a technical copywriter, David Nance writes Mother-approved user manuals and online documentation for tech companies. As a coder, he looks for solutions in game excitement, self-organized systems, and end-user behavior. David and his family reside in Las Vegas, Nevada.
It is amazing that with our lightning-fast technology cycle, a workflow born out of the era of bellbottoms and turntables is making a revival. Back in the 1970s, an ingenious engineer by the name of J. Paul Morrison crafted a banking system that resembled a common flowchart. His software concept was quietly credited for having the ability to stream complex logic visually, in a way that could be grasped by non-technical personnel. Years later, a movement is surging that professionals in the technology industry would be wise to pay attention to. This article explores Flow Based Programming, or FBP.
Since the moment when Morrison’s FBP banking system first came to fruition, little has been officially mentioned regarding the disruptive concept. However, FBP had actually been popping up in industries away from the software development epicenter: visual effects, film, artificial intelligence, enthusiast programming, etc.
The need for visually-appealing program flow, and a step away from object-oriented programming seems like steps towards more understandable, flexible code. Why then, has FBP been slow to reach universal acceptance among designers, product managers, and most importantly, developers?
Highly-lauded tinkerer Henri Bergius, and Meemoo creator Forrest Oliphant formed two crucial pieces of a Kickstarter that gained tremendous support worldwide. The NoFlo project, while ambitious, had a few traits that set it apart from Yahoo Pipes, Quartz Composer, and other successful but limited FBP-like systems of the past:
- NoFlo’s graphs can be created via JSON.
- While the hosted infrastructure is closed, the underlying programming framework is open source.
- The UI does not generate any of its own code.
- Custom components can be created and tested for any purpose.
From its inception as Macromedia Flash 1.0 in 1996, Flash has been the de facto method of incorporating sound, video, and image assets into new media. However, with the proliferation of various digital devices, Flash has slowly lost ground in favor of HTML5 and its increasing ability to handle complex animations.