15:03:07 <jcline> #startmeeting hubs-devel
15:03:07 <zodbot> Meeting started Tue Feb 14 15:03:07 2017 UTC.  The chair is jcline. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:03:07 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
15:03:07 <zodbot> The meeting name has been set to 'hubs-devel'
15:03:14 <mizmo> go4it! :)
15:03:20 <pingou> so far so good :)
15:03:21 <jcline> #topic Roll Call
15:03:25 <mizmo> oh #chair me and sayan and whomever else wants chair
15:03:25 <shillman> .hello wispfox
15:03:26 <zodbot> shillman: wispfox 'Suzanne Hillman' <wispfox@gmail.com>
15:03:30 <abompard> .hello abompard
15:03:31 <zodbot> abompard: abompard 'Aurelien Bompard' <aurelien@bompard.org>
15:03:34 <jcline> .hello jcline
15:03:35 <zodbot> jcline: jcline 'Jeremy Cline' <jeremy@jcline.org>
15:03:46 <mizmo> .hello duffy
15:03:47 <zodbot> mizmo: duffy 'Máirín Duffy' <fedora@linuxgrrl.com>
15:03:53 <jcline> #chair mizmo sayan pingou abompard
15:03:53 <zodbot> Current chairs: abompard jcline mizmo pingou sayan
15:04:44 <mizmo> oh i also wanted to throw out there i think wispfox should give an update on her progress, she's been good with blogging it but just a quick run through of the plans for this week
15:05:25 <shillman> Should I go now?
15:05:27 <jcline> Okay, how about we cover that after the action item(s) from last week
15:05:29 <shillman> ok
15:05:52 <jcline> #topic action items from last week's meeting
15:06:07 <jcline> It looks like there was just the one, "mizmo needs to mockup for users who have nickserv reg before using hubs who need to provide their nickserv pass"
15:06:21 <mizmo> ah yes, and i did that, one sec
15:06:26 <jcline> \o/
15:06:59 <mizmo> https://pagure.io/fedora-hubs/issue/321
15:07:01 <mizmo> made a new ticket for it
15:07:38 <mizmo> i also did another irc design blog post, in terms of the irc design stuff i had on my plate i think it's wrapping up unless i forgot anything - http://blog.linuxgrrl.com/2017/02/08/helping-new-users-get-on-irc-part-2/
15:07:57 <mizmo> so moving forward i might look at the userlist and chat interface more
15:08:27 <jcline> Cool, looks good!
15:09:08 <jcline> #topic wispfox progress update
15:09:14 <shillman> Hey all!
15:09:41 <a2batic> shillman, o/
15:09:48 <shillman> I've had a nasty brain-eating cold for about a week now, so I've not been as useful as I'd have liked, and had to postpone a remote test. *grumble*
15:10:17 <shillman> But, this week the plan is to do in-person prototype sessions with someone tomorrow and Thursday.
15:10:52 <shillman> I'd be working with Mo to figure out precisely what prep is needed for in-person sessions tomorrow so that I can run one on my own on Thursday.
15:11:09 <shillman> I'm a bit worried about weather potentially interfering, but we'll see.
15:11:23 <mizmo> did you have your first one remote already or was that the postponed one shillman?
15:11:32 <shillman> I have had two remotes thus far.
15:11:50 <shillman> I have not yet gone through and taken notes, though.
15:12:11 <shillman> (Turns out it's pretty much impossible to take notes and run a session, at least for me)
15:12:22 <mizmo> yep think it is for anybody :)
15:12:28 <jcline> yeah
15:12:33 <mizmo> how did they go?
15:13:22 <shillman> Pretty well, I think! I think that for my prototype tasks, it's worth only doing one per prototype per person, rather than multiple with the same person, as they seem similar enough to confuse the participant.
15:13:34 <shillman> Both participants mentioned that they enjoyed the time, which was nice.
15:14:04 <shillman> I noticed a few consistent things so far (eg: having the general Hubs search at the top along with the specific filter is confusing).
15:14:30 <mizmo> awesome, looking forward to the writeup. do you have time later today to work out prep for tomorrow?
15:14:34 <shillman> I'm also noticing that people are not really figuring out the filter/search tool without prompting. I'm not yet sure what to do about that.
15:14:39 <mizmo> maybe after lunch?
15:14:41 <shillman> Sure!
15:14:46 <mizmo> cool
15:14:47 <shillman> I have something at 1p, but after that?
15:14:54 <shillman> Say, 2?
15:15:23 <mizmo> shillman: works for me!
15:15:27 <shillman> Cool!
15:16:17 <mizmo> what else has been going on this past week? I think some refactoring some of the python right?
15:16:44 <jcline> Yeah, a big change got merged last friday to the widget system, thanks to abompard
15:17:07 <jcline> So if you haven't git pulled recently you should :)
15:17:16 * mizmo does that now
15:17:28 <mizmo> --rebase?
15:17:37 * mizmo notes shes a git-iot
15:17:44 <jcline> I didn't actually write any hubs code last week, but I did some review so I wasn't a total slacker
15:17:48 <mizmo> i tink that worked
15:18:29 <mizmo> has anybody had time to review the latest irc designs? seem to make sense?
15:18:37 <mizmo> im sure as you dig into them for implementation issues will come up
15:19:13 <jcline> I haven't, but sayan linked me to a log of the meeting he had and I hope to look into soon
15:19:18 <mizmo> ive gotten some really, really positive feedback overall on the IRC feature though
15:19:34 <shillman> (Not sure how to do the rebase when I have a fork)
15:19:46 <jcline> (s/into/into it/)
15:19:49 <mizmo> eg https://twitter.com/vmbrasseur/status/830838866139418625
15:19:57 <shillman> I commented a little on your post, but nothing other than that.
15:19:59 <mizmo> oh lets make the log link a link here so we have it
15:20:03 <jcline> shillman, I can help sort it out after the meeting
15:20:06 <shillman> ok
15:20:39 <jcline> Do I log the link with #link?
15:20:48 <mizmo> jcline: yep!
15:20:53 <mizmo> do you have it handy? im having a hard time with my scrollback
15:20:59 <jcline> #link https://twitter.com/vmbrasseur/status/830838866139418625
15:21:22 <mizmo> (oh i meant sayan and rtnpro's log)
15:21:27 <jcline> Oh yeah, sorry
15:21:39 <jcline> #link https://meetbot.fedoraproject.org/meetbot/teams/waartaa-devel/waartaa-devel.2017-02-09-18.03.log.txt
15:22:32 <jcline> So, does anyone else have a topic they'd like to discuss?
15:24:02 <shillman> Sounds like no. :)
15:24:15 <mizmo> anyone need feedback on anything? ideas? motivation? :)
15:24:46 <mizmo> my plan for the week is to help shillman with her prototype testing for the regional hubs prototypes, and start working on the IRC chat / user list interface for the main widget
15:25:51 <mizmo> last week we had an extra eeting on the irc implementation too
15:25:55 <jcline> My plan is to review abompard's new PR, catch up on the IRC design plan, and go from there
15:26:11 <mizmo> and i had a misunderstanding i didn't realize until going through the minutes
15:26:12 <mizmo> which i sent to the list, but i dont remember seeing replies to it - one sec
15:26:23 <jcline> Yeah, sayan wrote up some notes
15:26:27 <jcline> #link https://etherpad.gnome.org/p/fedora-hubs-irc-widget
15:26:35 <mizmo> https://lists.fedoraproject.org/archives/list/hubs-devel@lists.fedoraproject.org/thread/X7OWKTNDD476UJFDHIIS7KD2EOYRW2H7/
15:27:07 <mizmo> here was the issue i found -
15:27:09 <mizmo> Sayan proposed that we take input from the user from the wizard and only until they complete the wizard, communicate with ircb. The problem is we need to be in constant communication with IRC through each screen -
15:27:15 <mizmo> So it's not possible to gather all the info and then submit to IRC in one go. Or am I missing something?
15:27:27 <mizmo> i haven't read thru his log with rtnpro tho dont know if this came up there
15:27:38 <mizmo> might not have, not sure if it was clear in the ux design
15:27:56 * mizmo skims that log
15:28:18 <jcline> mizmo, I think you're right. We'll need to poke irc when making sure the nick is available, for example
15:28:39 <mizmo> yeh and verifying email with the token
15:29:03 <mizmo> so here's a quick play by play of the log with rtnpro and sayan -
15:29:29 <jcline> Yeah. I guess hubs will need an HTTP API to do those things and the client can poke those with javascript?
15:29:44 <mizmo> will hubs talk to ircb backend thru api using user1's access token? access tokens are in the DB only and not public
15:29:48 <jcline> Then the server can service those HTTP requests with its own ircb connection?
15:30:01 <mizmo> user needs access token to connect with other devices, how would they get the access token?
15:30:15 <mizmo> the user can get the access token with their account settings, could be on (hubs?) irc settings page
15:30:18 <mizmo> hm
15:30:32 <mizmo> yep it sounds like it jcline
15:30:38 <mizmo> access tokens can be set to expire, sayan wants them to
15:30:58 <mizmo> password for ircb doesn't need to be a required field so they want to remove it
15:31:26 <mizmo> after user is created, hubs connects to ircb via WS API endpoints, but WS API For all things is overkill. makes sense to use WS API for realtime communication adn rEST for others
15:32:04 <mizmo> ircb username != irc nick... ircb user is your ircb account. if we make them the same there will be less complexity
15:32:51 <mizmo> after user account is created, in ircb, a network needs to be created (in our case freenode), channels need to be added for that network, then the user joins a channel. this all happens in the backend
15:33:22 <mizmo> there should be an api endpoint for creating and joining, hubs can send {irc nick, username, email, network, channel} and user joins
15:33:43 <mizmo> then hubs and ircb are connected via WS endpoint. websockets does fulld duplex so we will have one endpoint
15:33:55 <mizmo> sayan is looking to wrte a blog on all of this
15:34:05 <mizmo> rtnpro suggests working on hubs-ircb user auth/creation APIs as a next step
15:34:11 <mizmo> ok
15:34:15 <mizmo> that's what i got from skimming the logs
15:34:19 <mizmo> as the major points
15:34:34 <mizmo> so it doesn't look like the setup communication issue i brought up was hit upon
15:34:46 <mizmo> (^^ sorry i hope this was helpful, i figured we have some time)
15:34:59 <jcline> Yeah that was helpful :)
15:35:57 <shillman> Yeah, that was useful. :)
15:35:59 <mizmo> so i guess the back and forth during the initial irc setup wizard would be over WS since it's real time
15:36:33 <jcline> Yeah that is a possibility
15:37:15 <jcline> I'll read over the meeting logs and ruminate on it, I suppose. Then I'll write an email to that thread you started and see if we can hash out a solution there.
15:37:36 <mizmo> awesome thanks jcline!!
15:39:08 <jcline> #action jcline catch up on irc design and make sure we can communicate with the irc network during the registration wizard
15:39:11 <mizmo> abompard: do you have any hubs-related plans for the next week or so?
15:39:35 <mizmo> #action mizmo to start working on updating / iterating irc chat / user list widget mockups
15:42:43 <abompard> mizmo: I've adapted my widget to the new class, I can help people port their widgets
15:43:17 <abompard> mizmo: and I have other projects that are asking for my attention, but I can pick something up if needed
15:43:28 <abompard> (sorry for not replying earlier)
15:44:03 <mizmo> abompard: cool!
15:44:14 <mizmo> a2batic: do you have any updates?
15:44:26 <mizmo> or plans!
15:44:29 <abompard> To finish my halp widget, I need to add a configuration screen for the hub where hub owners can set which channels they communicate in
15:44:52 <abompard> hubs currently don't have config of their own, so it's not a tiny change
15:45:12 <a2batic> mizmo, nothing for update, we are still waiting response from zanata team
15:45:18 <mizmo> abompard: do you need a mockup for that?
15:45:32 <a2batic> I am planning to work on UI till then
15:45:46 <abompard> mizmo: if you have time for it yeah, I'm sure it'll be much better than what I'll come up with ;-)
15:46:13 <mizmo> abompard: i can do this week! can i make it a config for the halp widget?
15:46:25 <abompard> mizmo: it's more a config for the hub itself
15:46:47 <mizmo> abompard: let me explain my thinking -
15:47:06 <mizmo> abompard: i think initially we were thinking each hub would have a 1<=>1 mapping with an irc channel
15:47:23 <mizmo> abompard: the halp widget lets you monitor more than one channel, the team's main channel and other ones that are related
15:47:59 <mizmo> abompard: so i think it makes sense to have a hub level configuration to map it to that one channel, but im worried if we did for multiple then it'd cause confusion about which channel should map to the irc widget(s)?
15:48:20 <abompard> got it
15:48:29 <abompard> the halp widget lets you monitor other hubs
15:48:33 <mizmo> abompard: maybe in a lot of cases too the halp widget would monitor #fedora-meeting*
15:48:39 <abompard> I just need a way to translate that to channels
15:48:46 <mizmo> whereas, the channel for say design hub would be #fedora-design not a meeting channel
15:49:30 <mizmo> well i guess the sticky thing too - which we've touched on before - is how to handle #fedora-meeting* generally in hubs
15:49:36 <mizmo> eg should each meeting channel be a hub?
15:49:49 <mizmo> or should there be a 'meeting' hub where they are all connected?
15:49:50 <abompard> yeah, I don't know how to sort halp requests to the right hub when they come from the meetings channels
15:50:05 <abompard> someone mentionned a tag in the meetbot meeting
15:50:13 <mizmo> abompard: that would have to be done via the meetbot meeting topic (which is a required field)
15:50:13 <mizmo> yeh
15:50:14 <abompard> maybe topic?
15:50:18 <abompard> ha
15:50:19 <mizmo> that should be doable
15:50:51 <mizmo> the problem there is that sometimes the topics aren't consistent, like sometimes it's #fedora-design sometimes its #design-team or #designteam or #design etc
15:50:59 <mizmo> although somehow meetbot knows to cluster them together, i dont know how, it must have some logic
15:51:29 <abompard> Yeah, that's the closest thing I can work with I think, unless someone has a better idea
15:51:43 <abompard> but it requires consistancy from the meeting organizers
15:52:01 <abompard> and I don't know if I can rely on that
15:52:28 <mizmo> abompard: well one approach would be to use it and people might start being more reliable on it bc if they're not they see visually the effect in hubs
15:52:35 <abompard> mizmo: true
15:52:44 <mizmo> it sort of becomes the carrot at the end of the stick
15:52:51 <jcline> Yeah :)
15:52:55 <mizmo> altho i think id rather a cookie at the end of teh stick carrots are too healthy
15:53:01 <abompard> anyway, my thinking was "start with the hub config, meetings can be added later"
15:53:08 <jcline> A carrot cake
15:53:16 <mizmo> oh i vaguely remember filing an rfe for this in meetbot too, let me check on that quick
15:53:18 <abompard> jcline: that was my line!
15:53:22 <jcline> That sounds reasonable to me
15:53:30 <jcline> Sorry!
15:53:47 <abompard> jcline: I bow to the quicker pun master
15:53:52 <mizmo> abompard: in terms of the mockup, though, what i was thinking is when you add the halp widget, it asks you which channels you want to monitor with that copy of the widget (could be edited later) <= in light of everything ^ does that make sense to mock up like that?
15:54:03 <jcline> Thank you, thank you
15:54:24 <mizmo> https://github.com/fedora-infra/mote/issues/107
15:54:35 <abompard> mizmo: it currently asks which *hubs* you want to monitor
15:54:38 <mizmo> i will ping cydrobolt on this, for an update to see whats going on there
15:54:56 <abompard> the thing is, the flexibility for widgets config is pretty low
15:55:03 <abompard> as far as UI goes
15:55:15 <mizmo> abompard: ah ok, thats probably a better way to do it. and maybe make all the meeting channels a 'meetings' hub and have that be a checkbox
15:55:34 <mizmo> what's controlling the flexibility? is it using some kind of built in thing?
15:55:53 <abompard> mizmo: or meeting chans are automatically monitored and halp requests are sorted out to the corresponding hub
15:56:26 <jcline> That sounds feasible
15:56:34 <mizmo> abompard: some teams don't meet in the meeting channels tho
15:56:36 <abompard> mizmo: yeah, widgets declare parameters that they use, and it's automatically converted to a static form. No autocompletion
15:56:37 * mizmo looks around, hehe
15:56:46 <abompard> mizmo: ah, didn't think of them
15:57:02 <abompard> mizmo: but then it's their own channel, right?
15:57:05 <mizmo> abompard: is that a flask thing? is there a way to override it to use a custom template?
15:57:16 <mizmo> abompard: yep usually their own channel
15:57:16 <abompard> mizmo: not yet, but I can make it do that
15:57:45 <mizmo> abompard: the main use case for halp is the comm ops team though, they would want to monitor all the major teams, including thsoe that use their own channel and those that use meeting channels
15:57:46 * jcline has to step out for a few minutes at 16:00UTC
15:58:15 <abompard> mizmo: well if you monitor a hub, you monitor both their channel and their meetings
15:59:10 <mizmo> abompard: ohhhh i see what you're saying. so if i monitor say this team, hubs-devel.... then it looks in #fedora-hubs meetbot logs as well as #fedora-meeting* logs for meetings with the topic "hubs-devel" ?
15:59:22 <abompard> mizmo: that's the plan
15:59:35 <mizmo> oh thats clever, i get it
16:00:01 <abompard> it's just a matter of sorting incoming halp requests to the right hub
16:00:13 <mizmo> so the config UI's main goal is to allow the user adding the widget to their hub to select what hubs to monitor with the widget, and no worries about the meeting channels because they're included in the scope for each individual team
16:00:23 <abompard> yup
16:00:36 <mizmo> another thing that might be interesting to do although i dont know how at this point is to let them filter what types of halp requests show up in the widget
16:00:46 <mizmo> eg if its a technical request, a writing request, a design request, etc
16:00:52 <abompard> ah, requests have types?
16:00:59 <mizmo> well...
16:01:07 * mizmo looks up mockups, one sec
16:01:47 <mizmo> nah it was just by team
16:01:50 * jcline will be back in about 5 minutes, feel free to end the meeting before I get back if things wrap up
16:02:08 <mizmo> i guess the assumption would be the team would determine in some part the level of technicaless
16:02:10 <abompard> OK, let's start with what we have :)
16:02:26 <mizmo> yeh i think it's more a long term down the road kind of idea,
16:02:29 <mizmo> i agree 100% work with what we have :)
16:02:33 <abompard> :)
16:02:59 <mizmo> okay so i'll mock up what i think the config thing should look like -
16:03:03 <mizmo> and you might start working on getting it to do custom templating?
16:03:55 <abompard> what kind of customization do you need? I was thinking autocompletion of the watched hubs.
16:04:01 <abompard> anything else?
16:05:15 <mizmo> i haven't thought too deeply about what it would look like yet, but my initial thought was it would also have some kind of list of suggestions
16:05:43 <mizmo> like, the 5-10 most active (meeting-wise) hubs
16:06:00 <mizmo> (or, in other words, the hubs most likely to have halp requests)
16:06:07 * a2batic goes to have dinner, thanks mizmo :)
16:06:18 <abompard> Hmm, interesting
16:06:19 <mizmo> later a2batic
16:07:05 <jcline> Okay, so anything else before the end of the meeting?
16:07:16 <mizmo> i mean the simplest interface would be to have a form asking what hubs you wanted to monitor with the widget, and you typeahead / autocomplete them, and it builds up a list
16:07:33 <mizmo> i always worry with a blank starting point people might not understand what they're supposed to do or what the widget would do for them
16:08:04 <mizmo> but maybe another idea would be to have a little promo for the widget (and have this be a standard for widget config) in a banner at the top of the config screen to show what the widget does?
16:08:32 <mizmo> that would be a lot simpler implementation wise and would achieve the same goal (although you do run the risk of the screenshot being way out of date over time)
16:08:32 <abompard> mizmo: totally doable
16:08:39 <mizmo> but i think thats an ok risk to take
16:09:03 <mizmo> ill mock up some ideas and we'll figure out from there? i would assume that autocomplete for hubs names to add would be key though,
16:09:13 <mizmo> and maybe the ability to have a 'shopping list' of added hubs that you can 'x' out line by line too
16:09:35 <abompard> OK, so it clearly needs a custom config system
16:09:45 <mizmo> yeh
16:09:49 * mizmo (sorry)
16:10:06 <abompard> alright, I hope my coworkers won't hate me for doing hugs pull requests all the time ;-)
16:10:17 <abompard> huge*
16:10:17 <mizmo> lol
16:10:36 <abompard> (hugs is a nice typo)
16:10:49 * abompard hugs pull requests
16:10:59 <mizmo> hugs for pull requests lol
16:11:15 <jcline> abompard, no, but one day I'll open a series of huge pull requests and when that day comes, I'm going to look to you
16:11:26 <abompard> jcline: I'll be there!
16:11:46 <jcline> :)
16:12:01 <jcline> Great, well I'll end the meeting if everyone is satisfied
16:12:19 <mizmo> +1
16:12:25 <mizmo> oh wait
16:12:25 <mizmo> #action mizmo to mock up config UI for halp widget
16:12:42 <abompard> and for setting the main hub irc channel?
16:12:42 <mizmo> #action abompard to investigate custom template for config UI; autocomplete and 'shopping list' for hubs
16:12:55 <mizmo> #action mizmo to mock up config UI for setting hub IRC channel
16:12:57 <mizmo> good catch
16:13:04 <mizmo> now we can close :)
16:13:11 <jcline> #endmeeting