fluid-work IRC Logs-2008-05-09

[00:01:16 EDT(-0400)] * colinclark (n=colin@2-244-234-66.static.cosmoweb.net) has joined #fluid-work
[08:56:57 EDT(-0400)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined #fluid-work
[09:12:55 EDT(-0400)] * michelled (n=team@142.150.154.197) has joined #fluid-work
[09:23:30 EDT(-0400)] * anastasiac (n=team@142.150.154.105) has joined #fluid-work
[09:40:01 EDT(-0400)] * theclown (n=theclown@142.150.154.101) has joined #fluid-work
[10:36:11 EDT(-0400)] * colinclark (n=colin@146.96.22.220) has joined #fluid-work
[10:43:42 EDT(-0400)] <colinclark> So, anastasiac and I were just chatting about the "SWFWrapper" we've got in Uploader.
[10:43:51 EDT(-0400)] <colinclark> And she reminded me that we should take it to a more public forum. (smile)
[10:43:56 EDT(-0400)] <michelled> (smile)
[10:44:02 EDT(-0400)] <anastasiac> right. colinclark, I wasn't being clear about the purpose of the SWFWrappe
[10:44:10 EDT(-0400)] <anastasiac> and I agree that it's not necesarily a good name
[10:44:43 EDT(-0400)] <colinclark> anastasiac: I was of course just teasing you.
[10:44:53 EDT(-0400)] <colinclark> So what does the SWFWrapper represent?
[10:44:56 EDT(-0400)] <anastasiac> what? you? teasing me? never!
[10:45:11 EDT(-0400)] <colinclark> It seems from a cursory look that it's a way of abstracting the interface to the SWFUploader object.
[10:45:11 EDT(-0400)] <michelled> the 'actions' member variable of the uploader is meant to hide the implementation details that we are using SWF
[10:45:21 EDT(-0400)] <anastasiac> colinclark - exaclty
[10:45:31 EDT(-0400)] <michelled> 'actions' is decidedly not an ideal name but we couldn't think of anything better.
[10:45:40 EDT(-0400)] <colinclark> So it represents a certain portion of the Uploader's core logic.
[10:46:09 EDT(-0400)] * colinclark is taking a peek at the code.
[10:46:13 EDT(-0400)] <michelled> yes,
[10:46:14 EDT(-0400)] <colinclark> Conferences are so productive for coding.
[10:46:15 EDT(-0400)] <colinclark> P
[10:46:17 EDT(-0400)] <colinclark> (tongue)
[10:47:25 EDT(-0400)] <michelled> there was a single method attached to the prototype of the Uploader before. It seemed like it's only job was to hide the use of the SWF object. Not having any more context then that, I thought it made sense to hide all uses of the SWF object in a single place.
[10:47:39 EDT(-0400)] <michelled> That was when the SWFWrapper was born.
[10:47:48 EDT(-0400)] * colinclark is now helping to get the projector working.
[10:48:36 EDT(-0400)] <colinclark> michelled: I had the same feeling when I was touring through the code with Eli
[10:48:41 EDT(-0400)] <colinclark> So it's a good decision.
[10:48:46 EDT(-0400)] <michelled> currently only that single method is in the wrapper so it wouldn't be clear to anyone from the code my thought process - I guess I should have commented more (tongue)
[10:48:54 EDT(-0400)] <colinclark> The question is to define what sort of a thing it is, and what it's limits are. Then give it a good name.
[10:49:37 EDT(-0400)] <michelled> yes, and given that I had no idea of what all I was moving into it SWFWrapper seemed appropriate. But I think you are completely right and we should rename it.
[10:49:51 EDT(-0400)] <michelled> That will be easier to do once the refactoring of the code is closer to complete
[10:50:28 EDT(-0400)] <michelled> That first step was a tangent from what AC and I were doing which was making it possible to have multiple instances of an uploader on a page.
[10:51:13 EDT(-0400)] <michelled> As part of that work we wanted to make the swfObj a private thing in each uploader instance. But then, of course, the method that was attached to the prototype could not get at it.
[10:51:47 EDT(-0400)] <michelled> colinclark: does that better explain the origins of the SWFWrapper?
[10:51:47 EDT(-0400)] <colinclark> michelled: Makes sense to me.
[10:51:51 EDT(-0400)] <colinclark> Yes, totally.
[10:52:08 EDT(-0400)] <colinclark> It's not that I think it was bad or anything. I just couldn't tell what a SWFWrapper did. (smile)
[10:52:22 EDT(-0400)] * jessm (n=Jess@mail.intrah.org) has joined #fluid-work
[10:52:31 EDT(-0400)] <colinclark> jessm: Morning!
[10:52:39 EDT(-0400)] <michelled> yes, which means that we didn't communicate our intentions in the code. (smile) Thanks for asking about it!
[10:52:42 EDT(-0400)] <jessm> morning!
[10:53:04 EDT(-0400)] <colinclark> michelled: As I say, Eli and I talked about this exact sort of design when he was here.
[10:53:11 EDT(-0400)] <colinclark> So you're entirely on the right track.
[10:53:17 EDT(-0400)] <michelled> cool (smile)
[10:53:34 EDT(-0400)] <colinclark> And I really like the way you've been able to build informal groupings of state using closures.
[10:55:21 EDT(-0400)] <michelled> thank you. Of course we are doing this refactoring in small steps so stay tuned for better naming and better grouping of state.
[10:55:49 EDT(-0400)] <michelled> One example is the 'options' variable which contains a bunch of stuff that can be better grouped.
[10:56:00 EDT(-0400)] <colinclark> Right.
[10:56:18 EDT(-0400)] <colinclark> As I was saying to anastasiac off-line, options are really complicated in the Uploader.
[10:56:25 EDT(-0400)] <colinclark> There's so many of them!
[10:57:06 EDT(-0400)] <michelled> yes
[10:57:07 EDT(-0400)] <colinclark> The various strings point out that we don't have a clear strategy for i18n.
[10:57:17 EDT(-0400)] <michelled> yes again
[10:57:21 EDT(-0400)] <colinclark> I think we should do a survey of other client-side libraries.
[10:57:46 EDT(-0400)] <colinclark> Dojo has some supports for i18n. They're probably not factored in a way that we could reuse without being a dijit widget.
[10:57:53 EDT(-0400)] <colinclark> Not sure what the jQuery UI team is doing in this regard.
[11:03:31 EDT(-0400)] <anastasiac> colinclark, there is a jQuery plugin for doing client side i18n translation
[11:03:37 EDT(-0400)] <anastasiac> http://recurser.com/articles/2008/02/21/jquery-i18n-translation-plugin/
[11:03:47 EDT(-0400)] <colinclark> anastasiac: Wow! Thanks for checking into it!
[11:04:16 EDT(-0400)] <anastasiac> it doesn't look like there's anything built-in
[11:04:40 EDT(-0400)] <colinclark> anastasiac: Funny.
[11:04:49 EDT(-0400)] <anastasiac> yes, odd
[11:04:57 EDT(-0400)] <anastasiac> but I could be missing it...
[11:04:58 EDT(-0400)] <colinclark> It's exactly what my naive implementation would have looked like.
[11:05:06 EDT(-0400)] <colinclark> Seems to be little more than a way of binding names to strings.
[11:05:42 EDT(-0400)] <colinclark> Which may ultimately be all that is necessary. (smile)
[11:07:56 EDT(-0400)] * colinclark is running out of battery.
[11:45:19 EDT(-0400)] * colinclark (n=colin@146.96.22.30) has joined #fluid-work
[12:14:04 EDT(-0400)] * colinclark (n=colin@146.96.22.30) has joined #fluid-work
[13:08:46 EDT(-0400)] * colinclark_ (n=colin@146.96.22.161) has joined #fluid-work
[13:47:18 EDT(-0400)] * colinclark (n=colin@146.96.22.161) has joined #fluid-work
[14:06:13 EDT(-0400)] * jessm (n=Jess@cpe-069-134-127-060.nc.res.rr.com) has joined #fluid-work
[15:08:10 EDT(-0400)] * jessm (n=Jess@cpe-069-134-127-060.nc.res.rr.com) has joined #fluid-work
[16:25:28 EDT(-0400)] * michelled (n=team@142.150.154.197) has left #fluid-work
[17:29:45 EDT(-0400)] * theclown (n=theclown@142.150.154.101) has left #fluid-work