fluid-work IRC Logs-2012-04-30

[08:02:30 CDT(-0500)] <jhung> hey michelled!

[08:02:45 CDT(-0500)] <michelled> hi jhung!

[08:02:49 CDT(-0500)] <michelled> how's it going?

[08:02:59 CDT(-0500)] <jhung> Good! I was going to ask you the same thing. (smile)

[08:03:05 CDT(-0500)] <jhung> Enjoying yourself?

[08:04:38 CDT(-0500)] <michelled> yep - having a great time (smile)

[08:05:58 CDT(-0500)] <jhung> looking forward to hearing the stories (or lack thereof). (smile)

[08:06:08 CDT(-0500)] <michelled> (smile)

[09:40:23 CDT(-0500)] <yura> cindyli: ayt?

[09:40:34 CDT(-0500)] <cindyli> yes, yura

[09:44:25 CDT(-0500)] <yura> cindyli: i was looking into the payload that UIO saves to pref server

[09:44:39 CDT(-0500)] <yura> it is a little out of sync with what is actually saved there

[09:45:11 CDT(-0500)] <cindyli> ok, yura, which part is out of sync?

[09:45:28 CDT(-0500)] <yura> so this is the example of what we are supposed to save : http://wiki.gpii.net/index.php/Preferences_Server_Payload_Examples

[09:45:40 CDT(-0500)] <yura> and this is what we save

[09:45:41 CDT(-0500)] <yura> https://github.com/fluid-project/uio-gpii-integration/blob/master/src/static/data/123.json

[09:46:55 CDT(-0500)] <colinclark> Hey yura, I'd like to schedule an "Architecture Overview for Contributors" session for the GPII this Wednesday at 11 am EDT

[09:47:02 CDT(-0500)] <colinclark> The hour before our usual architecture/development meeting

[09:47:06 CDT(-0500)] <colinclark> Can you make that time?

[09:47:14 CDT(-0500)] <yura> sure, colinclark

[09:47:25 CDT(-0500)] <colinclark> awesome

[09:47:27 CDT(-0500)] <colinclark> I'll send out a note about it

[09:51:23 CDT(-0500)] <yura> cindy, i think there are at least 2 things: application should be applications array

[09:51:32 CDT(-0500)] <cindyli> yes, i noticed that

[09:51:54 CDT(-0500)] <yura> and applications are inside the category, e.g. screenEnhancement or other

[09:52:30 CDT(-0500)] <cindyli> ah, that might be tricky

[09:52:46 CDT(-0500)] <cindyli> we need to figure out which UIO setting belongs to which category

[09:53:17 CDT(-0500)] <yura> yes

[09:54:02 CDT(-0500)] <yura> well if they are not application specific e.g. common to access for all then they should not go into application parameters

[09:54:16 CDT(-0500)] <yura> only the ones that are specific should stay there

[09:54:28 CDT(-0500)] <yura> cindyli: ^

[09:56:14 CDT(-0500)] <cindyli> yura, i rmb anastasia mentioned the GPII perference string follows certain standard. she has a document for that. the "application" section is used to save UIO settings that she cannot find any corresponding mapping to GPII preferences

[09:58:40 CDT(-0500)] <cindyli> seems we may misunderstand the usage of "application"

[10:02:00 CDT(-0500)] <cindyli> one sec, yura, those we saved into "application" are UIO specific. The only change is needed is to move it into "screenEnhancement"

[10:02:52 CDT(-0500)] <cindyli> ok, i will make these changes: 1. applications array, 2 move UIO specific applicaction into "screenEnhancement". what do you think, yura?

[10:13:47 CDT(-0500)] <yura> cindyli: perfect

[10:13:54 CDT(-0500)] <yura> then it will match our spec (smile)

[10:13:55 CDT(-0500)] <yura> thanks!

[10:14:00 CDT(-0500)] <cindyli> np, yura

[10:14:05 CDT(-0500)] <yura> does it mean transformation might change slightly ?

[10:14:21 CDT(-0500)] <cindyli> yes, certainly, yura, the afa store

[10:14:28 CDT(-0500)] <yura> cindyli: i also wanted to ask , what does adaptationPreference mean?

[10:14:53 CDT(-0500)] <cindyli> that's for captions and transcripts, yura

[10:15:28 CDT(-0500)] <cindyli> with UIO, in the media panel, if you turn on caption/transcript preference, you will say the data gets saved into that section.

