19:02:27 <mizmo> #startmeeting hubs-devel 19:02:27 <zodbot> Meeting started Thu Jan 19 19:02:27 2017 UTC. The chair is mizmo. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:02:27 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:02:27 <zodbot> The meeting name has been set to 'hubs-devel' 19:02:38 <mizmo> #chair shillman 19:02:38 <zodbot> Current chairs: mizmo shillman 19:02:43 <mizmo> #topic geo data for users 19:02:51 <mizmo> so a quick summary 19:03:05 <mizmo> we guess based on IP or GPS if available 19:03:16 <mizmo> we show city and country fields overlaid on an openstreetmap 19:03:24 <mizmo> user corrects fields 19:03:25 <mizmo> edge cases 19:03:28 <mizmo> boston MA vs boston NY 19:03:36 <mizmo> cities in more than one state / country / etc at once 19:03:56 <mizmo> VPN access (i'm in boston, vpn makes my IP appear to be in Raleigh) 19:04:47 <shillman> We store city, country, and we're thinking about lattitude and longitude that we figure out from the location info. 19:06:08 <shillman> Current thoughts on the edge cases were that we auto-suggest when people start typing into 'city', with closest relevant cities first. 19:06:23 <shillman> Those suggestions are within the specified country. 19:06:53 <shillman> This does require that we are able to know what cities/counties/provinces/other things exist in a country. 19:07:23 <shillman> Two possible python databases exist that might help with this: https://github.com/scaleway/postal-address/blob/develop/postal_address/territory.py and https://github.com/openvenues/pypostal/blob/master/postal/pyparser.c 19:07:45 <shillman> We were trying to avoid having to know these things, so I don't know if we want to try to figure out something else. 19:08:32 <mizmo> hm 19:09:09 <mizmo> yeh i think it's ok to use one of those libraries to get location info between city and country to distinguish between cities with the same name 19:09:35 <mizmo> on that point i think a developer would have a better idea of what to do - 19:09:39 <shillman> True. 19:09:46 <mizmo> but we have to be able to distinguish between Boston and Boston in the list 19:09:54 <mizmo> i dont see it as being problematic though 19:10:05 <mizmo> okay so we walked through the boston NY case right 19:10:07 <mizmo> and the Boston MA vpn case 19:10:25 <mizmo> so the one issue that came up, if I'm in Boston MA and use VPN in buffalo, Boston NY is closest proximally 19:10:46 <mizmo> if I type boston in the city field, It should go something like Boston NY, Boston MA and i'd just hve to select Boston MA 19:10:46 <mizmo> the map should update to show boston MA 19:11:04 <shillman> Yes. And I have no idea how many bostons there are. But... once someone sees the suggestions, maybe they can just add the state (or whatever) part rather than having to hunt? 19:11:08 <shillman> Agreed. 19:11:19 <mizmo> so we walked thru vpn case and city in two states case 19:11:21 <shillman> (Bostons or other similarly problematic city names) 19:11:45 <mizmo> yeh it should be that they can just start writing the next higher level location and the autocomplete list will filter down to it 19:11:54 <shillman> Yeah, exactly. 19:13:11 <shillman> For the city in multiple places problem, I'm not sure if it's true, but I'd expect that people have opinions on which of the options they live in? 19:14:17 <shillman> So, the example you gave above of Guben, which is in Germany and Poland. 19:14:46 <mizmo> yeh 19:14:47 <shillman> As long as the database we use knows this, they should be able to just select the correct country? 19:14:57 <mizmo> i think so. i dont think it should be a problem. 19:15:01 <mizmo> i think that case is an easy one. 19:15:13 <mizmo> where it might be a problem is if the city is in multiple states bc we don't have a state field 19:15:15 <shillman> Oh. You mentioned that there are some embargoed countries: We'd need checking for that and some sort of relevant error message. 19:15:25 <shillman> Aaah. 19:15:26 <shillman> Yes. 19:15:36 <mizmo> but i think in most cases its the same difference? so it probably doesn't matter whether you're say kansas city MO or kansas city KN? 19:15:56 <shillman> Shouldn't matter, and if someone really cares they can start changing things and the dropdown might suggest useful things? 19:16:10 <shillman> (people often really care about things like this) 19:20:22 <mizmo> yeh 19:20:27 <mizmo> i would consider it a non issue 19:20:29 <mizmo> okay 19:20:32 <mizmo> so is there aything else we'd need? 19:20:38 <mizmo> i think this design holds up 19:20:39 <mizmo> OH! 19:20:40 <mizmo> right 19:20:41 <mizmo> for accessibility 19:21:09 <mizmo> so we need to make sure that the map displays in screen reader friendly text the names of the cities in the map 19:21:10 <mizmo> could be in a caption or alt text or whatever 19:21:18 <shillman> Yessss 19:21:59 <mizmo> i dont think the typeahead will work in that case either, so being able to support just typing city, state / city, province / whatever and making a best guess too will be important 19:22:57 <shillman> *does a quick check to see if it is actually fine* 19:23:09 <mizmo> thats the tricky thing about js libraries is they aren't always accessibility friendly 19:24:39 <shillman> Looks like only ones that specifically say they are are, and it's not clear how usable those are 19:24:59 <mizmo> for typeaheads? 19:25:19 <shillman> Yeah 19:25:25 <shillman> eg: https://github.com/senthilshanmugam/a11yTypeAhead 19:29:02 * mizmo looks 19:29:30 <mizmo> ah thats angular, i think we aren't doing angular but react? 19:29:33 <mizmo> f we could find a react one... 19:29:34 <shillman> Aaah. 19:30:05 <mizmo> https://www.npmjs.com/package/react-typeahead-component 19:30:07 <mizmo> maybe that one 19:31:14 <shillman> Yeah, but it's not in devel. 19:32:00 <shillman> https://www.npmjs.com/package/react-pick and https://github.com/reactjs/react-a11y 19:32:03 <shillman> also might work. 19:32:38 <shillman> But then, none of those seem recently worked on. 19:33:08 <mizmo> well, we'll have to figure this out 19:33:23 <mizmo> #action figure out an a11y friendly typeahead library for city field 19:33:32 <mizmo> i dont think its impossible 19:33:35 <mizmo> anything else we need to cover? 19:33:36 <shillman> Agreed. 19:34:11 <shillman> Like addresses, names and phone numbers have assumptions in them. 19:34:56 <shillman> Like number of names in a valid name. I'm currently leaning toward having a single 'name' field, and a 'use name' field. 19:35:20 <shillman> But I'm not sure if I can figure out how to make it required that you fill out at least one of those but not care which one. 19:35:52 <shillman> I think phone numbers is less immediately important, but also relevant. Country codes, structure of the number, etc. 19:36:33 <shillman> Names: https://www.formulate.com.au/blog/the-name-riddle/ 19:37:18 * mizmo looking 19:37:52 <mizmo> we dont have to validate phone number 19:37:57 <mizmo> so i think phone number isn't a hard problem 19:38:01 <mizmo> let people structure it how they want 19:38:08 <mizmo> if we want them to look neat and clean we could limit to () and - beyond numbers 19:38:32 <shillman> OK, re phone number. 19:38:33 <mizmo> or we can even limit to just numbers and just allow spacing if they want to space out the stanzas 19:38:34 <mizmo> oh and + should be allowed 19:38:45 <mizmo> for names... that really turns into a rat hole 19:38:52 <shillman> (I like using . also in phone numbers) 19:39:06 <shillman> Yes. Which is why I'm thinking a general name field, and a use name field. 19:39:13 <shillman> Or something like that. 19:39:15 <mizmo> yeh i think we shuldn't allow . tho bc it makes them inconsistent 19:39:20 <shillman> k 19:39:22 <mizmo> space is probably the best separator 19:39:37 <mizmo> the problem is "general name" vs "use name" aren't going to make sense to most people 19:39:45 <shillman> Yeah. Words are hard. 19:39:55 <mizmo> also, note that if the UI is translated, these fields will be translated appropriately 19:40:09 <mizmo> so firstname / lastname in japanese is going to be translated lastname / firstname :) 19:40:13 <mizmo> but in japanese 19:40:41 <mizmo> i think probably lastname shouldn't be required, for those who only have one name 19:40:46 <shillman> Right. 19:41:04 <mizmo> for people who have mutliple names just make sure each field has enough characters and supports spaces and they can break up how they like, i'm sure they are accustomed already 19:42:07 <shillman> So maybe 'given name' and 'family name' with only the first being required? 19:43:32 <mizmo> i think given and family are the most accurate but i also think they are so uncommon that people will be confused 19:43:50 <mizmo> is first / last a problem? 19:44:04 <shillman> If you are not in the US, it's not what is used, I'm pretty sure. 19:44:06 <mizmo> for the cultures that go last / first, i'm assuming they would be localized 19:44:48 <mizmo> well our main concern would be english speaking non us countries 19:45:49 * mizmo checking something 19:45:59 <shillman> I'm not positive, but I don't think it's last name in most other english speaking countries 19:46:32 <mizmo> yeh so Ireland is first name last name 19:46:52 * mizmo looking up forms 19:47:54 <mizmo> UK is first name last name 19:47:57 <shillman> Ah, cool. You have forms to look at! 19:48:48 <mizmo> Australia uses first/last 19:48:56 <mizmo> what i did was find a prominent newspaper in each country and pull up their sign up form 19:48:59 <shillman> Aaah. 19:49:01 <shillman> cool 19:49:02 <mizmo> because they need postal info 19:49:15 <shillman> *nod* Ok, it sounds like last and first is fine. Except reversed. 19:49:24 <mizmo> first / last is the most common, i think if people have to stop and think about what a form field is asking them it's a prob 19:49:37 <mizmo> yep! 19:49:58 <shillman> Yes, agreed! 19:50:01 <mizmo> #agreed first name, last name are appropriate labels internationally for english strnigs 19:50:24 <mizmo> anything else? 19:50:32 <shillman> nothing else comes to mind? 19:52:34 <shillman> Darn you location information, you are complicated! ;) 19:52:36 <mizmo> well what do we need from this 19:52:56 <mizmo> i think probably the location mockups you did shold be updated right? the welcome to hubs, ehres what we think your location is? 19:53:01 <shillman> Agreed. 19:53:06 <shillman> That's what I was planning to adjust. 19:54:06 <shillman> It was needed anyway because I didn't know what the existing creation interface looked like. :) 19:54:09 <mizmo> #action shillman to adjust user location setting mockups accordingly 19:54:37 <mizmo> ok cool 19:54:51 <mizmo> okay so that was a lot of discussion for a simple question but i think the direction is clear now? 19:55:08 <shillman> I think so, yes. And it was _not_ a simple question, evidently. ;) 19:57:57 <mizmo> this is par for the course btw, a lot of UX work is digging into this kind of stuff 19:58:03 <mizmo> nobody ever tells you that 19:58:11 <shillman> So if someone wants to enter in the info themselves... 19:58:29 <shillman> Should they have the map interface with nothing in country or city? 19:58:43 <shillman> I don't know if anyone can outright refuse to share even the IP info? 19:59:27 <shillman> I actually did know that digging into stuff was a lot of UX, I just didn't consider that that might have been a place that it was needed! 20:00:26 <mizmo> hm 20:00:51 <mizmo> so i dont know as much about it, but i do believe theres a way to request location info and the user can refuse it based on a browser dialog 20:00:52 <mizmo> have you ever seen one of those? 20:00:56 <mizmo> i dont know the mechanics of it though 20:01:12 <mizmo> https://www.mozilla.org/en-US/firefox/geolocation/ 20:01:40 <mizmo> https://matrix.org/_matrix/media/v1/download/matrix.org/btOUgTdtNAaApBXXVIXvkPHE - mizmo_2017-01-19_20:01:39.txt 20:01:44 <mizmo> oh dear lord 20:01:49 <mizmo> i had assumed it was solely ip based 20:01:50 <mizmo> eek 20:02:17 <mizmo> https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation 20:02:40 <shillman> (your paste was a matrix.org link rather than content) 20:02:54 <mizmo> oh weird 20:03:10 <mizmo> By default, Firefox uses Google Location Services to determine your location by sending: 20:03:13 <shillman> BUt it does look like we may not have any info about someone's location if they are on a computer. 20:03:27 <mizmo> your computer’s IP address, 20:03:28 <mizmo> information about the nearby wireless access points, and 20:03:28 <mizmo> a random client identifier, which is assigned by Google, that expires every 2 weeks. 20:03:29 <mizmo> how so? 20:03:35 <mizmo> we always have ip 20:03:40 <shillman> If they refuse the... 20:03:41 <shillman> Ah. 20:03:43 <shillman> Ok. 20:04:22 <mizmo> https://facebook.github.io/react-native/docs/geolocation.html 20:05:05 <mizmo> even if they refuse we still have IP. refusing the browser geolocation thing means it won't connect to the google API to see what wifi APs and google metadata is available to track you down further 20:05:11 <shillman> I see, ok. 20:05:24 <shillman> Then there is no completely empty state. Noted! 20:06:05 <mizmo> yeh the worst case scenario is a very wrong state 20:06:21 <shillman> *nodnod* Ok. 20:07:24 <mizmo> so the map should always have some location 20:07:34 <mizmo> if there is no location data, though - which i think happens if theres some error at some point 20:07:35 <shillman> Good. That's less weird. 20:07:38 <mizmo> like a connection error 20:07:53 <mizmo> we could just default to some random point on the map and have blank felds 20:08:05 <mizmo> like, its not a case that should really ever happen but i think it does 20:08:21 <shillman> Yeah, probably especially with low bandwidth places. 20:08:23 <mizmo> which contradicts what i just said sorry :( 20:08:54 <shillman> Eh, that's fine. Rather think about it now than later! 20:09:12 <shillman> Should we show no map, a fully zoomed out map? 20:09:38 <mizmo> yeh that makes sense 20:09:38 <shillman> With the city/country overlays on top. 20:09:46 <mizmo> totally 20:09:47 <shillman> Which one? None or zoomed out? 20:09:50 <shillman> I can't decide. 20:09:59 <shillman> I mean, if we fail to have info, they might be on mobile. 20:10:03 <shillman> So having no map might make more sense. 20:10:11 <shillman> Due to bandwidth 20:10:50 <shillman> empty map... 20:10:57 <shillman> empty map box, I mean 20:12:30 <mizmo> we could always case it 20:12:30 <mizmo> if mobile no map 20:12:35 <mizmo> if desktop map 20:13:13 <shillman> Also, should I be collapsing my location info with a new account into your new account creation issue? 20:13:16 <shillman> Ah, good point! 20:13:23 <shillman> And if we can't tell, no map? 20:13:40 <mizmo> yeh seems fair 20:13:54 <mizmo> re collapsing location info w new account - what do you mean? 20:14:04 <mizmo> what new account craetion issue? 20:14:09 * mizmo sorry, doesnt remember 20:14:14 <shillman> No worries! 20:14:17 <shillman> You made this: https://pagure.io/fedora-hubs/issue/289 20:14:33 <shillman> And I think the part where we need to get their location info, at least for a new account, should go there, too. 20:14:54 <mizmo> ohhh not an actual issue as in problem, a ticket :) 20:14:59 <shillman> yes, sorry! 20:15:10 <shillman> darned overloaded terms 20:15:16 <mizmo> so i actually liked the way you mocked it up better - 20:15:30 <mizmo> collecting the location data as sort of a first run wizard 20:16:40 <shillman> Should I continue with the small modal dialogs, or have it all be on a page (perhaps with bits being added as you go)? You did comment wondering about the modal dialogs. :) 20:17:06 <mizmo> shillman: when you say small modal dialogs, what are you specifically referring to 20:17:08 <shillman> I was mostly trying to not overwhelm people. 20:17:20 <mizmo> the little popup thingys? 20:17:25 <mizmo> or the full screen modal dialogs 20:17:33 <shillman> Popup things. 20:17:41 <mizmo> ah 20:17:51 <shillman> Last part in your review on https://pagure.io/fedora-hubs/issue/286 20:17:56 <mizmo> yeh so, it could just be a pet peeve, but i think small popups are good for reading info but not editing. it depends. 20:18:02 <shillman> Huh! 20:18:04 <shillman> Ok. 20:18:21 <mizmo> but the problem is popups can be finnicky and if you're filling in a field in a popup and the pop up disappears because your mouse cursor moved 1 mm.... it's really irritating 20:18:30 <shillman> Aaaaaaaah. Yes, 20:18:31 <shillman> . 20:18:32 <mizmo> they also tend not to be super accessible 20:18:35 <mizmo> since they are so JS dependent 20:18:39 <shillman> Got it. Ok. 20:18:54 <mizmo> i think though, balsamiq tends to push people towards using them 20:19:07 <mizmo> its something ive noticed in pretty much all basalmiq mockups ive seen 20:19:10 <shillman> Huh! 20:19:25 <shillman> So what do you mean by full screen modal dialogs? 20:19:50 <mizmo> lemme grab one, sec 20:20:47 <shillman> (I do note that most of the time I'm using those, I'm largely doing a quick thing to get an idea out. It's really noodling more than anything) 20:20:49 <mizmo> https://pagure.io/fedora-hubs/issue/283#comment-51544 20:21:02 <mizmo> shillman: so the style we've adopted thus far for modals is to shade the screen and pop the modal up 20:21:29 <shillman> That's actually what I'd been doing when I was more certain about my goals. 20:21:42 <shillman> But yes, I'm likely to forget about changing things like that without them pointed out. 20:21:59 <shillman> And I notice the intentional need to close the modal. Good thing to have! 20:22:51 <mizmo> yeh 20:23:55 <shillman> Given that one can create an account from literally any page, I'm likely going to just make something scribbly and shade that. :) 20:24:18 <shillman> We shoudl probably end the meeting. We got really off track just now. :) 20:25:05 <mizmo> okie doke 20:25:07 <mizmo> #endmeeting