Malabar.  Malabar Hills, not Malabar, the room next to it. All right. Now, this session is the role of influencers in marketing is unchallenged. Please join me in inviting our celebs on the stage for a chat on the topic, the state of influencer marketing and the way ahead. Please welcome to share the session Ankit Wengalukar, editor at Tech2.  Welcome, Ankit. And to be a part of this conversation, let's welcome singer Dhwani Bhanushali. Let's give a round of applause to Dhwani. Dhwani, what a lovely voice you are. What a lovely voice. Before the panel discussion, we will also hear your voice. How many of you think Dhwani should sing before the panel discussion gets started? It's a part of the panel. Okay, lovely. So, make sure that this panel goes on for a long time. All right. Okay. Please welcome Indian author known for the immortals of Melua. Please give it up for Amish Tripathi. Zor Althalya. Amish, welcome. And please welcome the man who changed music forever, the remixist's father.  Please give it up for DJ Suketu. Suddenly, everybody is excited. Where is DJ Consul? And Suketu is saying, my brother is my Consul. Let's play it. All right. And here by us, please give it up for Dino James, a rapper and YouTuber. Zor Althalya for Dino James. And Ranveer Alabadhi is going to be joining us a little later. And of course, we've got another guest of ours, who is trapped in the rain and is singing. Please give a round of applause as he comes inside. We'll be back in 5-7 minutes. Please welcome our next guest. That's Rijesh Heer. He's a brilliant actor. But right now, to moderate this, Ankith Othio. Okay. So, obviously, this discussion is going to be about influencers or people who have started calling them influencers these days. Some kind of illness has happened. Are we going to get sick or are we going to do something good with him? We're going to be talking about that. Feel free to pop any questions and song requests if you guys want.  But let's see what we can do with that. We're going to wait for, I mean, when Rajesh and Ranveer come in, we'll make them a part of the conversation as well after they do 10 push-ups each. Awesome. Dhoni, you were talking about the songs of the rain. So, I'd obviously like to start with you and asking you what is your favorite song or memory? And if you could please oblige us with like a couple lines of that song. Thank you. So, for me, I used to go with my family to Lonavala every time it started to rain. For Maggie and Bhajia and Chai, of course. So, that's my favorite memory. Yeah, dude, I'm 21. I'm supposed to roam with my parents. We're in India. That's amazing. And I like this song called Ik Tara. So, I can sing a few lines. Yes, please, please, absolutely. Thank you. Big round of applause for Dhoni Banu Shali. That's amazing. Now, we have actually quite a musical bunch here from Siketu to Dhoni to Dino. We're going to come to each one of you, but let's first start with some of the granddaddies of the business if I may say so. Let's start with Suketu. You've literally created tunes that have set the groove for the entire country. Suketu, help us understand you've been in the music business for how many years, how many decades now? And how is the equation in this particular industry changing? Because typically the biggest names in the music in the entertainment business are traditionally, you know, films that have big names or playbacks that have singers. But one of the biggest disruptions that happened about five to eight years ago was the coming of YouTube. And this whole new breed of singers emerged from every nook and cranny making cute videos on their webcams, from their bedrooms, and today some of these names are massive, right? Look at Jonathan Gandhi, for example, literally a YouTube product, and today she's doing so well. So talk to us about how the transformation has happened. How do you see it? Well, I think one thing which I've observed is that when I started 20 years ago, it was just about the music and the performance, the music and the performance. There was nothing else there to support you to actually get there other than Bombay Times. And that also after that you had to start paying for it, so wow. But yeah, that was it. I think in the last five, six years, I think it's been really fantastic because in the last five years I've come across a lot of talent which I wouldn't have come across before. When we started making remixes, if I wanted to find a Javed Ali, I had to actually go to Little Wonders, which was Kalyan Ji by Anand Ji by his institute, and ask them that, you know, do you have any new singers who are actually there who will come up and who can sing something like this because they're making a remix. And now I just need to get on to YouTube. I just see who's trending, what's happening, and you've got your singer right there. So it's just amazing. I think that it's become, it's opened the market a lot. And now the best thing which I like is that collaborating with somebody, you don't have to actually go there physically to collaborate with them. It all happens in your studio, through the internet, through YouTube, and just sharing. It's fantastic. Even three of us are working on a track together right now, and we all three are in Bombay. Akil, Neeraj and me, the track is going to be out soon. And we haven't gone to each other's studios at all. We're just team sharing everything and just working just like that. From Neeraj's singing to our programming, everything, just from our own studios.  So it's just fantastic.  Oh, come on. 45 minutes going to somebody's studio. My creativity will get wasted in the car just driving there. Right. So I think one of the biggest changes is this YouTube and other platforms have just changed people getting together and music becoming more global and much better. That's fantastic because music really is a universal language touches everyone. Great points you made. Key takeaway is artist discovery has been democratized and that has become much easier. And content creation has become much easier and faster.  Cool hat, by the way. Cool hat. Okay. Thank you so much. And talk to us about your content creation process. When did you start? What is it that for the benefit of people who don't know what is it that you do? And when did you feel like OMG? This is happening now, bro. This was almost three or four years back. So mine, you know, I am a rapper. The people don't know me. I'm a rapper. I do, you know, songs on YouTube. So I've got almost 12 songs released and I've got almost 2.1 million subscribers now. So my intention was completely pure. It was not to be a rapper. It was not to be known in YouTube. I've got a feeling I'm going through a trauma. So I did a song called Girlfriend that was with the culture machine. So it just, it just blew. So you went through a heartbreak and so your release was a creative song? Yeah, it was not a planned release that I wanted to actually do good on YouTube. This happened almost three years back that YouTube has become very big. But that time people were not really aware about making videos and, you know, doing a song. Now it's comparatively a bit easier. So mine was completely very pure. I was going through a trauma roller coaster in my mind. So my intention was just to take out a song. After that, I didn't know what to sing, what to do, what to do, what to do, what to do, what to do. I didn't know what to do on YouTube. During that song, I found out about mixing mastering. What is arrangement, what is music, how things should be done. I used to be a rap listener. So somehow I, you know, put all my lyrics together and rhymes together. And it just worked for me. And then the reason why I opened up my own channel was because I didn't know what to do. So mine was completely pure. Mine was no marketing. No, I didn't want it to be there. It was pure blessing that, and second, my song was supposed to go in PRC function number two. So I had a discussion with Lover Engine. So my lyrics was pretty little bold and raw. So they thought it's bad for the film. And then I realized I need to, you know, come up with more songs. And then I need a platform to put my songs in. So it was all an accident. It was all on an accident. So now people talk about YouTube, how to go on YouTube and how to create content and how to go there. And I just tell them one thing here, listen to your heart and do what you feel like doing right. You know, because strategies and things sometimes doesn't work. So you know, whatever you do, you cannot do something to hit people. It has to be very, very pure. Very personal. Are we okay listening to a few lines of your rap here? I know it's a room full of adults. Is it okay with the, it's okay with you guys, right? If you're live streaming or whatever, it's cool. We can hear that, right? So I've done a song, actually. I've done a song called Bhokali recently. The song is basically about telling people that, you know, Bhokali means it's a very North Indian word. Bhokali means self-boasting. So it's a song actually where I'm telling people that, you know, you think that I'm very big.  And people think that you're doing so good.  So I was just telling people, you know, that it's a side of artists where artists are not doing all that all that great, you know.  I will cheat. In the exam. I have eaten a lot. I have eaten a lot. I have eaten a lot. I have eaten a lot. I have eaten a lot. I have eaten a lot. I have eaten a lot. I have eaten a lot. I am so sorry. I feel very jealous. I feel very hungry. I have not had any hope to earn a lot of money. I have not had any hope to earn a lot of money. If I had not had any hope, I would have voted. I had a lot of opportunities. I am very happy. It's called happy. Thank you. You basically dropped this 45 minute panel discussion in one song. Influenza is exactly right about the disease. That's amazing. Good stuff, man. Good stuff. Three years, two million subscribers completely organic. That's pretty remarkable. Yeah, like I said. Because sometimes there is a big blessing to know something. There is a big blessing to know marketing. Then you more focus on your work. I sometimes struggle to log out. I don't know how to log out. So I can put completely. That's why it's subconscious. So you eventually put completely your energy to your product. So I don't know. Good stuff. Good stuff. Lovely. So from one musical talent and rapper on YouTube to another one. Amish, I am going to come to you in the end. Because as much as you have marketing and all of this, it's only fair that I come to you last. So Dhwani, to you. Congratulations on just getting graduated. Thank you. Like wow. What? That's amazing. And congratulations on the song Koka, which came out this morning and is already totally legit viral on the World Wide Web. It's breaking the internet. Thank you so much. Have you guys seen Koka? It's a remake. Again. Yeah, it's a remake. I'm so sorry. Well, it's okay. So talk to us about your journey. Your song Vaste garnered the fastest 200 million views on YouTube ever on the T-Series YouTube channel. Isn't it all too surreal? Did you see this coming and how are you dealing with that? I didn't see any of this coming. We were just focusing on how to make a good product, you know, for people, how to make a good story for them to see. So it just happened the first, the time we put it on and the next morning I got, I was like, dude, it's hitting millions. I'm like, wow. And my dad is like, I'm proud of you. I'm proud of you. Let's go to Lanawala. Done. Okay. So that happened. And before that, Leja came in and even Leja was doing well. So I think it's not me. It's the whole team. And of course, when you put out good content on, you know, the social media or on YouTube, they tend to get attracted to it and they watch it over and over again. So yeah, I think that's what we did. I love the humility where you said it's not just me. It's the entire team.  So that's fantastic. Is it difficult? Is there a pressure? Because you have done hundreds of millions of songs and you have brought a new piece of content. Is there a pressure that, oh, this should do well. I hope it does well. And then does one use any and every kind of mechanism to make sure it is again doing those kind of numbers? Does your entire creative process dominate or dictate from numbers? Not really. I mean, I don't really think about the numbers because if you're working well, if you're doing like a good thing, if you're making good music, I don't think you should be worried about numbers. If you're making a good video, I don't think numbers will come because your people want to see a good video, they want to hear good music. So that's what I do. I mean, all of us, we strive to make good music, make a good song, make an even better video than the last time, which is relating to the song and tells a story. Then the numbers will come. I don't really think about the numbers. Okay. Interesting. As a YouTuber, I mean, talk to us about your social media mix. Where all do you create what all kind of content and have you started engaging with brands to do branded content and things like that? You have a house announcement? Sorry to button. It's incredible. What a story. We love your music and you're doing well. You actually give us food to thought and we love all your sad voices. Oh, life is so beautiful. Thank you. That's been incredible.  And Rajesh here. Sir, where did you get all the panel discussion? Where did you get it? Rajesh, thank you very much. I apologize profusely for the delay. I had to swim here. Oh, come on. You're pretty. You know, if they can convince the BMC that in Mumbai, in the first rain of the day, the darkness doesn't stop. The Gokhale Bridge will fall. Sorry, man. Really sorry, guys. Please. We had told you that we'll get you 10 push-ups when you come.  No. Okay. I'll let you settle down. Grab some water. Back to you, Dhwani. What's your social media mix like? Have you started doing branded content and things like that? I recently did the Gulf oil video for Team Pride for the cricket season. Okay. It's just started. I started with that. I think there are more brand integrations to come forward. Okay. And all I do is make videos and sing. Okay. Nothing more than that. I would love to get into branding and stuff, but it's just started. I'm just two videos old. And I think there's a lot ahead. So it's easy for you because you're within your character itself. You don't have to do anything different. You don't have to dance. You don't have to tag anyone. You don't have to push-ups. No, no, no. I want to be a pop star. So I want to stick to my music and the brands that I associate with. And I should believe in them before associating with them. Well, you want to be a pop star? With that comes the territory of doing everything, right? Yeah. From, like, I don't know, Kenny, Goodcar to, like, everything. Everything comes into it. Would you do... But why Kenny, Goodcar? I don't do Kenny, Goodcar. So I'm not going to associate with Kenny. I was just going to ask. If there are brands or products that go beyond what you personally don't use, for example. But that depends... I think that depends on the influencer. I think they have to be... I'm asking about you. Yeah. For me, I am like that. I will not do something that I don't use personally. Okay. Because I can't go ahead and tell people that I'm using a fairness cream to, you know... It'll be scary if you needed a fairness cream, actually. Exactly. So this comes with the jeans. It comes with... Because my parents are fair, I am fair. It's not that I used some fairness cream and I got it. So I'm never going to stand for something like this. Okay. Interesting. Okay. Amish, you have a brand new book coming out. It's called Ravan and the End of Aryavarth. End of Aryavarth? No. Ravan the enemy of Aryavarth. The enemy? Yeah. Jai Aryavarth. Absolutely. So the thing that strikes me most about you, Amish, is apart from the fact, if people don't know that he is India's most remarkable writing talent, is how innovatively and ingeniously you use marketing tools as an author. And a lot of these ideas actually pop up from your... The same head that's coming up with these amazing mythological sagas and stories. So talk to us about some of the innovative things you have done to, in a way, use your influence to market your book and your titles. Yeah. Ravan the enemy of Aryavarth is launching on 1st July. And how it works for me, at least I believe, artists should be, for the want of a better term, a little schizophrenic. Okay. So when you're actually in your creative process, when you're writing, when you're writing music or anything, you should frankly be cut off from everyone. I tend to be that way. Doing my writing phase and you won't find me at parties. I don't do TV panel discussions. I'm not very social in any case. So I just... I'm glad you don't do TV panel discussions. Yeah. Thank you. Life saver. So I only read and write in that phase. And I don't really interact with too many people. And when I'm writing, I only think of the book. I get a damn about how people will react to it, how readers will react to it, how critics or publishers or even my editor, how they'll react. Because moment you start doing that, you corrupt the process. Okay. So the creative process has to be completely pure. It should be driven only by your emotions and by your heart. The thing is that when the book is ready or when the music is ready, anything, when the product is ready, then you have to become a practical, pragmatic marketing guy. You know, the way I see it... You know, you got to pay attention to it. No, no, no. It's work for him, man. I'm telling you where I'm coming from. Because, you know, say the publishers invested tons of money in my books. For me to take a stand that, dude, I have to be pure and you make losses. That's your problem. My man, that's Adharma. That's wrong, you know. It's my duty to make sure he does not lose money, which means I have to do every damn thing that I can do without change. The product cannot be touched. I'm not going to change anything in the book to make it appeal to some segment or someone. The book has to be pure. It cannot be touched. But how does one market this so that it sells? And the publisher actually makes money. Or retailers, agencies, whoever is associated with my book, they should not lose money. They should benefit. You've done something very innovative for the current book. Why don't you tell us about that? So then the ideas, then, you know, I can't take, you know, like claim credit for all the ideas. Most of the ideas come out of a fantastic team, actually. That's amazing. Perhaps the only credit I can take claim for is that I have the ability to pick a good idea. Sure. And drive with it. So one of the things that we did for Ravan, I always think a marketing strategy has to, we have a room full of marketers out here. Often we tend to take off on our own, you know, and marketers. And we just want to do something innovative for the heck of being innovative. Right. Just because you want to win some award or some other nonsense like that. Marketing has to tie into the overall business strategy. Right. So what we've done for Ravan, because the media scenario has changed. You know, these sermon from the mountains and you bringing out ads and everyone will follow it. That could have been done maybe four or five years ago. It started changing slowly. Last two years it's changed very rapidly. Right. You know, the audience, it's not a one-way communication. Now it's a dialogue. It's a dialogue. The audience also, as Sukethu said very rightly, is democratized. The internet has truly democratized the conversation. So they communicate back to you as well. So you are not in complete control of your brand. You can only just trigger a conversation. And hope for them to talk about you. Okay. Because some brand taking out an ad that has lower and lower effectiveness going forward. So how can one do something which actually is linked to the book, linked to the product you want to market, but also works for the users so that they may want to, you know, to spread it, share it with their friends. Right. So we did something innovative. From what I've been told it's never been done before for a book in India, which is a filter. You know, so... Everyone knows face filters, right? Facebook filters. Where you become a cook, the billy and like rabbit and all that on Snapchat. So yeah. Yeah. Face filters. It's your jam, right? Yeah. Okay. I'm 44. I got to know of this. You're 44? I got to know of this only three weeks back. Okay. Oh my God. I'm gonna take credit.  How do I make an Instagram story? I'm not joking.  I have no freaking clue. Okay. So they made training videos for me. Okay. So anyway, so we discovered this.  The agency did a lovely job. Can we kind of, you know, have something which works with the cover and insert my readers into it. Okay. Okay. So that they, you know, because the person that most of us love most is usually ourselves. Correct. We're all megalomaniacs. We are all. It is a narcissistic world, right? So if you're gonna, if you want someone to share something, if you can insert them into the conversation, they certainly share it. So it's a filter on Facebook.  You look quite dapper. I look better with the Ravan headgear. I agree. I agree. It's a inner demon. And it comes in the inner demon. So it comes in with the music and you know, the background, the cover in the background. And this comes as a filter and you can record a video and post it on Instagram. I still haven't figured out how they do it, but somehow you can post it on Instagram. I think story. If I'm not mistaken. Yeah. Instagram story automatically and on Facebook automatically. Okay. And you can kind of click a button and one is just you as Ravan. If you click a button, then the cover comes on and Ravan is there in all his muscular glory, but your face is on there. Okay.  Ravan is like a killer. That's amazing. He's huge. Very cool idea. So and then, and then it comes with the music. You can share the video. You can share the picture and we just launched it this morning. We already have, you know, it's going on on my page. We launched it with another partner TVF. Okay. So let's see how this works. Now there's something different. One of the things I've learned is not about the amount of money you're investing usually and usually if you have bigger budgets, you stop thinking. So you don't, you don't use a creative idea. You just try and just randomly throw money at it. Often creative ideas work better. That's amazing. That's, that's a very cool one. I can't wait to try it out. Let's come to you, Rajesh. All right.  From radio to theater to movies to writing to God knows television. Obviously. I've also written copy before I started acting. Wow. And that how is according to you, how is the entertainment landscape changing now and today when anybody and everybody can become a so-called star or a celebrity? Just, you know, I'm sure you've heard of the crying boy of Tiktok, right? There is a page on Facebook called Boys Who Cry Passionately on Tiktok. It's the shit, man. You have to see it. It's ridiculous. Especially if you're like at home and it's raining a lot out there. Just like sit and watch these young boys cry passionately. So entertainment landscape is completely changed just the way music landscape has changed completely. How do you as an industry veteran, how do you view this change? Is it good? Is it bad? Is it positive? Is it negative? How do you process this? So thanks for calling me a veteran. But I'm in the same age group as Amish's. Also I need to do the Ravan thing tomorrow because I have you on my breakfast show tomorrow morning for the book. I'm also going to click a selfie. That's what the influencers do. Selfie. Hey, I'm here just for the Instagram followers. Superb. There you are. I was at the airport. I was driving to Hyderabad or some place and I was at the crossword bookstore and I was asking the guy for a book and I see this man standing next to me. I see the bookstore guy reaching for his phone and looking at me with dastardly intent. Okay. And I say, wait a minute, wait a minute. And this man next to me, I click a photo with him. I say, sir, may I please bother you for a selfie? And he says, oh man, okay. And I click the selfie with him. He leaves and the guy was going to click the selfie with me. The crossword guy looks at me and says, who was that? That was Brian Lara, my brother. He has to click the selfie with Gol Mal. Brian Lara later. So, so yes. Yeah. I mean, so cricket is entertainment. It's the zenith of entertainment. Of course, the snake from Gol Mal is also very hissy. But you know, at many levels, entertainment has been dumbed down. Wow. You say, you think that. Absolutely.  That's that's serious coming down of entertainment. But people love it.  It's like, for example, Naseer Bhai would say, don't play to the guy. No, Naseer Bhai, it is all about playing to the gallery at this point, especially when you're called an influencer on social media. If Divya, I don't know if you managed to get that photo, which I, okay. So there is a lady called Natalie Shatler or something. Okay. And she, her bio says influencer, DM for collabs on Instagram, et cetera. And she just put out a photo of herself standing by a paddy field in Vietnam with her back to the camera. And she says, oh my God, you know, I'm wondering what I have that these poor farmers don't. And she's in a bikini. She's in a bikini. So I'm saying becoming, and that is also entertainment. So the whole concept of entertainment has changed. So like I said, it's been dumbed down. It's become extremely simplistic.  And you know, I'm not being sexist here, but 82 shades of lipstick. So it's the whole, it's changed. It's entirely changed. I want to quickly come to you, Dino, for a reaction to what Rajesh said. I saw you looking at him intently because you are literally a part of this new wave of content creators. Dino James, Rajesh is an amazing rapper. He runs a fantastic YouTube channel. I did a lot of songs. Absolutely. No, but the heartbreak is something else. So what do you think, or how would you react to what he said about content dumbed down, anything is happening and everything is getting viral and things like that? Just one sec. I just want to say one thing. I'm saying that when you're speaking of Dino here or when you're speaking of the lady there, that is not part of that. They have something really to show for it. Sure, absolutely. Yeah, I think it's very temporary. I think it's very, very temporary. What is temporary? Whatever the stars and Instagram and temporary stars that you're talking about, from Instagram or TikTok and all. I think it's a wave that comes up for a little while and entertains you. Like I'm not saying it's good or bad. Like that girl who had her eyes on you and it was all over in India. And suddenly her followers gone from zero to... That was actually part of a movie trailer. Yeah, whatever, whatever. So basically, you know, this is not... Hello friends, Chai Pillow. All that, all that thing, whatever you're talking about. I think it's very temporary. This can't be actually, you know, like his talent. We see it from time to time. Correct. And that talent. Correct, correct. And that talent, talent. So I think that it's a part of entertainment that you really like. You forward it. You see it for whatever reason. But that can't be an entertainment for a longer time. So it's a wave. So I've got nothing against it because you can't stop it. This is what it is nowadays. And it's getting bigger also. Because people loving it. Correct. So you deny it or you love it. That is what it is. Sure. But as a talent, so you have to figure out what you can do. Not to get influenced with all these things. So I think I don't hate them. I don't love them. But you can't stop it. To each their own. So I want to come to you. We were having this conversation earlier. Of course, as content creators, you may like them, not like them. It's a completely subjective matter. The conversation changes there. The conversation stops when it comes to money. When brands are parking money behind these content creators. So-called content creators or just trash makers or whatever it is. And then they start lending their voice or their network to anything and everything. Right? I remember you said this. You gave this beautiful analogy about the knife. Is this making the environment or the marketing environment or social media a murkier, cloudier, dirtier place? Because you may not really know the ethics or the morality of the content creator and what they stand for and everything goes. So just to let you know what he was talking about the knife and he asked me about what do I think about influencers. I think influencers are like a knife. You can use a knife to cut vegetables, eat good food and be healthy. Or you can use it to kill somebody. So it's just that sometimes because of the influencers and if you get one of the wrong ones, you probably just land up paying the person for doing very bad work for you and promoting your work in a bad way. So I think if you identify your influencer properly, money is going to get involved everywhere you like it or not. It's the thing. When I thought I wanted to get into music and DJing, I thought it would be just fun going out to nightclubs and partying and then when I started seeing the money, I'm like, oh yeah, yeah, yeah, money, money, money. So it is going to happen. So there are going to be genuine influencers who will probably change their motto for the money. And you have to just be careful to identify that line that somebody might be doing good work for your influencer might really affect your product in a positive way. But if that influencer starts doing anything and everything, you as a brand or as a product should know to pull back from that influencer and go to somebody else. So yes, money is a big part of it. But I think you cannot disregard them for sure. I mean, they are influencers because what they say or they do, people believe them and you need them right now to be with you for your product or your brand. But I think it's just identifying the right one. Amish, do you think we are actually already seeing the wave turn of going with these influencers, who have millions of followers, who endorse everything from Chatti Banyan to Five Star Hotel. And France are increasingly getting exhausted and tired with it and are actually going to micro influencers, who may be 4,000 to 10,000 subscribers or followers. But the engagements and conversations they are having with their followers are extremely meaningful and very deep. Do you think we are already seeing that wave turn towards micro influencers? And the more learned and evolved brands ideally prefer that route rather than just numbers, reach, impressions. Look, clearly I'm asking you this specifically so people know because you've been a banker and a marketer. So I mean, there's that lens as well on you. The way I see it, marketing is not just about getting viewerships on your video. That means nothing. At the end of the day, it has to convert into sales. Again, building on what Suketu had said earlier that the entire conversation has been democratized because of the internet. And the internet has actually... But has it really? Has it really? Let me complete my point. Number one channel on YouTube is D-Series. It's establishment. Let me complete my point. Democratization did not turn out the way we thought it would be. One of the interesting things you've seen across all types of products including in books, it's like the hollowing out of the middle. Earlier, even the average guy would get average sales. So it's a very interesting play out of Aristotle's hollowing out of the middle. The middle are losing ground completely. Either someone gets everything or you only have the tail end. So like I can tell you in books, for example, the average bestseller would sell 10, 15, 20,000. Now you either have very few numbers selling millions or people selling absolutely nothing. Because on the internet, on your phone, on apps, it's not easy to browse. You go looking for something that you've heard of from your friends. And your friends will either hear completely niche things or people write at the top. From what I've heard, this is playing out not just in books, it's playing out in various other areas as well. So which means that brands have to be aware of this. The second thing that happens, democratization, the way I think it's playing out, is that the one way conversation is gone. It's a two way conversation. Which means whether you're a quote unquote influencer, I don't know what that word is supposed to imply. Influencer or a brand, whatever. If it's a two way conversation, you have to keep it real.  It's going to get you into trouble. If you are on social media every day and you're actually not a well-read person, but you're pretending to be, dude, I'm extremely well-read, it'll come out. Anyway, in anything that you do, if I pretend to be tech savvy, I'm not, I have no clue. I try my best to learn. So I should keep it real. I shouldn't pretend to be tech savvy when I'm not. You should be who you are. Some people will like you. Some people will not like you. That's cool. Tomorrow, if a big smartphone brand comes and says, Hey Amish, our new phone is coming. Please take our 30 second video on Instagram. Here's millions of rupees. If the pitch is so simple, if the pitch is that the phone is so well-designed and intuitive, that even then Amish can understand it. Yeah, okay. But the only brands like for example that I've endorsed are something like a Kindle, which I use. It's an obsessive reader. But there are many brands that I refuse to endorse. There is a real thing of money, man. I'm lucky my books earn money, so I don't have to do all this. It's very easy to stand on an IOS and say, everyone has to keep it real. There's a real thing of paying the bills at the end of the month also. One doesn't deny that pressure. But most influencers have to realize you keep it real. You cannot keep up an act for too long in the modern world. Just be who you are and realize some will like you, that's cool, boss. That's the way the world is. That's amazing. I want to start with Rajesh and take this question to each and every one of you. Name one thing that you saw any of your... Yes. That was for Rajesh. Name one thing that you guys saw on any of the... If he does 10 sit-ups, do we get 5 minutes more or... Are you sure? Amish, you should hear the interview now tomorrow. I'll start with push-ups. If you want to be an enemy, then cut out an enemy. If you want to be an enemy, then cut out an enemy. Okay. One of the things that you saw when you saw an influencer, or when you were talking about him, and then you actually ended up, you know, using or going and buying and seeking out that product or service or something like that. I don't know about a product or service, but something that I didn't buy but that I thought about very, very deeply. So there is an influencer on Twitter called Anak Desai. He's been a marketer, he's been a brand person, etc. Anak has also been a friend. Now Anak at one point was in a conversation about getting out of your comfort zone. And when I was offered this to host the breakfast show at Big FM. Now in my head, I'm saying to myself that, you know, I'm an actor. How am I going to do this? I have to wake up at 5.30 every morning, which is ridiculous. My son is also, well, almost three months old now and he keeps me up a large part of the night. I got into a conversation with Anak about this. And I did realize that one of the major things that I was thinking about was, am I okay getting out of my comfort zone, which is going to a film set, working for about 12 minutes through the day and the rest of it, you know, calling in for pizza and just having a blast. But I did. And I'm immensely enjoying myself. So that is something I did off some, a conversation that I was with, you know. So I don't, I do not off the top of my head. Remember if I bought anything. No, that counts. That counts. By the way, I've done that too. One year of breakfast show at Big FM. Oh, fantastic. Back in 2012. Yeah. We need to talk. Five in the morning, ridiculous. Do you know anything that you saw? No, I haven't actually bought anything from an influencer. No, nothing actually. Nothing that I could remember. Okay. You don't follow any street fashion bloggers. No. Your style could totally go as hashtag OOTD, man. Yeah. It was raining. So I was just wondering actually what to wear. So whatever, yeah. Nothing that I could remember. Okay. Amish. Firstly, what does hashtag OOTD mean? Hashtag outfit of the day. Oh. Bro.  Bro. I'm 44, man. Okay. No, I don't think I've ever fought anything based on what an influencer says.  So I just buy what feels to me. I'm probably asking the question to the wrong demographic. Dhwani, I'm sure you have like 10 things that you've like seen spotted. No, I don't really follow influencers that much. But you know, my skin was breaking out in the middle. So I saw these few Harper Bazaar videos wherein, you know, these actresses do have my sleep routine and stuff. So then I went and I bought those products and they actually worked. So. So then we're going to see your sleep routine video soon. Yeah. You have to ask Harper Bazaar to contact me first. Why do fans and followers say that show us how you get ready to go to bed? Yeah, dude. It's quite interesting, but. Homo sapiens, the smartest species on the planet. Show us how you get ready to go to bed. Yeah. Yeah. Okay. So, Ketu. Amish is like, this is happening on this planet. This is not the world of Kalpanic. Absolutely. Amish, yes. Yeah, bro. Yes. I'm not really following any influencer person, but I don't know if Dan Bilzerian is an influencer. Oh my God. How many people will know Dan Bilzerian? Of course all the men know Dan Bilzerian. So the thing is that I follow him and I used to really hate this DJ, Steve Ioki. I never liked his music, his performance or anything. And then I suddenly started following Dan Bilzerian and he's with him all the time. So I said, if this guy is following him and parting with him and going for his concert, something will happen. So I actually started listening to Steve Ioki's music a little bit more intently. And it's just to know that why is this guy, you know, just promoting this guy. So promoting Steve Ioki. So not a product per se, but yeah, at least I started listening to an artist which I'd never liked before. Wow. Just because of this. So yeah, I would say that I do get influenced by certain people. Dan Bilzerian ka kisi ke life pe kuch positive impact hua. Ye sunke matlab. Rona a raha hai mujhe. Dan Bilzerian is the most obnoxious playboy millionaire in the world on Instagram. Just so you guys know who we are talking about. Are you kidding me? Of course I am. Of course I am. All right. Let's actually go to the audience and try and see if you guys have any questions. If you want any of these people to follow you on Instagram, you can just like shout that out as well. But totally up to you guys kuch pushna hai toh. Seriously, sab so gaya hai kya? I know we are like the post lunch session, but nothing, absolutely nothing to... Okay, I'm gonna do a round of who according to you guys, apart from yourself, one quick reko of who do y'all think people in the room should follow. On whichever social media, Instagram, Twitter, YouTube, Facebook, kuch bhi ho sakta hai. Tiktok. Jis se, inka kuch bhala hoega. Not Dan Bilzerian. It's okay tu. Or Dan Bilzerian. Usse bhi bhala ho sakta hai. Quickly, let's start with you, Rajesh. Haan, yaala. Hamara nehta, Rajesh sir ji. Ari yaar, wo toh... Achha, achha. Okay, take the mic. Take the mic and at least... We will recommend just each of us collectively. Amazing. Five people. That's exactly how a political system works. This is called Union Bazi. That's how Union Parliament works as well. Okay, just shout out your social media that you'd like people to follow. Rajesh, I think it's an underscore, Hirji. I think it's an underscore. But it's Rajesh Hirji. You'll find it. Okay, on Instagram. But also know, so for example, I'll tell you something very strange that happened with me since you were asking about, you know, an influencer that I've seen hocking something and have I bought it or not. So there is a friend of mine who is an influencer, a television actress who I follow on Instagram and she was pushing this hotel somewhere in Mahabalesha or whatever which she had gone to. And I didn't land up going there. I went to a hotel which competes with them and I was very happy. So yeah, just saying. That happens too. Okay, Rajesh Hirji on Instagram. Yeah. Yeah, it's D-I-N-O-J-M-S. Perfect. D-I-N-O-J-M-S. Yeah. Perfect. Mine's simple at the rate, author, Amish. AMIH, yeah. Or Twitter, Instagram, Facebook everywhere. Superb. I'm not on TikTok, no. So disappointing. I wanna see crying videos of you, Amish. Hang on, hang on. I should clarify that. I've been told my agency has created an account for me on TikTok. I haven't used it. Oh my God. I don't intend to. Funny. Me, Instagram is Dvani Bhanushali 22. Why are you so shy about it? I was actually asking them to follow me. But why 22? I am 21, but my birthday is 22nd March. Are you sure? Okay, too good. Fantastic. What's Instagram? Well, my Instagram handle is DJ Sukethu. Twitter is DJ Sukethu. Facebook is DJ Sukethu. But I think you guys should follow Dan Bilzer. You can see that. And I am a gadget one on Instagram.  I go on a date. That's my life. That's my life. Anyway, thank you so much for being such a lovely audience. And thank you so much to the panelists. Sukethu, Dvani, Amish, Dino and Rajesh. Thank you. What a fantastic panel discussion. Thank you, Ankit. You really put life into this. You know, for our photographers, I want you to just move inside a photographer. He was... Please do follow Rajesh's show. Rajesh has so much of Sam's poison tomorrow morning. So he's going to give it back to Anish. Oh, boy. This is incredible. What a session. This is really lighting up, bro. Thank you very much for this. And thank you, Anish. Anish has a show on Instagram. How to use Instagram in a different way. Sorry. Right, Anish? Oh, boy. This is incredible. All right. We've got a token of appreciation. May I request Vice President Brown and Communications, Inox Leisure Limited. Let's welcome Shalini Gupta on the stage to give a token of appreciation to our fantastic panel. Ladies and gentlemen, token of appreciation for a very, very special panel. Guys, Okay. Give us two minutes because there's a little bit of social media. We're all social media influencers. So we need to do that here. Hang on. All right. This is a really nice one. Thank you. All right, guys. Dhwani, you need to be on the stage. We've got a token of appreciation. Thank you. It's okay. Brilliant. Anish, we want you to be on the stage once, please. Oh, boy. This is brilliant.


