n76 / DejaVu

Yet another network location backend for the UnifiedNLP/microG project
GNU General Public License v3.0
100 stars 18 forks source link

[feature request]: add sharing abilities #13

Open herrdeh opened 6 years ago

herrdeh commented 6 years ago

I like this project and immediately installed it to my phone, it already greatly improved location accuracy. IMHO, the "self-learning" approach is the highway to heaven. As well I like taking WiFi and GSM together, it no longer makes sense to have distinguished WiFi and GSM backends. Therefore - thank you very much for your work.

But (sorry for the "but", but inavoidable): Why should the achieved results not be shared amongst the users - in the case they want to? And why should every user build his own database from scratch? (Nobody will do anyway, but use several location backends at the same time, not knowing how they will interact, as I do now - now I have 3 backends, which may not be the optimal solution)

So - these are my thoughts on enhancements (certainly nothing new to you):

Sorry, this requires quite some controls and switches in the app. But as we're not iphone users, we should be able to handle them.

Chers, Wolf

n76 commented 6 years ago

I really want to keep Déjá Vu simple for users. My hope is that with projects like LineageOS with microG we can start expanding the user base to less technically minded users.

Perhaps the way to meet you desires and/or those expressed in the import/export issue, would be:

This would allow power users or people who want to share data the ability to do so but still leave the Déjá Vu with no need for a confusing UI.

gdt commented 6 years ago

I am moderately onboard with the simple notion. But, I very strongly believe that a key property is privacy, and the current setup achieves that (modulo having a location history stored on the phone itself). Sending data to services like radiocells is sometimes ok and sometimes not, and that's difficult. I don't think it's going to be easy to encode the right logic into the app. This is exactly why, despite having some of the same thoughts as @herrdeh, I asked about export/import, because then I could experiment with whatever processing is needed, without having to adjust the basic DejaVu behavior.

For my own use, I'm ambivalent between a second app to export/import and options in the (missing) config screen.

The seed database idea makes sense, but I think you get that by using the openbmap backend also.

It would also be interesting to have another backend, that just turns on GPS, if battery run rules allow and some configurable filters find network data not good enough. But that seems out of scope of DejaVu.

herrdeh commented 6 years ago

Allright, a split into two parts may be a good idea.

But I'm quite certain - the dummy user will not like a location service, which, when installed first, will not provide any location service and then slowly improve over many months. And which will never deliver location services at places the user has never been before. So I still belive that a to-begin-with database has to be delivered at the very beginning.

Maybe making it easy is more about creating a smart setup wizard instead of leaving out features and controls?

gdt commented 6 years ago

Discussing user expectations is hard, but a key point of the location provider achitecture is that multiple providers can be installed at once. So there is no reason to install only DejaVu. In addition to the privacy property, another feature of DejaVu is that storage is only used for places your phone has been. Adding 1 GB of openbmap data would break that.

Actually, I find that DejaVu becomes useful very quickly, if one drives with GPS on. To me, a classic case is navigating someplace new with OsmAnd and then going inside; localwifi always did that well and this weekend DejaVu had good locations inside the building as well.

So perhaps it would be useful if you explained how you came to believe that people should install only one provider, rather than the approach (which is obvious to me, having years of UnifedNLP context) of installing both a downloaded-database provider and DejaVu together. Then we could add a hint to the documentation to explain this.

herrdeh commented 6 years ago

Thank you for your thoughts. Having been with UnifiedNlp now for years as well, to me the hardest part still is to decide between location providers. Actually, I only recently noticed that those I used do NOT have the self-improving feature.

To me, Deja-vue has got the potential to be "the one and only.", THE standard solution, with which most users can be happy out of the box. So all the other ones can be left to experienced users with special interests.

Core features to make it easy are:

So it just needs a to-begin-with database and it's ready to make quite a lot of people happy. Adding the sharing features wojuld be bonus for the more ambitious ones.

herrdeh commented 6 years ago

I created a very simple tasker profile (two working together, to be precise) in order to speed up the build-up-the-database process. It does not more than

Unluckily, I cannot save the already found good localisazions, nevertheless I already get good results at my daily routes. Hopefully, these tasks will be done in real software some day... (-;

Hints for improvement are appreciated.

tasker-deja-vue.zip