 We're continuing with Andreid. Quick heads up. I'm going to show you how one can develop an Andreid mobile DAP or wallet in minutes. So Clements should have been presenting, but she got her ID stolen and she couldn't board the plane. So I'm filling in. So we both work for a bank, the second bank in France, which is not a classical bank. It's organized like a credit union where each customer has a share and voting rights to a regional bank. And the regional banks own the central body. We've done that as a side project of our main project, which is called Cache, whose aim is to enable every of our banking customer to go on the blockchain. We are focused mostly on identity and key recovery. And once we've nailed those two areas, we will focus on writing Ethereum banking application. OK. So this is really a side project. How did this happen? First, we wanted to build prototypes, mockups for the UI and UX experiment to get our IDs right before committing to a full coding. So our product owner was a serial, he's here, was a specialist of block language. So he wrote an open source book on an open block SCAD, which is a computer elite design system using block programming. So he made us aware of block language design for Android. So we went that way. And then looking closer, I realized that this thing was extensible. And so why not write an Ethereum extension? So that's how it happened. So let's start with a demo of how it's working. So App Inventor is a web ID. That is, you don't have to install anything on your machine. You just log in on the MIT server and you've got two screens. First screen is an interface composer, very much like what you get in the Android Studio. And you can switch to the programming. So you program with blocks. So you don't have any curly brackets or semicolon error kind of stuff. Everything clicks into place. And this is how you do your programming. This makes another screen appear with the name History. So this is App Inventor. Who knew App Inventor? OK, some of you. OK, the other ones are real programmers. OK, so you click Build. And then it downloads on your mobile device. And then you're done. Application is starting. And you see the usual Ethereum stuff, addresses, transactions, stuff like that. So if you want to do that, just create a login at this address. Train yourself without Ethereum. Ethereum is not a standard component. And after a while, you'll get your apps within 10 minutes. You'll get a small app very fast. It can compile and download on a companion application. Or you can compile to a real APK, that is a real Android application. Now we've made an Ethereum extension. You load it explicitly from your computer, from your file system. You do import extension. Once extension is imported, it appears here as a non-visible component. And it also appears here in the list of widgets. Most of the widgets, as you see, they are interface widgets. And this one is the one providing the Ethereum functionality. Now when you switch to the programming mode, you see that the Ethereum extension appears here. And this is some of the methods we have implemented. So you can see most basic one, get block number, get balance, the get key pair creates a secret key and public key. You can do your hash function, get transaction status, and then the sending ether to another address. OK. We work with Web3J. Web3J is the Java library. They do the heavy lifting. Most of our functions are 10 to 20 line, and they just wrap the Web3J functions. OK, this is how you can get started. Unfortunately, the MIT web server has capacity problem because it relies on the Google App Engine. And the Google App Engine itself has a limitation of 10 megabytes of data going out. That is, if your APK file, your application, is greater than 10 megabytes, it's not going to work. So I had to modify the code of the app inventor and remove some of the limitation, make it work with App Engine library from Google, and you have to make it work on your own server or on your local machine. This is a 1.4 gigabyte download because it includes all the source code, all the intermediate file from the compilation and so forth. No time to fix it and make it lighter. And it just requires Java 8 JVM. We've tested it on Windows, Linux, and Apple. If you run it on your local machine, then the ID will appear on local host 8888. Then you'll need the Ethereum component. The Ethereum component is here. And you'll be able to import it into your project and have the Ethereum functionality. The source code is not yet here, but will be. Watch this space. There is not much. And this is why we suppose that this will be useful as for us. Most of the project, you're not focused on developing this. As for us, it will be, I suppose, for you a side project. But let's go operate on the side project and let's make it grow in functionality. Let's keep in touch. Try it on your own. And let's make it real thing. Do we have time for questions? Yes? One minute. Three minutes. No questions? One. No, it's not portable to Android Studio. It doesn't compile to Java. And there is a complex system inside. I believe it compiles to Scheme, which is a list-like language. And there is a Scheme interpreter in the thing, something like that. I'm not a specialist of this. But still, you get a real APK. And with the latest version of the MIT, you can upload it to the store. Question? I don't think there is a chance. Well, that depends on Google, because there is a limitation. They have this 10 meg limitation on whatever goes out of the Google server. So until they remove that, there is no chance. And this is because the Web3J library and its dependencies, they are quite big. The extension object is 10 meg itself. Yeah, well, we are running it on a Google compute server, or a compute engine. We are renting servers. But it's more expensive. You know, I think for the MITs, they run it on App Engine. Because it's less expensive. And running the full Java. Ah, OK. Yeah, yeah, we can. OK, OK, that's all. Thank you. Thank you. We have a foundation address. That's it. Thank you.