5 ms·
> So you're going to implement algorithms then? Yes, we will implement the algorithms, purely on the client side, such that we don't hold indexes to your perso
by vishnumohandas 5y ago
> So you're going to implement algorithms then?
Yes, we will implement the algorithms, purely on the client side, such that we don't hold indexes to your personal data.
But I understand how that piece of text could have thrown you off, I'll think of ways to rephrase it. Thanks for pointing it out.
- natch 5y agoYou can run algorithms locally and still violate privacy by uploading private facts derived from the data with algorithms. Saying you won’t hold “indexes” doesn’t begin to cover it.
- godelski 5y agoActually I'm really curious how you do this. If the photos aren't stored client side, then how do you search? Do you have a thumbnail of every photo client side? Is that enough? I mean ImageNet scores are still pretty low for small/fast neural nets. And ImageNet isn't even representative of real world photos. So obviously to be successful you're going to have to continue training. So how do you do this in a privacy preserving way? Even federated learning can have some issues because images can be reconstructed from gradients.
- vishnumohandas 5y ago> Do you have a thumbnail of every photo client side In the happy path the files/thumbnails are indexed before they are uploaded. But we are designing a framework that will pull files/thumbnails for indexing if they are unindexed or indexed by older models. > how do you do this in a privacy preserving way Our accuracy will not match that offered by services who index your data on their servers. But there's a trade off between user experience and privacy here, and we are hopeful that ente will be a viable option for an audience who is willing to sacrifice a bit of one for a lot of the other.
- rock_hard 5y agoAs someone who has worked on systems like these let me translate: “You stuff will be private but in return accuracy will be so bad that the UX is gonna suck!” That’s the key piece people miss when they wanna do anything with ML…that’s it’s a different problem compared to writing code because it’s not about the code anymore, it’s about having great training data!
- vishnumohandas 5y agoApple Photos seems to be using just Core ML[1] for on-device recognition and it does a pretty good job. As for Android, we plan to use tflite, but the accuracy is yet to be measured. And if customers do install our desktop app, we will be able to improve the indexes by re-indexing data with the extra bit of compute available. We don't feel that the entire UX of a photo storage app will "suck" because of a reduced accuracy in search results, and we think that for some of us the reduced accuracy might not be a deal breaker. [1]: https://developer.apple.com/documentation/coreml https://developer.apple.com/documentation/coreml
- deleted 5y ago[deleted]
- divbzero 5y agoUp until recently I’ve used Apple Photos happily since it provided a good combination of convenience plus the privacy of on-device recognition. You have a compelling product if you can convince customers you are as reliable and more trustworthy than Apple. You do face the disadvantage of not being the default option for iOS/macOS but that should be balanced by being available cross-platform in Android, Linux, Windows.
- creato 5y agoCore ML and TFlite are just tools for running ML models. Generating the models is the hard part, and that is what encryption will make more difficult.
- istingray 5y agoAgree with the above poster. I don't care about algorithms. I want algorithms. But I want algorithms that only work for me. Screw off everyone else. Apple used to sell this. Then they stopped.
- cientifico 5y agoBut that will mean that for every version of the algorithms, it have to read all the photos since 15 years ago... my phone battery will die soon. And if I need to have other kind of client... like a nas to do that... Why I need the cloud?
- vishnumohandas 5y ago> phone battery will die soon Indexing will be opt-in. You will be able to run the indexing only on your desktop client for instance. > Why I need the cloud? So that you don't have to manage your own storage infrastructure? But if you would like to do that, then there are self-hosted alternatives that will better serve your use case.