 So, let's start with the user experience. The first feature that I want to introduce is the dataset resizing. It is the resizing of columns. This is a request that we have received from the first version of the application. We have made some items to offer a solution, particularly on the first column where we have the name of the data element. But we have implemented now what we think is the final solution for this is a drag-and-drop resizing of any columns, either the first one for the data element, name of the row, or the ones that have the category options. And now the users can resize each specific column, they can resize all of them at once, and they can also reset to the default size. So, I'm going to show you how that works here. So, we're going to add a new dataset for this period. I hope you can notice that there are small improvements in the design of the app here and there that make it look cleaner. So, let's resize. To resize a column, I first have to tap. So, right now we can resize the first one for the name. And if I want to resize, I'm going to use this table. Yes. If I want to resize the other ones, it's the same. I just tap in the header and resize. If we don't like how it looks by tapping here, the top right icon, I can reset to the default sizes. And if we want to adjust the whole table at once, then we tap in the corner, and now whatever we do, we'll apply to the whole table again. So, we really hope this makes the datasets more usable, particularly for long names. Move this here. And then let's move to the next feature, which is the new error sync flow. We have implemented a new, let's say, flow for helping the user navigate through the home, from the home screen to the particular error. And we were doing this somehow before by offering different levels of information. So, the contextual sync feedback is not really new, meaning that we adjust the message to where the user is. If you are in the home screen, we are not giving you a lot of details. We give you more details as you get inside the program or inside the track entity instance. However, it looks simpler and cleaner right now in the new version. And the most important, it lets the user navigate from the home screen to the specific error. So, let's have a look at that. I am in the home screen now, so I'm going to trigger the sync process. So, it's telling me that we have two programs that need to sync, but then there is one program Malaria case diagnosis treatment and investigation that has sync errors. And it's not giving me any details, it's just telling me that here to explore. So, if I tap here, it's opening the program screen and triggering the sync process again. In this case, we have only one track entity instance with an error is showing me the first track entity instance attribute. If we had more, they would be listed. And then the user can select which one am I going to fix. So we want to fix head. So I'm going to tap head. And now that it opens the track entity instance is when it's telling me what is the exact error, which is a program in the system case ID, for example. So when I tap there, it's opening the form directly and is highlighting in red in both places here on the section and here on the field where the problem is. So, these are three steps but we need to in this example I showed only one error in one program but the user might have errors in different programs and we need to offer different ways to navigate. So hopefully with this we are facilitating them. The fixing errors or fixing sync errors for the end user. So let's move to the next which is user experience data entry there are a few improvements I'm going to present all of them together the improvements that we have made in the data entry form for tracker and event programs, and I will make a small demo at the end. The first one is the signature rendering type. It has been requested for some time now that we want the user to be able to sign using the device in the screen on the screen of the device. So we have implemented that now, and it's based on either data element or attribute of type image. So you select your attribute you select your data element, and then when you are configuring the the program in your maintenance tab to select a rendering type, which is called canvas, this is available now from 240. Sorry, from version 40, and the 28 of 100. The next one is that we have implemented a few actionable value types, the value types that are actionable for now are the email value type, phone number value type and link value type. So when you use any of these value types in your track entity instance attributes, you will see in the form as you can see here on the screen that there is a little icon so when you tap on the icon, the related application will open. If you tap on the phone, it will open the phone app or that you choose between phone Skype, whatever apps you have for making phone calls directly from the track entity instance details. This is just based on the on the value type of the attributes that you don't really need to do any any configuration to make it work. I'll show you in a minute. Next one is that we have extended the rendering types for option sets. So there are different rendering types available already, which are radio buttons and checkboxes either in vertical or horizontal, and then visual data entry if they have icons connected to the options in the option set. The difference here with this new here is that now those rendering types are available for any value type that the option set has before it only work for numbers in the case of visual. And I think text for the others, but right now, as long as you have an option set, you will be able to choose any rendering type to to shape your, your layout of your data entry form. And then some other small things we have added even more loading banners in some screens that were reported to be. I would slow in some cases would have improved the offline user experience by disabling the buttons that do not really make sense when the application doesn't have internet for example, sync. And we have improved the improved the display of long text in some places for example that the names of the stages when they are very long, they were cut before so we have made those improvements in a few places so let me show you the data entry. Let's go to the reproductive maternal health program I'm going to open the track entity instance, Mary. And I want to see her attributes so I open person details, and I go to her attributes and if we go to the bottom of the form. Here we have a small example we can call her directly from here. We can send her an email if that's what we want. And we can, we can collect her signature so we would. Again, this signature is attract entity instance of type image with a specific rendering type called canvas. So now I type. I'm sorry to appear and then she can just sign here to jump and we can either clear or it didn't work well okay let's make a new one and save. This is going to be saved as an image in the in the server. Okay, let's keep going we are going to change now this is all about user experience and we are going to go now to implementation support. So the first thing very, very new for us we are very excited to release this is a centralized app distribution. What does that mean. We are trying to facilitate the control of the version that is used in your mobile implementations so if you don't use Google play. You can now use your DHS to server to distribute your AP case and to control the version that you have a distributed to your users so the users that connect to your server. will will don't have will not have automatic updates the application will check am I in the right version. And if it's not it will show a pop up asking the user to update the version and this will only happen when you administrator decide to change the version of the app that is used on your implementation so this is done through one of the new web apps that I introduced before is the APK distribution or distribution web app. So here is where you will update an APK so this uses APKs that you can get from GitHub. And then the app oops and then the app here will check if if there is a software updates so this looks like this is in the settings. So the user now can check for updates and decide if they want to update or not but they don't have to do it manually that is an automatic check for updates internally happening as well. So we're really looking forward to see how this is adopted and how this is used. And hopefully will will will help controlling the version that you distribute and help you have more control on your implementation. There are other few things that we have implemented to support the admin. This is from an administration level I will want to help the administrator that is managing the implementation. So first thing is that we have removed the limit for offline accounts, we have a maximum of three. There was no real reason for that, despite the fact that they that every, every offline account keeps a separate and independent database stored in the device so we were mostly worried about memory. We have removed that limitation so now it's up to you to decide how many accounts you you allow to use offline on your facilities, the version that the accounts can be deleted as before etc. The only difference now is that we are not imposing any limit in the number of offline accounts. And the other one, which was a strong request from the community as well is that the Android settings web app, the one that we use for for configuring appearance analytics and setting parameters and does not need the permission all anymore. And it was it was the case before like the user that was configuring the settings for Android required to have the old permission and that's definitely giving way more permissions and required because with all you can do absolutely everything on the server configuration. So here we are that this has been changed in since version 40, and the Android settings web app has now a specific authority that will need to be given to the user, which will only give access to this application.