maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;) (https://talk.maemo.org/showthread.php?t=73068)

petur 2011-06-06 13:37

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by montun (Post 1023273)
The problem must be in the "cell tower change" configuration

I'm pretty sure that doesn't work yet, so set it to check at a certain interval

woody14619 2011-06-06 16:33

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1020264)
you'll find your WiFi network as a choice in the list of distances to autocheck in from. Lemme know if it explodes. (Note that also Latitude will be updated from the ZapLoc wifi locatoin in this case, keeping the GPS completely off all the time)

/Z


So, I'm a little confused. :(

If I set this as the "distance" on the spot, that's great. But how often does it check the wifi? Is that still determined by the check interval, but now I can just un-tick the "use cell tower info" & "use GPS" boxes and it will just go via wifi? Or is it tied into when the wifi connects? If the latter, should I change the check-in to "1 interval"? Or does that not matter for wifi?

I've got a couple spots set to it right now, and plan on going to lunch soon, so it should check me in within the next hour or so regardless. Just curious how I can expect it to work under the hood. So far, it's yet to auto-check me into anywhere this weekend, despite me being in 4 zones for hours each day, outside, using GPS with a 60 second timeout. :( (And yes, the daemon is running, confirmed via xterminal, and I was watching it, waiting for it to work. )

Gusse 2011-06-06 19:09

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Update Google Latitude isn't really updating location every hour even set to "at LEAST every hour". It think this counter should be a little bit shorter than 60min or 120min, etc... to guarantee that when set time limit is passed then update is also done during next connection.
Example: Counter to countdown 55min in case of update set to every hour and so on.

I hope you got the point :)
Otherwise working well.

MasterZap 2011-06-07 07:46

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by petur (Post 1023282)
I'm pretty sure that doesn't work yet, so set it to check at a certain interval

Well, it was supposed to work now, but isn't really well tested.

That the GPS icon doesn't turn off is normal; turning on location services in "cell tower only" mode still shows the icon.

/Z

petur 2011-06-07 07:47

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1023838)
Well, it was supposed to work now, but isn't really well tested.

ah, ok... my bad.

MasterZap 2011-06-07 07:53

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by woody14619 (Post 1023434)
So, I'm a little confused. :(

If I set this as the "distance" on the spot, that's great. But how often does it check the wifi? Is that still determined by the check interval,

Although there is asynchronous knoweledge of when the wifi is connected / disconnected (you'll see this in the verbose output), actual checkins etc. only happen on the "interval" times (otherwise you might accidentally check into your local starbucks while just walking past it; you have to be there for some time period)


Quote:

Originally Posted by woody14619 (Post 1023434)
but now I can just un-tick the "use cell tower info" & "use GPS" boxes and it will just go via wifi?

No, it actually won't let you uncheck it completely. I actually explicitly made code to disallow that. Never thought of that as useful. Remember tho that

a) cell tower positioning doesn't use any additional radios and hence takes no powerpower
b) if you ARE at a wifi, it never even tries neither cell nor GPS, *effectively* keeping them both off simply by virtue "I am on a known WiFi"

Quote:

Originally Posted by woody14619 (Post 1023434)
Or is it tied into when the wifi connects? If the latter, should I change the check-in to "1 interval"? Or does that not matter for wifi?

It still matters. Basically it's like this:

WiFi subsystem sends messages to the program "connected to blah" and "disconnetected from blah".

All my program does with THOSE messages is to remember in a variable "I am now connected to blah" or not.

The regular interval still appleis, only, it checks that same variable. If you are connected to "blah" and it's a known ZapLoc's wifi, then it will use that position, and skip turning the GPS on completely. Other than that, it will treat that location as any other location (check in if you've been there N intervals, set as latitude position, etc.)

Quote:

Originally Posted by woody14619 (Post 1023434)
Just curious how I can expect it to work under the hood. So far, it's yet to auto-check me into anywhere this weekend, despite me being in 4 zones for hours each day, outside, using GPS with a 60 second timeout. :( (And yes, the daemon is running, confirmed via xterminal, and I was watching it, waiting for it to work. )

Hmm, have you done the "verbose" output of the daemon thing? It is very talkative and explains pretty much every decision of the why/why not's of checking in or not "you are too far away", "you have only been here 1 interval" or "the phase of the moon is off"

Code:

python /opt/zaploc/zaploc-daemon.py -v


/Z

MasterZap 2011-06-07 08:09

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by petur (Post 1023839)
ah, ok... my bad.

Actually make this "not tested at all" :) - which is very close to "not working". Tho there is code to make it purely *theoretically* work.

EDIT: And it doesn't. Work, I mean. And even when it does work it seems rather meaningless, since the N900 seems to hop around to various cell towers quite often... much more often than you ever want to do updates..... I will remove this option in future updates. Consider it "nonfunctional" for now.

/Z

mrmoosehead 2011-06-07 14:58

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
First impressions, loving this app. Thanks.

