We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Android Content Providers for the Web

00:00

Formal Metadata

Title
Android Content Providers for the Web
Subtitle
Using decentralized storage to share data between apps
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Inspired by the concept of sharing data between apps on Android devices through Content Providers, this talk explains how this can be achieved on the Web today using decentralized identity and storage (identity hubs). This talk has been accepted late to replace "Decentralized object storage An open source decentralized object storage" by Ivan Fraixedes. Due to health issues Ivan's talk had to be cancelled. We wish him a speedy recovery. On mobile devices, users got used to give apps permissions to access their personal data. This can be for example the address book, calendar, pictures or any other file. Re-entering or copying the data in different apps does not make sense. However, on the web, users do it every day. Contact details are re-imported, pictures transferred or videos copied. Some web apps support the integration of 3rd-party services that keep the data at one place. However, apps thereby imply that users have an account with these 3rd-party services. The apps and users depend on the terms and conditions of these services. This dependency can be removed With decentralized identity and storage. In this talk, two current projects are presented that offer APIs to use personal data across web apps: 3Box storage and Gaia storage. It is explained how apps can make use of this type of storage and how cryptographic keys (belonging to a decentralized identity) protect the users' data. While these projects are used today (as demonstrated with existing apps) it is exciting to see that the different projects are working towards a standard of these APIs. The current status is presented shortly at the end of the session.
33
35
Thumbnail
23:38
52
Thumbnail
30:38
53
Thumbnail
16:18
65
71
Thumbnail
14:24
72
Thumbnail
18:02
75
Thumbnail
19:35
101
Thumbnail
12:59
106
123
Thumbnail
25:58
146
Thumbnail
47:36
157
Thumbnail
51:32
166
172
Thumbnail
22:49
182
Thumbnail
25:44
186
Thumbnail
40:18
190
195
225
Thumbnail
23:41
273
281
284
Thumbnail
09:08
285
289
Thumbnail
26:03
290
297
Thumbnail
19:29
328
Thumbnail
24:11
379
Thumbnail
20:10
385
Thumbnail
28:37
393
Thumbnail
09:10
430
438
Mobile appData storage device
Block (periodic table)Computer animation
Block (periodic table)Content (media)Android (robot)Software maintenanceBitAndroid (robot)Identity managementComputer animation
Block (periodic table)Computer animation
Block (periodic table)Content (media)Android (robot)Internet service providerContent (media)Type theoryConnectivity (graph theory)Multiplication signIdentity managementCartesian coordinate systemMedical imagingInternet service providerPoint cloudAutomatic differentiationMobile appSoftware developerAndroid (robot)Computer fileProgram flowchart
Block (periodic table)Identity managementLocal GroupIdentity managementGroup actionKey (cryptography)Demo (music)
Block (periodic table)Identity managementKey (cryptography)
Block (periodic table)Identity managementComputer networkEmailRevision controlCartesian coordinate systemAuthenticationKey (cryptography)PasswordMetropolitan area networkTheoryIdentity managementPublic-key cryptographyCryptographyComputer animation
CuboidProof theoryInformationIdentity managementBlock (periodic table)Text editorCuboid1 (number)Computer animation
Block (periodic table)Proof theoryComputer animation
Block (periodic table)Identity managementProof theoryComputer networkInteractive televisionPublic-key cryptographyMobile appProof theoryMessage passingService (economics)Computer animation
Block (periodic table)Data storage deviceServer (computing)Content (media)Cartesian coordinate systemAndroid (robot)Internet service providerAuthorizationLevel (video gaming)Multiplication signData storage deviceWeb 2.0MereologyMilitary baseComputer animation
Block (periodic table)Data storage deviceFlow separationMultiplication signDifferent (Kate Ryan album)State of matterGoogolFacebookProgram flowchart
Internet service providerContent (media)Block (periodic table)Android (robot)Identity managementMedical imagingCartesian coordinate systemArithmetic meanInternet service providerContent (media)Identity managementWeb 2.0Local ringProof theoryKey (cryptography)Standard deviationPoint cloudWeb applicationProgram flowchart
Block (periodic table)Data storage devicePoint cloudData storage deviceDifferent (Kate Ryan album)CuboidSoftware bugSpacetimeExtension (kinesiology)Point cloudPublic-key cryptographyKey (cryptography)Communications protocolWeb applicationWeb browserComputer animation
Block (periodic table)Data storage deviceComputer animation
Point cloudFacebookOpen sourceComputer animation
Transcript: English(auto-generated)
Thank you for the introduction. Well, was it introduction, sorry. For the talk before, because it was really a great introduction for my talk, I want to build on top of that. So, I'm Friedger Mufke.
I am the maintainer of the Android SDK of Blockstack, and I want to talk a bit how you can use decentralized identity in a way that, well, I'm really excited about. It's kind of new technology, decentralized and everything. Society might not be ready, and if there's blockchain involved,
this is not financial advice. So, just disclaimer. I'm Android developer for many years, and the concept that really excites me is the Android content providers. The idea is that many apps can access the same data. This happens on Android device
through this type component, this content provider, and it's backed by files or also maybe by the cloud, but really the interesting idea is that your contacts, your images, your calendar sits at one place, and many applications can make use of them. You do not have to type them again and again and again, and now the question is, how can we get this to the web?
And this is possible because we have now identities that are decentralized identities that you can use to make, well, to associate your data with. So, we heard decentralized identity.
We have a W3 working group. It is self-sovereign. Other people can verify it. We had a demo really here five minutes ago. Great. So, it's really about cryptographic keys. Once we have a cryptographic key, then we can make work with the data,
and there we have this authenticator that owns the private key, that manages your private keys, and application can ask this authenticator to give you some information,
some piece that you can prove to, that you are the owner of the key. So, I skipped this. We had the introduction how this DID looks like. So, you do not have to have a password anymore. You have 45 different ways how you can create your decentralized identity,
and BlockSec is one of them. We saw Ethereum version in the talk before. So, the idea is when you log in, when you authenticate to your device, you are creating with your cryptographic keys some kind of a proof that you own this key.
So, for Ethereum, there's, for example, 3Box as well. They really have a nice concept where you associate or where your identity is represented with a profile, and this is the Ethereum address,
and you get some information about the user, and BlockSec using a more human-readable way to represent your identity, but it's really about that you can have a proof that you own this private key in the end,
and the app wants to have this proof so that they can act on behalf of the user, interact with other users, exchange encrypted messages, talk to other services or other users. So, once we have this proof, we might want to store our data at a place
where they know I am the owner of this data, and that's where we come back to the Android Content Provider. So, we want to have a concept where the user can access or give applications authority to access this data, and decentralized storage,
there are different possibilities. The idea is that we don't want to have these honeypots anymore. We had a talk yesterday, Web3, why this is really bad, and there are different possibilities, but the applications, in the end, they don't want to manage all the data
of all users, but the idea is that the user is managing their own data. So, we want to get away from the state where we know that applications, databases, manage all the users several times
for different application, ABCD, Facebook, Google, and so on. We want to move to a place where one user can manage their own data. So, for the Content Provider, what does it mean on the device? So, we have the authenticator, and the user can now give proof to the application
that they can act on behalf of the user and access, for example, the images. So, there's one particular key that allows you to access your images somewhere in the cloud, probably. There's the concept of identity hub, but there's this standardization details.
I just want to make sure that the idea is clear. You can give another key only to one application, and then this application is allowed to access your contact data. And so, these are web applications, so they are served from the web, but they are sitting on your device,
and they're working locally. And so, yeah, it's about Let's see. We have the two examples to compare a bit. The authenticator, Blockstack, we have a web app where you authenticate yourself, so they manage your keys in a web app
running on your device. 3Box has web3 authenticators, so you have different browser extensions also on to manage your private keys. And then, for the storage, there you have, in 3Box, OrbitDB that is based on IPFS,
and you have, it's key value-based, and in Blockstack, you have Gaia protocol that is based on existing cloud storage, so really fast in performance and cheap. It's file-based. And what is kind of missing for them that you have the data schema, and I'm gone.
Thank you.