18:03 <popey> #startmeeting Weather Reboot meeting 18:03 <meetingology> Meeting started Thu Mar 12 18:03:11 2015 UTC. The chair is popey. Information about MeetBot at http://wiki.ubuntu.com/meetingology. 18:03 <meetingology> 18:03 <meetingology> Available commands: action commands idea info link nick 18:03 <popey> Hows thing? 18:03 <popey> *things 18:03 <m-b-o> Fine, tomorrow finally friday :) 18:03 <popey> \o/ 18:04 <ahayzen> o/ 18:04 <m-b-o> o/ ahayzen 18:04 <popey> heya 18:04 <popey> Couple of things to start 18:05 <popey> I see on twitter that bq said they will start shipping on 20th March 18:05 <popey> So it's finally happening :) 18:05 <ahayzen> \o/ its happening people :) 18:06 <popey> Secondly I wanted to firm up where we are and what we have left for the reboot 18:06 <ahayzen> a good place to start https://blueprints.launchpad.net/ubuntu-weather-app/+spec/weather-reboot :) 18:07 <m-b-o> switch ubuntu-geonames on the backend, GPS for current location 18:07 <m-b-o> "switch to" 18:08 <popey> So for your geonames patch I need to do a bit more testing which I will do tomorrow (as friday is a bit quieter) 18:08 <ahayzen> few UI things left... 18:08 <popey> then file an RT to get it in 18:08 <m-b-o> popey ok! 18:08 * popey edits the blueprint 18:08 <ahayzen> like i'm half way through the clicking a delegate to show sub things 18:09 <m-b-o> ahayzen it's bit messy because of the height of the list, isn't it? 18:09 <ahayzen> then we need todo like we have ui niceness things like swiping the image 18:10 <ahayzen> m-b-o, i've got the UI working :) ...its more the data side as i said before ;) 18:10 <m-b-o> ah, ok :) 18:10 <m-b-o> autopilot tests are comleting missing by now 18:10 <ahayzen> m-b-o, i just haven't had a chance since we last spoke to conditionally show pressure/humidity etc ... 18:10 <popey> right, just moved the things around to put the TODO at the bottom 18:10 * ahayzen shakes fist at university work 18:11 <ahayzen> i plan over the weekend/next week to start doing the autopilot helpers/mocking if no one else starts it ;) 18:11 <m-b-o> I will be around on irc tomorrow and parts of saturday. feel free to ping 18:11 <ahayzen> coolio 18:11 <balloons> ahayzen, m-b-o bugs filed for those? 18:12 * ahayzen actually enjoys writing AP helpers now after balloons taught him what todo :) 18:12 <ahayzen> balloons, this is for reboot ... we have ... no test at all! 18:12 <m-b-o> I will start to migrate the backend for ubuntu-geonames, using the test vps 18:12 <ahayzen> i suspect the mocking of the weatherApi will be fun? ... i haven't looked how th current app does things 18:12 <balloons> ahayzen, right.. so any bugs asking for things? or even a generic bug saying we nee tests? :-) 18:12 <m-b-o> we need then the cpp plugin for calcuation the timezone offset 18:13 <ahayzen> balloons, there is a work item in the blueprint... which i'll probably assign to me to 'set up test framework' ... once we have something that mocks, runs and has helpers then we can write bugs for the tests? 18:13 <ahayzen> balloons, or do you think we need a bug now? 18:14 <ahayzen> m-b-o, \o/ cpp plugin :) 18:14 <popey> We're tracking _all_ the AP requirements with bugs 18:14 <balloons> I mention it.. you could file a bug saying setup test infastructure 18:14 <popey> and tagging as needs-autopilot-tests 18:14 <balloons> the point is without a bug, me nor anyone else knows it's needed 18:14 <balloons> right ^^ 18:14 <popey> so we can have an overview of all the ones we need 18:14 <ahayzen> m-b-o, remind me what the geonames is for again ? 18:14 <ahayzen> ah i see 18:14 <m-b-o> searching for locations. by name or lat/long point 18:15 <ahayzen> well if we have a bug then assign it to me and i'll give it a crack over the next few days ... hopefully :) 18:15 <m-b-o> and ubuntu-geonames only responds with timezone name 18:15 <ahayzen> m-b-o, ah :) ... so what are we doing currently in the add location page? or is that using that already? 18:15 <m-b-o> @ahayzen so we need to as QtTimezone(?) to get the current offset 18:15 <meetingology> m-b-o: Error: "ahayzen" is not a valid command. 18:16 <m-b-o> ahayzen currently we are still using geonames.org 18:16 <ahayzen> m-b-o, oh right i understand so we're moving to the ubuntu one :) 18:16 <m-b-o> but I've already rewritten WeatherApi.js of the old app to work with ubuntu.geonames, so I have to copy it over 18:17 <popey> awesome. 18:17 <m-b-o> so I will a branch with mgrated backend and wait with the MP until the changes in ubuntu-geonames have landed 18:17 <m-b-o> "so I will keep a" 18:18 <ahayzen> cool 18:18 <m-b-o> bu to get it work correctly the cpp plugin is needed 18:18 <ahayzen> yup 18:19 <ahayzen> so UI wise what else is left, other than the work items ? 18:19 <ahayzen> i don't think we have missed anything major? 18:19 <m-b-o> a possibility to refresh 18:19 <ahayzen> ah yes...header action? 18:19 <m-b-o> where can I get more detailed data about today? 18:20 <m-b-o> like pressure rain and so on? 18:20 <ahayzen> m-b-o, more detail as in pressure? 18:20 <ahayzen> yeah hmmm 18:20 <ahayzen> the designs show like that expanding delegate for *future* forecasted days... 18:21 <ahayzen> popey, can you see anything in the designs for ^^? 18:21 <popey> was just looking for that 18:21 <popey> https://docs.google.com/a/canonical.com/presentation/d/1qJ4wzwHsHGNb7GDVjrarMUj4lyro-dLR2_4Xu1b5vQU/edit#slide=id.p 18:22 <popey> hmm, you can see for future days (slide 6) 18:22 <ahayzen> is there enough space under the hourly horizontal swiping thing for further info? 18:22 <m-b-o> but nothin gin particular for today 18:23 <ahayzen> nope nothing 18:23 <m-b-o> hmmm, not really 18:23 <ahayzen> like you want it where the "chance of rain" is at the moment...but not there all the time as it would be cluttered 18:23 <ahayzen> <- is no designer though ;) 18:24 <popey> so you can tap the cloud and see the future times for today 18:24 <popey> what about tapping the temp below the cloud 18:24 <ahayzen> yeah 18:24 <m-b-o> that woulb be possible, but cluttered 18:24 <popey> yeah 18:24 <ahayzen> but then are there to many interactions? ... 18:24 <popey> :S 18:24 <popey> yeah 18:25 <m-b-o> perhaps by tapping the cloud also the temp got flipped 18:25 <ahayzen> but then each thing would have 'more info' on a tap ... the top image to show hourly ... the delegates 18:25 <ahayzen> yeah +1 18:25 <m-b-o> and we see hourly forecast and detaisl for today 18:25 * popey lights the batsignal for gventuri :) 18:25 <ahayzen> *and* when you swipe the image to show the hourly it shows the detail as well? 18:25 <m-b-o> yes 18:26 <popey> hmm, that could work 18:26 <ahayzen> popey, your our resident designer surely ;) hehehe ... but seriously we should probably ask design lol 18:26 <ahayzen> however i like this idea :) 18:26 <popey> haha, lulz, no way 18:26 <popey> I added a comment to the doc 18:27 <ahayzen> cool 18:27 <m-b-o> we can perhaps go with this solution until design tells us how 18:27 <popey> note that the strip is vertically narrower so there is plenty of space for it 18:27 * ahayzen spots jouni in the room 18:27 <popey> I would go for it, and we can present it to the design guys. 18:28 <ahayzen> yup ok is anyone editing the blueprint atm? 18:28 <popey> not me 18:28 <m-b-o> nope 18:28 <popey> you have the token :) 18:28 <ahayzen> ok i'll add a work item 18:29 <ahayzen> anything else we have missed in the UI? 18:30 <m-b-o> hmm... atm I would say nothing ;) 18:30 <popey> Sounds good. 18:30 <m-b-o> a little indicator while loading 18:31 <ahayzen> ...the locations page we are just showing the name atm...not the current temp etc https://docs.google.com/file/d/0B6y7yTV1qivHczljdzZOM25JNFE/edit 18:31 <m-b-o> or for errors 18:31 <ahayzen> yeah error capture ... spinners etc.... 'polish' :) 18:31 <popey> we use a bouncer in reminders 18:31 <popey> going across the top 18:31 <popey> difficult here because we have no header 18:31 <ahayzen> do we want pull to refresh? 18:31 <ahayzen> like force a refresh around the caching? 18:31 <m-b-o> it's tricky 18:32 <popey> i dont think so really. can we not just pull when we notice data is more than N hours old? 18:32 <m-b-o> because there is a lostview and a flickable 18:32 <ahayzen> i thought it was an SDK component for listviews? 18:33 <ahayzen> but like at least a header action for refresh ? 18:33 <m-b-o> yeah at least a header action to start with 18:33 <m-b-o> refreshing is important 18:33 * ahayzen adds work item 18:33 <ahayzen> ...we don't need any other header actions on the home screen do we? 18:34 <m-b-o> nope 18:34 <popey> ok 18:34 <ahayzen> ...we need empty state code :) 18:34 * nik90 was reading the backlog, 18:34 <ahayzen> nik90, o/ 18:34 <popey> hey nik90 18:35 <m-b-o> o/ 18:35 <popey> yeah, empty state right now is a bit bare 18:35 <nik90> ahayzen, m-b-o: You can't use the pull to refresh because weather app has a horizontal listview 18:35 <nik90> hey everyone 18:35 <m-b-o> nik90 yes 18:35 <popey> with old weather app we force you to the locations screen 18:35 <ahayzen> nik90, ah bugger .... not even if we hack it ;) 18:35 <popey> we should really add "current location" IMO 18:35 * ahayzen enjoys hacking upstream components ;) 18:35 <nik90> ahayzen: well its a SDK component, unless you want to import it and then hack I dont see a way around it 18:35 <popey> and not allow "empty state" 18:36 <popey> the only problem is if people don't allow location lookup and have no network, we can't get a location 18:36 <ahayzen> yeah default to current location ... can we guess by their language lol 18:37 <ahayzen> they are likely to have GPS or some form of internet though right?....can we do an IP lookup? or can we not access your IP address? 18:37 <nik90> ahayzen: hmm that might help, but we still might run into the issue of being totally off though 18:37 <nik90> ahayzen: geoIP look up requires internet 18:37 <popey> ahayzen: no guarantee of network 18:37 <popey> might not have put a sim in 18:38 <ahayzen> your likely to have WiFi though? 18:38 <popey> and be standing in a shop 18:38 <popey> or not added to wifi yet 18:38 <nik90> its a issue I have in clock as well which is also not resolved 18:38 <ahayzen> ok cached ... 18:38 <popey> "This is new, I have no idea how to get on the network" 18:38 <ahayzen> haha what do other platforms do in that situation? 18:39 <popey> lemme test 18:39 <ahayzen> - no network, no gps, first time the app is started up 18:39 <nik90> Why not show a default location like London or New York? 18:39 * popey has a freshly flashed iphone 18:39 <ahayzen> - phone has never seen network and/or gps before 18:39 <popey> barcelona :) 18:39 <nik90> :p 18:39 <ahayzen> don't other devices like use a cached location anyway like IIRC on my andriod device if i turned off network/gps then fired up an app it would think it was in the last location i had a way of looking up a location 18:40 <popey> ios does this. 18:40 <popey> 1 popup saying "Weather would like to use your current location - Don't alow | OK" 18:40 <nik90> ahayzen: but on a freshly flashed phone, there is no cached location 18:40 <popey> I said "don't allow" 18:40 <popey> It now says "Turn off airplane mode or use wifi to access data - Settings | OK" 18:40 <popey> (I have airplane mode on) 18:41 <ahayzen> i guess ...it still seems like a 1/100 usecase lol 18:41 <popey> hmm, not fair, this has some retained data 18:41 <popey> it knows locations 18:41 <popey> but they're blank 18:41 <ahayzen> can we not just dump them to the list of stored locations we have 18:41 <m-b-o> +1 18:41 <popey> thats what it does now 18:41 <ahayzen> but even then say we did figure out a location with no network and/or gps.... what would we show? 18:42 <ahayzen> we have no way of retrieving the weather info :P 18:42 <nik90> oh 18:42 <m-b-o> if the user does not want to go online, there will be no weather forecast anyway 18:42 <ahayzen> also ... what does theweatherchannel scope do in this case ;) IIRC it is just blank if there is no network 18:43 <m-b-o> we can try to fail gracefully... 18:43 <nik90> ahayzen: true but not the ideal way imo 18:43 <ahayzen> ....so we are back to having an empty state? 18:43 <ahayzen> or 'no network' state 18:43 <ahayzen> or 'no network or cached data' state 18:44 <nik90> if (location access granted by user but no internet) I guess show London or New York or Barcelona 18:44 <nik90> if (no internet) show error state 18:44 <nik90> seriously weather app can't function without internet..it needs to fetch data from some where 18:44 <ahayzen> yeah that first one will be partially empty though so we'll need to figure out how to display an unknown temp etc 18:45 <nik90> imagine a scenario where the user doesn't open the weather app for a week (just uses the scope instead)...and he has no internet, then we cant show the cached weather data...that would be useless 18:45 <m-b-o> why not show a page, telling what to do? 18:45 <nik90> we need to have a info state 18:45 <nik90> + 18:45 <popey> yeah 18:45 <popey> like music and docviewer have 18:45 <ahayzen> nik90, without something polling say once a day i can't see us getting data for something if we have not been run for a week or so? 18:45 <popey> "No locations setup, add one now. You will need network access for this" 18:46 <ahayzen> yup 18:46 <m-b-o> and perhaps some help about usability (swiping(taping) 18:46 <nik90> ahayzen: exactly 18:47 <nik90> ahayzen: but my point there was that showing a week old data (with no internet) does not serve any purpose..might as well show a info state msg there 18:47 <ahayzen> ....theweatherchannel scope...is that canonical or community or commercial ? .... like can we share/store weather data with them somehow ? 18:47 <ahayzen> then have something like what calendar has for the events where there is a service that syncs in the background for us? 18:48 <ahayzen> then it would always be up to date? 18:48 <popey> the scope I think was made by cwayne 18:48 <m-b-o> ahayzen and what about OWM? 18:48 <ahayzen> we could have a central weather service that could collect data for a set of locations for a set of providers at a set interval ? 18:49 <nik90> ahayzen: and what if the user disabled the weather scope? (as in its not a favorite scope) 18:49 <ahayzen> well the weatherscope would talk to the service 18:49 <nik90> hmm I doubt we could convince the platform devs to implement such a service 18:49 <ahayzen> hehe that would be *a* solution though :) 18:50 <ahayzen> can't do it though like push notifications ? 18:50 <nik90> ahayzen: you need internet again to get push notifications 18:50 <m-b-o> when there's a week old data, the app would try to refresh 18:50 <m-b-o> it owuld fail with an error message 18:50 <ahayzen> yeah but like if your device hasn't has internet for a week then it makes sense to have old data lol 18:51 <ahayzen> m-b-o, thats probably simplest ;) i'm overthinking this i think 18:51 <m-b-o> currently, if the refresh fails, the last data is displyed 18:51 <nik90> yeah then why not just stick to the app refreshing the data 18:51 <popey> It's less that yoy haven't had internet, more that you haven't opened the app. We don't do this in the background. 18:51 * ahayzen wants everything to be perfect as usual :) 18:51 <nik90> ah yes 18:52 <ahayzen> but like if you had something like push notifications spin us up when a new set of forecasts appear and you have network then we could update our cache in the background...then when you open the app with no network it would be fine ... unsure if that is possible though 18:53 <nik90> the only part I am unsure of is whether push notifications can touch app cache 18:53 <m-b-o> ahayzen I think thats an overload :) fetching weather data is quite fast 18:53 <ahayzen> yeah idk 18:54 <m-b-o> and when I start the app, I updated data in seconds 18:54 <m-b-o> background joibs are eating battery 18:54 <ahayzen> yeah but we still have this situation where no network .. start up...data is old 18:55 <ahayzen> tricky maybe for now we just show the error and be done with it 18:55 <nik90> true. let keep this simple for the first reboot release 18:55 <nik90> yeah for now if start up data is older than a day show the error msg 18:55 <ahayzen> something to discuss at UOS 18:55 <m-b-o> yes, let's keep it simple for the start 18:55 <nik90> when is that? 18:55 <ahayzen> idk lol 18:55 <nik90> k 18:56 <popey> good question 18:56 <popey> 5-7 may 18:58 <popey> Ok. Anything else? 18:59 <ahayzen> not from me i don't think :) i'll try and get some form of autopilot mock/helpers setup over the next week and then poke CI to turn on jenkins when ready 18:59 <ahayzen> ...and finish that expanding delegate :) 18:59 <popey> Awesome. 18:59 <m-b-o> nothing left on my side 19:00 <nik90> I have a settings page branch that is almost complete. I will propose it this weekend 19:00 <popey> great! 19:00 <ahayzen> \o/ 19:00 <popey> Oh, one other thing. 19:00 <popey> Should we push a weather app reboot to the store for wider testing? 19:00 <popey> (and did we have this conversation already) 19:00 <ahayzen> i think 'soon' 19:00 <nik90> + (soon) 19:01 <ahayzen> once we've got the empty/error states etc it'll be in a better state 19:01 <m-b-o> when we have the finished the tasks discussed today? 19:01 <nik90> popey: I had some issues with a fresh setup where weather wouldn't accept locations properly ... I need to double check that + empty/error states would be nice 19:01 <ahayzen> pretty much ... ooo do we need a WI for location detection? 19:01 <popey> Ok. 19:01 <nik90> WI? 19:01 <popey> Work Item 19:01 <ahayzen> work item 19:02 <nik90> ah 19:02 <m-b-o> yes 19:02 * ahayzen adds one 19:02 <ahayzen> done :) 19:03 <popey> \o/ 19:03 <popey> All done? 19:03 <ahayzen> all from me :) 19:03 <m-b-o> yeah :) 19:03 <nik90> yeah :) 19:03 <popey> \o/ 19:03 <popey> thanks guys! 19:03 <popey> #endmeeting