4 comments

[ 84.4 ms ] story [ 162 ms ] thread
Great post! I've been thinking about it myself for some time. My main concern is that once you let the user to hold the data, you might introduce a security issue as it is very unlikely the end user will protect its data as well as you would as a service provider, especially as you would be subject to prosecution if you did something "wrong" with the data (read "leaking" or "selling" it).

I guess you are right about APIs, they eventually won't provide what you need. I'd love to see Solid starting to be used for the apps I use, but honestly I don't feel like it will happen. I don't understand much about Urbit, but from what I read that sounds like another world.

That said, I think there's some startups doing some work with regards to data privacy and security (and it seems like it caught a lot of attention!). As for getting access to the data itself, I think a sort of "open-source" and "reverse engineering" approach would help here, meaning that if you have a proxy between you and the app's server, and supposing you can add plugins to this proxy, you could hijack the data, make sense of it and store somewhere else for your own usage.

Obviously, any external processing of the data would have to be granted by the app itself, but I have a feeling this is what their APIs would contribute with.

I'd be more than happy to talk more about this and even spend some time implementing a PoC, let me know if there's anyone else interested here and we can exchange ideas and/or code/docs/etc.

It would be simpler to have something like a google drive / dropbox where you allow access to store things on there to specific apps. Then you allow the data to be retrieved by another app. If the storing app does an export (say in csv format) each time you make changes then the data will always be available for another app to use. I think requiring an app to use a specific external database probably wont work because app developers have specific needs for each app, perhaps xml or key-value pairs etc. The app is then relying on a third party to provide the performance / latency they need. If a universal database could be chosen I would choose sqlite since that is available on phones.
Yeap, but storing data in things like dropbox/drive/s3 would require the app to have some sort of indexing in place (I'm thinking about ElasticSearch), as querying on these storages would perform really bad I think.