Share this project

Done

Share this project

Done
A Practical Handbook on Developing Dataflow-Based Programming Systems
A Practical Handbook on Developing Dataflow-Based Programming Systems
A Practical Handbook on Developing Dataflow-Based Programming Systems
451 backers pledged $8,129 to help bring this project to life.

About this project

Dataflow & Reactive Programming Systems project video thumbnail
Replay with sound
Play with
sound

Dataflow & Reactive Programming Systems

$8,129

451

 ~~~ Buy the Book at DataflowBook.com ~~~

CTO & Co-founder of Typesafe Inc. (http://typesafe.com/)
CTO & Co-founder of Typesafe Inc. (http://typesafe.com/)

Some Quotes from our Backers...

  • "When I saw your book I was like "FINALLY" the world has woken up to dataflow." - Stewart Mackenzie
  • "I like to pay some attention to new developments... but don't always have the time..., "straight to the chase" books like the one you are proposing to write are very valuable." - Samuel Rødal

Dataflow concepts are the heart of Reactive Programming, Flow-Based Programming (e.g. NoFlo), Unix pipes, Actors and message passing in general.

Dataflow-based systems are easy to design once you understand the large number of implementation details that could drastically change how the system operates. Understanding these vectors of change is important so you don't waste your time developing the wrong system.

Embedded dataflow-like languages are used in a wide range of applications. Video games, web pages, circuit simulation and music production are just a few of the domains that have been using dataflow for years. Every one of those has a specialized dataflow engine designed for the task at hand. This book will help you understand the whole dataflow universe before starting your own system.

By the end of the book you will understand...

  • All possible design choices with dataflow-based systems
  • How their effects interplay
  • How to develop your own dataflow-based system


Public domain source code of an example dataflow system will be available for download from the book's web site once completed.

Table of Contents

(Preliminary)

General Architecture: (Brief introduction to dataflow and its terminology)

  • Overview
  • Benifits of Dataflow
  • Dataflow in a Nutshell


The Nouns of Dataflow:
(Definitions of the common parts of dataflow-based systems and their possible design choices)

  • Nodes & Ports
  • Links
  • Data


The Verbs of Dataflow: (Covers the design choices for the runtime operation of dataflow-based systems and their affect on its operation)

  • Scheduling & Executing
  • -> Static Scheduling
  • -> Dynamic Scheduling
  • Transmitting
  • Time (Glitches & Synchronization)
  • -> Synchronous Dataflow
  • -> Asynchronous Dataflow 


Problematic Graphs: (Understand how implementation choices can change the operation of certain graphs -- programs)

  • Cycles
  • Joins
  • Splits


Specific Implementations: (Describes the key characteristics of common dataflow models with sample code for each section. Discusses how the design choices affects operation -- its pros and cons in comparison to other dataflow models)

  • Pure Dataflow Programming
  • Flow-Based Programming
  • Reactive Programming
  • Unix Pipes
  • Actors


Code samples in C# and other major languages:

  • Download code of a complete dataflow-based programming system that you can extend
  • The .Net Reactive Extensions will not be used
  • Instead, we will show you an example of a complete system built from first principles



Reward Levels

Supporter: $1

Contribute at least $1 if you would like to support us but don't need the book.

E-Book: $12 ($10 for early backers)

Receive access to download the source code and book (DRM free) in PDF and possibly other formats.

E-Book + Updates: $15

Receive access to download the book and source code *PLUS* get 2 years of updates and revisions from the book's web site.

Paperback: $45 ($40 for early backers)

We will mail you a professionally bound paperback (within the US). Also receive access to download the book and updates for 2 years.

Signed Paperback: $50

I will personally, hand sign your copy with any!?! short comment you want ;). It will then be packaged and mailed to you. Also receive access to download the book and updates for 2 years.

Sponsor: $100

If your company would like to sponsor our book, we will put the name, logo, link and short, twitter size description in the book and also on the book's web site for one year from date of publication. You'll also get to download the book and updates for 2 years.

Stretch Goals!!!

250 Facebook Shares

  • I will port the sample code to another programming language in addition to C#. After the funding is completed, all the backers can vote for their choice of language. Please use the button at the top of the page so that I can track the count.

Music: "Someday Soon" by Joe Marson, http://www.joemarson.com/ under Creative Commons licence CC BY-SA 3.0, http://creativecommons.org/licenses/by-sa/3.0/

Risks and challenges

Over the years I have built numerous dataflow implementations that I can draw knowledge from. I am continuously searching for more views on dataflow-like systems and started compiling my links in the subreddit reddit.com/r/DataFlowProgramming.
In preparation, I have been taking notes to ensure that I will have enough content for at least a few hundred pages. Printing and shipping costs have been taken into account.

Learn about accountability on Kickstarter

Support this project

  1. Select this reward

    Pledge $1 or more About $1.00

    SUPPORTER: If you believe in our cause but don't need the book... my deepest thank you.

    Less
    Estimated delivery
    3 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Reward no longer available

    Pledge $10 or more About $10

    E-BOOK (EARLY BACKERS SPECIAL): Same as the $12 reward but at a reduced price for the first 50 people.

    Less
    Estimated delivery
    Reward no longer available 50 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $12 or more About $12

    E-BOOK: Download the book from our website when completed in PDF and possibly other formats.

    Less
    Estimated delivery
    47 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $15 or more About $15

    E-BOOK + UPDATES: Receive the e-book *AND* 2 years of updates to the book and sample code.

    Less
    Estimated delivery
    298 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $40 or more About $40

    PAPERBACK (EARLY BACKERS SPECIAL): Same as the $45 reward but at a reduced price for the first 50 people.

    Less
    Estimated delivery
    Ships to Only United States
    Limited 36 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $45 or more About $45

    PAPERBACK: Receive both the paperback and the electronic versions of the book with updates for 2 years.

    Less
    Estimated delivery
    Ships to Only United States
    9 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $50 or more About $50

    SIGNED PAPERBACK: Your copy will be hand signed by the author with your special message and mailed to you. You also receive the electronic version with updates to the book and sample code for 2 years.

    Less
    Estimated delivery
    Ships to Only United States
    2 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge $100 or more About $100

    SPONSORSHIP. Put your company's name, link and short description in a prominent position in the book and on our website for one year. You can also download the book with updates for 2 years.

    Less
    Estimated delivery
    6 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)