MasterZap 2011-06-07 17:10

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by mrmoosehead (Post 1024209)
First impressions, loving this app. Thanks.

Thanks! :)

/Z

woody14619 2011-06-07 22:25

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1023840)
Although there is asynchronous knoweledge of when the wifi is connected / disconnected

Thanks for the explanation of how it works. It does make sense to do that. There is one thing to consider about A-GPS: The liblocation sub-library does send data to sup.nokia.com to ask where it's at given then tower list. Unlike the iPhone, the N900 doesn't cache that info locally to do local look ups. :rolleyes: So if the interval is really short it may eat some GPRS data if it's checking A-GPS location every 5 minutes.


Quote:

Originally Posted by MasterZap (Post 1023840)
Never thought of that as useful.

It could be if you don't want to generate the A-GPS data, but still want the auto-checking functionality based on the wifi info. I get having the interval to make sure you're not checking into a place if you pass it while walking past it. But I could see a use for allowing no GPS checking at all. If all the places you want to check in have wifi, there's no need to turn on GPS at all. Either you can see the wifi or you can't...

Quote:

Originally Posted by MasterZap (Post 1023840)
Hmm, have you done the "verbose" output of the daemon thing? It is very talkative and explains pretty much every decision of the why/why not's of checking in

I was unaware of the option. I'll give it a try to see if I can figure out why it's not working for me with GPS coordinates. I've been auto-checked in a few times now, but only to places where I've set the wifi network as the trigger area. Good news: Wifi based check-in works great! :D So I'll try the verbose mode, output to a file, to see what it's thinking about and why it's not liking the GPS enough to check me into places.

One question on the wifi checking: Is this based only on the SSID, or do you register the MAC address in some way as well? The reason I ask is that many commercial chains use the same name in various store locations. If it's just based on the SSID (say, "StarbucksWifi"), any time I hang out at any store in that chain, it will check me into my preferred store, not the store I'm physically visiting. If it's based on MAC, or a combo of the two, that would prevent accidental check-ins.

One comment: Not sure you're aware of this, but many people who use this are also likely to use a nav app on the phone. More than likely ModRana or NavIt. Both of those have settings to cache the tiles locally on the N900, and are happy to share those tiles with other apps. You may want to look that their threads to see how to access those tiles so you don't have to download them every time. It would speed up the app and allow better low-bandwidth use, when near the edge of GPRS signal range. :)

One small bug I've found: If the GPS fails to lock and I close the app before it locks, the app portion sometimes lives on in the background until kill it off. Even after killing it sometimes it's still flashing the GPS icon. I have to toggle offline to turn off the icon. It only seems to happen when I'm inside and can't get a lock, but it's happened often enough to be annoying.

Overall though, this is really a great program! I love the auto-checkin where it works, and even using it as a client to manually check-in most places is really nice thanks to the fluid interface. Very well done.

MasterZap 2011-06-08 05:46

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by woody14619 (Post 1024626)
There is one thing to consider about A-GPS: The liblocation sub-library does send data to sup.nokia.com to ask where it's at given then tower list. Unlike the iPhone, the N900 doesn't cache that info locally to do local look ups. :rolleyes: So if the interval is really short it may eat some GPRS data if it's checking A-GPS location every 5 minutes.

Yeah, but these are not many bits... surely if you have an N900 you are on a data plan :)

Anyway, as clarified above, if you are in wifi, it doesn't even try to start the GPS or celltower stuff at all.


Quote:

Originally Posted by woody14619 (Post 1024626)
It could be if you don't want to generate the A-GPS data, but still want the auto-checking functionality based on the wifi info.

Oh yeah. I just said "I never *thought* about that as useful", emphasis on "didn't think about that". It's actually quite clever, and I will try to support that in a next version.

Quote:

Originally Posted by woody14619 (Post 1024626)
I get having the interval to make sure you're not checking into a place if you pass it while walking past it. But I could see a use for allowing no GPS checking at all. If all the places you want to check in have wifi, there's no need to turn on GPS at all. Either you can see the wifi or you can't...

Right. Agreed. I'll do it. Heck, WiFi is actually more useful than cell location (I never really found cell location useful at all, but users explicitly wanted it, so it's in there as an option....)


Quote:

Originally Posted by woody14619 (Post 1024626)
I was unaware of the option. I'll give it a try to see if I can figure out why it's not working for me with GPS coordinates. I've been auto-checked in a few times now, but only to places where I've set the wifi network as the trigger area. Good news: Wifi based check-in works great! :D So I'll try the verbose mode, output to a file, to see what it's thinking about and why it's not liking the GPS enough to check me into places.

Yeah, the verbose mode is quite useful for debugging. It was funny, though, if you archeologize through this thread, there was once a bug in that I had - by pure accident - put code that actually did work inside the verbose printout section, meaning... any time you turned on "verbose printout" everything worked... when you turned it off - it stopped working. Quite a debugging aid :) That's fixed now, tho.

Quote:

