fluid-work IRC Logs-2010-09-24

[02:57:00 CDT(-0500)] * Topic is 'This channel is logged – for details see: http://wiki.fluidproject.org/display/fluid/IRC+Channel' set by jessm on 07:30:00 CST(-0600)
[08:25:47 CDT(-0500)] <jhung> ping jameswy
[08:25:53 CDT(-0500)] <jameswy> pong jhung
[08:27:55 CDT(-0500)] <jhung> What do you think is a more compelling example of inline edit: a user profile page with multiple fields and a single Done button, or a tabular music collection with Album/title/Artist editable.
[09:23:47 CDT(-0500)] <jhung> Question for the room: Does anyone know how NVDA or JAWS handles containers with the ARIA role Status? I want to know if it can be used to communicate the result of a user action without refreshing the page.
[09:24:13 CDT(-0500)] <colinclark> I believe it should, jhung
[09:24:20 CDT(-0500)] <colinclark> clown: Do you have any insights? ^
[09:24:37 CDT(-0500)] * clown looking
[09:25:08 CDT(-0500)] <colinclark> mlam & Justin_o: We're slated to meet about Inline Edit today
[09:25:29 CDT(-0500)] <colinclark> I'm going to work at home if it's okay with you, with the goal of getting some productive time on Uploader this afternoon
[09:25:56 CDT(-0500)] <colinclark> But shall we schedule a time to chat via Skype? We can look at the code, talk about next steps, and try to make some decisions about API compatibility and IoC, etc.
[09:26:41 CDT(-0500)] <mlam> colinclark: sure, sounds good
[09:26:50 CDT(-0500)] <mlam> what time works for you?
[09:27:39 CDT(-0500)] <colinclark> mlam: I have a quick meeting now, and then maybe right afterwards? So, quarter to eleven?
[09:28:15 CDT(-0500)] <mlam> colinclark: ok, that works for me. Justin_o is sitting with golam really quickly right now. i'll run it by him
[09:28:58 CDT(-0500)] <mlam> i fixed the tests that were failing, so we should be good to go
[09:29:04 CDT(-0500)] <clown> jhung, I don't know how screen readers actually handle status. It is a live region with a polite setting, meaning the sr should announce the change at the "... next graceful opportunity ...". As for refreshing the page, let me research that a bit (in terms of what it should do).
[09:30:02 CDT(-0500)] <jhung> clown: thanks!
[09:31:39 CDT(-0500)] <clown> jhung, my current intuition is that aria is not dictating how status is updated – that's an implementation detail. So, it could be done by a ajax call where only the status region is updated, and not the whole page (which is probably the better way to do it). But, that's up the to implementor.
[09:33:13 CDT(-0500)] <jhung> clown: thanks! We'll be sure to test to make sure the AT picks up on the change.
[09:38:04 CDT(-0500)] <jameswy> jhung: ah, hour-delayed reaction to your message (I phased out of IRC): Both seem pretty compelling to me (user profile, music collection)
[09:39:32 CDT(-0500)] <jhung> jameswy: the advantage of the music collection is that there isn't a need to an explicit Save/Done to complete the experience. Whereas the user profile needs one, otherwise a sequence of edits would feel unresolved.
[09:39:44 CDT(-0500)] <jhung> you think that's a big deal?
[09:40:24 CDT(-0500)] <jameswy> jhung: Would a sequence of edits really feel unresolved? Hm...
[09:41:42 CDT(-0500)] <jhung> You can imagine a user making a few edits to various text lines, and then wonder if it was saved or not. Example: GMail contacts uses inline edit for their contacts, but no explicit save. It feels a bit strange without the save (even if it is redundant).
[09:43:19 CDT(-0500)] <jameswy> jhung: You might be right. People are still getting used to the no-need-to-save model of doing things.
[09:43:53 CDT(-0500)] <jameswy> jhung: Maybe go with the music collection idea to be on the safer side for now. It's more interesting than user profiles anyway, (smile)
[09:44:40 CDT(-0500)] <jhung> jameswy: indeed. I want to feel like I'm in control, even if it's just an illusion. (wink)
[09:45:06 CDT(-0500)] <jhung> will go with the music collection example. Will have a mock-up soon.
[09:45:19 CDT(-0500)] <Justin_o> mlam, colinclark: ready to meet when you are
[09:45:30 CDT(-0500)] <mlam> ready
[09:45:33 CDT(-0500)] <jameswy> jhung: Cools. Looking forward to it, (smile)
[09:46:32 CDT(-0500)] <Justin_o> mlam, colinclark: are we using skype?
[09:46:40 CDT(-0500)] <colinclark> yes, let's use skype
[09:46:42 CDT(-0500)] <colinclark> gimme one more sec
[09:49:31 CDT(-0500)] <Justin_o> colinclark: okay
[09:49:47 CDT(-0500)] <colinclark> sorry to keep you waiting. almost done
[11:20:06 CDT(-0500)] <colinclark> hey golam and Justin_o
[11:20:10 CDT(-0500)] <golam> hey
[11:20:16 CDT(-0500)] <colinclark> Shall we chat for a few minutes here about Progress?
[11:20:35 CDT(-0500)] <Justin_o> sure
[11:20:38 CDT(-0500)] <golam> sure
[11:21:06 CDT(-0500)] <colinclark> I was thinking about Everett's last email to the list about the whole Progress issue
[11:21:26 CDT(-0500)] <colinclark> He mentioned that, in Drupal, they used a live region to provide more descriptive progress information to users
[11:21:44 CDT(-0500)] <colinclark> When I asked him if the live region was better than using aria-valuetext, he said it wasn't...
[11:21:50 CDT(-0500)] <colinclark> Here's a quote
[11:21:52 CDT(-0500)] <colinclark> "Really the advantage is that it is really easy to wrap content in a live region. That was why we chose it for Drupal. We didn't have to modify the progress widget (as I recall), but just wrap it in a live region."
[11:22:27 CDT(-0500)] <colinclark> The way I read this, there are two explanations for this sort of approach;
[11:22:35 CDT(-0500)] <colinclark> 1. jQuery UI's progress bar widget doesn't support ARIA
[11:22:36 CDT(-0500)] <colinclark> or
[11:22:46 CDT(-0500)] <colinclark> 2. jQuery UI's progress bar widget uses aria-valuenow
[11:23:07 CDT(-0500)] <colinclark> Either way, Drupal had to use the live region approach because the widget they were reusing didn't support a more descriptive style of progress information.
[11:23:17 CDT(-0500)] <colinclark> Does that sort of make sense?
[11:23:33 CDT(-0500)] <Justin_o> colinclark: i think so
[11:24:28 CDT(-0500)] <golam> only issue we found with aria-live is that it is more descriptive and buffers data even after the progress is complete
[11:24:49 CDT(-0500)] <colinclark> Right. I think it's an inferior solution when compared with aria-valuetext
[11:25:06 CDT(-0500)] <golam> aria-valuetext was better but it doesn't work for NVDA
[11:25:16 CDT(-0500)] <colinclark> The point being that Drupal had no choice but to use it, because their progress widget didn't allow them to configure the progress messages to users
[11:25:28 CDT(-0500)] <colinclark> So, I'm not fully decided on this
[11:25:39 CDT(-0500)] <colinclark> But maybe I'll throw out a proposal and we can debate it.
[11:26:09 CDT(-0500)] <jessm> jhung: thanks for getting stuff into SVN – I can already see it happening (wink)
[11:26:19 CDT(-0500)] <colinclark> 1. We provide a configuration option for users to be able to customize the content of the aria-valuetext for the Progress component
[11:26:33 CDT(-0500)] <colinclark> (I'm thinking maybe a string template or something like that would be best, but I'd love suggestions)
[11:27:09 CDT(-0500)] <colinclark> When I say "users" here, I actually mean implementers
[11:27:18 CDT(-0500)] <colinclark> People who integrate the component into their app
[11:27:31 CDT(-0500)] <colinclark> 2. If an implementor doesn't provide anything for valuetext, we fall back to using aria-valuenow
[11:27:43 CDT(-0500)] <colinclark> The idea here is that we let implementers choose what experience is best for their application.
[11:27:53 CDT(-0500)] <jhung> jessm: Had to ask jobara to reset my password though. The problem of selecting strong but non-memorable passwords. (sad)
[11:27:56 CDT(-0500)] <colinclark> We don't sweat the NVDA bug too much, since I'm sure it will be fixed before long
[11:28:03 CDT(-0500)] <jessm> jhung: (smile)
[11:28:19 CDT(-0500)] <colinclark> And in the end we might be even able to provide a setting in UI Options that provides a more/less verbose experience for users.
[11:28:33 CDT(-0500)] <colinclark> Justin_o, golam: Am I making any sense, or am I still confused? (smile)
[11:28:36 CDT(-0500)] <golam> colinclark: make sense
[11:29:12 CDT(-0500)] <Justin_o> colinclark: the current inlineEdit defaults have default text for the valueText
[11:29:23 CDT(-0500)] <colinclark> Inline Edit, or Progress, Justin_o?
[11:29:33 CDT(-0500)] <Justin_o> (sad) sorry progress
[11:29:40 CDT(-0500)] <Justin_o> still getting confused
[11:29:43 CDT(-0500)] <colinclark> lol
[11:29:53 CDT(-0500)] <golam> colinclark: I just have to figure out the construction detail with Justin
[11:30:09 CDT(-0500)] <colinclark> Okay. A default seems reasonable. So I guess if the user gave us "null," we'd use valuenow instead?
[11:31:13 CDT(-0500)] <Justin_o> or empty string would probably work too.. since that is falsy...
[11:31:17 CDT(-0500)] <colinclark> yep
[11:31:40 CDT(-0500)] <Justin_o> so we default to valueText and provide the integrater the option to use valueNow?
[11:32:25 CDT(-0500)] <colinclark> I think so, yes
[11:32:33 CDT(-0500)] <colinclark> Any complaints?
[11:32:45 CDT(-0500)] <colinclark> The downside is that we will be completely broken in NVDA until they fix their bug
[11:32:48 CDT(-0500)] <colinclark> Which is a huge drag
[11:32:59 CDT(-0500)] <Justin_o> yes i was just going to say that
[11:33:37 CDT(-0500)] <colinclark> jhung: Oh, one thing I thought of, based on your standup update: One thing to check, when you're using CC-licensed images, is that they're not listed as "Share Alike," but just "Attribution"
[11:33:53 CDT(-0500)] <colinclark> golam: Any other tradeoffs you can think of?
[11:34:28 CDT(-0500)] <golam> so if the default is set to aria-valuetext then it won't work on NVDA for now
[11:34:41 CDT(-0500)] <colinclark> yep
[11:34:53 CDT(-0500)] <golam> ok
[11:35:03 CDT(-0500)] <Justin_o> maybe jhung can add some sort of option in the demo or something
[11:35:14 CDT(-0500)] <colinclark> That might be cool, yes
[11:35:24 CDT(-0500)] <colinclark> jhung: Do you think we could do that in an unobtrusive way in the demo?
[11:35:39 CDT(-0500)] <golam> we are just giving the integrator the option to decides what works best for their client
[11:35:49 CDT(-0500)] <colinclark> Like a "more description progress information/less descriptive" toggle or something like that
[11:36:00 CDT(-0500)] <colinclark> "descriptive," that is
[11:36:07 CDT(-0500)] <colinclark> golam: That's what I'm thinking, yes
[11:36:28 CDT(-0500)] <colinclark> We can learn from Drupal's example. Clearly they wanted something that their widget didn't provide, so they had to hack something together.
[11:36:47 CDT(-0500)] <colinclark> Whereas, we can anticipate their needs and give them something a bit more flexible. That's sort of our thing. (smile)
[11:37:09 CDT(-0500)] <golam> sounds good
[11:37:36 CDT(-0500)] <colinclark> Ok, so let's wait to hear from jhung about the demo idea, but let's go ahead and do this if you (or anyone else) don't have any major reservations about it.
[11:38:00 CDT(-0500)] <golam> I am cool
[11:38:16 CDT(-0500)] <colinclark> That is very true (smile)
[11:38:27 CDT(-0500)] <colinclark> Justin_o: Cool?
[11:38:38 CDT(-0500)] <golam> lol
[11:38:55 CDT(-0500)] <golam> you all are cool by the way
[11:38:59 CDT(-0500)] <colinclark> (smile)
[11:39:08 CDT(-0500)] <Justin_o> colinclark: yep, i'm happy with it
[11:39:38 CDT(-0500)] <colinclark> Ok. Do either of you have a few minutes just to quickly summarize our approach to the mailing list? You could also include a link to the logs of this discussion
[11:39:48 CDT(-0500)] <colinclark> That way, we keep the world up to date on our decisions
[11:40:06 CDT(-0500)] <golam> sure
[11:41:20 CDT(-0500)] <colinclark> Thanks so much
[11:41:22 CDT(-0500)] <golam> where can I find the link
[11:41:37 CDT(-0500)] <Justin_o> golam: it's on the wiki.. i'll send it to you
[11:41:48 CDT(-0500)] <golam> ok thanks
[11:42:15 CDT(-0500)] <Justin_o> golam: http://wiki.fluidproject.org/display/fluid/fluid-work+IRC+Logs-2010-09-24
[11:42:29 CDT(-0500)] <colinclark> Justin_o: Are you afraid this will cause some kind of infinite recursion?
[11:42:46 CDT(-0500)] <Justin_o> colinclark: (smile) i was just thinking about that
[11:55:49 CDT(-0500)] <jhung> @colin: Re: CC licensing. The licneses vary, so I will have to double-check the artists I've used. Also I think the licenses only cover the music, and not the album art. Worst case I can find some CC attribution commercial images for demo purposes.
[11:59:41 CDT(-0500)] <colinclark> great summary to the list, golam
[12:00:11 CDT(-0500)] <jhung> colinclark, justin_o, golam: So from what I understand, ValueText is the implementation we should use, but NVDA has a bug. But if we use ValueNow, it works reasonably across JAWS and NVDA, but it's not the implementation we're aiming for?
[12:00:13 CDT(-0500)] <colinclark> jhung: Seems reasonable. It's a minor point, and perhaps not a huge issue if we're not modifying the original work. I'd have to look into it.
[12:00:39 CDT(-0500)] <colinclark> jhung: Well, the idea is to let our implementers control the decision, but to ship with a good solid default
[12:00:50 CDT(-0500)] <jhung> giving an option to switch between modes is clunky. I'd sooner have two demos existing side by side to demonstrate the differences than to have the user decide to switch.
[12:00:52 CDT(-0500)] <colinclark> Meaning, a good default value for aria-valuetext that will work for many cases
[12:01:04 CDT(-0500)] <colinclark> and users can customize the text, or fall back to a simpler, less verbose description instead by using valuenow
[12:02:37 CDT(-0500)] <jhung> Colinclark: ok. Give me a minute and let me scroll back and re-read the conversation. (smile)
[12:03:00 CDT(-0500)] <colinclark> k
[12:03:54 CDT(-0500)] <golam> colinclark: thanks
[12:04:45 CDT(-0500)] <golam> do I start working on it right away?
[12:04:55 CDT(-0500)] <colinclark> golam: Yep, go for it
[12:05:10 CDT(-0500)] <golam> ok thanks
[12:08:14 CDT(-0500)] <jhung> colinclark: that makes sense. Customized text using ValueText if specified, and then ValueNow by default.
[12:08:25 CDT(-0500)] <colinclark> yep
[12:08:43 CDT(-0500)] <colinclark> The question of multiple demos vs. a "more/less verbose" switch is entirely up to you
[12:41:08 CDT(-0500)] <jhung> heidi_, jameswy (and others): I put drafts of the Inline Edit and Progress demos into SVN.
[12:41:12 CDT(-0500)] <jhung> http://source.fluidproject.org/svn/design/infusion/infusion-demo-redesign/Inline-Edit.png
[12:41:18 CDT(-0500)] <jhung> http://source.fluidproject.org/svn/design/infusion/infusion-demo-redesign/Progress.png
[12:41:35 CDT(-0500)] <heidi_> cool
[12:44:34 CDT(-0500)] <jameswy> jhung: You might want to export without a transparent background, (wink)
[12:45:17 CDT(-0500)] <jhung> jameswy: You mean it's not accessible if the background is totally transparent? Sounds like you need some UI options. (smile)
[12:46:13 CDT(-0500)] <jameswy> (tongue)
[12:47:14 CDT(-0500)] <jhung> Fixed.
[12:53:20 CDT(-0500)] <colinclark> jhung: In the Progress demo--What an expensive service charge! I'm never shopping at that grocery store again!
[12:53:25 CDT(-0500)] <colinclark> It looks really cool
[12:53:55 CDT(-0500)] <jhung> colinclark: They use helicopters to deliver. It's worth the service charge.
[12:54:02 CDT(-0500)] <colinclark> Wowza
[12:54:08 CDT(-0500)] <colinclark> I'm in
[12:54:20 CDT(-0500)] <colinclark> Seven bucks for a helicopter is a steal
[12:54:54 CDT(-0500)] <jhung> I guess an appropriate name for the store would be "Price Choppers".
[12:55:06 CDT(-0500)] <jhung> (Ok, I've used my ban pun quota for the day).
[12:55:13 CDT(-0500)] <jhung> *bad
[12:55:41 CDT(-0500)] <colinclark> lol
[12:56:18 CDT(-0500)] <jhung> Question though, the single undo for the inline edit. Is that possible / simple?
[12:56:31 CDT(-0500)] <colinclark> Hmm
[12:56:42 CDT(-0500)] <colinclark> Maybe Justin_o and mlam will have a better sense than me
[12:56:56 CDT(-0500)] <colinclark> Off the top of my head, I think it might involve a bit of work
[12:57:18 CDT(-0500)] <jameswy> Nice demos, jhung. Couple questions:
[12:57:25 CDT(-0500)] <jhung> sure
[12:58:20 CDT(-0500)] <Justin_o> I think colinclark is correct, i don't think it will be trivial to get that functionality
[12:58:29 CDT(-0500)] <Justin_o> jhung ^
[12:58:54 CDT(-0500)] <jameswy> Progress: Why are the progress indicator and completed indicators ("demo finished") in two separate places?
[12:59:11 CDT(-0500)] <mlam> jhung & Justin_o : single undo = ?
[12:59:22 CDT(-0500)] <jameswy> And, inline edit: what's the rationale behind having only one undo edit at a time?
[12:59:38 CDT(-0500)] <Justin_o> mlam: i think it is a single undo for all inlineEdits on a page... a global undo
[12:59:45 CDT(-0500)] <jhung> justin_o: hmmm. Okay. It's going to look pretty weird with a bunch of Undos. Unless we don't use Undo. I'm fine with that
[12:59:50 CDT(-0500)] <mlam> ok, thanks
[13:00:12 CDT(-0500)] <jhung> Justin_o: a global undo doesn't fit nicely with the context.
[13:00:30 CDT(-0500)] <mlam> ah ok, i see from jhung's inline edit draft
[13:00:32 CDT(-0500)] <Justin_o> jhung: we can style the undos, which might help
[13:00:32 CDT(-0500)] <jhung> justin_o: since Undo is a separate component, it's okay to leave it out?
[13:01:56 CDT(-0500)] <Justin_o> i don't know, it would be nice to have at least one demonstration of it, since i think people may want to use them together
[13:02:17 CDT(-0500)] <jhung> Jameswy: I didn't want the status message to appear like a modal dialog.
[13:02:35 CDT(-0500)] <jhung> jameswy: The progress just disappears when done.
[13:03:27 CDT(-0500)] <jameswy> jhung: What if the progress indicator wasn't a modal dialog?
[13:03:34 CDT(-0500)] <jhung> jameswy: it's not clear, but the Restart the Demo is a link to reset the state.
[13:04:45 CDT(-0500)] <jhung> jameswy: That's a good point.
[13:04:47 CDT(-0500)] <jameswy> Righto. Just throwing this idea out there: what about making that green area in the last wireframe persistent, and putting both indicators in that area?
[13:05:04 CDT(-0500)] <jameswy> (i.e., when it's in progress, use the progress indicator, and when it's finished, use the finished indicator)
[13:09:34 CDT(-0500)] <jhung> jameswy: yeah.
[13:10:31 CDT(-0500)] <jhung> jameswy: will simplify the markup too.
[13:11:15 CDT(-0500)] <jameswy> (smile)
[13:11:38 CDT(-0500)] <jameswy> So, going back to inline edit--why the single undo?
[13:12:09 CDT(-0500)] <colinclark> jameswy: Quick question about your progress idea. What would it look like before progress starts? Would it slide up or appear or something?
[13:12:37 CDT(-0500)] <jhung> colinclark: I was thinking of putting "confirm your order" into that space.
[13:12:43 CDT(-0500)] <jameswy> colinclark: Ahh-you got me there.
[13:12:49 CDT(-0500)] <colinclark> oh, cool
[13:12:54 CDT(-0500)] <jhung> Then the header replaced with "Acme Market" or something
[13:13:04 CDT(-0500)] <jameswy> But jhung's idea sounds decent.
[13:13:16 CDT(-0500)] <colinclark> Price Choppers (tongue)
[13:13:20 CDT(-0500)] <jhung> lol
[13:14:49 CDT(-0500)] <jameswy> jhung: Also, I'm feeling the same problem with the inline edit that I felt with the Infusion framework demo that I worked on--the fields were editable, but they didn't feel editable; there was no visual affordance for their editability (is that even a word?)
[13:15:05 CDT(-0500)] <jhung> jameswy: single undo, otherwise there will be multiples on the screen for each field. Just reduces the cognitive load.
[13:15:14 CDT(-0500)] <jameswy> I ended up sticking a crayon in there to make it explicit.
[13:15:45 CDT(-0500)] <jhung> jameswy, colinclark: I originally had the ui looking more like a spreadsheet which affords more editability.
[13:15:55 CDT(-0500)] <jhung> but it changed after I added the album art.
[13:16:51 CDT(-0500)] <jameswy> jhung: re: single undo--interesting... but don't you think it'd be confusing to the user if they make a change to one box, and then a change to another box, but for whatever reason the undo from the original box disappears?
[13:16:52 CDT(-0500)] <jameswy> (i.e., what does the undo of a completely different box have to do with the undo of the original box?)
[13:19:28 CDT(-0500)] <jhung> jameswy: I don't think it'd be that confusing. Inline Edits are for quick edits. So the undo mechanism doesn't need to be that heavy. I think in context only providing undo for the most recent text field edit will be okay.
[13:20:19 CDT(-0500)] <jhung> If the UI was more complex and editing larger text fields with paragraphs, then I think Undo for all fields will be more important.
[13:54:12 CDT(-0500)] <mackrauss> greggy and harris I set the dimensions in the media tag to 300 and 40 and it appears very big. This is broken now was not in the past. Any ideas?
[14:49:47 CDT(-0500)] <heidi_> hey jamon
[14:49:56 CDT(-0500)] <heidi_> could you put dev.floeproject.org live?
[14:50:16 CDT(-0500)] <heidi_> sorry to ask at 4pm on a fri
[14:50:24 CDT(-0500)] <heidi_> still around?
[14:50:51 CDT(-0500)] <heidi_> it will involve that apache switcheroo
[14:52:06 CDT(-0500)] <jamon> heidi_: hi
[14:52:23 CDT(-0500)] <jamon> sure i can do that, will it need to be switched again?
[14:56:13 CDT(-0500)] <heidi_> no - both will be drupal now
[15:40:19 CDT(-0500)] <jamon> heidi_: whew, think i've got it live now, take a look?
[15:41:50 CDT(-0500)] <heidi_> k ill check
[15:42:15 CDT(-0500)] <heidi_> perfecto - thanks so much jamon!
[15:42:27 CDT(-0500)] <jamon> np heidi_, good end to a friday (smile)
[15:42:34 CDT(-0500)] <heidi_> (smile)
[15:51:23 CDT(-0500)] <justin_o> colinclark: mike put up another patch for inlineEdit, but we found another bug other than the one you spotted
[15:51:37 CDT(-0500)] <justin_o> we will fix that new one up on monday, create a new patch, and commit
[15:52:18 CDT(-0500)] <colinclark> ok, cool
[15:52:29 CDT(-0500)] <colinclark> Sorry you're uncovering some bugs, but I'm sure it'll be a solid component in the end
[15:53:20 CDT(-0500)] <justin_o> (smile) that's what we're hoping.. better to find the bugs now than later anyways