All right, thanks everyone for coming. I know it's kind of a late afternoon, so great to see you all here. My name is Martin Lanner, I'm with Swift Stack. We do Swift, obviously. And I'm gonna be talking about monitoring and analytics using Elk Stack, Elasticsearch, Logstash, and Kibana. I'm assuming this works, maybe not, there we go. Okay, so here's my little agenda that this is what we're gonna be talking about. So why would you wanna do this? Who would want this data? I'm gonna look a little bit at the components that I have deployed and talk about the setup configuration, a little bit about the grok patterns that I have created for this. There were none that I could find originally, so they're brand new.  All right, so why is the question? I work at Swift Stack as an engagement manager, which means I work a lot with our customers. I deploy Swift for them, and we have multiple machines, and we need to get the logs into a place where we can help them troubleshoot, understand what's going on, all kinds of things. So typically you have your logs, they're all dumped onto the same machine, and when you have tens, maybe hundreds of machines, it's kind of hard to troubleshoot anything because you need to get the logs from everywhere. So to a lot of people that are running Swift, it's like this, it's just a big black box. They don't know what it is, and what's there. So everyone knows that the internet and Swift in particular, it's all intended to store catch photos. And since we're in Tokyo, it's gotta be a hello kitty. All right, so in my daily job, I also have a bunch of people that work with me in our support and professional services organization, and we have to support these systems and it's challenging, like I said. We have to understand what is happening, where and when. We need to be able to troubleshoot the systems faster, but we also wanna know what the cluster is being used for. Who's doing what, when, where? And there's a lot of data, but there's not a whole lot of information. So with the data coming in from the logs, can turn that into information that's actionable and in different ways. So providing easy access to that, and then when we see something going wrong, whatever it may be, we can practically start taking actions if needed. So then the question becomes, who actually wants this data? I would argue that the devs want the data because they can better understand if there's a bug, something that needs to be fixed. Ops absolutely needs to look at it all the time to understand how to better manage the clusters. Support people, obviously wanted as well. And ultimately, business people probably want the data also because you wanna understand, for example, like what does your workloads look like? Workloads are critical to being able to put the data out there and making the applications run well and serving customers, whether they're internal or external. So with that said, the components here is OpenStack Swift, Elasticsearch, Kibana, and LogStash. Most of what we'll be doing here will be kind of focused on the LogStash piece. There's a lot of work that I've gone into trying to do that. And then we'll look at that through Kibana and the Elasticsearch stuff. So here's the ElkStack. The only other thing I've added in here is Nginx, which just adds a web frontend for Kibana. Then I have the Swift node and I have a single Swift node that I've used in this example. That Swift node is running proxy, account, container, and object, so all four main services on a single box. Of course, in reality, you'd have much more than that, but it's a lot of VMs to run on a single laptop for demo and something. All right, so hopefully you can see this. Elasticsearch runs on port 9200, LogStash on 5000, Kibana on port 55601, and Nginx in this case on port 80. And I have, on the Swift cluster side, I have LogStash forwarder installed to send the data into the Elk environment. All right, so we have a couple of key configurations here. The key configurations really come down to, I think, the ConfD filters for LogStash on the server. Grock patterns, I'm not sure how familiar everyone is with them, but they're basically a regular, based on regular expressions. And if you know anything about regular expressions, that can be kind of tricky. So like I mentioned earlier, I went out and I kind of scoured the internet to see if anyone's done anything before with actually parsing the Swift logs for EC indexing on the Elasticsearch side. Didn't find anything, so I went ahead and started creating Grock patterns for those logs specifically. And generally speaking, Swift comes with two logs, that's the proxy access log, which has the proxy stuff in it, and then it has the storage pieces, which is account container and object, and all the replicator, auditors, and stuff like that. And again, LogStash forwarder is installed on the node, and it includes in this particular example, just as a log and information and the Swift stuff. In real life, you'd probably include a lot more than that, but that would be really confusing and too much data for this demo, so. All right, some Elk server configs. You can see here, I basically have broken it out into three different things. You have the lumberjackinput.conf, you have the filters, and you have the lumberjack output. The one that I'm gonna be focusing on is the filters part, and I based all of this on the Swift logs. So this is available on the web, so if you just go to the open stack docs for Swift, it's there, and you can see the client IP remote adder, daytime request method, so on and so forth. And these are all very actionable pieces of information that you can use to get really good information about what's going on. So here's the example. This is the grok pattern for the proxy access log, and I'm sure a lot of you guys are probably pretty savvy with this, and later on, I put this up in a GitHub repo that's public, so if you wanna help contribute to it, play around with it, you can go download it and check it out. In addition to this, the Swift logs have a few little chain, different ways it does timestamps, so I created some extra patterns for that just to adjust for those pieces. And you can see the extra patterns, Swift, which I call it, they're pretty simple, but they're there. All right, so the Swift node configs. Hopefully you can see this, it's kinda small maybe, but it's okay. This is the simple output that you saw before the filter, and specifically if you look at the piece that says var log Swift, and then you have the asterisk.log in there, and then how you have put, under the fields, I've added a type called Swift, to be able to easily put that into a field in the interface that we can search for it. And I've also specifically named it Swift.example.com, and that's just my cluster name, so you can call that whatever you want. All right, so let's dive a little bit into the demo here and I'll show you what's going on. So this has been running for about half an hour now so this is just the standard thing. I created a little bit of a, I selected some fields here, the cluster, so that I can search for the particular cluster so if I have more clusters than one, I can run all these different clusters into the same instance and search across them. I included the host field up top here so that I can see where the data is coming from. I call this Swift stack node one, and I also show which log each message is coming from. If you wanna dive down into this a little bit, you can see here that you can see all the different pieces. So I showed you the log definition from the Opus stack Swift page earlier, which is actually this right here. But you can see all these different pieces.  All right, so let's go and pick just the proxy log. So here you can see the different proxy logs and if I wanted to search for hello kitty. Oh, no, I don't get anything on there, unfortunately. Let's see, oops, huh, okay. Let's upload something and upload goes on. All right, there you see. Now you can see that there's a hello kitty image in there and we can see a transaction record specifically for that. So I can search the, if I wanted to, for example, look at that particular transaction record. I can look at these other log entries I've done and I can look for transaction record and you can see how that shows up here. So all the entries that has that same transaction log will show up. So why is that important? Well, there are times when people say that I lost data. So far I've never seen Swift ever lose data, but I have a transaction record of everything that goes on in the cluster. So if I know that hello kitty image was in there, I can search for it, I can find a delete record for it, I can find the transaction record and I can track it all the way through and see everything that it did. I can see what disk it left or was on or which disks actually it was on and I can see what IP address deleted that item. So it's incredibly powerful to be able to do so and we at SwissDoc have had to do this for some customers at times when they said, oh, we lost data and we've actually been able to go through, find the data and say, well, you know, this IP address actually deleted the data. So it's not like we lost the data, someone did intentionally.  Here's one example, hopefully you can see this, but this example is for different status codes and so you can see what kind of status codes are being generated by the system and most of these are 200 okays, which seems like a good thing.  So I've created a bunch of visualizations here. You can refresh them as well and you can open new ones. We can look at different ones that I have here. Now, these different visualizations, they can be really powerful. You can create whatever you want. You just have to kind of dream up what you're looking for and what's important. You can put it up on a dashboard. So I created a couple of simple dashboards here and right before I walked in here, I started dragging and dropping a bunch of information and deleting some data, uploading some data and some of these are just here's a CRUD profile. It just lists the puts and gets and deletes and posts. Here's the request methods the same way, but it's broken out into sort of percentages instead. Here are some user agent data and I'm not sure if you can see this. It's a little hard to see maybe. It's maybe better like that. User agent data could be really important. If you've ever used Swift, you might have come across something called Python Swift Client. In this particular case, it's hard to see here, but I'm using Swift Client 2.660. A lot of people may use different Swift Clients. So the question is, well, why don't they upgrade to the latest? It may have new things, new features. Maybe we want to actually push them to upgrade to the latest. And so by looking at this, I can go out and I can find out what people are using. They're using the C++ libraries. Are they using Java libraries? Go, the Python Swift Client. And it gives you a lot of good information in terms of what you want to do with the cluster. Who's using it? How are they using it? And so on. Other things, request times per second. Also, pre-informative data. You can see how long does it take to upload things. If you start having problems in the cluster, that request time may go up. But you can sort of baseline that and understand how the cluster is doing based on looking at the request data, the time ranges. The status codes one we looked at before. Here's another one, pie chart that I created for object uploads in bytes. So you can see what's the size of all the different objects. You can create another one that shows the distribution specifically. And that may be important because if you have, let's say, an application that renders really small mapping images, for example, you may actually want to have a cluster that is built on a particular side of hardware. If you, on the other hand, are using the cluster as a backup target or a archival thing, it may be a different set of hardware that you want or need for that. And then you can customize your cluster based on that and that may have implications on how much money do you pay for various pieces in this cluster. So that's pretty much it there for that. We'll go back to the presentation. And let's see here, there we go. All right, so I created a couple of to-dos here for myself and also maybe to inspire other people to take a look at this and understand how it works. Some of these grok patterns I created, they can be refined for sure. You can also make additional grok patterns to understand things like what does the replication cycles look like in the cluster? How much, how fast are they? Do you need to take actions in terms of making sure that your replication cycles are faster and that you have any kind of problems? So for example, one thing that would be nice to do would be to separate out replication and auto log files to have more fine-grained information about that. Like I kind of highlighted before, there's a million different ways of looking at data. Depends on who it is. You make different dashboards for different types of people. Ops people may want to see something while devs might want to see something completely different or devs might not even care. They just want to search through the logs. Ultimately, what I'd like to do is to actually push these grok patterns up to log stash, get them in the log stash distribution so that when you install it, it comes pre-configured and ready to go. All you need to do is start it, point your logs at it and you'll be done. So I created a Git repo yesterday. It's available, it's under the Swift stack account. It's called Swift to Elk. And if you want to take a look at it, deploy it. It's there. I need to put a little bit more information in how to actually deploy it, but it's pretty straightforward. And that's pretty much it for my presentation. If you have any questions about what I did, how I went about it, if you want me to demo anything else, we can play around with the actual demo. It's live and it's up and running. We can unmount disks and do things like that. But anyone? Thank you, this is very helpful. So I have one question. So if you have a multi-region cluster, Swift cluster, what's your recommendation for this Elk setup? How does it look like? That's a good question. So obviously if you have multi-regions, you'd probably have one Elk server on one side and then you may not have another one unless you build it in a cluster, which was a little bit beyond the scope of what I was trying to achieve here. But right, so you say you have one Elk server on both each side? I don't want to lose Elk, right?  Yeah, you can build a distributed Elk server if you want, LogStash. I did not really look into that, to be honest, at this point. But you can point, if you wanted to, you could point your, so to say, data center A to one side and data center B to the other side. But ultimately you would have to have to combine, if you want all the data in one place, you'd have to combine it into a single, point it to a single LogStash instance. Have you ever considered to have a two separate Elk and then using, I think Elasticsearch has some capability, kind of like, what is it called? I forgot the name, basically it can route, kind of like mixed to Elasticsearch cluster in one view. Or versus you can do one, because you have latency problem. They're latency problem, right? Yeah, I have thought of it, but I didn't really look into it and how to do it. Okay, thank you. But if you have any suggestion for it, I'd happily take them. Any other questions? Yes? So, Martin, have you thought about add the log analysis, like event correlation, if you have the latency search and then what is the root cause of it? So now, when I looked at this, it's mainly you do the search or you do the dashboard display. The root cause analysis part is pretty much manual, right? Have you thought about it to push it to the next level to something like that? Yeah, that's a good question too. So there are some tools out there that you can connect to LogStash and Elasticsearch and you can alert on it and you can learn more and more, right? And as you see things coming in in the logs and having potential issues, you can start alerting on them ahead of time so that you know when something's coming up. And, but beyond that, sort of that's, once you see that and you start learning about it, I would, I think that's something that the developers would really be interested in knowing like, okay, seeing what those patterns are and understanding how that works. Yeah, I think the problem we have right now, the other type of the storage is that when I have the client impact, they say, you know, the latency is high, it's paying the bud to find the root cause of it, could be some disk is dying or something other, the network. So, but you know, the debugging process is really piece of art, right? So, yeah, for sure it is. It's hard, but I think with things like, for example, the latency or the time to completion that I showed earlier, right? In the examples, when if you see those going up into abnormal levels, though that would be, that's where you really need to start looking into the logs and if you see a disk unmounted in there, I didn't actually show an example of that, but that's something where if you start losing disks rapidly, that can obviously be a problem in terms of how the cluster needs to replicate on the back end, because it's going to have to take data from other parts of the cluster and move it out to create a third replica of that data. And that is something that you can also see and once you have, if you unmount a disk, you will see a high amount of replication activity in the logs. And so you can make aggregations on that and see how the, you can correlate it to, to a disk failure or you can correlate it up to like, well, suddenly I have a huge influx of data, right? In the cluster. So it could be different kinds of reasons for why that would happen. But if you aggregate all that data then you can definitely see what's going on and why it's happening. So any other questions? All right, well, I will be hanging around here for a few more minutes if anyone wants to talk afterwards or take a look at what I have running. And thank you very much.