Originally Posted by woody14619 (Post 1024626)
One question on the wifi checking: Is this based only on the SSID, or do you register the MAC address in some way as well?

It is actually based on what the Maemo "conic" library considers the "id" of the connection. I am not terribly certain what that is, but it is most certainly NOT the SSID (it's some long hex-number, but much longer than a mac adress)

I think it is the number is a database id in the connection database in Maemo (pure guess, though), and if so, maybe, then, if all Starbucks connect to the same Starbucks access point in your phone, there may be problems here, and I will need to start checking Mac's or somesuch (no idea how to do that, though....)

So I personally do not know if this id is per-basestation-unique or not; tests on this would be quite helpful. In "verbose" mode it informs you of any connection/disconnection events including spitting out the stupidly long hex-number-thingy, so if someone who lives somewhere where, say, multiple Starbucks exists, could test this, it would be... useful.


Quote:

Originally Posted by woody14619 (Post 1024626)
If it's based on MAC, or a combo of the two, that would prevent accidental check-ins.

Right. Unfortunately I don't know the exact meaning of the conic library's "id" number.

Quote:

Originally Posted by woody14619 (Post 1024626)
One comment: Not sure you're aware of this, but many people who use this are also likely to use a nav app on the phone. More than likely ModRana or NavIt. Both of those have settings to cache the tiles locally on the N900, and are happy to share those tiles with other apps. You may want to look that their threads to see how to access those tiles so you don't have to download them every time.

I do already cache the tiles, and I share the format (basically directory structure under /home/user/MyDocs/.maps/) with what CloudGPS uses. Not sure what ModRana or NavIt uses, though, but it wouldn't surprise me if it is already the same. I'll check those threads out. EDIT: It seems to be the same, so this is already in. Yay.

Quote:

Originally Posted by woody14619 (Post 1024626)
One small bug I've found: If the GPS fails to lock and I close the app before it locks, the app portion sometimes lives on in the background until kill it off

Interesting. Not sure why it would do that... perhaps a bug in the location subsystem, not liking to be turned off at some certain "point" in it's startup, or something?

I'll check the code, but I think I'm trying to shut the GPS down properly when exiting. Tho if there is an actual crash, my exit code may not always run.

Quote:

Originally Posted by woody14619 (Post 1024626)
Overall though, this is really a great program! I love the auto-checkin where it works, and even using it as a client to manually check-in most places is really nice thanks to the fluid interface. Very well done.

Thank you sir.

It all started as a toy for myself, and learning som oauth coding, and learning some heavier Python coding..... well frankly, it all started with me trying to teach my kid programming, and beginning work on a game.... (which you guys may see the results of some day... maybe...)

/Z

woody14619 2011-06-08 18:58

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1024752)
Yeah, but these are not many bits... surely if you have an N900 you are on a data plan :)

Yes and no. :) Not all countries have "all you can eat" plans, so trimming usage is not a bad thing. But you're right in saying this probably won't break the bank. Allowing it to be turned off may be nice though.

Quote:

Originally Posted by MasterZap (Post 1024752)
It's actually quite clever, and I will try to support that in a next version.

Happy! :) The Wifi check-in part has been working quite well, just FYI. :)

Quote:

Originally Posted by MasterZap (Post 1024752)
there was once a bug in that I had - by pure accident - put code that actually did work inside the verbose printout section,

I've seen that often enough to avoid doing that in code I make. I always make the debug info, and use macros to do the dirty work of logging it. When debugging, the only delta is that a file is opened vs not, and that only happens in the macro-coded area. :) That prevents code from not getting called when debugging vs not most times.


Quote:

Originally Posted by MasterZap (Post 1024752)
It is actually based on what the Maemo "conic" library considers the "id" of the connection. ... So I personally do not know if this id is per-basestation-unique or not; tests on this would be quite helpful.

I have at least 3 Paneras between home and my summer retreat, all with wifi with the same SSID. I'll check on the way there Friday to see what it says if someone doesn't beat me to it. :) On the way back I'll have it registered to connect to see if that makes a difference?

Quote:

Originally Posted by MasterZap (Post 1024752)
I do already cache the tiles, and I share the format (basically directory structure under /home/user/MyDocs/.maps/) EDIT: It seems to be the same, so this is already in. Yay.

Yes and no. :) In tile mode they do all share. ModRana has a faster method using sqlite to store the tiles in one large file (or sets of large files). They take far less space on the device that way, and are just as quick as file access (faster in some cases). Guess which one I have my ModRana set to... :rolleyes:

I may have to switch back to tiles to cache the local area. I may also need to watch what zoom level I'm on, since that may be different between navigating and four-squaring. :)

If you get ambitious, MartinK does document the format of the table he uses in sqlite to store the tiles. It's rather simple to access, from what I've read. But frankly for the limited area I use ZapLoc in, I can do two sets of tiles. :)

Quote:

Originally Posted by MasterZap (Post 1024752)
Interesting. Not sure why it would do that... perhaps a bug in the location subsystem, not liking to be turned off at some certain "point" in it's startup, or something?

