 Good morning everybody. Our team, Gautam Kundu from MIT Manipal and myself, Samantam Keen from Chandigarh University have been working on this project, Akash Bazar. At first like to thank Professor D.B. Fatak to give us such a wonderful opportunity to work on this project. Akash Bazar is an app store for downloading applications developed for Akash Tablet. Next slide. So here is the roadmap, what we are going to cover in the presentation. What is Akash Bazar, the concept of it, and the development, the process, the how it works, and our experience, what we learn from here. So first we'll see why we needed our own app hosting site. We have Google Play, Apptoid, many of those application hosting sites for Android itself. So why we needed this? Akash Labs has been developing many applications which encompass the education system right from schools to colleges and from vocational to professional courses. So this project quite successful and there are many contributors from across the country contributing. So this leads to a Norris number of applications being developed. Many of them are Android based. So we needed a store to host all these apps so that all the users could access it, download it. But then again the questions why not we are using Google Play or any other app store. So the reason is that we had our own specific requirements. As I already said that the applications developed were basically educational in nature but the app hosting sites, they have applications of all sorts. And the second thing that we had our own specific need to set up a hierarchical server. This is because Akash tablet has to be distributed to 250 colleges throughout the country and each of these colleges are intended to have their own local server and backed by a main server here at IIT. This would decrease the load on overall traffic on the server. So here is what Akash Bazaar is. It is an official Akash application repository and a user can access it and download applications from here free of cost. The applications here are binaries they are developed by developers all across the nation and the applications are basically targeted for the Akash tablet started to be distributed to the students throughout the country. But they can be downloaded, installed and used on any device running on Android platform. So here is the basic difference between the Akash Bazaar and the other app hosting sites. So here is the difference between Akash Bazaar and other app stores available. So Akash supports multiple repository lookup system. A user can manually add as many repositories as he wants and they will all be assigned priority and the download will be as per the priority assigned. So here is a local main server hierarchy. Local servers will be set up in the colleges and the main server will be at IIT which will back the local servers and the uploading APK right from the application itself. It is one of the unique features that it has and the views, all the details are cast and they can be viewed offline and there is no need to sign in to install apps. But while uploading we have to sign in. So here is the development process. The Akash Bazaar is basically was based on Eftroid. Why we choose Eftroid was because the client server architecture that we needed was Eftroid had that client server which best suited us. So here is the client. The client is basically an Android application and it can be installed right away from the main IT Bombay server. It is currently hosted on the server and as soon as the application starts the local server is connected. If there is any problem connecting to the local server the application will ask for the user to connect to the main server and if the user responds it will connect to the main server and populate the list of all the applications available from there. The user can also manually add also other repositories also and these app details that are downloaded are cast to view offline. But the user needs to be online or connected to the local server to install the server. He can only view the details. So single click of the button installs the app right away and there is a list of installed apps separate list of them and those installed apps that have upgrades are listed in yet another list. One of the unique feature it has is the user can also downgrade to the previous versions of the apps that are currently installed. And there is an option to upload apps directly from there. So here are some of the features. Here is how here are the screenshots that show how to add new repositories and here is the popup that shows if there is any local server connection then it asks the user to connect to the main repository which is at IT Bombay. Next slide. So here is how the list populates. There is available installed and updates tab right up and there are categories. The user can browse through these categories and the list are populated on the left side. And this is how the detail is showed in the details. Okay, next slide. So here we have an option for uploading APK. When we click on the main menu here there is an option for upload an APK and clicking here the web view opens up asking for the details in the credentials and user can submit, browse and submit from this device. Okay, the server is the main server is set up at IT Bombay. The local server is to be set up in all the colleges and universities throughout the countries. And this there is a hierarchy where application is downloaded from the local server first and if it is not able to connect to the local server then the main server is contacted. So app uploading interface is hosted on the main server. That is if a user has to upload an app, the app will be uploaded on the main server. It will first be reviewed and it will automatically be synchronized into the repository. So automatic syncing is available where the main server is synced to all the local servers once in a day that is after every 24 hours. Here is how the server was set up. The FDROID they have actually provided a good system for to set up the server. There were quite good commands and there were server tools, but the server has to be configured. And the server will again be set up at all the local colleges. Then there is a cron job running at the background. There was a self scripting which actually syncs the uploaded APKs into the repository of the main server from where they are reflected to all the local servers. And here is the upload, uploading interface that is also hosted in the main server so that all the uploaded APKs go to the main server from where they are synced. So this was it. Akash Bazar actually it has a local and main server hierarchy and the application downloads from the local server and then from the main server and also the uploading and the caching part of it. So here are the problems we faced. First of all, the FDROID client, there was no documentation at all for that client. So we had great difficulty understanding the Java codes because they were also unorganized. There were a lot of bugs in the previous version. The icons would not show properly the details they were also not there and the user interface was quite dull. We had to work a lot on them. And what the other problem was, we had to develop the client application so that anybody, any user who is new to it could use it. So we had to look it from their point of view. So it was a challenge and we regularly tested the application. We had to implement a lot of trials and errors and of course the Akash team, they were very supportive. They supported us and our mentors Srikanth sir and Sachin sir, they also supported us and helped us loss. We had to be patient and finally, whatever problems we had, we'll always Google it. So here is it. We learned quite a lot about the open source tools and technologies and basically what we take back from here is the qualities, the work culture and the work ethics at IIT and also we developed a good coding practice. We were introduced the version control, Git and GitHub. It was quite useful and the open source tools, we learned a lot about them. We learned how important documentation is for any project, especially because we did not have any documentation for the asteroid client. So we had to struggle quite a lot with it, gain debugging and testing. And finally, the Akash Prasad is currently hosted on the ITB server and the apps can be downloaded from there and the client is much more simplified. It has been all renovated. Aproid was not at all very suitable. So it has been renovated and much simplified and it is accessible and more simpler. Thank you. And also we have a demo to show. So here is the app. This is the list, the available apps here on the left side, we have all the categories and the list is populated on the right side. Then when we click on the install buttons, it shows all the apps that are currently installed on this device. The updates, currently there are no updates available. So it is unpopulated but for all the installed devices that has updates, the updates will be available there. So there is an option to update repo and here is the manage repo option. In this option, here a user can manually set these and select these and browse through them. And by default, it is set to the local bazaar app repo which will be the site for the local bazaar. Currently, it is a dummy site. So to pop up that message to connect to the ITB. If you have brought repo, it tries to connect to the local server. It does, it cannot connect. So this is an error message. And if you press OK, it will connect to the main server and populate the list from there. Here it checked the compatibility and populated the list. And we click on the Akash bazaar. Here are the screenshots. And all this thing is cached now. So if I open this Akash bazaar again, it will not fetch the server. It will right away show it from the cached view. And then here is an upload APK interface. A user has to log in. I am currently logged in. So it didn't ask me to log in again. So we browse the package name. We enter it here. And we submit the app here like this. One question. What happens if there are no local servers? Does it work? Sir, it automatically connects to the main server then. But there is a hierarchy to be built that. Everything can be done. Yes, sir. Okay. The reason I am asking is so many tablets have been distributed to places which have no open server, no local server. So it will work without a local server. It will work without a local server. What is the rollout plan? Sir, actually it is intended to set up a local server. And no, no, that's why I asked. It can be rolled out without a local server. It can be a first question. Right, sir. Now what is the rollout plan? Sir, I will tell you the reason. Okay. Lot of these apps are being loaded before delivering Akash. Okay. Once I have Akash Bazaar, the logistic function becomes extremely simple. I don't have to load any damn thing. Okay. So it's extremely urgent and cost effective. Okay. For a lot of save a lot of work it will roll fast. It's beyond. It's beyond the rank. So this is something that we have been working for quite some time. Actually, this was the original idea came from Srikant Patnaik and Sachin. Are they here? The asteroid was something that we experimented with locally. Frankly speaking, asteroid is not actually a bazaar. Abroad is an underlying piece of software which permits you to maintain versions and other things. And the reasons why we needed this was already known. Unknown to them and unknown to this team, there have been some other projects and tech projects which have successfully developed a synchronization mechanism which will automatically synchronize contents between one main server, let's say at IIT Bombay and n number of local servers, actually directly going even up to the Akash tablets if possible. We use the open source utility R-Sync and there are a lot of developments have been. It's not in perfection, but the idea is that we would have a server in IIT Bombay and we would have an individual local server in each of the colleges which are partnering with IIT Bombay in this effort. There are about 312 colleges so far, but there are 5000 Indian colleges in the country and tomorrow these tablets will go even to high school children and junior college children. So there has to be a mechanism for them to automatically load these apps. And that's the reason why Prasar Aute was asking this question whether if there is no local server, whether it will work or not. The implementation actually works. So have you tested it like that by creating a hierarchy and local server and it works properly? You are comfortable? So when can we roll it out? Right from today? Good. So you have the responsibility of rolling out right from today. The way to do it is to tell my team which handles remote centers to inform them about this. The first immediate practical utilization of the summer intense work. Thank you so much.