Wikified notes from etherpad of Community Meeting of 8th July 2015 (original at https://beta.etherpad.org/p/Infusion_Community_Meeting_8-7-15 )

Introduction to Infusion

1. What is Accessibility? (everyone)
2. What is Infusion? (everyone)
3. Accessibility and User Creativity
4. Infusion example: temperature converter
5. Infusion's idioms and what they're for (applications as, themselves, bodies of state)

ETHICS

- why Infusion is different from everything else you think you know
- how Infusion relates to things you think you might know, like Ruby on Rails or Node.js and Express
- how to change things without changing them
- how to fork things without forking them

What is Accessibility?

What is Infusion?

Code vs. Data

  1. Different audiences:
    1. Code: the runtime, the compiler, other developers
    2. Data: processable also by the machine, and easier to process without needing a whole language runtime--it's possible to look at data and understand it without having to execute it
  1. Once you can extract meaning from data, you have the ability to process data to (e.g.) present it in different ways, make translations to it, etc.
  2. In 1958, LISP WAS CREATED BY ACCIDENT
  3. In 1996, JSON WAS CREATED BY ACCIDENT

Intention

An Infusion application:
    
This defines what we call a grade - which, taken most simply, is just "a named block of JSON". The name is considered part of a universal, global shared namespace - assigning names to functions (or capabilities).
    
fluid.defaults("examples.simpleRelay", {
    gradeNames: "fluid.component",
    components: {
        celsiusHolder: {
            type: "fluid.modelComponent",
            options: {
                model: {
                    celsius: 22
                }
            }
        },
        fahrenheitHolder: {
            type: "fluid.modelComponent",
            options: {
                modelRelay: {
                    source: "{celsiusHolder}.model.celsius", // IoC reference to celsius model field in the other component
                    target: "{that}.model.fahrenheit",       // this reference could be shortened to just "fahrenheit"
                    singleTransform: {
                        type: "fluid.transforms.linearScale",
                        factor: 9/5,
                        offset: 32
                    }
                }
            }
        }
    }
});

From Chat:

Alan: 20:43 sequential intention considered harmful!!