Wouldn't surprise me one bit. The GPS subsystem was clearly not as polished as the rest of the system when in launched, since "A-GPS" wasn't even seeding a rough-guess location to start from in PR 1.0. It's also one of the least used features, right next to the motion detection gizmo in priority. Still, better than the FreeRunner. ;)

Quote:

Originally Posted by MasterZap (Post 1024752)
Thank you sir.

It all started as a toy for myself, and learning som oauth coding, and learning some heavier Python coding..... well frankly, it all started with me trying to teach my kid programming, and beginning work on a game.... (which you guys may see the results of some day... maybe...)

Thank you! And if the game is half as good as this app, I'm sure it will be quite popular. :) I'll let you know when I have results from the wifi stuff, probably Monday, unless someone beats me to it. Thanks again!

MasterZap 2011-06-09 16:22

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by woody14619 (Post 1025259)
Happy! :) The Wifi check-in part has been working quite well, just FYI. :)

Build 53 will now allow "WiFi only" positioning. To use it, you must associate each ZapLoc with some wifi network you are connected to there, and then it will only send positions to latitude and/or check in, when you are on those WiFi networks. (Note that you must be *connected* to the network, not just be randomly near it, the conic library deals in connections, not what's in the air around you. I think polling what is in the air around you takes battery power, cpu and time, whereas just acknoweledging the fact that you are connected takes neither)


Quote:

Originally Posted by woody14619 (Post 1025259)
I've seen that often enough to avoid doing that in code I make. I always make the debug info, and use macros to do the dirty work of logging it. When debugging, the only delta is that a file is opened vs not, and that only happens in the macro-coded area. :) That prevents code from not getting called when debugging vs not most times.

Right, except I want to avoid CPU load to minimize battery, so I don't even want to *compute* the text when not in verbose mode. Yeah, I'm nerdy like that.

Quote:

Originally Posted by woody14619 (Post 1025259)
I have at least 3 Paneras between home and my summer retreat, all with wifi with the same SSID. I'll check on the way there Friday to see what it says if someone doesn't beat me to it. :) On the way back I'll have it registered to connect to see if that makes a difference?

You need to actually connect, as per above.

But debugging of this would be useful (tho I could probably set up a test using an extra router in the house with the same SSID or something... some day... maybe)

Quote:

Originally Posted by woody14619 (Post 1025259)
If you get ambitious, MartinK does document the format of the table he uses in sqlite to store the tiles.

I'm NOT really feeling THAT level of ambition tingling in me. The tile cache size has never bothered me, since you tend to stick to a rather small area in practice anyway.....

/Z

woody14619 2011-06-09 22:21

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1025849)
Build 53 will now allow "WiFi only"

Thanks!

Quote:

Originally Posted by MasterZap (Post 1025849)
Right, except I want to avoid CPU load to minimize battery, so I don't even want to *compute* the text when not in verbose mode. Yeah, I'm nerdy like that.

I figured out a while ago that spending 2 or 3 releases trying to find such a bug is generally worth the extra micro-amp it takes to leave the strings in. Back in the day of sub Mhz processors and 64K of ram, it was worth it, but today? But, to each their own. :) Variety of style is why we have such different systems already today, and that's a good thing IMHO.

Quote:

Originally Posted by MasterZap (Post 1025849)
I'm NOT really feeling THAT level of ambition tingling in me.

Figured as much, but figured it wouldn't hurt to mention it. ;)


So, as for the GPS thing: After watching the debug logs for a while, I think I've figured out what's going on. I think the cell-tower thing is actually hurting my chances, so I'm trying it now with that turned off.

What the log showed was, I would often turn on, get Mode 0 stuff (cell tower), then about 25 seconds in, I'd get a "GPS lock" Mode 3, with either a "error" that was too large (>50m), or I'd get something pretty close, between my actual position and where the cell tower said I last was, but it would commonly be JUST outside the window for the spot (52.5m for a 50m spot).

My best guess is that the first "lock" signal is offset by the system trying to pre-feed the location info from the cell tower location (aGPS), and that's what's killing it. So, I'll try it with that off and see if it takes longer to lock and/or if it comes back with a better first coordinate.

Maybe a good idea would be an option to ask for an update or two from the location system after a lock and see if it eventually stops "moving"? That would also cut down on the "just passing by" issues too maybe?

I'll play with the wifi ID thing later this weekend and post results. Thanks again!

MasterZap 2011-06-10 12:50

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by woody14619 (Post 1026092)
I figured out a while ago that spending 2 or 3 releases trying to find such a bug is generally worth the extra micro-amp it takes to leave the strings in. Back in the day of sub Mhz processors and 64K of ram, it was worth it, but today? But, to each their own. :)

The day we stop caring about every cycle and think "the machine is fast enough" is the day that... well actually that is today, come to think of it. Is your 8 core multi-gigahz computer REALLY faster then that 64k sub Mhz machine? :)


