fluid-work IRC Logs-2013-02-23

[16:13:36 CST(-0600)] <colinclark> Here's our agenda pirate pad: http://piratepad.net/maicIFbg8B

[16:48:47 CST(-0600)] <yzen> http://wiki.fluidproject.org/download/attachments/34570514/c4a-pcp-wireframes-phone.pdf?version=1&amp;modificationDate=1361280295252

[20:09:33 CST(-0600)] <colinclark> sgithens: http://www.imdb.com/title/tt0093509/

[20:09:37 CST(-0600)] <sgithens> ;klj

[20:23:59 CST(-0600)] <thealphanerd> colinclark: hows it going

[20:24:04 CST(-0600)] <colinclark> good

[20:24:11 CST(-0600)] <colinclark> weather here is a nice change from winter (smile)

[20:24:14 CST(-0600)] <thealphanerd> you get a chance to check that reply about osc stufffs

[20:24:23 CST(-0600)] <colinclark> I did, yes

[20:24:40 CST(-0600)] <thealphanerd> cool… you have time this week to skype and discuss more?

[20:24:53 CST(-0600)] <thealphanerd> maybe wednesday?

[20:25:07 CST(-0600)] <colinclark> I think so, yes

[20:25:17 CST(-0600)] <colinclark> let me check the conference schedule

[20:25:20 CST(-0600)] <colinclark> I'm speaking in the afternoon

[20:25:26 CST(-0600)] <thealphanerd> which conference?

[20:26:09 CST(-0600)] <colinclark> http://www.csun.edu/cod/conference/2013/sessions/index.php/public/presentations/view/113

[20:26:35 CST(-0600)] <thealphanerd> awesome!

[20:26:37 CST(-0600)] <thealphanerd> best of luck

[20:26:39 CST(-0600)] <colinclark> thanks!

[20:26:40 CST(-0600)] <thealphanerd> OH

[20:26:43 CST(-0600)] <thealphanerd> I found out the coolest thing

[20:26:47 CST(-0600)] <thealphanerd> faust can compile to js

[20:26:50 CST(-0600)] <colinclark> Wednesday evening would be just fine if you're free

[20:26:52 CST(-0600)] <colinclark> yes, it can

[20:27:08 CST(-0600)] <colinclark> http://faust.grame.fr/index.php/7-news/73-faust-web-art

[20:27:09 CST(-0600)] <thealphanerd> might be a way to make some good ugens

[20:27:22 CST(-0600)] <colinclark> I was thinking exactly that, yes

[20:27:31 CST(-0600)] <colinclark> I'm pretty worried about their approach to user interfaces, the more I look at it

[20:27:41 CST(-0600)] <thealphanerd> I was talking to Yann about it

[20:27:45 CST(-0600)] <thealphanerd> he is open to different approaches

[20:27:51 CST(-0600)] <thealphanerd> and also open to inclusive design

[20:27:55 CST(-0600)] <colinclark> Apparently this is one of the problems they've encountered while trying to port Faust to the web

[20:28:15 CST(-0600)] <thealphanerd> this is something they want to potentially collaborate with us on

[20:28:22 CST(-0600)] <colinclark> That'll be really exciting

[20:28:33 CST(-0600)] <colinclark> They really need a better means of layering

[20:28:44 CST(-0600)] <colinclark> They have "view" concerns all mixed up with the underlying "model" of signal processing

[20:28:51 CST(-0600)] <colinclark> which makes their code brittle, it looks like

[20:28:56 CST(-0600)] <thealphanerd> he was really intrigued by the accessibility angle

[20:28:59 CST(-0600)] <colinclark> much more difficult to port to new environments

[20:29:06 CST(-0600)] <colinclark> that's super exciting, thealphanerd

[20:29:16 CST(-0600)] <thealphanerd> I really want to push it

[20:29:21 CST(-0600)] <colinclark> not many people are interested in that, so if he's excited, that's a really good sign

[20:29:24 CST(-0600)] <thealphanerd> especially with interface.js (or whatever I call it)

[20:29:39 CST(-0600)] <thealphanerd> but I think that it could be an amazing way to get music technology in the hands of lots of people

[20:29:50 CST(-0600)] <thealphanerd> who otherwise are left without any options

[20:29:55 CST(-0600)] <colinclark> So, I can't help but think that we've got two essentially orthogonal tasks here

[20:30:05 CST(-0600)] <colinclark> 1. Supporting OSC messaging

[20:30:10 CST(-0600)] <colinclark> 2. Declarative UI binding to synths

[20:30:23 CST(-0600)] <thealphanerd> indeed… and I think they will both stem from the same model

[20:30:30 CST(-0600)] <colinclark> Tell me more about what that common model is

[20:30:32 CST(-0600)] <colinclark> in your mind

