Moving data to new phone

I’m a long time user of Arc Timeline app. I have around 11 years of data on my iPhone 14 Pro. Recently I bought an iPhone 17 Pro. I would like to move the data from my old phone to the new one. I will still be using two phones as a separate devices, signed to the same Apple account with iCloud enabled. I don’t need the iPhone 14 Pro to record timeline anymore.

This is how it currently looks like:

On 14 Pro I turned off recording in the app, but the app is still installed and I see all my data there.

On 17 Pro I installed Arc. It asked me if I want to import data from backup, I confirmed, but it didn’t quite work, despite I gave it a lot of time in the charger. Currently it looks like it records new timeline, and I can’t see my old data on this phone.

On iCloud, in the Arc App directory I see:

  • “Export” directory with lot of GPX files (I had the monthly export enabled on 14 Pro)
  • “Import” directory which is empty.
  • “⁨Previous Backups 04231127⁩” directory with lot of files in it and size around 1.8 GB.
  • “⁨Previous Backups 037C0365⁩” directory with couple of files, around 500 KB.

Both devices shares the same iCloud account and contain the same data (as listed above).

What can I do to continue using Arc Timeline on the 17 Pro and have access to my full timeline that was recorded on 14 Pro?

I also tried to install Arc Editor beta on the 17 Pro and I like it. However, it also does not show my old timeline data. I run the “Old LocoKit database import” from the settings, but it looks like it imported just a single timeline item from the old database.

Thanks in advance for the support and suggestions. I would love to continue using either the Arc Timeline or Arc Editor on the new phone, and keep my old data I collected in the last 11 years.

Hi @darrarski!

Ok so I think to do will be to do a series of manual restores from backup, after a fresh install of Arc Timeline on the new phone. But before doing that fresh install you’ll want to make sure you’ve got full coverage in the existing backups, in the LocomotionSamples folders.

What you want is a samples week file for every week of the year for the years/months you’ve got data on the old phone.

Ah, before I explain further, I’d better get you to turn off the iCloud Drive Backups option on the new phone in Arc’s Settings. The two phones will be trying to back up to the same iCloud Drive folder, potentially overwriting each other. So you’ll want the old phone to finish a full backup first, then use that backup to restore on the new phone.

If in the Previous Backups folders (well the larger one) you already see a samples week file for every week of the expected years, for months that you should have data, then you’re good to go. Those samples files are the heart of the data, and the rest can be recreated automatically if needed.

To do the restore, once you’re confident that Previous Backups folder has the goods, you’ll want to:

1. Copy that folder into the Import folder in Arc’s iCloud Drive folder
2. In the Files app on the new phone long press on that Import folder and choose “Keep downloaded”, to force the phone to download all that content now, and keep it there
3. Do a fresh Arc Timeline install on the new phone
4. Go into Arc’s Settings tab on the new phone, into Backup Import & Export view, then open the File Importer
5. In the File Importer view, you can either tap “Import All” on the samples section, or import them one week at a time. I recommend one week at a time, starting from newest week and working backwards in time. That way you can check in timeline view after importing each week, to make sure it’s imported correctly
6. Also tap “Import All” on the Notes files section, and the Day Summaries section (the latter is just for if you’ve ever marked any days as Favourites. Those files don’t contain any other useful info).

That manual import process will allow you to step through the restore bit by bit, checking it along the way. Which is my preferred way, if anything weird is happening, and how I usually do it on my own new phones for my own data.

Oh, one thing to note: when you import the data, some details will look wrong, because Arc on the new phone won’t have built its activity type models yet. So its activity type classifiers will be a bit dumb, and assigning wrong activity types to any samples that didn’t have confirmed types already. That’s harmless and will self correct, once those activity type models get updated overnight. (Or some of them might get updated sooner, ideally, but that’s up to iOS as to when it decides to run those background tasks that Arc has asked to be run).

Let me know how you get on!

Thanks for the support and suggestions!

Before you replied, I read some other posts on this website and attempted a full restore on the new phone. I moved the files from the “Previous Backups” directory into “Import/Restore”. Then, after launching Arc Timeline, I tapped on the restore banner, and it went without any errors. Unfortunately, only a couple of recent months were restored.

I think my files in the “Previous Backup” directory should contain the whole timeline. In the “LocomotionSample” directory, the oldest file I see is named “2014-19.json.gz”, which seems to be the beginning of my timeline. The only concern I have is that some files are duplicated, for example, I see “2014-W20.json.gz”, “2014-W20 2.json.gz”, and “2014-W20 3.json.gz” - all with exactly the same size.