[10:15:38 CDT(-0500)] <cindyli> "see", not "say" (smile)

[10:15:46 CDT(-0500)] <yura> cindyli: ok got it

[10:15:47 CDT(-0500)] <yura> thanks!

[10:15:50 CDT(-0500)] <cindyli> np

[10:31:45 CDT(-0500)] <cindyli> yura, alexn, do we have standup today?

[10:31:57 CDT(-0500)] <yura> ya

[10:31:59 CDT(-0500)] <cindyli> no one's in the connect room. or I'm in the wrong room?

[10:32:00 CDT(-0500)] <yura> one sec

[10:50:14 CDT(-0500)] <cindyli> jameswy: johnny is asking what IE versions we'd like to have fluid studios support? IE7 − 9? I wonder if you have an answer?

[11:00:36 CDT(-0500)] <jameswy> cindyli: I don't have an answer for that--best ask Justin.

[11:00:55 CDT(-0500)] <cindyli> ok, thanks, jameswy

[14:11:56 CDT(-0500)] <cindyli> yura, i submitted a pull request on uio-gpii-integration to implement screenEnhancement.applications array - https://github.com/fluid-project/uio-gpii-integration/pull/4

[14:15:54 CDT(-0500)] <yura> thanks cindyli (smile)

[14:16:34 CDT(-0500)] <cindyli> np, btw, yura, if you are interested in the transformation, here it is: https://github.com/cindyli/infusion/blob/FLUID-1653/src/webapp/components/uiOptions/js/AfAStore.js

[14:17:13 CDT(-0500)] <yura> thanks

[14:23:08 CDT(-0500)] <yura> cindyli: do you have time for a couple of questions about afa store ?

[14:23:33 CDT(-0500)] <cindyli> sure, yura

[14:23:51 CDT(-0500)] <yura> https://github.com/cindyli/infusion/blob/FLUID-1653/src/webapp/components/uiOptions/js/AfAStore.js#L117-146

[14:23:58 CDT(-0500)] <yura> what exactly does it do ?

[14:26:13 CDT(-0500)] <colinclark> I love comments like that

[14:26:19 CDT(-0500)] <colinclark> / ToDo: eval is evil? Need a workaround?

[14:26:36 CDT(-0500)] <colinclark> Maybe we should start by taking the question marks off that statement (wink)

[14:27:31 CDT(-0500)] <yura> so why not replace this https://github.com/cindyli/infusion/blob/FLUID-1653/src/webapp/components/uiOptions/js/AfAStore.js#L99-109 with something like this? http://pastebin.com/gpHgbMY7, cindyli ?

[14:28:37 CDT(-0500)] <cindyli> ok, i will try

[14:29:07 CDT(-0500)] <yura> cindyli: I mean as far as I understand you only check if there's a value at that path right ?

[14:29:14 CDT(-0500)] <yura> and if there is you remove it

[14:29:18 CDT(-0500)] <yura> is that right ?

[14:29:26 CDT(-0500)] <cindyli> not only that

[14:29:35 CDT(-0500)] <yura> so what else ?

[14:31:03 CDT(-0500)] <colinclark> hey cindyli, yura

[14:31:06 CDT(-0500)] <cindyli> you know, our transformation is a mapping from one path to another, for instance, convert gpii preference from path "display.screenEnhancement.applications.0.parameters.volume" to UIO path "volume". So the first thing is to check the existence of the original gpii path. A simple check on the whole path won't work because if any of the intermediate element doesn't exist, the js error is thrown. This function is to recursively start fro

[14:31:08 CDT(-0500)] <colinclark> maybe we should talk this through a bit?

[14:31:21 CDT(-0500)] <colinclark> and then we can summarize afterwards here in the channel

[14:31:26 CDT(-0500)] <cindyli> i would love to hear

[14:31:33 CDT(-0500)] <colinclark> awesome

[14:31:35 CDT(-0500)] <colinclark> let's hit a whiteboard

[14:31:52 CDT(-0500)] <colinclark> wait

[14:31:55 CDT(-0500)] <colinclark> you're at home, cindyli

[14:31:59 CDT(-0500)] <colinclark> Skype, then?

[14:32:02 CDT(-0500)] <cindyli> sure

[14:32:10 CDT(-0500)] <cindyli> i'm on

