Now, this is a very rough app. At this stage it’s not meant to replace Arc App, and is merely intended as a companion app, to provide extra protection from iOS’s semi-random app terminations that lead to data gaps.
With both Arc App and Arc Mini installed and running, one app will choose to be the current active recorder and the other will go into standby - alive, but not using up any battery and not doing anything other than lying in wait until it’s needed. If the active recorder app is then terminated by iOS, the standby app will notice that within a couple of minutes, and will take over as active recorder, protecting you from data gaps.
Arc Mini also comes with a couple of iOS home view widgets. There’s a Current Item widget, which shows up details about your current visit or trip (semi up to date - iOS only updates widgets every 2-3 minutes or so at most). And there’s a Recorders widget, just for seeing which recorders are alive.
The Current Item widget also shows you the recorders, as little green or red dots on the bottom right. A green dot means alive, and red dot means dead (ie it’s been terminated).
Beyond that, the Arc Mini interface and functionality is a very slimmed down subset of the main Arc App. It’s an open source project, with all code visible on Github. Anyone is welcome to fork the project or submit pull requests!
At the bottom left it says “19 secs”, which is how long ago the widget was updated, so you can get a feel for whether it’s telling the truth or not. iOS only updates home screen widgets very 2-3 minutes at most, so perfectly up to date information isn’t an option for us with widgets yet. Maybe someday.
The green dots on the bottom right indicate the currently installed Arc family apps, and whether they’re currently alive or not. From left to right: Arc App, Arc Mini, and Arc v4 (which isn’t released yet, so for now you’ll only see two dots on your phones). Green = alive, red = dead. Dead means either the app has crashed, been swiped closed, or been terminated by iOS.
As long as one of the dots is green, your timeline recording will be fine, with no data gaps. If both dots are green, then you’ve got that extra peace of mind, knowing that if iOS kills off one of them, the other will be there to step in and take over the recording job, avoiding a data gap.
Occasionally iOS will kill off both of them (or in my case, all three, because I’m also testing and developing Arc v4). That usually means iOS has killed off everything, all other apps included. Such is life on iOS - there’s no guarantees, and sometimes iOS fully clears house, for reasons unknown. But at least with this widget on one of your home screens you’ll be able to spot that situation quickly, and do something about it.
Yeah, Arc Mini has a lot of UI bugs, unfortunately.
The frustrating thing is these bugs have been introduced randomly by new releases of Apple’s SwiftUI. And if I try to fix the bug (which is usually actually a bug in SwiftUI), then my workaround often ends up getting broken in the next SwiftUI release. Apple released SwiftUI too soon, and it’s been a massive time sink, trying to keep up with its evolving bugs. It’s basically lead to the Arc Mini and Arc v4 projects periodically stalling in progress. I’m quite unhappy about the situation.
I’ve released Arc Mini in this incomplete state, with unreliable UI, just to get it out to the public. Because it’s very useful as a fallback timeline recorder, to avoid data gaps from iOS’s random app terminations.
This still appears to me as symptom fighting: just keep enough balls in the air to always have at least one. Is this a temporary fix? Is it actually clear what the real problem is ? If so, should that then not be the direction for a real solution ? Again, Arc is the only app suffering from terminations.
As to this being a workaround, that’s all that can done. Either Arc gets turned into one of the less accurate, less detailed apps, or Apple make some fundamental changes in the way iOS handles long running background apps.
If Arc has to be tuned down to match those lesser apps, what’s the point? Just use one of those apps if that’s what you’re happy with.
You’re not going to get some other answer just by repeatedly pressing me on it. The facts remain unchanged.
Is that the Recorders widget? I haven’t been testing that one much, so I forget what wording it uses. I mostly only use the Current Item widget, because the little red/green dots are enough. But the important thing to look out for is the small text at the bottom that tells you how long ago iOS updated the widget. For example if Arc v3 was terminated 1 minute ago, but the widget was last updated 3 minutes ago, then the widget will be telling you out of date info.
iOS could also decide to not update the widget for potentially hours. It happens much less frequently in more recent iOS versions, but it still does happen sometimes. So yeah, that little text at the bottom is a helpful clue.
For anyone interested in following Arc Mini development, I manage most of the dev tasks in the public Github repo, and you can follow what I’m working on here:
It’s not a comprehensive list, because things that overlap with Arc App I often track in the Arc App private repo instead. But my hope is that more and more of the shared code can be open sourced, and worked on visibly in public in the Arc Mini and LocoKit repos.
Edit: Oh and the actual code change history is here.
Some more Arc mini feedback: in my case Arc V3 was terminated by IOS apparently at 20:45 and Arc Mini didn’t take over. It was only the next day at 10:10 when I left home that recoding was resumed. So there is a gap from 20:45 - 10:10 next day. It looks like Arc needs movement to get triggered ?
The app in standby will do a check every 2 minutes, so it will always take over recording within 2 minutes of the other app being terminated, regardless of whether there’s movement or not.
In more detail: The takeover action is based on “dead man’s switch” logic, meaning that each alive app has to update its entry in the list of recorders at least once every 2 minutes, otherwise it’s considered dead. So if an app is terminated, then its entry in the list will always be considered dead within 2 minutes, and the other app (if still alive) will see that in its next 2 minute check, and take over as the active recorder.
Likely what happened in that case @Dinky is both apps had been terminated by iOS, and the widget had not been updated. Unfortunately we can’t rely on iOS updating the widget (a recurring theme: we can’t rely on iOS doing anything consistently), and sometimes iOS will simply stop updating the widget for many hours. That’s why I include that tiny counter text at the bottom, to make it visible when the widget was last updated.
@ezslides To add a widget to one of your home screens, long press anywhere on the Home Screen, to enter edit mode. You’ll then see all the icons start wiggling, and there’ll be a plus button at the top left of the screen. Tap that, then scroll down the widgets list until you see Arc Mini. I recommend adding the Current Item widget, as that’s got the most detailed information on it, as well as the green/red dots to indicate each app’s alive/dead status.
Hi @DrIPhone! Unfortunately this is a known iOS bug, with no known workaround yet. Basically you just have to restart your phone, then check the widgets list again, and repeat until you finally see the widget in the list.
Installing widgets isn’t something apps do themselves - they just have the widget inside the app package, which Apple then approves, and iOS then inspects for widgets to install. There’s a bug in that last step, where iOS doesn’t see new widgets sometimes