Sync gps records between devices? Duplicate V1 Profiles between devices?

Discussion in 'Official V1Driver Discussion Section' started by pfbz, May 25, 2018.

  1. pfbz

    pfbz Learning to Drive General User

    Messages:
    5
    Likes Received:
    2
    Joined:
    Apr 22, 2018
    I have a V1 in three different cars, just finished testing the LE dongle and and V1 Driver in car #1 and ready to roll it out to #2 and #3...

    I've been using my primary IOS device (iPhone 8+) for testing so far. On other vehicles, I will likely be running V1driver on other IOS devices, an iPad air that I have RAM mounted in #2, and a second dedicated nav/waze iPhone in #3.

    Is there any way to sync GPS lockouts between multiple IOS devices? It would be great V1Driver used iCloud to allow me to sync my GPS lockout learning from any of my devices to all of my devices.

    I guess not that big of a deal to just let each IOS device learn on it's own, or maybe there is a way of doing this already, but if not it would be a nice feature request.

    -----

    Overall, very impressed with the app. Thanks to the developer and the community that made it such an awesome package!

    For comparison, I just got done dealing with the IOS administration app for my Velop mesh network... Those guys could learn a great deal from an app like V1driver on how to make a robust, user friendly, feature rich app! The Velop hardware actually seems quite good, but their node firmware and admin software just plain old sucks, and every new release seems to fix three bugs and introduce two new ones.
     
    Last edited: May 25, 2018
    cihkal likes this.
  2. pfbz

    pfbz Learning to Drive General User

    Messages:
    5
    Likes Received:
    2
    Joined:
    Apr 22, 2018
    I hate it when I think I searched for an answer but then find it right after I post a question...

    So now I see the backup/restore to icloud option in settings. I assume this will save the gps settings and allow me to duplicate them between devices logged into the same icloud account?

    If I 'backup' from IOS device #1, and then 'backup' from IOS device #2 on the same iCloud account, I assume I've over-written the first backup? Nothing in the software that specifically deals with multiple V1 apps on multiple IOS devices using the same iCloud account?

    Sorry, these are probably complete newbie questions for many of you, just trying to learn what I can for my particular application.
     
  3. HeartDoctor

    HeartDoctor PSL + 5 never more;) Intermediate User

    Messages:
    418
    Likes Received:
    406
    Country:
    United States
    Joined:
    May 30, 2016
    Location:
    SE Florida
    I’d assume you could duplicate your data file from 1 device to the others but I don’t believe there is a way to merge data. Perhaps you could download the databases to a desktop machine, merge them, then restore to the iOS devices. You would need to understand the structure of the database and program the merge properly including checking for duplicate data. Sounds like a lot of work but if you want to attempt it, MSWLOGO might be able to assist with the database structure.
     
  4. pfbz

    pfbz Learning to Drive General User

    Messages:
    5
    Likes Received:
    2
    Joined:
    Apr 22, 2018
    I guess there is always a way... Though I suspect the time required to create and execute the merge program would be a poor offset for the extra few weeks of passive data accumulation.

    I just thought I might be able to shut up the k band on some of my supermarkets and speed signs a bit quicker.
     
  5. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    2,854
    Likes Received:
    2,481
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    Yes, use iCloud to move database to other devices. They must be using the same iCloud account (to do it easily).

    If different account you need to share the backup and manually copy it over to the other account.

    I might allow merging one day. I tend add things like that when I’m deep into that area of the code. I might be doing something else and if I do it right, adding something like that might be easy.

    The database is dead simple and there might be generic SQLite tools out there that could merge it.
     
  6. pfbz

    pfbz Learning to Drive General User

    Messages:
    5
    Likes Received:
    2
    Joined:
    Apr 22, 2018
    Thanks mswlogo...

    So I am assuming that if I do an icloud backup from IOS device #1, then do another icloud backup from IOS device #2 to the same icloud account, it will simply overwrite the first backup?
     
  7. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    2,854
    Likes Received:
    2,481
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    Correct.
     
  8. 918dad

    918dad Learning to Fly Beginner User

    Messages:
    61
    Likes Received:
    13
    Country:
    United States
    Joined:
    Dec 30, 2017
    I have an old iPhone with no service that lives in my car and handles the V1Driver duties. I can back it up and then restore the data to my current iPhone and it will work fine.

    Be aware that sometimes it takes 2-3 tries for it to work.
    If it says "restore failed", just keep trying. Mine has always worked eventually.


    Posted from my iPhone using the RDF Mobile App!
     
    mswlogo likes this.
  9. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    2,854
    Likes Received:
    2,481
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    @pfbz

    I'm rambling/thinking as I type this.

    I have been experimenting with doing database merging. I thought of an easy way to merge the tables.

    However, it turns out to be much more complicated than I was initially thinking.
    My wife said, what happens when they merge a 2nd time. Ugh.

    Well I had thought of that and was gonna to keep track of your original primary data and merged data.
    And if you merged again, I was gonna toss the old merge data and merge in fresh data.

    But it's not even that simple.

    What gets complicated is the auto frequency tolerancing and auto frequency drift handling (pins get tweaked when you encounter hits on them).
    Also Auto Unlearning also changes pins. Basically, pins change. All databases are changing.

    So who owns the pin? Well I could keep the one with the latest visited date. But the latest pin might not have as many new stats collected on an older dated pin.
    You could have visited 10 times last week and another database may have visited once but more recently. Which is better?
    I keep all the frequencies but not the date of all the older ones (per pin). If I did, this could make part of the problem a lot easier.

    It gets even better.

    Even on the first merge, what if both databases visited the same areas. The pins won't be in the exact same location. Or have the exact same frequency.
    That could be dealt with but it gets complicated.

    So I have a course pass at merging that deals with some of it. Mainly if you merge the other database multiple times you don't want to duplicate the same pins that were merged in before.
    That works and even does a little clean up on the database.

    But it does not consolidate redundancy from multiple databases that visited the same area (similar pins in the same area).
    But that should not really hurt anything (in theory). Other than way more pins than you really need.

    Now I could have it go in and consolidate pins according to the current settings. That can get pretty complicated, hardest part is proving there are no bugs.

    So basically all databases are changing and overlapping. I'm on the fence in releasing what I have.

    There is a better way to handle this though. The iCloud is DESIGNED for this type of problem. In fact, I went out of my way to disable it from "merging".
    What it needs to do is constantly (incrementally) merge and have one database up on the iCloud shared between all the clients.
    Trying to "batch" merge things once a week or month is what is making the problem hard.
    The iCloud can handle everything including conflicts (like both updating the same pin at the same time).
    It keeps a cached database on each client (so it looks all local to the app). And when the OS has time, bandwidth and network it will sync the databases (it's not a lot of data and doesn't need to be in sync up to the second).
    It's no different than having email available from multiple clients.

    I'm not sure there is enough demand for me to implement this though.

    Just sharing what I'm scratching my head on.
     
    HeartDoctor and cihkal like this.
  10. HeartDoctor

    HeartDoctor PSL + 5 never more;) Intermediate User

    Messages:
    418
    Likes Received:
    406
    Country:
    United States
    Joined:
    May 30, 2016
    Location:
    SE Florida
    If you do add iCloud sync, perhaps think of optional global sharing of Red Light Cameras. Essentially, we would develop our our crowd sourced database over time
     
  11. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    2,854
    Likes Received:
    2,481
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    Problem is I believe the iCloud is not designed for that kind of volume (that many clients per document), it's designed to handle say several people editing a shared document.
    Even if it did work, it would be updating too often. It would be unaware of geography in the database, and every update from any client gets replicated to every other client.
    It would manage that part. But it would constantly syncing data (the bulk of which is useless because your not driving in the areas getting updates most of the time).

    The "server" would have to be more intelligent and aware of the data it's working with and how relative it is to sync to whom when.
    You don't need that if it's all in say one family or several cars/phones per user.
     
    HeartDoctor likes this.