Quote:

Originally Posted by woody14619 (Post 1026092)
So, as for the GPS thing: After watching the debug logs for a while, I think I've figured out what's going on. I think the cell-tower thing is actually hurting my chances, so I'm trying it now with that turned off.

You still receive cell towers first, though, that's how the location system works. It'll just ignore them more... as in... when it gives up (after the timeout), it simply rejects a tower sample in GPS-only mode, whereas if cell is checked, it accepts the last sample even if it's a tower when the timeout arrives.

I toyed with some code long ago that basically forces the GPS to take 2 or 3 samples, but took it out. On your message I tested to reinstate it, and noticed that more samples doesn't *necessarily* mean better accuracy, i.e. if I wait for the third sample, it's quite probably the third is worse than the 1st!

So I see two very simple "fixes" to this issue:

ONE: Decrease the "minimum accepted accuracy" (which is currently 150 m and hardcoded) and perhaps make it configurable ... but I don't want to overburden the user with lousy configurations that only nerds care about :(

or

TWO: When searching for nearest point, add the accuracy to the search, i.e. if it's within 52.5 meters, but your accuracy is 30m, well, consider it a hit anyway.

That has other dangers, but is surely easy to implement.

Quote:

Originally Posted by woody14619 (Post 1026092)
What the log showed was, I would often turn on, get Mode 0 stuff (cell tower), then about 25 seconds in, I'd get a "GPS lock" Mode 3, with either a "error" that was too large (>50m), or I'd get something pretty close, between my actual position and where the cell tower said I last was, but it would commonly be JUST outside the window for the spot (52.5m for a 50m spot).

I noticed 50m is quite cramped, and 25m may even be useless because the accuracy, even on a good day, is probably worse than 25m.

Quote:

Originally Posted by woody14619 (Post 1026092)
Maybe a good idea would be an option to ask for an update or two from the location system after a lock and see if it eventually stops "moving"? That would also cut down on the "just passing by" issues too maybe?

See above... I kinda tried that... but... accuracy doesn't by necessity increase.... until after MANY samples... which causes you to have the GPS on longer... which drains battery.... completely counter to the whole idea of this program (NOT to suck battery, if it can avoid it).

Quote:

Originally Posted by woody14619 (Post 1026092)
I'll play with the wifi ID thing later this weekend and post results. Thanks again!

That would be Most Helpful, thanks.

/Z

ndi 2011-06-10 23:14

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1026448)
The day we stop caring about every cycle and think "the machine is fast enough" is the day that... well actually that is today, come to think of it. Is your 8 core multi-gigahz computer REALLY faster then that 64k sub Mhz machine? :)

Yes, yes it is. I remember back then I had music as ADPCM WAV because playing MP3 took most of my CPU. I remember 5M/s disk sounded fast. I remember being afraid to move a mouse when writing a CD. I'm running at the same speed, so I still expect some things to take under the accepted no-wait 300 ms - but power? I have that.

As for optimization, it matters where. Some things are better left as they fall, others aren't. On my quad core OC machine I ended up unrolling loops to squeeze the last fraction out of an algorithm. If it's the algo that compares pixels in an image similarity construct that batch-compares all images in a folder to all others detecting similar pseudo-dupes, you better believe it. It has assembler in it.

And what's nerdy about knowing that you have squeezed 2 more ticks out of a loop when sitting on a water cooled, barely-stable, one degree away from failure, billion bytes juggling machine? Nothing I say.

Now if you'll excuse me, I have a grin to wipe off my face.

mutanta 2011-06-11 20:39

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Hi
When i start the program have message " HTTP Error 400 Bad request :( "
Can you help me?

MasterZap 2011-06-13 08:04

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by mutanta (Post 1027318)
Hi
When i start the program have message " HTTP Error 400 Bad request :( "
Can you help me?

Immediately? On first start??

Strange. I have no idea really :(

/Z

MasterZap 2011-06-14 11:48

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Facebook did something to their places search, so I have to search w. a smaller radius for it to work properly. Fixed in build 55, which also allows listing of "homes" on FourSquare (these are otherwise hidden by default). This is off by default, though, change it in the "ZapLoc Checkins" config screen.

Enjoy.

Or not :)

/Z

woody14619 2011-06-14 22:07

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quick note: Did not get to check the chain thing. Will check it tonight if I can. :) Sorry for the delay. Been a crazy weekend. :p

morti 2011-06-16 10:39

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Checked the behavior with multiple access points with the same SSID today, and confirmed that it's NOT working correctly (0.9.4-53).

The scenario: I have set up a ZapLoc autocheck-in with the wlan access point at our office in city X. I also have autoconnect on to that network, so when I arrive at the office, I'm automatically checked in to foursquare etc., as well as to the exact latitude spot. This is perfect, as the building is too thick to otherwise get a gps fix, and my battery would be drained quickly.

