I’ve had Arc app installed since Oct. 2020 and I’ve been a paid subscriber for almost 6 months. I believe my renewal is coming up quickly and to be fully transparent, I’m on the fence regarding the renewal because of the recent issues I’ve began experiencing. I’m hoping they can be resolved prior so I can make an informed decision. For the record, I’ve loved Arc and I’m super grateful for the app. I didn’t experience/notice many issues during my time using it, and if I did, they had been mentioned and addressed in the support forum. But within the past few weeks or so, I’ve began noticing a couple issues, and I can’t figure out what’s changed or what would be causing them.
I don’t want this to be insanely long so I’ll just address my main concern, because I believe it may be linked/causing the other issues I’m experiencing. Since installing Arc, majority of my time has been spent at home, but Arc didn’t or very rarely had an issue separating my walks from my home. In the past, if a walk or part of a walk was combined with Home, I’d edit the individual segments in Home; confirming a walking segment and/or correcting an incorrectly labeled segment to walking, which seemed to get Arc to recognize the mistake and separate the walk from Home. This fix no longer works, and in case the following is important, the routes I walk have not changed…
Now Arc seems more likely to not recognize walks or combines a walk entirely into my Home. When a walk is recognized, a portion is often still combined with Home, and I’ve noticed that recent walks look different than before- very sporadic and messy when previously it was easy to see a clear and pretty accurate walk to and from my home.
My belief that the walks being combined with my Home may be causing additional issues is related to the following: I’m unsure if this is normal, but I don’t remember noticing it in the past- there’s a decent sized yellow/orange circle around my Home- similar to the blue circle in Google maps when the location isn’t as accurate. Additionally, last night I went back to my start of using Arc, and my Home is now grayed out and needs to be confirmed. It wasn’t too long ago (but before I was experiencing the initial issue) that I went back to the beginning of my Arc history, and Home did not need to be confirmed so I’m not sure if that’s related. I’m worried about confirming home because it looks as though it’s including walks or portions of walks and so I’m unsure of what to do since I can’t get the walk(s) to separate.
Thank you for the Arc app, your time and any help.
From your description, I think there’ll be two different things going on, with one problem causing the other problem.
The first is that it sounds like your phone has got itself into a bad state and needs a restart. Either that, or the Location Services permissions have changed for Arc, and Arc no longer has “Precise Location” permission.
Step 1: Restart your phone. Sometimes iPhones get stuck in a weird state where they’re no longer producing sensible or accurate location data for some apps, and the only reliable way to snap the phone out of that state is a restart.
Step 2: Check your phone’s Settings → Privacy → Location Services → Arc, and make sure that “Precise Location” is turned on. (Also make sure that “Always” is selected above that, just in case. Though this particular situation sounds more like a lack of Precise Location permission, rather than lack of background location permission).
Now to the second problem: What I suspect has happened is that the phone has produced enough nonsense / very low accuracy location data that it has polluted the Machine Learning Model for your Home place. That orange circle you see on the map when looking at the details view for home visits, that’s the model’s understanding of how big that place is (and also where the centre of that place is). If that orange circle is significantly larger than the actual place, and/or the centre of the circle is significantly offset from the real centre, then that’s going to cause problems for Arc’s understanding of what data should be kept inside the visits rather than considered to be outside the place.
The way to fix that problem with the overly large place radius (ie the large orange circle) is to go through recent visits to that place, and look for location data that’s clearly wrong, and mark it as “bogus” from the Individual Segments view. Basically any location data that’s been included in the visits, but that’s more than about 100 metres from the actual place, you should mark it as bogus. (With the exception or real, accurate data, such as walking, that’s been mistakenly included - that stuff isn’t bogus, and can be rescued).
Once you’ve found and neutralised the clearly nonsense location data inside the visits, by marking it bogus, the Place model will be updated later in the day (while the phone is plugged in to power), and you’ll see the orange circle return to a more sensible size and location. That will then stop the processing engine including bits of walking inside the home visit, and will allow you to then successfully extract those bits out of the visit again.
Hi Matt,
I’ve been seeing similar things happen to other locations – such as an Indian restaurant that “grew” to something like over 500m in diameter, and frequently ‘captured’ some of my cycle ride to work. And I only noticed that after several years, while I was doing some manual clean-up to force ARC to complete its backups.
What you suggest up there worked (especially it was a bit easier because I could use the search function on the restaurant’s name), but I must have put many hours into cleaning that up, spread across several days. Would it be possible to include a “reset” option to kill the ML data for a particular location and start over? (maybe without killing manually confirmed visits to that place, at least.) That would certainly be easier on many users.
I also have a local supermarket which has “grown” so large that it occasionally captures my location there. But I can impossibly face going through all bogus entries for those visits, as the data goes back all the way to when the Moves app was introduced. I’d rather just nuke them all in one go.
Yeah, there’s the catch - it’s a painfully slow, tedious process to find and correct the mistakes.
Resetting the ML won’t help, because it’ll simply get rebuilt based on the same incorrect Place assignments. Though resetting the Place confirmations would do it. That would be quite a brutal approach though, possibly leading to even more cleanup work, dealing with potentially new automatic Place assignments that aren’t what we want.
I’ve put a bit of thought into this one in the past, and my favourite idea so far is a view that shows a map of all Visits to the Place, so that you can immediately see the outliers on the map - the dots that’re obviously too far from the actual place to be correct. You could then tap on those dots and correct them immediately, without having to do lots of tedious searching to find them.
The reason why I haven’t made that view yet is because, well, I can’t think of any other use for it, other than to make it easy to fix this specific incorrect Place assignment problem. It’d be a very single purpose view, built purely to help quickly get around a problem that ideally shouldn’t happen in the first place.
So that always brings me back to my standard UX/UI mantra: Don’t build UI that shifts responsibility to the user, for things that can and should be solved by the app. A sort of version of the leaky absraction problem - when underlying complexity leaks through to the user, because it wasn’t dealt with well enough beneath the surface.
But… how to solve it “beneath the surface”? That’s… more difficult. Certainly not impossible, but I haven’t had any brilliant ideas about it yet. I’ve had a few weak ideas, but I’m holding out for the lightbulb moment
I had one like this earlier this year, and I discovered one trick for making the hunt a bit easier. If it’s a place where you pretty much always spend about the same amount of time (for me it was a local convenience store, that I only ever stay 5-15 minutes in), then you can use tap on “Common duration” in a visit details view, then look for the duration bars that are clearly too long / too short, tap on the bar, then tap on the “Visits” row at the bottom, to see all the visits of that duration. Like if there’s a bar for 1+ hours, and you certainly never stay at that place for that long, then you can know that all visits of that duration will be incorrect.
Hi Matt,
I’ve thought a little about that. (sorry it took ages to respond; other priorities)
I see the point about not shifting responsibility to the user. However in my opinion it would still be the better compromise to have something like the “map of all Visits to the Place”. Yes the user might still need to do manual cleanup, but doesn’t have to fight the system quite as hard to get it done.
Unless of course a better structural “beneath the surface” solution is found.
I’m beginning to wonder if some of the incorrect assignments are a result any of the following hypothetical scenario:
I know for a fact that I spent 2 hrs at place X that evening, but for whatever reason, ARC has me placed me at Y, 1km further north. So I set the record straight and say, actually, I was at place X.
That would probably throw the ML off completely, right?
I’m sure I’ve carelessly assigned visits to completely the wrong place by accident. Not quite the above scenario, but same effect.
Could one catch malignantly growing locations like this: Any manual assignment or confirmation of a location that falls well outside a default radius of e.g. 25m triggers a warning/question: expand radius, or one-time assign without affecting the location. And if, despite this safety check, the user later finds out that a coffee shop is suddenly 1km in diameter and eating up all the visits to other places, allow them to manually turn it back down to 25m or whatever makes sense. And have that manually adjusted radius override assignments of that location which lie outside the circle.
If the location data isn’t positioned at the correct location for Place X, then yeah, that’ll mess up the models.
In those cases it’s usually a case of a data gap or bogus data (ie the phone lost its grip on reality). So what I tend to do is split out the offending bad location data, and either mark it as bogus, or in rare cases where there’s a large gap that can’t merge tidily, I’ll create a visit with custom title, something like “Messed up data here”. That way I can stop that bad data polluting the models.
Yeah I think that’s the most common case. Where we just accidentally hit the confirm button on a place assignment without noticing that it’s actually the wrong place.
That’s the case that I’d like to better handle “beneath the surface”, or at least the one I have some ideas for. Like, it should be possible to have some heuristics that detect that potentially wrong assignment, and say “Are you sure that’s right? This assignment looks a bit odd”.
Oh hah, I should’ve read your full message before replying. We’re thinking along similar lines. Yeah that kind of stuff is pretty much what I want to do - heuristics that spot the same kind of clues that we see ourselves. The kinds of things that just don’t look quite right, and deserve at minimum a warning.