252 karma · joined March 30, 2018
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.
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 know what you're saying, there is undoubtedly a complexity angle too, not all of it is malice. But after a while, one starts noticing the pattern (or maybe it is just me) that Safari has a holier-than-thou attitude towards standards. Their way of standardization is - I'll just go ahead and do something my own way, and then rest will just follow suit because I have so much market share.
Which isn't, as you say, far from Chrome's actions in theory. But in practice, the feeling I've been getting recently is that more Chrome is happy to accommodate. Safari seems to (intentionally or culturally) drag its feet a lot more in picking up stuff that has been ratified.
Thank you! I'm so happy that what I wrote other have found beautiful to read :)
Thank you for the comment! Much appreciated :)
I will give it to you though - the ecosystem is complex. It takes a while to figure out what works for oneself and what is just chaff. And there is a lot of needless complexity.
Anyways, my point here is - do try to give the web another try. Maybe it'll click, and you'll start having fun writing code knowing that you can send a link to anyone and they'll be able to enjoy what you've created irrespective of what device they're on, and instantly.
And you know the reason why it's macOS only? because the Apple App store reviewer rejected it heh.
I'm sure we (if not us specifically, some other project like us) can do better.
You're right, that by itself doesn't prove data security. But what we try to do is follow the example of other privacy-first Google alternatives like DDG, Signal, and try to structure our organization/processes/code in a similar way.
> Any white-paper?
Not quite a white paper, but I feel https://ente.io/architecture/ covers the practical aspects of what we do in a human readable way (we wanted this page to be understandable by people with a non-cryptographic background, I'm just mentioning the intended audience, a few of our customers have reached out to us and have mentioned they found it useful too).
I hope someone at Google takes a look at this and uses their internal tool to help OP.
That said, this oft repeated story is one of the most compelling reasons why I think Google alternatives (like the one we're building) will catch on in the mainstream population. Not privacy. But the fact that we offer human support, whilst Google doesn't.