 Okay, cool. So in the audience, if you have already killed your mobile website, good job. You are in the right place. Well, okay, so let's get started. So I'm sorry about that. I should have switched this off. Sorry. Yeah, so very quickly I head the user experience and the front-end engineering team at FreeCharge. I also am a moonlighting musician with a band called Agam and I am a nice guy. Don't judge me and be nice to me on scroll back. Well, okay. So I'll jump right in about the mobile web architecture of FreeCharge. That's the stock. That's what the stock is supposed to cover. So good enough. Well, I don't know. This is what I see most of these times. These days not on desktop devices, at least on mobile. This is what I see. So I'm sometimes wondering, my friend Rajesh Baisani is a product manager at FreeCharge. So he and I were having this conversation yesterday. So when you're completely sleep deprived and you've been working very hard and all you need is a cup of coffee. That's all you need in life. I just can have coffee and probably feel on top of the world and you walk to the Starbucks on 100 feet road. You know that that guy at Starbucks will actually throw a nice typography banner at you. Go to Fordham Mall for the 4,000 square feet Starbucks for a much better coffee experience. That's the kind of shit that is happening right now. Like, and all I wanted was coffee. But you are telling me I'll jump four other hoops to, you know, get that. So I never got, I never quite understood the rationale behind that and hence the stock. So this is what my answer for them is. It's an animated GIF. It looks much nicer when it animates, but anyways, screw you for the people that don't slam. And also, to be very honest, before I start the talk, let's ask this serious question to us. I mean seriously, really seriously, touch your heart and tell me how many apps do we have, at least from this country, that logically does anything more than what your mobile website does, except for the fact that they have, they will ask you for the login before you can even see the catalog. Like to lock you in or at best it will have a, I don't know, at best you will have geolocation, which you can clearly achieve using web, but we will choose to ignore and will tell you that you are in Bangalore. Other than that, I haven't really seen my personal experience. There are apps which really solve a problem, which really require an app, but largely killing down a mobile website and doing an app, you should clearly do something that is more than your mobile website. So my perspective is I haven't seen a whole lot of them that actually do that. That's a question to Ponder. And so I'll jump into the free charge story. So we clearly believe, the team at free charge, we believe that those slams suck. Whatever goodness that brings it to the business, whatever it means for product managers, whatever it means for business owners, we just believe as a company that those slams suck. We are never going to do a dose slam ever. So that's the belief. And at that point, the team that actually built this product is sitting at the back. Guys, you can just raise your hand and wave. This is the team that built the product. And I am the least technical guy in the entire group to the risk of, if I were any less technical, I'll be called a product manager. Yeah, so there are many, many reasons for doing a dose slam. I've been told. So I am only arguing that the lack of heart to build a great web experience should not be one of them. So nobody should be dose slamming your customers because you don't have the ability to build a KICAS mobile web experience. I think with such a great, such fantastic web fraternity sitting over here, that's a question that we need to all ask to ourselves and kind of say an affirmative yes to. If we can build something really nice on the web, we should build it. We should not be dose slamming because there are other reasons to do that. And when in doubt, please look at the data. How many of us, how many of us here actually look at the data, typically product manager's job, but do you guys look at data? You should definitely look at the data before you get emotional about things. That's what I do. That's what we did at FreeCharge. And the only thing that we told to ourselves is that you're looking at data, look at it from your customer's viewpoint. Look at it from the guy who's going to show up on your website and use it, and not from your own fancy, nicely cooked up metric of what you want to be, should not be a metric to kind of read the data and kind of come to conclusion. So if your customer is getting benefited by providing him a channel to that, that should matter and probably not something that is more convenient to you in longer term, shorter term or not. So this was what our game was. Approximately 75% of our traffic started coming from mobile. So that is happening. So mobile being the primary consumer acquisition, consumer channel is a reality. When I joined FreeCharge two years ago, that was not the case. It was probably the web site that was getting higher traffic. But what is interesting is this traffic was arriving on the mobile website, clearly. So they will hit FreeCharge.in from a mobile browser and they will arrive at the mobile website. So we set out to build a mobile web experience that's at par with a native app experience or even better. So that is what we told ourselves. So now this is a pretty tall statement to make. Like you will build something which is better than native or something which is at par with app because it comes with its own challenges. Because as we know we are in a fragmented world with tons of browsers and tons of different capabilities, tons of different runtimes working together. But we set this to ourselves and the Twitter handles over there are the team that actually built it. So this talk is a representation of what we went through and not really my own discourse of what I could achieve in this. So it's a larger team's motive in terms of what we wanted to do with this. So the process that we embarked upon was, okay, so before that, so how many of us here have a full responsive website for your companies? Sure, great. That's fantastic. And that's a great way to build your web experience. All of us would agree. So we were faced with a very different situation. I had mentioned this in my last talk here as well. So we had tons of guys coming to us on 2G, like quite literally on 2G. And they have no patience. Our ticket sizes are like 15, 20 rupees. We are a recharge company. Largely people do prepaid recharge. So the average amount of time that he's going to spend doing a 20 rupee recharge is going to be pretty less. So it was very important that we kind of get him to that success point, which is about getting a successful recharge. So we had to take a decision. See, we actually ended up building a full responsive website, almost kind of shipped it. And then we scrapped it and decided to build something which is far more optimized and built for mobile so that people who come and show up on mobile will get a good experience, respectively, of not having to carry the baggage of the desktop code base still sitting with it. So we just did this small exercise of identifying the top browsers that contribute the largest traffic to free charge. So this is a hard one because you're almost always going to let go of a few browsers, which does not contribute to a lot of traffic. So that happened. So we did give up on a few browsers, quite a few browsers that don't contribute much to our traffic. And we just optimized the product till we achieve the same experience. Like, you know, if it is working on one supported browser in a particular fashion, we will work very, very hard to make sure that we replicate that in entirety on the other supported browser. So we will talk about graceful degradation only at a point where we have completely broken it. Like, we will not be able to do anything further. That's when we will kind of take compromises and build something different. So that is the other key metric that we track when we start on this process. And of course, mobile sites need to be fast. So a whole bunch of frameworks and CSS frameworks and HTML libraries were all thrown away. This came with a lot of pain, to be very honest, because a lot of this stuff was written using Twitter Bootstrap as the base library and it was really working well. I have no real complaints about Bootstrap, so to speak. It just works, but it just doesn't work in a context like this. So we had to take a pretty hard call of doing away with everything that was written. So it was kind of working and we had to kind of throw Bootstrap away. And also all the CSS and assorted complications that comes with Bootstrap was also thrown away. And a whole HTML, a whole custom framework, I mean, not so much for HTML, but for CSS and JavaScript, we pretty much hand rolled what would work specifically for us. So one key takeaway that we learned from this is that when you're solving for a problem like ours, like we clearly know what our problem is, we clearly know what our customers are. So we realized that we don't have to solve for everything. So we wrote something that works reliably and performantly for us. So what we wrote, if I open sourced it today and gave it to you guys, it might not work well for you. But that's a call that we took. So it's about choosing the horses for courses. So you write and you create a framework that will work for the problem at hand. So that's something which we specifically went after and did not try to... So while it is extensible, while it is future-proof, while it is capable of handling future requirements, it is largely written keeping the current needs in mind. So that's interesting because the typical wisdom is to always do the longer shot and envision what is it going to be moving forward so that you can be. But we have specifically taken a stance of solving what is at hand right now and keep adequate programming hooks and edges to make sure that we can future-proof it moving forward. So that's something which we specifically did. More about that, I'll take you through some more technical detail in terms of how these things play out. But I just wanted to set this context right on top. So Altamarsh from my team was responsible for writing the CSS framework. And one thing which this is also... So there were several interesting, especially the guy from book my show Funny Dude Man. Are you here? So there was quite a few things that were spoken about people liking good experiences. It's the whole experience altogether. So I don't know, recharge as a problem is pretty mundane. It is not the happiest of things that you do on the internet. For example, if you're buying clothes of Mintra or if you're buying electronics from Flipkart, there's a certain sense of gratification that comes to you when you actually get something out of those products while talking about recharge. It's very commoditized. Like, you know, you don't like go on top of the ceiling and yell that I got 20 bucks top up. That's the fucking requirement. So if you got 20 rupees recharge, good. That's what the product was expected to do. So innately we are at a disadvantage of not able to provide that immersive experience. And also people come to get out. Those things in mind, we still wanted to do something meaningful, something fun, something which actually pushes the envelope of what is possible on a mobile browser using HTML, CSS, JavaScript. So that people still get to what they want, but in the process feel very, very happy about how they're arriving at it. So we took a very conscious design call that we will keep this fun. So we will not keep this matter of fact. While we could have very easily kept this matter of fact, we decided we'll go for a little bit of ornamental vanity around this whole recharge problem. So more of that when we see a demo and speak about how. And I don't know. So anybody that has a custom framework that is powering your mobile website here, custom framework not bootstrap. So cool. Some of us, but largely I realized that we're using an off the shelf framework. So one thing which we did as a process step while engineering this is that we had created the layouts. We had created the UX, we had created the UI, but before we actually started creating those screens, we went ahead and created an entire component set and just tested the component set across the supported process. See, this would involve your checkboxes, your radio buttons, your text inputs, or like a smooth scrolling list, all this kinetics that you do. So kind of built them a separate component. There is no product UI still in place. Kind of create more like a Skunkworks project and kind of test it exclusively across all supported browsers and make sure that it works exactly like how it would work in the product. So that's one approach that we did which really worked out for us because in the testing phase, there were very few issues that came our way when the QA said that, hey, the input looks different on this browser because that was already tested. That was already figured out even before the product was engineered and shipped. So from our experience, it has turned out to be a good approach when you have. So in a nutshell, you're typically rewriting something like bootstrap, but largely what I'm trying to say here is like you're creating a subset. You're not building for all. You're building for what your supported matrix is and you're dead sure that this is going to work for you. It'll save you a whole lot of time when you're actually rolling your actual product. So nothing new here, but if you're hand rolling stuff, this might be a good process step to go after. And we wanted to do animations. Who likes animations here? Just want to see hands go up. Seriously, all of us like animations when they are in the context of wanting to watch animations. Before I got this job and the job before that, I was in a company called Adobe and I used to represent a product called Flash and I was mostly hated by the very same group. So the whole point was that animations when done badly is like a complete pain in the ass. It makes you want to watch the JCon movies back to back. I mean, I do that even otherwise. So animations are fun, but animations done right when they are done meaningfully, when they actually create a story, when they actually convey something, when they actually instill some sort of confidence in the person that is transacting with you, it becomes meaningful and fun and repeatable. People will come back and feel happy that, hey, this is going to happen right when it is pretty cool. So we spent a lot of time envisioning the recharge problem as to how can you tell a story, like a simple thing like entering a number and paying through your credit card and in the process can you tell a very interesting journey to the customer as to how he got from there. So that was something which the design team kind of thought and we wanted to make sure that we kind of implement that in the product. So designing and architecting your CSS layer carefully to keep size and performance both in mind, like size and check performance high is very important because you're not using Bootstrap, you're not using anything that has been already tested for the search, it's very important that you, while you aspire to do this, and this is better told in my demo. And again, there's a style about performance, I'm going to skip that. You have to make sure that there are no compromises. So I'm going to show you a demo of what we call, anybody who has used free charges, mobile website now? Anybody who has seen this feature? Very few people. I will tell that to the product manager. I mean, I don't know why the hell people are not seeing it. We have built it, people should be seeing it, but anyways. So I'm going to show you a demo of this. Don't worry, that doesn't work. Hey, this camera works, right? So this is what our repeat recharge experience is. I just wanted to take a look at that. Let it happen. This is the real recharge that we performed, right? So this is how a recharge happens at free charge. There's no input. If you observe, there's no typing, there was no keyboard involved, and there was a small little story about a rocket taking off and leaving and you getting a receipt printed. Now, wow, there was that. Okay, anyways. Who wrote this algorithm? Man, this is a GIF, man. I hate this. You have to see this GIF. It takes some time off my talk to make sure that you see that GIF. Hang on. I spent a lot of time finding these, man. More time than actually preparing for my talk. What nonsense is this? Hang on. For those who do not know who this guy is, I mean, seriously, this guy is called T. Rajendra. I mean, he's real. You should. That is not an animation character. That damn thing is real. So that shit is surely native. A lot of people, when I showed this demo, have actually came and told to me that the video that I played, we made a video of that because tons of people will come back and say that shit is native, or either you are doing some kind of a con job using Flash or something, kind of run it. So whenever people say that to me, that is the feeling that I get. That shit is not native. It is running on web standards. And to prove that point, I'm going to run the same demo as an iPhone. I'm going to run the demo for you guys right here. Somebody has to help me switching over to the camera. Thank you so much, sir. Appreciate it. So yeah, is it? It's not, yeah, it's nicer now. It's clear at the back, guys. So I'm going to run this. This is the real product. You are free to use this on your mobile phone right now. Open it and see if it is working. So my wife is going to get 20 rupees worth of recharge. That's a good thing. So there you go. Who is that dude, man? Somebody from here? So do you see that it actually runs on this browser? And if you can try it on your Android phone, your Moto E, like I recommend you guys to do that. The only browser where it is actually a little patchy is the new Windows mobile phone, the one after the new OS patch, where the IEI, I don't know for some god-awful reason, it works pretty badly. But pretty much on every other, yeah. So this is, the video was exactly of this. Now, I have a few more things to show. So now what really happened over here is that, this is not required to be very honest. Like when you're building a product, you can easily argue that somebody take that phone away from the conference organizer, man. What nonsense is this? Anyway, cool. I mean, so yeah, so, okay. So what we tried to do, the following things were met when we made this application. The biggest challenge we have as a recharge company is that people do not trust you. People just don't trust you. It's because the ticket sizes are small. Half the companies are like, you are this glorified con artist who are cheating people at small denominations at a time and thereby becoming very rich. Like, you know, because the Indians believe that at 10 rupees a piece, we can cheat 100,000 people a day. You do the math. That's like a lot of money. So a lot of people believe that we actually do that. And that was the primary challenge that we had in all products that we built. Because if you keep it super matter of fact, and if you keep it super clean, by the way, like, you know, I mean, I see clear-trip guys are here. Sometimes, like, you know, it's a very clean product. I sometimes really want to build something super clean. It's just that if I build something super clean, our average prepaid customer says that this is not real. This doesn't look like something that will work. So, see honestly, this is a battle that we keep fighting and we have gotten this far to keep it without the clutter. Like, you know, what people compare recharge products with? Have you seen the recharge shops that sell recharges? Have you seen his facade? See, every time you walk into that store, you will get an epileptic fit with, like, yellow, green-colored stuff that is tied and there'll be, like, bottles worth of halls and chocolates being sold. And a pretty creepy guy. I don't know why these guys are creepy, but all of them are creepy. You don't want to give your mobile number to him. Like, Kiran is fine having my mobile number, but I don't want that guy to have my mobile number. I don't know what to show up on WhatsApp. So... Right, so cutting the bullshit shot, the larger point is some of these stories that we created actually helped us, like, in retrospect, when we measured it, we actually did an A-B test on situations where we just had a regular Android-like spinner, which kind of just spins and tells you that your recharge is happening, and this small little story animation. We actually had 33.3, fancy number, 33.3-person extra conversion for something that did this. So people generally like these small details, even though what really happened... And interestingly, I typically get feedback from people the fourth time, like, this animation is getting boring. It's the same shit. I don't want to see this, but very, very interestingly, I am yet to hear somebody kind of writing to us saying, hey, this is bullshit. Kind of cut the rocket. I don't want to see this anymore. What it really conveys? There are some logic that is built into it, like the time it takes to recharge, the way the order ID appears, a whole bunch of orchestration has gone into it to make it a meaningful transition, meaningful animation. And what is important is that you envision this animation and don't cut short by not doing it on the web. You can do it on the web. The point is it's hard. It is difficult to get it to work that performantly on all mobile browsers, but that's what we're all here for, as front-end engineers, as HTML, CSS people. It's really hard and extra determination to kind of go that extra mile to kind of do it. So that is the larger point that I wanted to make. Can you help me move to the presentation? So, give me a sec. Yeah, okay. So I'm just going to deconstruct the flying rocket just a bit. I mean, as in, to be very honest, like, you know, to keep getting technical sessions and conferences like this, I cannot run a whole talk on rhetoric. So I'm kind of getting into some bit of technical detail on this, and the guys who actually wrote it are here. So if you have further questions around how stuff works, it definitely heat us up after this one, and we'll be happy to take you through what. And just before I move into that, I want to hear from the... How many lines of JavaScript would be that, that flying rocket? Any guesses? I want you guys to guess. Please be nice. Um, okay, yeah. Less than 100. One line. So it's zero lines of JavaScript, to be very honest. It's absolutely zero-zills-nada. Zero lines of JavaScript done entirely on CSS. Not even a single line of JavaScript is written. So, well. And, um, to be very honest, the technique that, um, Altamush involved to do this is actually so, so dead simple. Uh, it makes me extremely proud that we represent the open web standards community, because I, I can't imagine any other stack that will allow us to do something as nice as this with very, very simple constructs. So I'm just going to show you three pictures, three screenshots in terms of how this is achieved, and how much less CSS it is. So that is the expected trajectory. The rocket takes off and goes in there. So if you were to do this in JavaScript, you'll actually do a property animation. Well, keep moving it and do an interpolate to kind of move it like this. That's what you would do in JavaScript, and that will jank, right? Because it will largely depend upon how, what your time-out ratios are, or how quickly will it work. Super simple. You just transform the origin of that to the right. That's the second step, and you rotate it by 90 degrees. That's how it really entails, and it actually runs perfectly under all of this. It's super simple, right? It's, and, and this is the CSS from our code base. So, yeah, this I already told. This is all it is. It's from our code base. The mobile website. I'm sure somebody's doing it already, but this is all it is. About how many lines is there? About, like, eight, nine lines with new lines. That's what it really is to kind of achieve something like this. So that's the point to make over here. Again, going back to my side. I've heard a lot of people say that the technical debt, I hate this word. I mean, I'm sure people have heard this. Like, you know, maintaining a mobile website alongside your website and three apps, because you have to keep updating your mobile website. You have to keep adding features to it. The point is, if you're ending up with technical debt on the mobile website, you should ask this question to yourself, why are you doing stuff correctly? Is your engineering approach correct? Is the way that you're architecting this product correct? So sometimes you just kind of get blindsided that I built my desktop website. I'm going to take the same approach and kind of monkey patch that into the mobile website and you fail. And then you realize that I'm not able to manage this one day even the engineer gives up and says, hey, heck, let's put a door slam, because I'm not able to figure this anymore, because we have accumulated so much nonsense on this in the name of adding new features and whatnot. So what is important, what I'm trying to say is like, stuff is simple. We haven't done complex stuff. My point is like to make here is that stuff we did is actually simple, and everything that we did is actually super simple. And if you look at what we have done entirely, the footprint is also pretty small. So the point here is like, you know, before you start killing off your mobile site and wondering like this is hard to maintain and it's hard to maintain stickiness of customers, just ask these questions to yourself. I mean, are you kind of doing your homework right now? You see our development strategy, right? So one thing which we learned is while we couldn't go full responsive, we just realized sharing code is a very good idea. All of us know MVC frameworks here, right? I mean, I think that's the deal right now. If you can't name like four new MVC frameworks, you're not even an open standards guy. I feel extremely threatened at times. That I don't know. I don't know a whole lot of these new libraries because I've kind of somewhere in the time realized that if I have to do something, I have to roll my own framework and that's the structure that we follow. So sharing code is a good idea and we have had great success doing this at free charge. So I'm just telling our story. So what happened is we created, we spent a lot of time building our desktop website ground up and we wrote our data access. Basically our model and controller layer has been very well thought out. It's very future proof. It can actually support a whole lot more services than what we currently support. So we do probably like recharges and bill payments but theoretically our model controller stack can do a whole bunch of other things which we are not shipped just as it is. So it is kind of built very, very forward looking and what we did is like, we didn't want to recreate that for any reason. So basically keep the super lightweight and share that for your mobile web experience in such a way that that I already mentioned you can have a view layer which is super lightweight that can be plugged and it can be controlled by a standard module or the framework whether you're using require or any other one. So basically only the UI has been rewritten for the mobile website. So what really drives this product in terms of recharges or bill payments or coupons it is the same code base that powers our desktop website. It's just that for convenience we actually bundle them separately and that's something that we are working over. It's just release convenience because we have two products for these two products and we have a code merge process that we go through to kind of bring these two disparate code branches together and that's an idea that we have to fix but then largely we still maintain a unified data access and controller layer for both our desktop and mobile platforms and that enables us to kind of create any front end UI experience of the mobile website, AB tested independently that having to bother about without worrying about what really went into the other code, what new features did you add. So it really really helps us to move quickly just to learning from our own standpoint that this really helped us while earlier we had replicated code so to speak but it was significantly more mobile optimized in that sense but what we realized is like that small trade-off that we did by kind of retaining the MVC framework that we are using for the desktop website for the mobile website. The performance gain that we got to do stuff on mobile quickly and experiment was significantly higher so a good point to sort of think about. How much more time do I have? So if I minutes more really? I started at 4.15 I mean, I like you Rudy. Well so all is not well it is not without its own challenges so I do not know so our company just recently merged with a large organization called snapdue so what I am talking about is a very very imminent thing that happened to our team like 2 days ago. We started getting fresh traffic from a brand new referral which is snapdue.com a lot of people started coming to free charge were historically not our customers and they were all on mobile and what really happened was that they started showing up on Opera Mini and UC Browser Mini fantastically we do not support these two on the new mobile website so that sucks and that sucks so much that we were worried for our jobs for some time and then we realized like this shit has to be fixed but what is important is sometimes these things kind of hit you when you are already on a morally high ground that I have created a great web experience which is at par with my app and then you suddenly are hit by stuff like this and the larger argument is that the guys who are showing up from these browsers are on lower end connection they are almost entirely on 2G they are going to have a shitty experience on the app as well because they are on a slow connection sending them to play store and downloading your app itself is going to take a long time so interestingly what happens is a lot of people door slam on these browsers because it is a pain to build for them but you know how it works counter-intuitively that guy will not download your app he showed up on UC browser mini because he is some kind of a cheapskate either or he has a genuine issue of not having fast connections like you know so there is only 2 ways as to why people can do it or somebody who is like a serious opera mini fanboy let's chat I mean that can be addressed so that happened so when that happens you are forced to rethink your strategy of how you are going and building a mobile site to go forward because clearly something is broken right now this customer that we are getting are either getting a shitty experience on another older mobile website that we have which is built on JSP stack which doesn't work so half these guys are actually bouncing off so that's terrible so we ask this question to ourselves can we like go JavaScript free like you know my friend Sunil Pai did that a very long time ago at my previous company to go JavaScript free on the mobile website together decided to shut off the mobile website but anyways so this is a thought that is kind of playing in a head which should actually play in your head as well like when you are actually architecting a system how much of your traffic is going to come from this theoretically non-java script compliant browsers which cannot do your JavaScript heavy lifting just look at your own data look at your GA analytics whichever tool that you are using just look at it if you have getting a lot of customers on browsers that work on this server side boost which is what you see in opera mini typically does kind of renders the content on the server and brings the HTML down it's a serious question to ask if you realize that a large bunch of your customers are indeed coming from you know these browsers you must definitely look at moving the entire stack to something like NodeJS and render on server side whenever possible what this helps is like you know you can keep your JavaScript geekery on the front end to the minimum and you can very easily polyfill that on browsers that don't support it and the other browsers you typically have it working like a standard website which will have no JavaScript dependency and this is I clearly know this totally worked for us in Mintra I used to work in Mintra before this when we followed this approach for getting people to shop on the world totally worked it's an approach that works of course it will be less fashionable because a lot of fun stuff that we did right now might involve JavaScript but you could do stuff with CSS as well so this is definitely a direction that you should consider we are considering it right now as we speak we haven't gotten there but we are seriously considering doing this the other one that we are very passionate about is to provide a platform specific experience even on the browser a lot of mobile websites do not do that today for whatever reason in an ideal world if your mobile website worked and acted like how a typical IOS specific application worked on IOS that would be pretty nice similarly like you know if you can build something which follows a material design paradigm on the web on Android that would be pretty nice because people are used to certain constructs because they use their operating systems day in day out they use apps every day for stuff that requires an app so naturally if you can kind of provide an analogous experience for them for that particular platform I'm a huge fan of what Windows does on their apps it has a clear specific identity but their browser sucks but but it's interesting to consider if you can ever do that we are pondering over how we will achieve this the last one is one of those hairier dashes goals to get the mobile site to render on all browsers that can render HTML like you know do not have the situation next time if I get an opportunity to speak about the mobile web strategy I don't have to put a challenges slide by saying shit doesn't work on these browsers so eventually get to a point where you have a great experience like a great fun experience working on any surface that can render HTML that's the goal that we are chasing as well anybody that told you mobile is equal to app ask that guy to shut the fuck up mobile is mobile what is important is the fact that you have a handheld device and you like to consume internet on that nobody told you it has to be an app see it is just propaganda that actually tries to tell you that mobile actually means an app mobile does not mean it has to be an app see somebody for example I do not know like you know if you are if you are doing something super repeatable like everybody is whatsapping all the time I agree like having it installed on your phone makes sense but if you are actually not going to use this over and over and over and over again it is sometimes very important to ask them why you need to build an app for that I mean if you really know you need to build an app go ahead and build an app but mobile does not mean a mobile app mobile actually means the form factor can you cater to the form factor can you make the guy successful on the mobile device should be more important than jumping straight away into the app bandwagon so that is mobile only I do not agree to mobile only to start with but even if you could have cut that slack also does not mean it is app only so if you are actually your strategy is mobile and if you are going to acquire people on your mobile website do not again do not slam the guy give him an experience and if he really likes you this has been our experience key takeaway this is from our data anybody that has done 5 successful transactions on our mobile website has installed our app anybody that has not done a successful transaction on our website even after giving about 50 rupees cash back on the app he has transacted only once so the experience that you provide to the person who is coming on a repeatable fashion actually defines whether he wants your app or not so if somebody is feeding the Kool-Aid that like you know give an incentivization and create an artificial scarcity by shutting platforms people will be loyal to your app they are lying they are extremely short-sighted I have spent enough time kind of working on apps it just does not work and I am very strong about that like you know app is a high cohort channel if the stickiness is extremely high if the guy has gotten your app and he has been successful you will always use your app but the way to get him to be successful on your app is not by telling you use only the app that is not going to work I mean I will be happy to be proven wrong on this at a later point in time at the moment all data is as good as my data experience that makes the guy successful if your customer is successful he will definitely come back and he will stay invested and when he is adequately invested he will download your app you don't have to you don't have to knee jerk on this one like you know oh oh my god you didn't download my app it's alright provide him a good experience and he will come back so that's that's the other one and please your common sense should win over data if anybody is feeding you the data Kool-Aid if data was all you needed in life our life could be run by Google Spreadsheets we are all the human intervention would become obsolete so data is important but never at the expense of your own intuition and common sense like you know if common sense tells you something different please consider that because the day you are selling that an intelligence gathered by a computer designed by a human being is more intelligent than you there's something seriously broken about you so always always apply your common sense higher than some sort of excellent sheet your PM is throwing at you he doesn't know everything if there are designers in this room specifically designers in this room guys you know better I promise say that to yourself next time somebody comes and bullshits you about data you always know better product guys let's go for a beer any questions Thambi they Thambi any questions is the text happy to take questions out there be nice to me so Chrome has this really good cool feature right now of giving an icon to a mobile website what are your thoughts on that it's a good thing like go and say create desktop shortcut that thingy right good idea I like it I personally haven't used it but I like it it's a good thing so typically that what that allows is you put a meta tag on your HTML to run your app on run your website on full screen you can even con people to believe that you actually have an app so yeah so if you can provide a great experience on your mobile website and create a shortcut and it runs see my opinion is if it has to work really well if it really works for your customer does not care if it's an app or a website right nobody cares what it is so if it works it works so yeah great idea back I really like the entire flow and I really believe in whatever you're saying it makes a lot of sense I think a lot of people here should actually think about it not just listen to it but think about you know what you're saying I have two questions one is that when you talk about browsers mobile desktop there's so much happening what do you think is our responsibility as brands or you know like every company out there to educate the user or try to push them in a way where you try to bring them on those platforms because not just good for us but for them as well because we know these browsers are good they're giving a better experience second is what do you think WebKit flex and the whole flexbox that Google is pushing down to has an impact because I've seen it and I've seen how it works and how it helps us align stuff vertical align is out of the box you don't need float so what is your take on that so broadly this is what I believe in so we are all technology people eventually working for companies that is catering real people like you know normal human beings who are probably not tech geeks to be very honest their appreciation of technology stops at a point when it is not working for them like they are not excited anymore when it is not working for them only people like you and I despite something completely working we'll get excited about like stuff but most of the people that I deal with every day as part of our product are people who are normal human beings who want stuff happening for them so what's important as brands or as companies or as startups a lot of us are indeed from small startups is that let us always look at what will generate long-term value for a person who is investing in your platform if that long-term value can be provided by one or more channels provide that value to that guy so don't really get smothered down by everybody else that I know is app only so am I spending way too much time hiring web engineers to build a website when pretty much everybody else is moving to apps see honestly speaking every company this has been my humble learning at free charge I was the 18th employee at free charge and pretty much our team kind of came together in the last two years one thing that we learnt as a small is to put your customer needs first if the customer is successful you will get there so whether it is via like you know the modern CSS innovations of flexbox or any other thing that is coming forward if it actually puts the pedal back on the customer that he'll actually be successful on your platform you're winning so what I am against is somebody coming and telling me all my data shows that people like apps that is your existing customers can you extrapolate that to the 100 million new customers that are going to come to your platform how are you so sure that they're going to like your app or they're going to get invested so I personally find this let us all go app a little short sighted I don't think shutting channels is a good idea at all so do what is right for the customer if you have amply established that your mobile website traffic is zero and your app traffic is 100% shut the mobile but that's not the case you're artificially road blocking I meant between browsers not because mobile because you have so many you know the chrome and firefox on the mobile can do something and the others can't do you want or in the desktop itself you know we have to support IE9 that's the list right now IE it's gone to IE9 you don't have any CSSC transitions you don't have any animations it's just snappy should we do something about that should we tell them listen why don't you try out chrome why don't you try out firefox or something like that do you think that's right to say it to them no strong opinions here it is nice I would personally say it will be nice to tell the person that you're missing out on stuff I think that would be cool to say that hey you are probably on a less capable browser why don't you try a new browser that's a fair thing to say not a huge fan of shutting that guy down by saying you're on an old browser to experience my product go go to chrome but if he's on IE6 I don't think he deserves to live so for IE9 yes I still think you should be you should allow him to experience the product yeah any more questions ma'am I don't see you sir where are you right in front you just mentioned that you cherrypicked browsers while doing this thing and later you realize that there are browsers on which they were not working and then you feared your job first why did you really why did you cherrypick it in the first place could you have not avoided that then secondly how much do you repent that now if at all do you repent that now I absolutely repented absolutely repented it was a bad idea so there is no no justifying around that bullshit it was a bad idea it was done because we all play to we play battles some of them to win some of them to lose it was very tactical in that sense at that point in time our intent was to create an experience that will justify our decision to the largest base of our customers so this decision was taken on the merit of that where we clearly knew that we will end up in the situation and sooner than later we ended up in that situation so cherrypicking comes with that caveat so even though cherrypicking is a little harsh on us we did support almost all major new browsers so we didn't let go of anything that can be considered a modern web browser they are all supported but it indeed happened that there are still very strong following for UC browser mini which we knew but our customer base was not that very strong on them but looks like our new partner SnapDeal's customer base is very strong on those browsers so strong hard learning you learn all the time so I mean it was a mistake that we committed in retrospect and I think when we look forward I think we should think about it differently so I mean it was not the right thing to do at that point Hi I would like to know the kind of user experience interesting if you guys have done like you said that the animation of the rock at like it didn't bother users types so I would really like to know the type of user testing you always do Excellent question I will be rubbishly honest here it was just us going the brutally manual route in this one by laying out all support all devices that we could procure beg borrow and steal and run it and see if it is working we did we did zero automation around this and we did this in the hardest most inefficient manual way to figure this out because we were not sure in terms of what exactly will be end of it so if you give me like one more minute at the end of it I will actually show you one more small little thing and these are pretty hard to test the next animation that we have in the product and I beg for like one more minute if I can just show that and you will realize it is potentially very hard to test it out thank you Rudy that's awesome so I am answering your question so I am just going to run this demo so that I can make my story a little more concrete so is it visible at the back is it okay I don't know what it is is it good now good so so I am going to do what is what we call as a classic recharge right where you are entering a new number I will put my wife's number I mean should I be worried okay so I am just going to show you this is our favorite animation in this product so when you actually do a classic recharge this is what we call the tower and bird scene so we have seen so this is how this goes I hope the screen does a good job of showing it you guys so here you go there is a tower there are birds flying through the scene and it finishes the recharge so this is going to stuff this again all CSS by the way there is like zero JavaScript in it and this is fairly popular and a lot of our customers are college kids they actually write us emails tweet us by saying that that shit is cool they are just happy I mean it means nothing in a larger perspective but it really really helps us capture that audience because they are happy about these small joys in life the answer is like stuff like this we find it extremely hard to test it out without actually kind of running it on so a lot of people should go to the guys over here the team that actually built it they spent probably enough and more time just testing it out before we actually put it out a lot of nitrates have been put to kind of manually do this so I am happy to learn from anybody who has tested this kind of stuff in an automated fashion I have to confess I don't have a lot of knowledge there so happy to chat up with folks who have more experience here but we did the manual fashion so yeah usability testing we have we have a fairly healthy pool of alpha beta groups that continuously work with us right from day one so to speak like even when we are actually specking out features we have a small private group of people and anybody who is interested or who is actually kind enough to join that group to kind of help us out doing that please speak to me I am happy to kind of put you in the group so we have continuous evaluation of what we are doing at multiple levels from the product and pretty much these are a group of people that really understand our business and our product really well and that feedback is taken pretty seriously and pretty pretty affirmatively and the most of what we get out of these usability tests are actually pretty sufficient for our product because the way we have chosen those people are a good representation of what our actual customer base is so one of our rockstar usability testing person is also one of our housekeeping person he is an avid free charger and he comes from a certain kind of a user base who has a particular kind of mobile phone kind of browser and he gives you incredible insight so that's the other point sometimes touching base with the spectrum of your actual customers and putting them into a beta group and listening to them will really help you so most of our usability testing is actual human beings still no automation and that's a gap we need to fill so we are not very good so far at being very automated so we are still on the manual plane so if that would answer the question sure sir go ahead as long as Kiran or Rudy is not asking to shut up I am happy to answer just wanted to know whether the CSS that you had written for the mobile side was split across actions or pages or it was just one I mean did you try this? this is a single page application so there is like one CSS that has kind of compiled, minified which is kind of triggering this would it make sense to have it split up and then would it improve efficiency or just the initial load time I do not know actually it is pretty small how much is the CSS 50 KB? yeah I don't know man I need to check I don't know answer is I do not know maybe maybe not I do not know in comes Rudy hi yes sir I see you so what is your opinion of on providing all the desktop options which any activity user can do on desktop should it be available on mobile version also my my personal take yes I believe you should there is no unless somebody can really validate as to why somebody does not need something on the mobile and that's a very case by case thing at least in my products at least the stuff that I have been building I haven't seen a reason as to why I should shut off features on any channel if it is available on the desktop we believe that it should be there on all the platforms but then if there are specific business cases I do not know where you need to feature gate I think that is best answered by that business at least in my experience I haven't seen and what is your experience with user as in detection my experience with user agent detection I don't do that I don't do that that often anymore I used to do that when I had to do it but I don't think I'm doing that anymore I mean I don't have a little reason why I need to detect user agents stuff like modernize so I can figure out feature detection and I think the stuff that we are doing is on feature detection and not necessarily on user agent but of course we have a reason to do that you can still do that