Hacker News new | past | comments | ask | show | jobs | submit login

Does it do background sync on iOS?. There are so many alternatives to Apple Photos, all with this handicap. “Leave the app open for it to sync”

Photos are the only reason I pay for the 2 TB plan on iCloud. I don’t need all the photos on device all the time. If I can _reliably_ stash them in remote servers and have a way to access them on-demand on the phone, I can take the money I give Apple and pay for the app that enables me. But only if I don’t have to remember to open the app every now and then and watch it sync my photos. It needs to be as easy to use as Apple Photos..




Yes, the app does iOS background sync. Many of us (I'm part of the Ente team) are avid users and have a huge photo libraries, and day-to-day, it works seamlessly. We don't need to reopen for it to sync etc. The only time one needs special care is when doing the initial import - at that time, we sometimes need to keep the app running in the foreground for the initial sync to complete.

As the other commenters are mentioning though, this is all black magic at the mercy of Apple. The way we've evolved with our code works now, but who knows what future updates to iOS bring. One thing we've observed that it takes sometimes like say seven days for Apple's on device ML to pick up that the user really wants to use the app, and convince the OS to allow the app to run in the background to sync. But again, this is not something we've needed to worry about as _users_ - we just use it normally as we'd use Apple Photos, and it just works after the initial sync completes.


I don't understand how this can possibly work within the constraints of iOS, and I've done some digging in the code.

Anyone else find where they are doing anything iOS specific to enable background uploads when you don't ever open the app? Apple go to great lengths to make sure the user has to use the app before it allows "budget" for background processes to execute within.

My guess is that as part of the Ente team, you open the app semi regularly, which is enough for the device to give some budget for your cloud sync process to kick off in the background every now and then.

For me, I would set Ente up and forget it. But I'm 99% sure in that case it would simply stop syncing after a few days.


> Anyone else find where they are doing anything iOS specific to enable background uploads when you don't ever open the app?

Search for "SyncService.instance.sync" in the code, that's what gets triggered.

The trigger is us sending periodic silent pushes to wake up the app.

> My guess is that as part of the Ente team, you open the app semi regularly, which is enough for the device to give some budget for your cloud sync process to kick off in the background every now and then.

I know what you think, but that's really not the case :) Many our customers are on iOS, they're satisfied with it. There are areas to improve yes - the initial import is the major pain, esp because it is also the customer's first interaction with the app - but the background sync itself is works seamlessly in practice.


Ah of course, silent pushes. I thought those also end up getting ignored after some time. Interesting to know they don't. Thanks for the explanation.


Apple is the reason.

They make it impossible to compete, their apps have permissions no one else can have.


The EU is working on forcing their hand there via the Digital Services and Markets Acts.


And Apple has proven it will make those features exclusive to EU. And maybe even just disable those features.


> There are so many alternatives to Apple Photos, all with this handicap.

Apple doesn't allow background execution for third party apps. Can't increase service revenue if you allow competition.


They don't "allow" it, but most apps that need background execution just ask permission for geolocation tracking and pretend to use it, for example iSH[1]. There are a few activities that the app can do to prevent itself from being suspended when it goes out of focus, like playing sound, geolocation etc.

[1] https://github.com/ish-app/ish/issues/249#issuecomment-54433...


And you're at the mercy of Apple deciding to remove your app for violation of the terms when it gets more popular. This is what the EU wants to fix with its new directives that level the anticompetitive playing field.


Apple can remove your app for whatever reason anyway, pretty sure every single company has that clause buried in their ToS somewhere. It's not like they constantly exercise it, but it's more for "just in case we really want to"


Sure, but "they were abusing permissions to keep their app burning your battery" sounds a lot better for Apple than "it was competing with Photos too effectively".


One of the big differences though is iOS apps can only be provided by Apple. If the google store policies restrict you, you're free to distribute the app yourself. There are well known examples of this. Telegram from the play store blocks adult content its aware of. They also distribute an APK on their website without that if you want it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: