2010-06-10

00:00 caseorganic joined #geoloqi
00:17 maxticket joined #geoloqi
11:19 LoqiLog joined #geoloqi
11:22 <aaronpk> we've got one branch going in the subversion repository which is separate from the branch in dropbox that you've been working on. I haven't actually seen your latest version because I wasn't sure if you updated dropbox on Tuesday.
11:23 <aaronpk> Does your version have a map view? the subversion one doesn't at all.
11:23 <aaronpk> If it does, go ahead and add the line drawing code there. I'm assuming it's going to be not hard to merge these different panels into a single app in the near future.
11:23 <jtbandes> My latest changes were to consolidate the 3 sliders into a smaller section of the table. those should have gotten on Dropbox before you guys started the other work.
11:24 <jtbandes> i.e. this: http://grab.by/4RMX
11:24 <aaronpk> ok yea I see those in the screenshots caseorganic posted last night. http://dev.geoloqi.com/IPhone_App#Control_.28.40jtbandes.29
11:25 <jtbandes> Yeah, ok, so that's the latest I have (none of incanus's work)
11:26 <aaronpk> ok great. incanus only did things in the Geonote panel, which doesn't exist in your version. Keep going on your version with the map panel.
11:28 <jtbandes> Alright, where should I be getting the points to display? from an API, or does it display the device's own location?
11:28 <aaronpk> refresh my memory, is there a local cache of points in the app yet? Or does it just send to the server every time the OS reports a location?
11:30 <jtbandes> Pretty sure it's just going to the server. I haven't done any work on the actual location tracking yet, just that controls UI
11:30 <aaronpk> Ok. The line should be drawn from the local cache of points so that it matches the data that is sent to the server.
11:31 <jtbandes> Show the points as soon as they're collected or as soon as they're sent?
11:32 <jtbandes> Actually, I guess that code needs to be written, for collection
11:32 <aaronpk> So when the app receives a point, store it in a cache and plot it on the map. Sending will happen at a separate interval based on "rate limit", it will send any points in the "unsent" queue.
11:32 <aaronpk> Guess that means there needs to be both a local cache of points as well as a queue for pushing to the server
11:33 <jtbandes> Yeah, so right now, the 3 sliders in Controls don't do anything. I suppose I'll update the core location manager to take them into account
11:34 <aaronpk> "distance filter" should be easy, that value gets passed to the code that requests location updates from the OS
11:35 <jtbandes> Yeah, that's built in
11:35 <aaronpk> it was already implemented in the original version from andpoul
12:01 <jtbandes> "NSArray *locationArray = [NSArray arrayWithObject:dictionary];"
12:01 <jtbandes> I take it I can just add more locations to the array per update?
12:01 <jtbandes> (for queueing)
12:01 <aaronpk> actually it would be better to use more permanent storage
12:01 <aaronpk> so that if the app is turned off or crashes before sending queued points to the server it won't lose the data
12:02 <aaronpk> like if you have the sending interval set to 15 minutes or something
12:02 <jtbandes> Yeah, I'll do that at some point
12:02 <jtbandes> But for the API call, it looks like it's just an array of points
12:02 <aaronpk> oh
12:02 <aaronpk> yea
12:03 <aaronpk> sorry, didn't know what you were talking about
12:11 <jtbandes> Is there or should there be a maximum number of points per API call?
12:15 <aaronpk> hadn't thought about that. I think if there is a maximum it would be ok to be pretty large, like several hundred kb of data
12:58 <jtbandes> Woah. Remember how the system wakes up the app with significant location changes? Apparently you can define boundaries for regions, where it'll notify you.
12:59 <aaronpk> whoa
12:59 <jtbandes> "The regions you register with the location manager persist between launches of your application. If a region crossing occurs while your application is not running, the system automatically wakes up your application (or relaunches it) in the background..."
12:59 <aaronpk> ok that's awesome
13:00 <aaronpk> so you could define regions around areas like "home" and "work" to guarantee you log the fact that you got home or got to work
13:00 <jtbandes> Yeah
13:01 <jtbandes> Or even load geonotes ahead of time...
13:02 <aaronpk> yea, wow
13:02 <jtbandes> Dunno if this is how it was planned, but in 4.0 there are also "local notifications" i.e. out-of-app popups like push notifications, only initiated by the app, not push
13:02 <jtbandes> So it could wake up in a geonote area, then show a notification immediately
13:04 <jtbandes> And these regions are circular with set center & radius, perfect
13:06 <aaronpk> nice!
13:07 <aaronpk> local notifications...so you can tell the OS to show a notification in a certain area??
13:07 <aaronpk> that's independent of re-initiating the app itself?
13:09 <jtbandes> No, a local notification just shows a popup. you can post them whenever the app is running, so they could be done in response to a location change
13:10 <aaronpk> oh gotcha. so when the app is running (in the background) you can make a popup that looks like a push notification?
13:10 <jtbandes> Yeah
13:11 <aaronpk> way cool
13:12 <jtbandes> So do we want to handle geonotes that way all the time, or just use that in conjunction with other stuff?
13:14 <aaronpk> hmm
13:14 <aaronpk> might make sense to do that. it will save on geonote delivery costs (SMS or push notifications being the other options)
13:15 <jtbandes> Yeah
13:15 <aaronpk> we'll just need a way for the server to send the geonotes to the app periodically
13:15 <jtbandes> Could use push to notify it
13:15 <jtbandes> In fact, I have some PHP for sending push notifications, I'll put it up if you want to use it eventually
13:16 <aaronpk> oh yea? we can send data to the app without making a push notification popup?
13:16 <jtbandes> Hm, good question
13:16 <jtbandes> actually you probably can't :/
13:16 <jtbandes> Maybe there could be a mechanism to load new geonotes in the response from the API call
13:17 <jtbandes> Or it could just be separate
13:17 <aaronpk> not sure if a "someone left you a geonote" push would be useful or just annoying
13:17 <aaronpk> but yea the API response could include geonotes
13:19 <jtbandes> It'd be ideal if a push notification could wake the app in the background
13:19 <aaronpk> ooh yea
13:24 <jtbandes> OK, looks like you can send one without a popup, but it won't launch the app
13:24 <jtbandes> However, if the app is already running you can handle it
13:25 <aaronpk> so if the app isn't running then nothing will happen?
13:26 <jtbandes> I guess not, besides that you get notified next time it launches
13:57 <jtbandes> OK, I think i've got the tracking & sending frequencies working
13:58 <aaronpk> hey cool
22:38 LoqiLog joined #geoloqi
22:43 LoqiLog joined #geoloqi
22:49 <jtbandes> Hah, and I saw @geoloqi is the 4000th follower of @twilio
22:50 <aaronpk> :)
22:50 <aaronpk> i jumped on that as soon as i saw it
22:50 <aaronpk> i mean loqi did
22:50 <Loqi> who, me?
22:50 <jtbandes> jtbandes gives Loqi a twilio t-shirt
22:51 <aaronpk> yea!
22:51 <Loqi> Loqi loves the twilio t-shirt
22:51 <jtbandes> hahaha.
22:51 <Loqi> nice