After performing the restore as described above, all files were deleted from the “Import” directory. However, I can’t go back on the timeline as far as just a couple of months. It seems that the older files were not imported. I have a copy of the entire “Previous Backups” directory, so I will try again the way you suggested - manual import, instead of the restore.

One more thing to add: on the old phone, in the Arc Editor app, I run “Old LocoKit database import”, then “Database export”. After that, I imported the database into Arc Editor on the new phone. Now, on the new phone, I see my entire timeline in Arc Editor, so everything seems to have gone well regarding the transfer of data from the old to the new one. Overall, the app works great. Unfortunately, some features are still missing (which is expected for a beta), so I would like to continue to use the Arc Timeline on the new phone until the Arc Editor is closer to release.

Hm. That sounds like a very old bug that was fixed years ago. But that maybe has popped up again somehow. That bug was that the calendar view wouldn’t allow navigation back to earliest data after an import/restore, and the app had to be swiped closed and restarted to fix it.

But if that were the case I’d expect it to not even go back a couple of months. So… maybe it’s not that.

Yeah I definitely recommend trying the manual File Importer route. The managed/automatic restore is essentially the exact same thing, just with a simpler UI on top. All it does is do the equivalent of tapping the “Import All” buttons on Samples, Notes, DaySummaries. But the manual approach allows you to do it a week or two at a time, checking as you go, to feel more confident that everything is going correctly.

Ah great! Yeah the importers and exporters in Arc Editor are … much better than the ones in old Arc Timeline app. Because this is such a frequent pain point I spent a lot of time hardening those systems to be as resilient as possible, taking into account all of the past traumas from Arc Timeline’s systems.

They’re also quite a bit faster than Arc Timeline’s ones too, which is another pleasing improvement. It still takes quite a while though - a decade plus of data is just plain a lot of data.

Definitely let me know which features you’re missing! I’m prioritising adding back in features based on feedback here on the forum. Otherwise I’ll just prioritise my own favourite features, which might not line up with what everyone else cares about.

It sounds like a different issue. For me, the data were just not imported, so I couldn’t browse it.

I’m importing the “Sample Files”. It takes a lot of time. The problem is that even if I use the “Import All” button, I must keep the app in the foreground and prevent the device from sleeping. Otherwise, it stops quickly, and then I have to reopen the app and start again from scratch. It still sees all the files, but it does not mark the imported ones with a tick. Thankfully, importing already imported files is much quicker than importing those that have not been imported yet. Overall, after a couple of hours, I’m almost halfway to importing all sample files.

Question: As previously mentioned, I see that my Previous Backups directory contained “duplicated” sample files, like “2014-W20.json.gz”, “2014-W20 2.json.gz”, and “2014-W20 3.json.gz”. After further investigation, I found that they differ a bit, although the files without a suffix (“2014-W20.json.gz”) have the latest modification date (other seems to be older). Should I also try to import the files with number suffixes?

Question: What should I do with other files after I import samples? Should I also import all “Timeline Item Files”? There are also “Place Files”, but I don’t see the “Import All” button there, not sure if they are imported automatically when importing samples or not.

Question: Is there a risk of data duplication or redundancy if I import the same week’s sample multiple times? I hope the app handles it well.

  1. From what I see so far, the import of workouts is not working.
  2. It would also be nice to have an option to start/stop recording, like I can do with Arc Timeline.
  3. One annoying bug I found is that if you open a photo from timeline, it can’t be dismissed. I have to force quit the app to access the timeline again.

I’m OK with it not being polished here and there, and some features missing. At first sight, it already works much better than Arc Timeline when it comes to browsing the timeline (super quick and responsive, even for 10+ years of data!). My biggest concern is that it has only been released to TestFlight. Life is complex and unpredictable. If you decide to stop development for personal or any other reason, I totally understand! This, however, would mean I lose access to the app and all my data, and it’s something I would like to avoid.

Question: Given the current beta state of the Arc Editor app, would you recommend using it in place of Arc Timeline? Or keep both of the apps running? Or perhaps you advise against using Arc Editor for purposes other than testing if it works as expected?