Today I went to our office in city Y. My phone automatically connected to the local wlan with the same SSID as in the other office, which is how it's expected to work. Unfortunately, however, I was then checked in to the office in city X, and my latitude location naturally was also updated to that spot.

In summary, you should use something in addition to the SSID to determine whether it's really the same place. I'm concerned about using the MAC address though - in my case, our offices as well as the university campus, for example, use one SSID for the entire area, but with multiple (a lot of) access points. A simple MAC address comparison would only allow setting up auto check-in for that particular access point, in my understanding.

A better solution in my case would be to use in addition to the SSID the cell tower you're connected to - this should ensure that you're in the same general area as when you set up the auto check-in, not in a different city at least.. but then again for many of us the cell tower also varies throughout the day, even if you're staying in one spot. Any other suggestions?

MasterZap 2011-06-16 11:38

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by morti (Post 1030138)
Checked the behavior with multiple access points with the same SSID today, and confirmed that it's NOT working correctly (0.9.4-53).

Too bad. Not sure what I can do about it without imposing a battery drain... :/

Quote:

Originally Posted by morti (Post 1030138)
In summary, you should use something in addition to the SSID to determine whether it's really the same place. I'm concerned about using the MAC address though - in my case, our offices as well as the university campus, for example, use one SSID for the entire area, but with multiple (a lot of) access points. A simple MAC address comparison would only allow setting up auto check-in for that particular access point, in my understanding.

Right. But in most run-of-the-mill cases, that would be sufficient. Large campuses will have to resort to GPS, simply... or something.

Quote:

Originally Posted by morti (Post 1030138)
A better solution in my case would be to use in addition to the SSID the cell tower you're connected to - this should ensure that you're in the same general area as when you set up the auto check-in, not in a different city at least.. but then again for many of us the cell tower also varies throughout the day, even if you're staying in one spot. Any other suggestions?

Yeah, for me, cell tower keeps jumping like a rabbit on steroids between 4 different towers around me, so that would be quite useless.

I really don't have a particularily great idea. If I can figure out the Mac address and tie it to this as well, without sucking power, I will try this, but it WILL then only work for one access point.

I really don't have the energy to code a whole new layer of location features that should have been in the location layer in the first place anway... .I think one needs to be happy there is WiFi positioning at all :)

/Z

morti 2011-06-16 12:51

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1030180)
I really don't have a particularily great idea. If I can figure out the Mac address and tie it to this as well, without sucking power, I will try this, but it WILL then only work for one access point.

I really don't have the energy to code a whole new layer of location features that should have been in the location layer in the first place anway... .I think one needs to be happy there is WiFi positioning at all :)/Z

Yeah, don't get me wrong - tying into the MAC address would be great already, and would fix the most severe problems. I hope you can make it work without too much effort.

woody14619 2011-06-16 17:59

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1030180)
Too bad. Not sure what I can do about it without imposing a battery drain... :/

Sadly, getting the APN mac address (aka BSSID) is only available at the time of a scan. :( That would mean initiating a scan, or... using this brilliant idea:

One thing you could do it just register for the dbus signals for when the device does a scan, without initiating one yourself. That would let you "piggy back" on what the system is already doing without using much extra power.

With libconic you can register just certain signals, including the scan result signals. In fact, that's how most things scan wifi: Setup a signal sink, initiate a scan, parse/record the flow, timeout eventually or periodically re-initiate the scan.

Thing is, you don't have to actually initiate a scan to listen to the signals. Just register on the signal to get scan results, and when anything else in the system calls out for a scan, you get the results forked to you as well "for free" (minus some minor CPU usage to parse said signals).

The signal you'd want to register (probably via libconic) is:
Code:

com.nokia.wlancond.signal /com/nokia/wlancond/signal scan_results
There's code showing an example of how to parse the signal data here. (Sorry, it's in C, couldn't find anything in python.)

This would also give you the option of seeing what's around you, and not just what you're connected to. All without using any more battery than what's already being used by the system (plus the cpu time used to parse the dbus messages).

Optionally, you could also "remember" the last list to aid in making the drop-down of wifi access point(s) in the creation/edit dropdown Or, if you didn't want to do that, you can always initiate a scan yourself, say as the user creates a zaploc point and it's querying the services for similar venues, it could also scan for APNs around the user right then.

Quote:

Originally Posted by MasterZap (Post 1030180)
If I can figure out the Mac address and tie it to this as well, without sucking power, I will try this, but it WILL then only work for one access point.

Actually, using the scan info, they would only have to "see" the other point. Even if the system chooses to connect another APN because it's closer, the others would probably still be in the list, for small areas. For large areas like a campus, you'd probably have different points setup in various areas anyway (dorm, cafeteria, classrooms, etc). But for small companies (with 3 or 4 repeaters) getting one or two from the "middle" of the building would probably still be seen in the scan list, even if it's not connected to due to signal strength.

Also, you could optionally remember all BSSID with a matching SSID together as one point. That would increase the general area one could be in to auto-register while simplifying the user interface. (One choice for "CompanyWifi", remembering all 3 BSSID with it.) It may complicate your internals, making it a list of SSID/BSSID to check against vs just one. That's a feature/effort trade off I suppose. :p

Quote:

Originally Posted by MasterZap (Post 1030180)
I think one needs to be happy there is WiFi positioning at all :)