[14:32:19 CDT(-0500)] <cindyli> the skype

[14:40:39 CDT(-0500)] <TheAlphaNerd> hi fellow fluid-work'rs

[14:40:54 CDT(-0500)] <TheAlphaNerd> Don't know if I've introduced myself to everyone… but I'm one of the GSOC students...

[14:41:02 CDT(-0500)] <TheAlphaNerd> and I happen to be sitting in the office right now

[14:41:03 CDT(-0500)] <TheAlphaNerd> (big grin)

[15:03:03 CDT(-0500)] <TheAlphaNerd> guess no one is idling right now

[15:07:42 CDT(-0500)] <travis_84_______> Hey Bosmon are you around?

[15:16:19 CDT(-0500)] <Bosmon> Hi there travis_84_______!

[15:16:26 CDT(-0500)] <Bosmon> So many UNDERSCORES you have accumulated

[15:16:30 CDT(-0500)] <Bosmon> You must be an UNDERSCORIST.....

[15:17:05 CDT(-0500)] <travis_84_______> no... idk why it is doing that

[15:17:24 CDT(-0500)] <travis_84_______> I am using icq

[15:18:21 CDT(-0500)] <travis_84_______> so I have a few questions

[15:22:58 CDT(-0500)] <travis_84_______> first, what case studies have been made that shows disabled developers are more likely to code on a mobile platform? I know you had suggested PhoneGap, or did you mean that I should base my code off the speechrecognizer plugin when designing"

[15:23:08 CDT(-0500)] <travis_84_______> *?

[15:42:05 CDT(-0500)] <travis_84_______> I have also been trying to research what tools will help in this project. I was thinking Zepto.js which works exactly like jQuery but lighter because it is for modern browsers only. I thought this was better because only new browsers are going to give us access to the mic anyway.

[15:43:11 CDT(-0500)] <Bosmon> Hi travis_84_______ - I'm not aware of case studies like that

[15:43:30 CDT(-0500)] <Bosmon> But I guess the reasoning is based on the expected increased value of a mobile device to a disabled developer with respect to a desktop one

[15:44:03 CDT(-0500)] <Bosmon> There are all kinds of assistive technologies which are more effectively implemented on a mobile device... because of its ready access to a number of other input modalities

[15:44:16 CDT(-0500)] <Bosmon> For example, the accelerometer, or even the very speech APIs we are planning to use

[15:45:06 CDT(-0500)] <Bosmon> I don't know Zepto.js but do write up anything you find (smile)

[15:45:30 CDT(-0500)] <Bosmon> Sencha and jQuery UI are other options

[15:46:07 CDT(-0500)] <travis_84_______> I found zepto when looking at backbone.js and underscore and SASS

[15:46:39 CDT(-0500)] <Bosmon> SASS is a bit nutty : P

[15:47:42 CDT(-0500)] <travis_84_______> ya, I decided not to add it to my list of things to learn

[15:48:00 CDT(-0500)] <Bosmon> Things which come from the Ruby crowd tend to have a certain.... "mentality" behind them

[15:48:51 CDT(-0500)] <travis_84_______> hah, I'll take your word for it

[15:49:44 CDT(-0500)] <Bosmon> For example, those wacky libraries which like to pretend to remove the need to write markup, like Haml

[15:49:56 CDT(-0500)] <Bosmon> Or those JS libraries which like to assign new properties to the number 4 : P

[15:51:00 CDT(-0500)] <travis_84_______> I know I like Zen Coding

[15:51:11 CDT(-0500)] <travis_84_______> is that bad?

[15:51:26 CDT(-0500)] <travis_84_______> (wink)

[15:53:18 CDT(-0500)] <travis_84_______> I am wondering, wouldn't it be better to design from standards rather then platforms?

[15:55:20 CDT(-0500)] <travis_84_______> that way when the platforms adopt the standard, or when a new device comes out, it will be able to use this?

[15:56:14 CDT(-0500)] <travis_84_______> or am I totally missing what you're saying about mobile?

[15:57:42 CDT(-0500)] <travis_84_______> I wrote a brief post about getUserMedia API that I want to use, but the only browser that is going to let us do this as of now is chrome

[16:02:46 CDT(-0500)] <Bosmon> Yes, designing from standards will be extremely important

[16:02:59 CDT(-0500)] <Bosmon> Which is why the use of "shims" was planned to be an important part of our strategy