Hello, everyone, everyone. Hello, bonjour, as they say here in Montreal. I'm here to present robust tests for conventional environments. I want to share with everyone the path that we took, adding tests into our project and how it helped us increase our velocity and helped us go faster. My name is Carolina Pinzon. You can find me on Twitter. I'm GitHub as Karol Pinzon Silva. Please reach out to me. You can write me on Twitter or write an issue in my GitHub repository. So it would be kind of funny to see a contact that way. Here's my page, Carolina Pinzon. And I'm from Colombia. It's funny. Liz, I don't know if you're here in the previous text. She's also from Colombia. There's also Marty here. Tag is tomorrow. So it's funny that we are all here representing that beautiful country. So go to Colombia. And I'm a front-end engineer at Dapper Labs. So what do we do at Dapper Labs? In Dapper Labs, we believe that blockchain should be for everyone. We believe in blockchain as a solution for modern problems. And we want to show the true value of blockchain, building games. We want to bring a broader audience into blockchain. And we want to do it through games. And in Dapper Labs, I work at this product that we called Dapper. I know it's a little bit confusing, because it has the name of the company, but bear with me. And what is Dapper? Dapper is a wallet for blockchain, for Ethereum specifically. So similar in a bank account, you have your wallet application in your phone that in which you can do the transaction, you can send money to other people. It's the same concept, but in the blockchain. So Dapper allows you to interact with the centralized applications and send transactions to other people and buy tokens and assets. And there's some components that Dapper has. Dapper is an Ethereum smart contract. It's built as a Chrome extension, it uses React, and interacts with the centralized games. So at this point, you might have some questions like, what is Ethereum? What is a smart contract? Chrome extension, how does it work? Maybe what is React? Or what are the centralized games?  I promise it's not like that. So I'm just going to go through each of these points and explain them a little bit in detail. The first one, Ethereum smart contract. Ethereum is a blockchain. It's a blockchain that we choose to build upon it. And a smart contract. So in a centralized solution, you have this code that you built. You can build in any language, in JavaScript, in Go, and you deploy the code into one server. And any user can interact with the code using an IP. In the centralized application, you have the same code, but you deploy it into a cluster of computers. This is what we call the blockchain. And the cluster of computers, they communicate with each other, and the user can communicate with your code using the address. So it's similar to the IP in a centralized solution. In this case, it's an address. And the code that we deploy is called a smart contract. It's building solidity in case you're interested about the language. So a Chrome extension. I'm sure you are familiar with Chrome, but how does a Chrome extension work? A Chrome extension has three components that we have to talk about. The first one is a pop-up. So basically, when you download an extension from the Chrome store, it adds an icon into your nav bar. And then when you click the icon, it opens this small pop-up. And something that you need to know about this pop-up is that it acts exactly as a window. So every time you close or open it again, it's just like a window on the pop-up script that is injected into this UI. It stops running when you click outside the pop-up into the window, Chrome window. So because of that, we have the second component, which is a background script. The background is always running in the instance of the window. So this is the thing that persists between the session of the user. And the pop-up communicates with the background. And the third one is a context script. So the idea of an extension is that it wants to interact with web pages. Because of this, we need to inject a script into the applications that we want to interact with. And the script communicates with our background using push messages. So the background is like this communication between the pop-up and the context script that communicates with the application. I'm not gonna talk a lot about a React application because more people are familiar with that, but it's a great library. And the centralized games. The centralized games have the same normal games, but they're built upon the blockchain. So in a centralized game, you have this server with a database, and the database have the information of what user has, which token or which asset. In a decentralized game, we use the blockchain to keep track of this. So we use it to demonstrate the true ownership of the assets and of the tokens. And some examples of games that we work on with Dapperless is Cryptokitties. I don't know if you have heard of it, but it's you collect and read these creatures, one of them creatures that we call Cryptokitties. And after you read them, they have some attributes that then their kids have like a mix of those attributes and you can create different combinations. And the other game that we have developed is called Cheese Wizard in which you buy a wizard and then you compete against other wizards to win power. Like if you kill the other wizard, you get their power. And the idea is that at the end of the tournament, the wizard that survives gets to win the big cheese. We recently had a tournament, like I think it was around two weeks ago and the price was $100,000 around that. And it's interesting because the guy who won the big cheese, he's not a developer. He just read a book about how to break the Nash equilibrium of broke paper scissors, which is like the basic of a cheese wizard and he got into it and he won the prize. So it was one nice thing other people from like not the developer community get into the games and get into blockchain. Yeah, so be sure to check it out. Like there's gonna be an experiment soon, so it's pretty cool. Yeah, so I know all, or we know, sorry, all these concepts right now, but we didn't know when we started developing it. We had no idea, like yes, we did cheese wizards before, sorry, crypto kitties before, but we didn't really know all these concepts. So how did we build it? We started in October of 2018, October of last year with a simple create react app. And then seven months later, we had a public beta. So it was kind of a rushed experience and I wish we could say that we started adding tests from the beginning that everything was moved, that everything was perfect, but it was not the case at the beginning, it was chaos and I mean, I guess it's a lot of projects. And we had a lot of time wasters. We had many unsuccessful QA sessions because we're a startup, we don't have a team of dedicated QA people. So the QA is done by us, by the team, by the product team. And how it works is that, okay, we want to test a feature. We contact some people from the team, so we ask a product designer or the engineers to get into our room and test whatever feature we want to work on. So of course we want to test as many things as possible. So it was like maybe half an hour before the QA session, we were trying to merge everything and merge, re-merge.  And then sometimes they couldn't even open the application or they couldn't even log in, they couldn't do anything. So we had to first apologize for taking their time, then try to fix the bug as fast as possible and contact back again. So I think we were wasting around five hours of time per week, not only from our time, but from other people's times. We also had multiple fixes for the same bug. We broke things. We broke things without realizing it. We realized it in the QA session. And there was a lot of manual testing, different from a website that you can have bills for HBR and you can access it through a URL. In Chrome extension, if you want to test a change, you need to pull the branch, build the extension, and then upload the extension to your browser. So it's a lot of friction to test things. And we were, as developers, we were doing this a lot. So we were wasting a lot of time. And this is just some examples of the issues that we had at the beginning, just to show you that I'm not saying things. So people were unable to open the build, so they couldn't even open it. This one is funny. We added end-to-end tests, and then we broke the production build. Not the staging or development, we broke production without noticing it. Error of the logins, weird and vague error messages. The activity list is a feature that we have, and we had things like, OK, we broke it and then fixed it. And some days later, we broke it back again. So it was just painful, and the development was not going fast. So I'm going to share with you three challenges that we faced, and then how we fixed them with tests and how it helped us go faster. The first challenge was that blockchain transactions are slow and cost money. So in Ethereum, Ethereum can process around 15 to 20 transactions per second, because all the nodes need to process all the transactions. This compared to a credit card company. As Visa, they process 45,000 transactions per second. So there's more than three orders of magnitude of difference. And because of that, transactions in blockchain, in Ethereum specifically, they take around one or two minutes to get approved, to get accepted. And they cost money. For each transaction that you do, you have to pay a network fee. The network fee that you have to pay depends on how congested the network is in the moment, what type of transaction you have, and how fast your transaction, you want your transaction to go. So you can pay more if you want your transaction to go fast. And I think it's around something like 25 cents per transaction. Yeah, but it costs money. There is a testing network that you can use. It's called Ringly. But it's lower than the main. So you couldn't have a fast free transaction. And how does it affect us?  So that brings a smart contract wallet. That means that for each user, we upload a smart contract into the blockchain. So that means that every time a user creates an account, we have to create a new smart contract and deploy it into blockchain. So it will be similar in a centralized application to deploying a server per user. And since this is such a critical stage of our products, like basically without if this doesn't work, the user doesn't have a wallet, we needed to make sure that it was working all the time. And we saw this screen a lot. At the beginning, this is my story. At the beginning, we didn't have this Pong game. We had an animation. But we saw the screen so much that Nick, one of our great developers, he was like, you know what? I'm going to build a game for this screen. And he went one weekend and then came back to the Monday with this game. And we became quite good at this game because we were just waiting a lot of time to build. But it was frustrating. So how did we solve it? We built a local blockchain in our machine. At this point, we could have said, like, you know what? Let's not worry about it. Our API is the one that interacts with the blockchain. So let's assume that everything is going to work. We are just going to mock the API request that we do to our API. And that's it. That will be our test in the front and in the client side. And we did that at the beginning. But we ended up having some bugs that we could not catch in our automated test. So that's why we wanted to go one step further. And we tried replicating as much as possible the production environment as we could. So how we did it, it was we run a local blockchain using get, which is a go implementation of Ethereum, pull go implementation. And we are in our machines that just recrase these different nodes into one machine, communicating between each other. We also pulled on the API to have the latest version of our API. And with this, we created a production environment, or as similar as possible, into our machines. And that helped us have better tests that were more similar to the final version that we'll have. That's the second challenge that we have. This was more the UX challenge, is that the users have different expectations for extensions compared to a web page when they business a web page. So if you go to a web page and you open a model, you write an input, for example, and then you refresh the web page, the user does not expect for the model to be opened and for the input to still be there. It's because they are used to this. And they know that if they are in an important flow, if they are making a transaction, you cannot close the window in the middle of the transaction. You need to wait until the transaction processes. But in an extension, since the pop-up is really easy to close, basically, if you click anywhere outside the pop-up, we lose this flow of the user. So at the beginning, we had a lot of issues in which, even in a simple login flow, we didn't test when the user clicked outside while they were before writing the password, for example. And going back to our diagram of how the Chrome extension works, that means that we had to make all the IPR requests and have everything saved in the background. So anything that you want to persist throughout the window for instance, we had to do it in the background. And this is also because the pop-up is so small, we had the constraint of the dimensions of the window. That made us have to divide the flows that we had to. For example, the sign of flow, we had to divide it in different steps. So it couldn't be like one long form that could have been easier for us to develop that. We had to break it into separate steps. And things like this, just a simple flow where you had to add your email, your password and your phone number and then an email verification step. We had a lot of bugs in this. And this is how we were testing it at the beginning. So you're going to see me click the refresh button. I'll do it right now multiple times. And this restarts the background script and the pop-up script. So it mimics the user closing the window during the flow. And this is how we were testing it at the beginning, just writing things, then going to the refresh button, refreshing it, and then try it again. But as you can see, this is really manual and it's really easy to miss a step. It's really easy to, yeah, don't do a, for example, what happens if the user writes first the password and not the email, things like that. So it was just not good for us, not good for our speed. And the solution that we had was testing each step separately. So the user is going to interact with this as different steps, right? Because they can close the pop-up whenever it's really easy for them to go out of the pop-up. So take it as that and then do tests as the user would do it, just try to do each step at a time. So in our case, in this, in our login flow, we know that from the first step, we want to save the email and we want to get the token. We know that in the second step, we want to save the phone and the last step, we want to call the API and create the user. And if you see this, this is the same as having documentation from the code. You know that from the first step, they have the email, the token, the second step, phone, and then the third step, you create the account. So this was good, not only for like, it helped us not break the login flow, but it also helped us having the code that documented itself, having tests that helped us documentation for the code. This is a simple flow, like this has three steps and this doesn't have any branches, but we had our flows that were like more complicated and with tests, we could have like a documentation of each step and what did it have to save after each one. And the third challenge that I want to share is that as I said before, the exception communicate using Windows messages. So in a more conventional application like CryptoKitties, for example, the application has the full control of the request that it makes and the full control of when it does it, what it wants to do with the response. So for example, if you have a list and you want to show more Kitties, after the user clicks a button, you have the, you make the HTTP request and it gets back the Kitties and you display them. But in Dapper, in a Chrome extension, it does not have the full control of everything because it needs to interact with the centralized application. So let's say for example, a user wants to buy a Kittie. We'll just go into one second after it, thank you. Yeah, so it wants to buy a Kittie and then the decentralized game is the one that tells when we want to start doing the transaction. So we need to listen to these messages sponsored from the centralized game to do a transaction to start our flow. And how does that affect us? Yes, and that does it with the context script sends that push message into the background and we need to react with this. And yes, this is an important part of our wallet. Basically this is what we build the wallet for. We want applications to be able to do transactions with our wallet, so we want to make sure that that works. And we want to make sure that every time a script, every time an application sends a message into our script it triggers the transaction, the transaction flow. And in order to do this end-to-end test we wanted to use Cypress. We thought it was a, it is a great tool for end-to-end testing if you haven't tried it. But when we started adding it we had this problem and it does not support browser-specific protocols. There's an issue, it's still open, it's number 1965. I actually went to a conference in which Cypress were the sponsors of the conference.  And it's because how it works internally is that you tell Cypress to open a URL and then internally it opens an iframe that goes to this URL and then interacts with it. So because of this the browser-specific protocols can't work or are really hard to make them work. Yes, so at this point, like at the beginning we were like, you know what, let's forget about Cypress, let's not have end-to-end tests and move on. But it ended up being worse, just ignoring this and trying to continue with manual tests for the transactions for example. So the solution that we had here was make it work. Don't worry about the implementation details, don't worry about making it perfect as we have the saying in Dapper Labs that it's done before perfect and apply this concept also to your tests. And how we did it was we have to, in order for us to run our end-to-end tests we have to do three stages. First you build extension, then you run a local server that points into the extension build so usually what you do is you upload the build into Chrome but if you want to run the end-to-end test with Cypress we have to access it using the URL because that's how Cypress works so we did that. And the third step was mocking the Chrome API. Yes, and as you can see this is not the best solution because we are after all mocking a really core part of our application which is the Chrome API, the browser-specific protocols. But it was better doing this and having Cypress test rather than not having test at all. So that's why I say make it work. Even deep at the beginning if you have to take some shortcuts it's better having something rather than nothing. And we're still working on this, we want to try to figure out a better solution so we don't have to mock things. For example, I remember that we had some box about coding and decoding of the messages that we didn't capture because we were mocking it but it's better than not having anything at all. So yes, this is our Cypress test running. We had, so we added the test and to end test for the most important flows, not for everything. So for the long for the transactions and that helped us also at the end try to do test-driven development and try to have this code that you will not be scared of changing it in the future because you have tests that validate that the previous functionality is still working. And I mentioned about the unconventional environment. In this case it's because the technology is unconventional. It's a, we work with blockchain with the central line game, CMACOM extension but there aren't many different types of unconventional applications. For example, right now we are working on another game it's an NBA game and I found that tests actually are helping us from the beginning making our development process faster and then conventional aspect in this case is not that it's a blockchain game is that we have a lot of unknowns in our project. We are working like all the teams working really fast and things change all the time and like the API is not ready sometimes when also the frontends are working on some feature but I found that tests actually help us like giving us a guide or where we have to go what we have to do and it makes us go faster. Yeah, so if you are doing an application and want to test, I'll give you like maybe three things that you can think of so you can start adding tests. The first one is think about things that you are repeating a lot. So for example in our case we're repeating a manual testing a lot and things that you are wasting a lot of time doing like this repetition and then write a test for it. It's better like taking one time longer to write the test than spending all this time periodically time that you repeated and repeated. The second one is think about things that break often in our example, for example the activity list. So if it breaks often, the chances is that you're going to break it again in the future and write a test for it. Save yourself time, save yourself like surprises in QA sessions by writing tests. And the third one is think about flows that you, like if the flow breaks at 3 a.m. you have to wake up and you have to fix it and write a test for it. Make sure that you're not breaking it with new code because at the end the tests are for us, the developers. Like we're never going to have a person from product telling us, okay we need to stop production. We're going to add tests. This is what we're going to do in the sprint. It's not going to happen. It's usually us that we have to like push the team to add tests and this is like what I like to say is that test that make your life easier as a developer will make the product better at the end because it will help the team go faster. So yeah, even if the deadline is really short and even if you have a lot of unknowns that you really don't know where to start at, take the time, write a test and it will help you eventually go faster. Yeah, I have a favor to ask you. If you can like open your phone and go into this URL and send me your feedback.  Yes, and if you do that, I'll send you a creep to kitty so you can have this creature. I will really appreciate it if you do that. And yes, much as gracias. Thank you so much. Come to me.