I think we are all quite grateful to have such a wonderful application and a dedicated developer! And yes, having any Wifi (or the option of auto-check-in capability at all) is a great thing. I think I speak for most here when I say we're very happy for all the work you've put into this already, as it really is a great application!

We're just coming up with ideas that could make it all the better from a user perspective. If it stays static where it is now, I'm still quite happy to have it, and will continue to use it. (I' happy to have a service like FourSquare at all, an app to use it vs the crappy web interface rocks!) Having additional functionality will just make me more likely to use zaploc to it's fullest. :)

MasterZap 2011-06-17 07:23

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Hole Useful Information Dump, Batman! THANK YOU.

I won't have time to do much about this any time soon though, but I'll take a look. Another thought that struck me is that I can simply do a scan on the connection event, which happens once, rather than every X minutes, and try some assumptions from there.

We'll see. Won't happen quickly, tho.

/Z

MasterZap 2011-06-17 17:13

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
I did a quick experiment of this and it didn't seem to work; it seems the code only sees the notification of scanning it itself initiated... I have no idea why :(

/Z

MrChris 2011-06-17 21:02

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by mutanta (Post 1027318)
Hi
When i start the program have message " HTTP Error 400 Bad request :( "
Can you help me?

I also have this problem, only for finding facebook places though. It still finds Foursquare and ZapLoc locations with no problems.
If I look for facebook places I only get the above message.
only been happening approx the last 3 days or so, possibly since the last software update? Any help gratefully appreciated - and thanks for a fab app!!

MrChris 2011-06-18 12:30

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MrChris (Post 1031123)
I also have this problem, only for finding facebook places though. It still finds Foursquare and ZapLoc locations with no problems.
If I look for facebook places I only get the above message.
only been happening approx the last 3 days or so, possibly since the last software update? Any help gratefully appreciated - and thanks for a fab app!!


further to this, it will find Foursquare & ZapLoc locations but won"t check into them on Facebook... it says it's doing the check-in but doesn't.
If it helps, when you go to the Set Up services menu, it shows Gowalla and Foursquare, but just hangs now and doesn't bring Facebook up any more...
Am on v55.

Cheers!

MasterZap 2011-06-19 11:05

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Have you tried to force a re-authorization with facebook? Maybe even go into facebook itself and explicitly remove ZapLoc in there, and then re-authorize it?

/Z

MrChris 2011-06-19 17:02

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
I can't find anything specifically relating to ZapLoc in Facebook to remove? Could that be the problem? I can find the application itself but no options to either add/remove or allow/remove access?
I must have allowed it access previously for it to have worked, but it doesn't appear in my list of facebook apps so I can't remove its access?
I did have two apps called 'Nokia N900' in facebook which I removed, then removed ZapLoc from my N900.
I then reinstalled ZapLoc and the first time I went into the 'Set up Services' menu in ZapLoc (the menu where you tick the boxes to allow access to Gowalla, Foursquare, Facebook, Twitter) it showed all four of the services and Facebook was there and ticked. Then when I went back to the map screen to try and check in first of all I got HTTP Timeout and now I'm getting the HTTP 400 Bad request :( message again.
Also when I try the set up services menu again, it comes up with Gowalla and Foursquare again, but then hangs and doesn't bring up Facebook and Twitter. I have to switch to phone mode and terminate the app while it's minimised as it just hangs there at that point...

Thanks

MasterZap 2011-06-20 08:48

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Hmm, I don't know, go to xterm and delete the file /home/user/.zaploc/facebook.dat, e.g.

Code:

rm /home/user/.zaploc/facebook.dat
BTW, ZapLoc should be shown as "Zap's Location Updater for N900" in facebook.

I really don't know what is going on for you :(

What version of ZapLoc are you running?

/Z

woody14619 2011-06-20 15:38

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
FYI, Just checked by loading Zaploc on my N900 and it seems to check into facebook fine, so it's not a protocol issue. I'm betting it's a permissions issue on individual facebook accounts.

Also, good to know that the connection data for each service is in the .zaploc folder. Worst case if I can't connect to a service, deauthenticating and removing the files there should reset everything for that service, yes? :) Always good to know how to do that, since sometimes services change how things work under the hood and re-auth is needed to make it go.

I had problems with the N900 service updating pictures until I did this with that connection on FB and on the device. (And that was much harder, involving teh gconftool to remove entries. :p )

theLephty 2011-06-20 17:58

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
the facebook part of zaploc stopped working for me as well, whenever I tried to load up facebook places, it just had an error 404 frowny face something... and if I tried to go look at ATTACHED SERVICES it hung forever on the facebook part.

doing the
rm /home/user/.zaploc/facebook.dat
then re-authorizing has it back to normal, thanks :-)