Quick update about the progress for moving data to the new phone:

  1. 600 Sample Files. I imported all of them without issues.
  2. 3 Note Files. Imported. No issues.
  3. 2 835 Day Summary Files. Tried to import all. Some were imported, but I see many errors for a lot of files: “Can’t update existing Summary because importedSummary.lastSaved == nil “. Is this a big issue?
  4. 113 865 Timeline Item Files. I see there’s an “Import All” button, but I haven’t tried it yet. Some of the files on the list already have a tick mark (perhaps they were imported automatically when importing Sample Files), but most of the files do not have the tick marks. Not sure if I should tap “Import All” for “Timeline Item Files” or not.
  5. 1099 Place Files. There’s no “Import All” button for this section. Some of the files on the list have a tick mark, but many do not.

Ah, no need to start from scratch again! The imported data will still be already imported. The UI just doesn’t know that until it reads each file. So if you do “Import All” again it has to check each file to see whether the data in it is already in the database or not.

For those duplicates, yeah I’d expect the ones with most recent dates to be the most complete and recently updated. So only need to import that one. The reason that happens is in the past there was an iCloud Drive quirk/bug that would result in an edit or replace attempt on a file to fail, so iCloud Drive would rename the new version to be suffixed with a number. Newer versions of Arc successfully work around that, by … actually I can’t remember how. But it should only be the older data that shows that problem. And yeah, the newest dated file should also usually be the one with the highest number suffix, and containing the most up to date data. So only need to import that one.

Those ones are all imported automatically. Every LocomotionSample has a parent TimelineItem, and most Visit type TimelineItems have associated Places. so when importing a Sample the importer will find also find the related TimelineItem file, and if appropriate also find the related Place file, and make sure they’re all imported together.

The Notes files and DaySummary files though, you can tap Import All on those. The Notes are what you think they are - the notes you’ve added to timeline items. And the DaySummaries are really just markers of whether you tapped “favourite” on a day or not. Those ones don’t auto import. And there’s also no best/correct order to import them in. Just tap Import All at any time you like, and they’ll come in without fuss.

No risk! When going through each samples file Arc checks the modification dates on the samples in the file compared to the dates in the database, and only imports/updates that sample if the one in the file is newer than the one in the database. Ditto the TimelineItem and Place files. So only newer / more up to date data will get imported/updated, and the rest will be skipped. That’s why you’ll see already imported files going through faster - it’s checking every sample, noting that each one is already in the db with same date, and skips over it quickly.

Yep! That’s not turned on yet in the current TestFlight build. But is 99% complete now, and will be in the next build (in the next few days I think). I had started building that feature but had to quickly ship a new TestFlight build to fix a bug that slipped through, so you got to see the partial feature visible but incomplete.

The workout importing is now much better than the old system in Arc Timeline! It’s more resilient, consistent, and also supports multi segment workouts and multi activity workouts, so lap markers, pause and resume markers, triathlon workout types, all sorts. I’ve built it this time to take into account all the deficiencies of the old system. Much better!

I’m just polishing up the final UI bits on that today/tomorrow. Really pleased with how it’s come out this time.

Oh yeah good point. I haven’t actually added that button anywhere yet! Will make a note to add that soon.

Ah that awful photo viewer. You can dismiss it, but you have to get the down swipe gesture exactly right. It’s a deficiency in Apple’s SwiftUI toolkit, that the older UIKit framework doesn’t have. I’m going to have to throw out the new image viewer and completely rebuild it in old UIKit. Disappointing, because it’d be nice to have the entire app all fresh and modern SwiftUI. But some parts of SwiftUI just aren’t quite ready yet.

Hah. Not an option I have, unfortunately :joy: Arc Timeline is 95% of my income, so if I stop working on it I become homeless. There’s definitely no chance of me stopping work on the Arc family of apps any time soon! The only reason I can imagine that happening is if Apple copies the idea and adds it to iOS or as one of their own first party apps. That’d I think quite quickly put me out of business. But otherwise… I’ll be sticking with it for as many more years as I can! It’s already been almost a decade, and I’m fine with it being another decade more.

I’m pushing as hard as I can to get Arc Editor ready to take over completely, as soon as possible. And for my personal use I literally only use Arc Editor. Arc Timeline just feels old and clunky and not very good now in comparison. I only keep Arc Timeline installed because it’s my job to keep supporting it and making sure it doesn’t break.

