 Okay, so I'm Varun from here now and what I wanted to talk about basically was, so most of us are mobile developers here and this talk is mostly for the hobbyist programmer rather than a very enterprise, someone who's developing a very enterprise environment. As a hobbyist you have some ideas for your apps and you want to try, you want to make them up, make them as fast as possible and there are some certain skills that you have which is mobile development, but you might require some cloud back ends which frankly is an entirely different set of skills. So there are people who have already done this who offer it as a service, so we can use those services to basically make connected apps which can save data and retrieve data from the cloud. So that's what it's all about and for the particular instance we are going to use pass.com. So yeah, so as you know devices are getting smaller, cheaper, but that doesn't mean that the things you can do is getting less sophisticated. Because you have this entire infrastructure powered, I mean, which you can access through internet on the mobile phone, you can build much more powerful software than you could ten years ago or even five years ago. So if I mean a connected app, what would that mean? That would mean basically it's the network is always available and it gives the user a perception of infinite compute and infinite storage. So obviously this is not easy to build at the back end. You have to deal with everything from auto scaling to server maintenance. I mean all of these issues then you require infrastructure expenses. So most of these cloud companies basically they have a free tier as well for hobbies to start using. And as your number of users increase you can start moving to a paid plan. So are people familiar with this? Should I, okay, I'll just give a quick primer for this. So basically, if you're looking at cloud services you base, industry standard is to segment it into three categories. First is infrastructure as a service, which is raw processing power. So you can, I mean, Amazon web services, Rackspace are examples of this. So you can reserve instances on an R basis, on a month basis. You can get storage in terms of GBs per month, all that kind of things. So over that people realize that it's still very complicated. I mean, if you're an app developer you don't need, you don't want to think of going from 100 to 1000 or 10000 users. The back end management can be simplified even more. So then people build more value added services on top of this. So examples would be pass, which we're going to talk about. There's Google App Engine, Salesforce, Windows also has many such APIs. And on top of that, the software as a service is the SAS stack, which is basically all the web applications you use. So even the websites we use, Facebook, Gmail, Dropbox, all those are examples of end users SAS, SAS applications. So as application developers, this is the stack which is relevant to us. This is what we can use to make our lives much easier. So pass.com, quick primer, so it was acquired by Facebook last year. So we know at least that it will stay for some time. If I'm using it, I'm not afraid of my data going away. Then it's free till you get an API request of 30 requests per second, which is quite a lot. I mean, if you have 100 users, they use it twice in a day. That's just 200 requests in the entire day. This is 30 requests per second. Then it has libraries for all this, the standards, what you expect. Okay, so once we have this kind of a pass platform, what all do we want to use with it? So your app has a web component. Now what all would you want to do with it? So you would want to provide users an ability to log in, upload, download a file from a server, basic. Then databases and relational databases. So you would want to create database tables, add rows to your table with some columns, increase the number of columns, things like that. You want to get data back from the table. This might be coupled with the certain filters. So you want to filter it based on a particular geographic location or a particular user or a particular time frame, stuff like that. Then to give a sense of connectivity, I mean, connection is always poor, right, as we have been talking. So you would definitely want to build a server cache to store some of that data locally. Yeah. So this is just some examples of a code. The purpose is to basically explain how, that it's very simple. That is the only goal. I don't expect this to be any sort of reference or any in-depth thing. So if you're using pass, what you have to do is you have to just get, add the libraries to your project. Then you defy, then for the login process, you have to just, I mean, on the set, on click listener, you just have to write this code. Pass user equal to new pass user, user.set username, user.set password, and then user.signup in background. Those three calls basically gives you the login. So it's pretty simple. Everyone should be using it. I mean, you can take your development skills to the, not skills, but the apps you develop to the next level using these kind of services. Then how to make a table and then query a data from a table. So what you essentially do is you create an object of the type pass object and the parameter here is the name of the table. So here I've named it, suppose you're building an app for the, for the drawcon event. We call it session. Then we define some columns here. So we define an order column, order is equal to 13, speaker name, that's my name, and category. So category here is clip stock. And then we just say save in background. So it will automatically ping the pass servers and save that object there. Then whenever you have to get it back, basically you just define a query what you want. So this can be any sort of filter. I've said right now it's, I've said query the table session and where category is equal to clip stock. And then I say find in background. So this will basically give me the entire data set relating to that query. How are we on time? Cool, so this is a similar process for getting a, getting a file. So a difference between a file and a row table generally is that a file is larger. In past, you are limited to a role, a row size being 128 kb. This thing, when you're saving a file, you can store files up to several MBs and those may include images, MP3s, I mean, whatever you want to do there. So I won't go through this per se because it's mostly similar. And yeah, so I've built a basic starter project using pass. So you can get it at this URL and I'll just, we have a couple of minutes. I'll just even demo that so that you know what to expect if you are, if you are using that repo. So I have my application here. So in the, in the first emulator I basically logged in and here I'm creating a new user. So this is all the code that was displayed there. So you know it's just a couple of lines. So these are some entries which are already created. Now I'm just going to add a new post here. So this is whatever. So you can see it's just added here and if I refresh the page here, it'll basically reflect here as well. So yeah, so this was just meant to get people started. So a very simple application, you can use this to see how simple it is. And yeah, let's just make more connected and sophisticated apps. I have two questions, yeah, I have two questions. First of all, how many users have you tested like past exactly on? And how expensive is it? So we have, right now we are in the free tier. We have not gone beyond that. We have around 500 very intimate users. Probably they log in once a week or something. So yeah, this is mostly for demo purposes. I mean, if once you are going full on marketing your app and stuff, then you should move to a more production environment. Because the performance you get here might vary depending on time of the day and things because when you're in the shared, sorry, when you're in the free tier, you are basically sharing your servers with other applications. So it depends on how the other applications are also performing, like any AWS deployment. So did you ever consider moving on from free version to when, suppose you are going to reach a million users, maybe your app is going to reach million user base? So did you ever consider that maybe in that case you won't be able to keep it on pass and you might need to move on to some other server? So do you have a window for that move? So that would be, I mean, it's a question of resources, time and money. So, I mean, if you're getting a more customer traction, you can basically raise more money, you can get more people, you can develop the entire thing yourself. This is more of like we have two people working, one handles the cloud side, one handles the Android development side. So this was very useful to us for getting to the market. Like I've been developing on pass, using pass.com a lot. And what I found was when you write a code using pass.com or pass.com, the Java code I'm talking about. So it will become a lot specific to pass. So I find when I write a lot of code on pass, it will be getting tougher for me to move on or move away from pass later. The changing of the code. So what we are doing there is we are not using the pass API directly. Have you used pass cloud code? Yeah, JavaScript. Yeah, so all the calls we make are basically to a function in cloud code. We don't. One more thing, when you use those that JavaScript back in, there are a lot of triggers. You must be using the triggers before and after triggers. You know that they also trigger a call. They are also counted as a call. So in that case, touching the 30 request per second is a pretty easy thing. Yeah, yeah, I'll agree there. So basically what the question was that you can run your code on the pass servers as well to get more advanced functionality. But if those functions are querying the database multiple times, that will get counted as multiple calls rather than just one. So that means that you'll reach the 30 second API limit much quicker, which is true. Which is true. But, yeah, but still, I mean, if ballpark number would be, like suppose, if you have 100 users, everyone is using it every hour. And every call gets you 10 more, gives 10 API requests. So that's basically a thousand requests per second, per hour. Which is one request every 3.6 seconds or something. So it doesn't practically not, basically by the time you reach that, hit that limit, if you have designed it properly, then I mean, you will be sufficiently large to move away. I mean, yeah, it doesn't give you that little problem. Hello. So I actually, we actually worked on an application that has around 10 million users, and our client pays for parts and we see absolutely no performance drops or anything. We, they don't use parts for storing everything. They use parts, like every user does, they do store some data in parts and they have absolutely no performance issues as such. Right, so, but it's just to supplement that. Yeah, yeah, but you would be using a production plan. Yeah, of course, they pay for a plan, yeah. But let me just like somebody asked about how fast scales up and if it does out very well or not. And we've had no performance issues or no scalability issues at all. Okay, very good. Which, can you tell me? I can't, I can't tell you, sorry. Quick question, how do you, I'm over here, on your left, hello. Hey, how do you get your data out of parts? I mean, if you want to move to your own back end, I mean, can you export the data and like, if you do, what, you know, how easy it is to import to maybe some other back end that you're using? So, I can't give you a proper answer because you haven't done that. But the, the most dumb way, I mean, which I can, which is obvious is you just go up, like, pull all the data, like, do API request to get all the data. There are, pass is definitely adding capabilities itself. So it has of, it has come out, rolled out a feature called clone your app. So I am expecting that it will, it will come up with a feature like that also to pull your data. But it based on AWS, and AWS doesn't charge you for ingesting data, but charges you for extracting data. So there might be some issues there regarding pass, also. Thank you, Arun.