MrChris 2011-06-21 21:20

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Hi, thanks, this is working again now after doing the m /home/user.zaploc/facebook.dat too... although it didn't seem to have done anything the first couple of times I tried using ZapLoc after doing this? Kinda gave up and was scratching my head, then tried it again today on the off chance and it asked me to reauthorise and is now working fine again.

Thanks for your help.

MasterZap 2011-06-22 07:14

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Good.. it IS possible it was an issue on Facebook's end... I know they have been doing some strange changes to how the search returns results (for which I added a workaround in build 55) and maybe they broke someting else while mucking about with that? I dunno.

I try to make my software as robust as possible, but it's pretty hard to know what kind of errors various sites may decide to return in various conditions, there isn't like there is a magic "test mode" where I can force facebook to throw errors at my app for testing. (They should have exactly that, though, would help developers immensly)

/Z

MrChris 2011-06-22 14:40

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Quote:

Originally Posted by MasterZap (Post 1035649)
Good.. it IS possible it was an issue on Facebook's end... I know they have been doing some strange changes to how the search returns results (for which I added a workaround in build 55) and maybe they broke someting else while mucking about with that? I dunno.

I try to make my software as robust as possible, but it's pretty hard to know what kind of errors various sites may decide to return in various conditions, there isn't like there is a magic "test mode" where I can force facebook to throw errors at my app for testing. (They should have exactly that, though, would help developers immensly)

/Z


Yeah I guess you're just having to react every time they go meddling with things without informing you what they've done! Thanks again.

jgbreezer 2011-06-26 13:56

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Great app! Thanks so much for all the huge efforts developing and talking on here to us about it and debugging issues despite it only starting as a personal project. I started an app ages ago and got it basically usable before I lost the code for the latest version and then gave up..

I've been hunting for something like the Duke-Nukem-Forever-esque-in-delays (except that's now out, damnit) Shepherd that was in development to do locationy stuff and doing something when I'm at a place, so I'm wondering how easy it is to repurpose this to make it do something different instead of updating location-services. Queen Beecon now has location stuff but the docs don't make it easy and nothing else really matches it. I prefer the features this has to the latitude script that updates on cell-towers. Maybe I could strip unused parts out of the daemon and rewrite a UI (prob. in Gtk, or I'd learn Qt).


Excuse the long and aggregated-comments post, but having just read the whole thread...

Quote:

Originally Posted by MasterZap (Post 1008037)
It's suprisingly hard (unless there is a bleeding obvious method I am unaware of) to figure out what *debian level* packages are dependencies on a python app... :/
/Z

You figured this out? I know there are ways using other tools/apps for the purpose. You probably haven't added any libs for a while to test this with.

Quote:

Again, the whole code is backwards compared ot what it needs to be for cell tower anyway, GPS continously feeds coordinates, and never stop until I tell it, so I can simply measure time until X time has past and stuff like that. For cell, it only sends data if it changed. Having the "on-changed" callback as the root of my code is the root of the problem.
Did you fix this? Wasn't sure from the posts between then and now - I think you could probably set a timer callback somehow or use the signal stuff to receive a SIGALRM with the appropriate system call (which there must be a python equivalent of). Or better ways..

Do you still exec a "ps" and grep/awk it? Do we have pgrep on maemo? (aha.. yes we do, answered my own Q!) That might be simpler if so (not sure how much detail you need). Simpler/less work for the system. Google for the man page/usage.

jgbreezer 2011-06-26 23:18

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
PS all working great, but the first run after I installed it, I went straight to Latitude and enabled it, then clicked the now-green Authorise button; it then just hung showing the busy 0101011-thingummy waiting animation. No browser opened, nothing happened at all. I had to kill it as the "Cancel" (or Abort or whatever it was) button didn't do anything.

When I tried again it did exactly the same thing; when on the next run (this is all having not yet rebooted the N900 since I installed it), I went to facebook places first - that worked just fine. Once I'd auth'd facebook, latitude then worked and opened a browser, but that might be a bug to look at. Unless my browser was just acting up (its the regular microb, no browser switchboard or anything I can think of that might mess with running a browser from an app).

njsf 2011-07-12 13:27

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
If one removes the /home/user/.zaploc directory, apparently some other configuration breadcrumbs are left that lead to Zaploc not to recreate it and then authorizing services does not proceed after the browser window states it can be closed.

If one then creates /home/user/.zaploc directory manually, all works well.

mr_jrt 2011-07-16 13:36

Re: [Announce] ZapLoc - a Gowalla/Foursquare/Facebook places/Latitude aggregator - "All your location based services are belong to us" ;)
 
Don't suppose you know why loads of Facebook places don't show up for me in the program? Case in point somewhere like "Bushey Railway Station"

Additionally, Latitude shows up no icons whatsoever, even for places that have places in Google's database, like this pub.

...any ideas?


All times are GMT. The time now is 21:00.

vBulletin® Version 3.8.8