gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CoreLocation clone


From: Maxthon Chan
Subject: Re: CoreLocation clone
Date: Wed, 05 Jun 2013 08:05:50 +0800

Thanks, man, I will look into the triangulating issue. What I need now is a way 
to get the location calculated on a server.

Pretty much all issues around the API is solved:

* Interface will be provided using Objective-C CGI code running on top of 
Apache 2.2 and GNUstep (some svn version) on my server running 32-bit Ubuntu 
13.04 Server
* openBmap interfacing will be a cron job written in Objective-C.
* Database will be provided using either GDL2+MySQL 5.5 or 
CGIJSONObjects+mongoDB

Wish me good luck then. This project still need a name though.

在 2013-6-4,下午7:14,Ivan Vučica <address@hidden> 写道:

> Hi,
> 
> My GSoC project for this year is implementing Opal (that is, Core Graphics) 
> backend for GNUstep-GUI, so that part should not be a problem.
> 
> Right now I'm not very familiar with current drawing API (I'm about to become 
> VERY familiar with it) so I'm not sure, but it might also be enough to draw 
> maps.
> 
> I'd also suggest looking into implementing CATiledLayer in QuartzCore :-)
> 
> Regards,,
> 
> Ivan Vučica
> via phone
> 
> On 4. 6. 2013., at 08:27, Maxthon Chan <address@hidden> wrote:
> 
>> Here is a list of tasks to finish to make this into being:
>> 
>> 1) Enhance CoreBase, probably fuse it with Base or move a significant 
>> portion of code from Base, so that CoreGraphics will work properly;
>> 2) Implement CoreGraphics on top of Back and link against CoreBase;
>> 3) Rewrite GUI to employ the new CoreGraphics API;
>> 4) Implement CoreLocation. This may spin off a subproject to maintain an 
>> open WLAN AP geolocating server using data from OBM
>> 5) Implement MapKit that will link against GUI, CoreLocat;ion and 
>> CoreGraphins. CG is used to generate maps.
>> 
>> Tasks 4 can run parallel with tasks 1, 2 and 3.
>> 
>> 在 2013-6-4,下午2:06,Sebastian Reitenbach <address@hidden> 写道:
>> 
>>> 
>>> On Tuesday, June 4, 2013 02:45 CEST, Ivan Vučica <address@hidden> wrote:
>>> 
>>>> 
>>>> On 4. 6. 2013., at 01:02, Maxthon Chan <address@hidden> wrote:
>>>> 
>>>>> From what I know, you can use Android location services without Google 
>>>>> Maps app as tried on a home-brew Android device - this meant that 
>>>>> probably the locating API is not in the Google Maps app but in the system 
>>>>> itself, and can be safely extracted.
>>>> 
>>>> Indeed? What backend does that use? :-)
>>>> 
>>>> If the homebrew device has GPS on it, then the location API's 
>>>> functionality does not surprise me. If it, however, does not, then 
>>>> listening to traffic with Wireshark is in order to figure out whose terms 
>>>> of use you want to study before reversing the protocol :-)
>>>> 
>>>> From what I can tell, you can't actually check this on a retail device 
>>>> which comes with Google services, because these services can also provide 
>>>> information to the "android.location" API, not just the "Google Location 
>>>> Services for Android":
>>>>  http://developer.android.com/guide/topics/location/index.html
>>>> 
>>>> If it turns out it is based on WLAN stations, it still almost certainly 
>>>> uses an API endpoint that comes with terms of service. And if it's Google 
>>>> Maps Location API, then all I can say is -- just because a blind eye is 
>>>> turned when a Google-backed open source project (that is, the "Android 
>>>> Open Source Project" as it's called) uses the API - well, that doesn't 
>>>> mean they'll like GNUstep using it.
>>>> 
>>>>> For OpenStreepMap and OpenBmap, this would require a cooperation between 
>>>>> projects - they should be willing to back up our CoreLocation and MapKit 
>>>>> implementation.
>>>> 
>>>> Yes. From what little I know about OSM, it's primarily a data source; so 
>>>> we would also need someone to provide tiles (the rendered images 
>>>> themselves). An iOS app I know offers a choice between about 8 different 
>>>> tiling providers; it may be worth looking into that.
>>> 
>>> 
>>> I don't think you'd need an extra tiles provider. OSM offers an API to 
>>> query its database, and you get back an XML snippet describing the map. You 
>>> then can just render it on your own.
>>> I use qlandkartegt a lot, which is doing exactly this.
>>> 
>>> cheers
>>> Sebastian
>>> 
>>>> 
>>>> By the way -- I've just remembered MySTEP also has a MapKit implementation 
>>>> which happens to use OpenStreetMap:
>>>> http://projects.goldelico.com/p/mySTEP/page/MapKit/
>>>> 
>>>> Now, OpenBmap. OpenBmap doesn't actually provide a complete service; it 
>>>> primarily provides a database of MAC-to-geolocation mappings. This is 
>>>> great for what is needed for Core Location; one just needs to develop a 
>>>> good triangulation algorithm based on relative signal strengths of 
>>>> multiple MACs. Upload a list of MACs and signal strengths, get back the 
>>>> geolocation. :-)
>>>> 
>>>>> Have you ever noticed that there are lots of 3G network adapters for 
>>>>> computers that plugs onto a computers USB or ExpressCard port? For some 
>>>>> computer models (like Dell Latitude D620, as I have a really old one 
>>>>> still alive, kicking and serves my blog - shameless plug, 
>>>>> http://blog.maxchan.info/ - to everyone over the Internet) there are even 
>>>>> built-in ones?
>>>> 
>>>> Sure. Can you issue an AT command that will list all the cell tower 
>>>> identifiers along with signal strength toward that particular tower? Can 
>>>> you issue an AT command to get an identifier of just the tower you're 
>>>> connected to, so you can combine that with the current connection signal 
>>>> strength? :-)
>>>> 
>>>> That's the problem: you may be able to find the AT command on a particular 
>>>> dongle, but it's bound to be nonstandard and probably won't exist on 
>>>> whatever garbage operators around the world tend to sell. (For example, I 
>>>> had some... 'experience' with a dongle that came with OS X 10.5 drivers. 
>>>> These included libcurl... which, when overwritten on 10.6, broke 
>>>> loginwindow.app. Not a nice situation to be in. Even worse is spending a 
>>>> few hours on diagnosing that this is, indeed, the problem. *sigh*)
>>>> 
>>>>> The MapKit for OS X in question seemed used only public Google Maps API. 
>>>>> It is freely licensed as well, no key required and the author himself is 
>>>>> not in trouble as well.
>>>> 
>>>> Did you read Google Maps API terms of service and, more importantly, the 
>>>> billing information? Aside from decision to go "thermonuclear", financials 
>>>> are considered one of the reasons why Apple opted for rolling the infamous 
>>>> Apple Maps service.
>>>> 
>>>> Regarding the author of MapKit for OS X being sued: just because a tiger 
>>>> turns a blind eye doesn't mean you should go poking him with a stick :-)
>>>> 
>>>> Plus, aside from Google Maps API, you need to consider Google Maps 
>>>> Location API, which has no free tier apart from 100 requests a day. Hardly 
>>>> enough for any serious use.
>>>> 
>>>> On 4. 6. 2013., at 01:07, Maxthon Chan <address@hidden> wrote:
>>>> 
>>>>> And by what I say as crowd-sourcing, I mean ask users that are willing to 
>>>>> share for information. What we are asking for here is several numbers: AP 
>>>>> BSSID, transmission power, and its geological location (latitude and 
>>>>> longitude, as well as height). The request is done by the device 
>>>>> uploading a list of BSSIDs received and its signal strength, hence BSSID 
>>>>> never leaves our servers, and thus privacy issue avoided.
>>>> 
>>>> 
>>>> Sure; so the only people violating the privacy are -- we ourselves? :)
>>>> 
>>>> Plus, what happens when someone queries for location of MAC "XYZ"? We 
>>>> reveal the location -- which is the purpose of the API. Sure, that happens 
>>>> already: Google's doing it, Apple's doing it, Skyhook's doing it, OpenBmap 
>>>> people seem to be doing it. I'm just saying that it's private information, 
>>>> in a way. :-)
>>>> 
>>>> from the things-we-unknowningly-reveal dept:
>>>> 
>>>> I really liked it when, at my former workplace, we received a crash report 
>>>> for a game on OS X. Something ticked my curiosity and I playfully passed 
>>>> into Skyhook the several listed AP MAC addresses that OS X dutifully 
>>>> included in "full system report". Imagine my surprise when it turned out 
>>>> that Skyhook claimed the location was just across Apple's campus...
>>>> 
>>>> ...and yes, it did turn out it was a crash report from an Apple employee.
>>>> 
>>>> --
>>>> Ivan Vučica
>>>> address@hidden - http://ivan.vucica.net/
>> 
>> 
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev




reply via email to

[Prev in Thread] Current Thread [Next in Thread]