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&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
[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
[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