[16:03:13 CDT(-0500)] <Bosmon> For example, to use something like PhoneGap to emulate parts of the HTML5 Speech API where they are not supported

[16:03:28 CDT(-0500)] <Bosmon> Which I imagine, right now, is practically everywhere

[16:04:53 CDT(-0500)] <Bosmon> And a very beneficial side-effect of this approach is to help others to work in a standards-based style as well

[16:28:25 CDT(-0500)] <travis_84_______> I looked into using PhoneGap, it appears to only work in Eclipse. I have not used Eclipse but I expect it to be as inaccessible as all other IDE's have been for me.

[16:30:44 CDT(-0500)] <travis_84_______> coincidently, I ran across a guy who was looking for a developer to pretty much develop what we are trying to do

[16:31:58 CDT(-0500)] <travis_84_______> he was a software developer and has stepped away from Emacs to make something better

[16:33:09 CDT(-0500)] <travis_84_______> Worked with people at Nuance, and is willing to help out if it's allowed

[16:54:25 CDT(-0500)] * athena looks up

[16:54:33 CDT(-0500)] <athena> we're actually doing some experimentation with phonegap right now

[16:54:46 CDT(-0500)] <athena> is there anything in particular you all would recommend we be aware of?

[16:58:17 CDT(-0500)] <travis_84_______> no, but tell me how it goes

[17:03:12 CDT(-0500)] <athena> will do (smile)

[17:03:16 CDT(-0500)] <athena> mostly positive so far

[17:03:28 CDT(-0500)] <athena> current implementation is in titanium appcelerator, but we rely mostly on webviews

[17:03:33 CDT(-0500)] <athena> so in some ways not much would really change

[17:14:34 CDT(-0500)] <travis_84_______> Bosmon, tell me what you think of this so far

[17:15:04 CDT(-0500)] <travis_84_______> I am thinking rather then having only a list of "phonetic" names and tag outputs, but have the tag be itself an object with other self contained attributes; like an array. I use a CMS called MODx that treats each "document" as an array of Key: Value: pairs, for example resource[i] will have the keys pageTitle, discription, introText, publishedOn, etc. Each has it's own value assigned or null. I was thinking tags, func

[17:20:34 CDT(-0500)] <travis_84_______> The document view would take the information it needs from the object and rendor, the attributes view that lists the selected items properties would take what it needs, so on and so forth

[17:22:56 CDT(-0500)] <Bosmon> travis_84_______ - that sounds reasonable as a first pass, but I think almost immediately you'll need to start thinking about how to deal with hierarchical structures

[17:24:18 CDT(-0500)] <travis_84_______> for the DOM or...?

[17:25:57 CDT(-0500)] <Bosmon> Well, for "documents" in general....

[17:33:25 CDT(-0500)] <travis_84_______> I know modx deals with this using "parents", it treats its documents hierachically as well

[17:36:05 CDT(-0500)] <travis_84_______> so if an object has its "parent" key filled with another objects ID it knows to rendor the HTML between its parent's "<>...</>"

[17:37:34 CDT(-0500)] <travis_84_______> within the HTML document

[17:44:14 CDT(-0500)] <travis_84_______> ahh and looky here, I find JS library that queries like SQL

[17:44:48 CDT(-0500)] <travis_84_______> http://www.hugoware.net/Projects/jLinq

[18:05:02 CDT(-0500)] <Bosmon> travis_84_______ - I guess the hard part of the problem is dealing with the UI affordances for hierchicality rather than the addressing for it

[18:05:21 CDT(-0500)] <Bosmon> I'm worried by the idea that PhoneGap is "Eclipse only".... what parts of it require Eclipse to use?

[18:05:54 CDT(-0500)] <colinclark> I'm pretty sure PhoneGap is pretty agnostic of IDE

[18:06:05 CDT(-0500)] <colinclark> Certainly Adobe has integrated it into Dreamweaver, for example

[18:06:39 CDT(-0500)] <colinclark> Admittedly it's been several years since I used phone gap, but it was largely just a series of platform-specific wrappers

[18:06:45 CDT(-0500)] <Bosmon> Given you will be helping to authour HTML documents to start with, I think sticking to CSS selector syntax will be good enough as a "model" for hierarchical queries

[18:07:07 CDT(-0500)] <colinclark> It would typically generate some boilerplate for the IDE or environment used by the platform...