[20:30:50 CST(-0600)] <thealphanerd> well I thin kthe goal with osc and the ui is the exact same

[20:31:03 CST(-0600)] <thealphanerd> breaking out elements of the underlying synth def to be controlled externally

[20:31:07 CST(-0600)] <thealphanerd> the binding is just different

[20:31:15 CST(-0600)] <thealphanerd> you are represetning the exact same data

[20:31:46 CST(-0600)] <thealphanerd> the only difference in my mind between a parameter being controlled via osc, and via web ui, is how it is bound to the synth def

[20:31:53 CST(-0600)] <thealphanerd> but the range of control is identicle

[20:32:03 CST(-0600)] <thealphanerd> and the way of representing it abstractly is as well

[20:32:17 CST(-0600)] <thealphanerd> "slider", "keyboard", "x-y pad"

[20:32:52 CST(-0600)] <thealphanerd> Yann was also interested in the power the IOC and dependency injection could bring to their interface design

[20:33:25 CST(-0600)] <thealphanerd> since they have primarily been dealing with qt they do not have the same flexibility as something that is being rendering via model in the DOM

[20:33:36 CST(-0600)] <colinclark> just catching up, one sec

[20:33:47 CST(-0600)] <colinclark> yzen and kasper just arrived with bbq supplies (smile)

[20:33:47 CST(-0600)] <thealphanerd> no problem… I actually have to run really soon for dinner

[20:33:55 CST(-0600)] <thealphanerd> colinclark: lets postpone this then

[20:33:58 CST(-0600)] <colinclark> ok, no problem

[20:34:03 CST(-0600)] <thealphanerd> and properly discuss this week, and take some notes

[20:34:08 CST(-0600)] <colinclark> sure, totally

[20:34:11 CST(-0600)] <thealphanerd> and make a skype meeting with Yann at grame

[20:34:15 CST(-0600)] <thealphanerd> to see what their thoughts are

[20:34:24 CST(-0600)] <thealphanerd> I think this could be a really amazing cross collaboration

[20:34:31 CST(-0600)] <colinclark> me too

[20:34:33 CST(-0600)] <colinclark> i'm excited about that

[20:34:40 CST(-0600)] <colinclark> also let me know how you want to get started

[20:34:42 CST(-0600)] <thealphanerd> and especially if faust gets baked into web audio api… the two can really compliment each other in amazing ways

[20:34:47 CST(-0600)] <colinclark> if you want to hack directly on flocking, I can show you how

[20:34:55 CST(-0600)] <colinclark> or if you want to dive into a layer on top, that's good too

[20:35:04 CST(-0600)] <thealphanerd> I think it might be a bit of both

[20:35:10 CST(-0600)] <colinclark> cool

[20:35:18 CST(-0600)] <thealphanerd> I think that there will need to be a part that is baked into flocking as part of the synth def

[20:35:50 CST(-0600)] <thealphanerd> and something that sits on top (or a free function) to do the binding

[20:36:32 CST(-0600)] <colinclark> I guess the thing is that it's already possible to easily bind changes to a given instance of a synth

[20:36:36 CST(-0600)] <colinclark> by calling get() and set()

[20:36:47 CST(-0600)] <colinclark> So that part is covered

[20:36:51 CST(-0600)] <colinclark> so what's the next level of binding?

[20:37:46 CST(-0600)] <thealphanerd> the binding of those events to osc

[20:37:56 CST(-0600)] <thealphanerd> and the generating of osc

[20:38:04 CST(-0600)] <thealphanerd> which I think might live outside flocking

[20:38:07 CST(-0600)] <thealphanerd> as it has other use cases

[20:38:16 CST(-0600)] <thealphanerd> maybe gets baked into node-osc

[20:38:28 CST(-0600)] <colinclark> Presumably that involves defining a set of OSC messages to the core actions you can do with Flocking

[20:38:31 CST(-0600)] <colinclark> which roughly involves:

[20:38:34 CST(-0600)] <colinclark> Creating synths

[20:38:38 CST(-0600)] <colinclark> Stopping synths

[20:38:50 CST(-0600)] <colinclark> manipulating nodes in the environments (adding them to groups, etc.)

[20:38:55 CST(-0600)] <colinclark> And then getting and setting values

[20:39:40 CST(-0600)] <colinclark> So, then, presumably, it's just a matter of creating a "bridge" between incoming OSC messages and methods called on the Flocking environment or given synths

[20:39:56 CST(-0600)] <colinclark> (which would be addressed by name, presumably within the address of the message)

[20:40:04 CST(-0600)] <thealphanerd> I have to run

[20:40:06 CST(-0600)] <thealphanerd> lets talk this week

[20:40:09 CST(-0600)] <colinclark> yup