Though I do miss some of the features that Arc Editor doesn’t have yet. And things in Arc Editor that’re pretending to be there but aren’t really ready for proper use yet, like the Places and Activities tabs. But for the core of the app, the timeline recording and editing, I personally far prefer Arc Editor and pretty much never bother doing any cleanup or checking of the timeline in old Arc Timeline anymore.

I’m going to eventually make sure it’s possible to export from Arc Timeline and import into Arc Editor for custom date ranges, not just “the whole database”. So that it’ll eventually be possible to pull over specific chunks of data from Timeline to Editor for people who started and stopped testing Editor at various points, finding it not quite ready for their needs yet.

But yeah, personally, I’m all in on Arc Editor for my own use. It’s more reliable, records cleaner, more accurate and detailed data. It’s faster, crashes less (hopefully never!). So aside from the missing features that I’m racing to fill in, it’s by far my preferred main app at this point.

Great! Over the next day or two you should see any activity type classification weirdness clean up too. Sometimes after the initial import some old data can get reclassified in weird ways, making it look a mess. But once the activity type models get updated overnight, when iOS runs the requested scheduled tasks, all of that will settle back down into place.

Sounds like a success! But yeah, if anything ends up weird after a few days, definitely let me know.

I have a somewhat similar case, but with a more specific gap situation, and I wanted to ask what the best restore path would be.

My history was this:

  1. I got a new phone and set it up from a full iOS backup of the old phone.
  2. That worked fine, including Arc Timeline, no iCloud restore was necessary. The new phone had the full timeline and I used it as my main phone for a while.
  3. Then I had to send that new phone in for repair.
  4. Before erasing it, I made a complete iOS backup.
  5. During the repair time, I used the old phone again for about 3 weeks.
  6. Then I got the new phone back and restored that earlier iOS backup.

Current result:

  • On the new phone, Arc Timeline contains all data up to the point where I sent it away for repair.
  • It also contains all data from the point where I got it back onward.
  • The roughly 3 weeks in between are present only as one big “at home” stay.

The real data for those 3 weeks does exist on the old phone, and those weeks are also present in the iCloud backup data as my current setup is:

Old phone:

  • iCloud Drive Backups: ON
  • Recording: OFF
  • Phone just sitting at home

New phone:

  • iCloud Drive Backups: OFF
  • Recording: ON
  • This is my normal everyday phone now

So in principle the problem seems simple: I only want to get those missing 3 weeks from the old phone into Arc on the new phone.

The issue is that the backup is huge. The Backups folder contains hundreds of thousands of files, and copying the whole backup folder into Import proves difficult in practice because:

  • I only have the 5 GB iCloud tier, so available space is limited
  • copying/downloading/uploading that much data takes extremely long, especially from my old, slow phone
  • even with recording off, Arc on the old phone still seems to keep updating some older backup files from time to time, hence I am never sure if/when it is done

I identified the three missing week files in the LocomotionSample folder, and I tried manually recreating the backup folder structure inside Import and copying only those three week files there.

The File Importer does see those Sample files, but the import fails and reports many missing dependencies, which I assume is expected if only the sample week files are present.

So my question is:

Is there any supported / practical way to restore just a few missing weeks more selectively, without having to copy the entire Backups folder into Import?

Thanks a lot!

Hi @Quartor! That’s a tricky one.

I was initially going to say this would be a good case for getting AI involved. But I think it might be simpler than that. Well… maybe.

If you’ve identified the correct sample week files, that’s the core of it. The rest is … all of it.

When you do imports with the File Importer view the process is tap on the sample week file then that will automatically find the dependent TimelineItem and Place files it needs and import those and only those.

So the easiest thing to do is drop those sample week files in, and then the whole TimelineItem and Place folders. No need to try to filter those down to just the needed files - the import process will pick out what it needs and ignore the rest.

Though there might be a catch. Because the timeline has already “healed” over the gap, turning it into a single massive Home visit… I think that’s going to be problematic. Because the import will try to import over the top of that item, and that I think won’t work. The timeline processor won’t know how to make sense of it, and it’ll be a mess. Ugh. Yep, that won’t work.

Hmm. Yeah, gonna need AI to get involved in this one. It’s too fiddly / impossible for the existing import and processing systems. They don’t know how to handle it.

… [long pondering and planning] …

Ok yep, got a plan: AI does it :joy:

So the long version of the plan:

  1. Get all the data onto your computer locally. First the full backup from the old phone, including those 3 weeks. Then once you’ve got that secured locally, you’ll want to turn on backups on the new phone and let that complete, and then get all of that locally too.
  2. Using either Claude Code or Codex (or Gemini 3 in Antigravity if that’s your thing) explain the problem, and show the AI the available data. Go into as much detail as possible - the better they understand it the higher the chances of success!
  3. Then the goal is to get the AI to construct a singular new backup from those separate sources - a backup that contains it all, neatly contiguous, not overlapping, and with that mega Home visit split up so that it’s not overlapping the 3 weeks.
  4. This is the painful bit: You’ll need to delete Arc off the new phone then reinstall, so that you get a fresh empty database. And then you’ll want to use File Importer to import from that new single and properly merged backup.

The reason step 4 is painful is because if the AI didn’t get it quite right the import could go wrong, and you might end up with a worse mess than you started with.

Though as long as you’ve still got those original backups locally, you can at least try again with the AI. Trial and error until it’s perfect, and the import goes in cleanly.

Oh you could also use @zzGordon’s Arc Reader app (Arc Diary Reader v3.0) to explore the cleansed data before deleting the app and attempting the fresh restore. That way you could see how it’s looking before committing to the final step.

This is all going to be a quite long process though! If you’re wanting to commit to it, feel free to come back and ask questions at any point!

Thanks, @matt

Those steps make sense, even if it is a bit painful. I’ll probably commit to the process at some point when I can set aside enough time for it. Initially I thought the gap would only be a handful of days that I could just ignore, but the repair ended up taking longer than expected, and unfortunately those weeks include some more interesting movement days, hence I’d quite like to recover them properly.

Before I go down the full Codex merge route, do you think it still makes sense to try the “conventional” import approach once, just to see what happens? Or is your expectation that importing those 3 weeks into the current database will very likely create a mess that is hard to recover from afterwards?

I was also wondering about one other route, though I suspect it probably runs into the same issue: using JSON export for individual days, then converting those files into importer format using the script discussed here:
https://support.bigpaua.com/t/json-import-format/219/17

No, that wouldn’t help, since it would still end up going through the same importer / timeline processing path, right?

But one more thought: what about GPX timeline export / import? I’ve used the GPX import before for flight paths, and that seemed able to import over existing data. But GPX might be too simplicstic and too much just route geometry instead of a valid timeline restore?

Thanks again and yes, if I go for the full process, I’ll probably come back with questions.

1 Like

Unfortunately as I was working through explaining that approach I realised it just wasn’t going to work. Yeah the processor won’t know how to handle the overlapping data, and will just merge the items all together, making an unholy mess.

If it were only a few days perhaps, you could then go into the Individual Segments view of the mega Home visit and piece out the segments one at a time into more sensible items. Which would be painful but doable. But with 3 weeks of data… I expect the Individual Segments view would instead crash due to excessive memory use. It very likely wouldn’t work at all.

Yeah unfortunately same problem. Getting the samples in is easy enough, and those are the heart of the data. But then extracting back out the timeline items (Visits and Trips) after the processor merges them all together (which is the only thing it knows how to do when there’s overlapping data) would be again unworkable :disappointed_face:

Workout importing and GPX importing are the two routes that do understand how to deal with overlapping data. But… yeah, GPX drops a significant portion of the data, due to the GPX schema not supporting it (accelerometer data, and some other bits). I think also for Visit items GPX requires them to be stripped down to a single coordinate, so all the sample data within them would be lost. Not great.

One idea I’ve been playing with is whether it would go better / be easier if you migrated to Arc Editor app, instead of trying to do it all in the old app. The new app has a better/cleaner schema, and other niceties. But ultimately it still has the same core problem of only being able to merge when presented with overlapping data during import (except for workout imports, which aren’t relevant here).

The eventual goal will be to have a more advanced import feature that can import from proper Arc JSON (either old LocoKit or LocoKit2, ie Arc Timeline or Arc Editor), which would support dealing with overlapping data. But that’s a substantial new feature to add. Each importer (workouts, GPX, Arc JSON) has to be largely built separate, due to the differences in nature of the data formats. Even though they share a lot conceptually, in implementation they end up having to be built separately (or at least enough of them that it’s not just a drop in fix to add a new format).

So yeah, while I’d feel more comfortable walking you through it in Arc Editor rather than the old app, basically all the same problems would be present. Still… I haven’t fully gone off the idea. The AIs for example far prefer the new JSON schema, finding it much easier to work with. So at least from their perspective it’s a vote in favour…

1 Like