[18:07:16 CDT(-0500)] <colinclark> so an Xcode project for iOS, etc.

[18:07:26 CDT(-0500)] <Bosmon> But as I said, I think the querying is actually by far the easiest part of the problem - the hard part is producing an interaction modality that people can actually use (smile)

[18:14:36 CDT(-0500)] <travis_84_______> whew two conversations at once. ok Bosmon, my idea won't stray from css selecting per se, I am just trying to separate the code, the traversing of it, and the user's inquery method

[18:15:53 CDT(-0500)] <Bosmon> Well, I guess we need to nail down a bit more tightly exactly what the user is going to author : P

[18:15:58 CDT(-0500)] <travis_84_______> I am going to have to find a better way of explaining it

[18:16:16 CDT(-0500)] <Bosmon> It sounds like from your description so far, they will be producing mostly standard HTML documents, sprinkled with a few bits of "microformat" type material?

[18:19:20 CDT(-0500)] <travis_84_______> for this initial start HTML and CSS, yes.

[18:22:35 CDT(-0500)] <travis_84_______> but I am thinking that the HTML/CSS docs can be created/edited/output to the two separate files at once

[18:24:21 CDT(-0500)] <Bosmon> Certainly, yes

[18:25:33 CDT(-0500)] <travis_84_______> if the user says "insert 'h1' and add class 'title'" it would both add the <h1 class="title"> to the HTML doc but a .title{} to the css doc

[18:26:24 CDT(-0500)] <travis_84_______> as well

[18:26:37 CDT(-0500)] <Bosmon> yes, that would be helpful

[18:27:32 CDT(-0500)] <Bosmon> It might be that we consider that these "empty rules" are just "virtual" in terms of being just visible inside the authoring environment until something gets put in them - but it would certainly be helpful to have them there as kinds of clear "anchors" the author could use for navigating and talking about parts of the CSS file

[18:29:03 CDT(-0500)] <Bosmon> Certainly "something" about the UI should prompt them that the class "title" is somehow relevant to the document, although it would be hard to synthesise all possible relevant rules as concrete and empty in the document...

[18:29:28 CDT(-0500)] <Bosmon> For example it may be that the reason "title" is interesting to them is because they want to ultimately make a rule like .title > p or something like that

[18:31:12 CDT(-0500)] <Bosmon> But certainly it would be a huge help if something about the affordances they are shown in their view of the CSS are drawn from features of the target document... for example, it should be clear to them whether a CSS rule they have just written actually matches anything or not, and/or how many things it matches, or even some hints on how it could be adjusted in order to match something

[18:33:23 CDT(-0500)] <travis_84_______> the arrays idea came in for that reason because instead of writing to docs directly through two separate functions, and suffering possible disconnect, rather write to a doc array that is then interpreted by the "view" that needs it.

[18:33:39 CDT(-0500)] <travis_84_______> For example

[18:34:41 CDT(-0500)] <Bosmon> I'm not sure that suffering two disconnects would necessarily be any worse than one... the system will need to make sure it has reliable ways of not losing users' work and getting in to inconsistent states in any case

[18:34:46 CDT(-0500)] <Bosmon> Probably using some kind of "local storage"

[18:35:02 CDT(-0500)] <Bosmon> But yes, you will need some variety of "intermediate data structures"....

[18:41:38 CDT(-0500)] <Bosmon> I think a good first step might be to sketch out in some detail from the UI/UX level how the application would actually be used... and after that we might be in a better position to think about technological choices

[18:41:56 CDT(-0500)] <travis_84_______> yeah, I guess I am in essence treating each project like a RMDB, where the user is not acting on the DOM directly but the separate functions do. Like an output.js deals with the proper interpretation of the doc array to proper files...

[18:45:20 CDT(-0500)] <travis_84_______> UI/UX approach has its own problems too haha.

[21:26:48 CDT(-0500)] <travis_84_______> oh Bosmon, am I allowed to name this creation of ours?

[21:34:02 CDT(-0500)] <Bosmon> Sure, travis_84_______ (smile)

[21:34:11 CDT(-0500)] <Bosmon> It's even encouraged : P

[21:38:38 CDT(-0500)] <travis_84_______> I am thinking code'ception

[21:38:52 CDT(-0500)] <travis_84_______> not really but sort of