The合照. Today it's a continuous day. Today they are cry out that they are angry. so as I think it's only the day the black muhting Be ready, ..�이 ڈ resident Apart ڈ resident之後 న౛కుఱులిఆల౻ించిపన మూనిర్ాభై బ weten�ెరోజిరిందనకుప్భరటంతేస్ఉలాపికురిందప్చి త౰రాముశంతే ఇర్ యంవిండామమికడింద్స్ధ!(D తవాసికౕ ల్సొనాచినిపోఏలిలుంది . మివాలుంది. మతాసికాసారికిపినింది. నామరియం మ౰ినికింది. నివాలిందిడి. ᵌ ᵒᵍᵘᵃ ᶦᵔᵇᵉᵉᵉᶦᵃᵄ, 小 ᵗᵇᵒᵉᶦᵍᵉᵉ ᶦ ᵉᵉᵉᶦᵉ, ᶦ ᵗᵁᵋᵃ ᵍᵉᵐᵉᵃ ᵂᵍᵉ ᵎ� א�ᶍ ᵗᵇ ᶦᵉᵉ. ᶯ ᵀᵒᵝᵒᵉ ᵉ�ᵃᵉ यह सी रामजी भादन है from raman jee daim Bhagwan haa उ साछे साअरे नदे गुठ मैं lains all our Saturdays तो ना 10ata��겠습니다asan, ते टाठ बक note baad by तो जवासे थी हakra Ka Tanaدة Sale back जो समवathon its boring अर ऐसी खात्र नहीं तो sweats, आज causes lightly आजестоड़ोड़ भादन सब आश्यानदस paid Sarde nagar te, sehde esdesh te s tati mamthe Learn, actually, it was successful in that day as we have celebrated during 1953 to ratios uptoFFFF, A生 silly, me weak ara much to say in these days. So, technically, today work is worth 70% of the work, You this way also invest.


So, I see a lot of new faces, who I have not met before. Can I see a series of hands? The new faces who don't know me before? Okay. So, there's a lot of background about me. As you know, I'm currently in the mobile platform team in SDG Joe. And today I'm going to talk about iOS core signing horror. The earlier title that I put, iOS core signing, even though nobody would tell you, I thought it's a little bit strong. So, I'm going to change the title to this. But, okay. This is a little bit today. I'm going to learn about core signing in general and iOS core signing and look at individual components of core signing and how they fit together. You might have pressed upon all these things while building an app or while going through the process of core signing, but there are some interesting things that I'm going to say. Again, there is a background about me. So, I've been building iOS as for almost 10 years now. I started pretty much from the beginning of iOS SDK. So, iOS dev scout is actually my name. So, I started iOS dev scout in 2011 then. For the last two years, maybe in all of those, they were taking care of me quite well. So, you haven't seen me for almost one year plus. Then, I am with Melvin and few others, organized iOS conference in Singapore. The next one is going to be in January. And, I sometimes write articles on their own. Again, talking about why you should care for core signing, who hasn't seen this app before. So, if you have been developing iOS as for a few years, you might have seen this, where your core signing schools are, then you have this little button called fix issue with the blue color. It's very tempting to click, but the moment you click on this, something schools up and a lot of people complain. A lot has been put over the past. But again, this is from Felix, the creator of Aslan. Is core signing a real problem? Yes, a lot of people fix it day-to-day. Even after the improvement of automated core signing, the underlying concepts are still the same. And this is very strong, and it says, iOS developers don't understand core signing properly. That is because you don't deal with it every day. You just write code. You write in suite. And a lot of time, you just know how to fix a problem, but how it works, you rather, more than half of the time, the developers don't really understand how core signing really works. So, while you make core signing, this topic was signature in general. You sign on different things on a day-to-day life, contracts, house agreements, offer later any legal document. So, this ensures that the signing part is someone real, and it's a trusted person.  So, this is what a signing does. The core signing for software is specifically similar. It says that software has been signed by a legitimate developer, not necessarily a good developer, but a legitimate developer. So, your software might have bugs, but this is someone who is just an entity can verify. And the software has not been modified or corrupted since the time it is signed. So, that's what core signing is all about. And iOS core signing basically ensures that every app available on App Store are from legitimate developers. Developers who have paid $99 per year and Apple knows them and ask one sign by this developer is not being modified by somebody in the train. And also, if it lets Apple to control what software or what point it can be installed in which iOS devices. The first thing you do is you create a certificate signing request. You create a certificate signing request with a certificate of authority. It usually involves creating a public key and private key, so I'm going to talk about it in a while. It contains your information, like email, country, signature, etc. And most of the time, you use the teach and app to create the CSR file. But let's look into what's under the CSR file. If you use the open SSL command line tool then you can see what this particular CSR file contains. You can see there's the email of the person, there's the name, the country, and the algorithm has been used to create a CSR file. And if you see the texture and the presentation of this file then you can see there's this public key that is part of the CSR file. A lot of this thing happens under it. You don't even realize that the public key is created, the private key is there. But this is what happens in the very first step in the CSR file. And creating a certificate. Now there are ten different types of certificates that are available there. A lot of these things do different things. Certificate is the development certificate and production certificate. Now you can see the program system file. Apple verifies this from you. Then it keeps you a certificate. And you can, again, see this certificate as your name, the e-supername, which in this case is Apple Inc. And basically this is the certificate that you will use to sign your code. There is this file. The moment you install, explore, do so with this, after you download the certificate or you install the certificate, but this file is there. Now what does this file do? This Apple WordWord, WordWire, you have a permission in terms of your certificate. So the certificate is this certificate in that it verifies all of the certificate in your kitchen, our bank certificate. It's not fit by somebody. So it's an intermediate certificate that ensures the authenticity of all of the certificates in your kitchen. Now if you have multiple machines between which you need to kind of save these keys, then you export your certificates using this file called PKGrid. PKGrid does it stores your private key with the certificate. It has containers called savepads. And these bags have their own attribute and contain. For other certificates, we have one bank certificate and another one got a private key. There are few more things which are post-writing, one is a team ID, one is a bundle ID, one is app ID, device ID and documents. Let's look into each one of them. The team ID is unique ID for each development team. You might be part of multiple development teams. So in each development team, you have a unique ID. Bundle ID identifies a particular app. The app ID is a combination of your team ID and bundle ID. And your device ID is the unique identifier of a device, which is a 14-liter digit number. The entertainment is basically the capability of the application that supports it. Within the app ID, you can put an explicit app ID or wildcard app ID. So the wildcard app ID could have something like the reverse token name or the asterisk. Then with this particular certificate you can build any bundle identifier that matches with this particular wildcard ID. But there will be some limitations. There are some good services that you won't be able to use if you use the wildcard app ID. This is the meat of your co-standing producing profile. It binds all your things when you talk about your certificate, your CSR, your app ID and the devices. It's really easy to create multiple provisioning profiles for the same certificate. And if you do so, it's going to make your life hard. If you have all these provisioning profiles in your machine and in a non-certificate expire, then you are basically going to spend a lot of time debugging what is happening. This is the number of provisioning profiles I have on my machine which is not a good sign. I have about 132 profiles. Some of them might be expired. But what export does I'm going to do it uses this command line called code sign. It uses a certificate and once you clear the boundary, it uses the boundary to sign the app. Three steps. It has something called signature and it has a signature and it has a code requirement. So what is it? So the code sign generates a sign by running different parts of your code. The app has a solution of every part of your code and the verify uses the same passing algorithm to verify that this code is listed and it has not been modified. It tells the signature on the other hand that it is not the signature of the message. It creates the digital signature using the private key and the sign has this in the app along with the sign of the certificate to predict the digital signature. So if your app is legitimate and you want to earn the verify code on the code sign you should see something like write on this and satisfy the requirements. Now let's look into something in front. Are you able to power any app from App Store and sign with your own certificate and tell that this app is printed by you? This is an app called File Browser. I don't know who built this. Of course, none of you in this audience can want to re-sign a popular app.  Now this is where if your app is something in your 100 rupee group you might swap here but what do you want to do here? I have all the things that I've written here as a certificate I'm just going to re-sign this app and it's basically a sign using my own certificate. Can I install this app on my device? I re-signed using my own certificate at this point no because there is some additional way of security that you need to remove before you can even install and use this app. This re-signing means that if I submit this app on App Store Apple will know that this app is not me. It's not from somebody else. So again the what you can do with this knowledge is the same. So once you kind of have all the all the things all the dots join then you can understand how re-signing works then the next time when you see something goes up you can go a little bit better in Q2 given the comments and there are actually various tools available by Fastman himself to manage these things. One of the tools Natch what Natch does is it it helps you store these certificates and provisioning profiles in a Q2 group so that anyone in your team they can just use Fastman command and they have required profiles and request certificates they do not need to create new certificates against new profiles. So I'm going to show one more thing the issues that we face. So what's going to happen is like we have as you saw that we have a lot of provisioning profiles and like SP we have SP to this app or whatever but we also have a lot of internal apps there that SP employees use and some other stakeholders use. So the internal apps are signed by the enterprise certificate so you use the enterprise certificate to sign the apps and when you use the enterprise provisioning profile there's an expired period for this provisioning profile and even now it's one year for this profiles to expired and Apple sends email to the admins when the profiles are due to be expired. So one of the popular apps that we have been working on so it the profile expired and the apps suddenly stopped working and you just were basically really upset about it. So what we do after that we use another command which is fastly specific so this is a Ruby script what it says is if we log in on behalf of you it will download all the provisioning profiles and it will check the validity of this profile so I'm just going to run the command so you work it out see all these profiles are due to be expired within a month another few original things that we have done here one is the notification part application that we send to Slack then we send this notification to the required developers by email as well so it's not just one person who is going to receive the notification from Apple that this profile is expired but the whole team will know that this profile is actually expired in one month or six months and then you can do something about it so that's it for my presentation any questions some questions anyone in the team can accept is there any security so for the development certificate there is no security issue for that so you again you can create a team team development certificate and then you can share it among the developers and there is no security implications for that but if your team members have access to the apps to distribution certificate then you usually the bigger organization it goes to a DevOps team so the developers are not supposed to raise the apps themselves so it goes to a DevOps process that you should be careful about who has the key to the distribution certificate what happens if you submit the private app to the app store so again so this app itself just the first signing part works I would imagine Apple would have some other checks to catch the authenticity of that app I have never tried that but yeah maybe we should try it now any questions yes I am just going to give a speech on our maintenance work as a personal project of mine that I launched yesterday as a platform for mentors and mentees so if you are interested you can check it out the two categories that I have launched with for now is for women take and startups I am going to launch more categories in future but it is a soft launch for now and yeah thank you


Hi everybody, Joe for JaspysCaseBrakes.com with another two box break, a full case break of 2022, Panini, Flawless, Baseball, Random Team Break number three, obviously all teams in, obviously all cards are going to ship. Big thanks to this group for making it happen, I appreciate it. Thanks to the people who bought their spots straight up of course, as always, and congrats to the people who won spots in the filler. All 30 teams are in, let's roll it, let's randomize names and teams. Two and a six, eight times for names and teams. One, two, three, four, five, six, seven, and eight. Got David down to Ed, two and a six, eight times for the teams, two and eight. We got Guardians down to A's. So here's how it shakes out for everybody. So we got eight there and eight randomized there. All right, David D, Guardians, Darren with the Brew Crew, Ed with the Astros, Jay with the Yankees, Rob with the Reys, Steve with the Cardinals, Jason with the Twins, Chad with the Braves, Jay with the Metz, Chad with the Tigers, Ed with the Cubs, David with the Angels, Ed with the Red Sox, David with the Marlins, Zach, he got the Padres. Chris with the Pirates, Rob with the Reds, Darren with the Orioles, Chad with the Rockies, Chris with the White Sox, Chad with the Diamondbacks, Jay with the Philly, Steve with the Mariners, Dominic with the Giants, Rob with the Dodgers, got my Dodgers, Diego with the Blue Jays, Michael with the Nationals, Chad with the Rangers, Allen with the Royals, and Ed with the Oakland A's. All right, let's alphabetize by team. And we are going to pause the video. We are going to have a trade window. Trade at your own risk. And when we come back, we'll have the break. Stick around, BRB. All right, welcome back, folks. No deals were done here in random team. D-break number three, TWC trade window closed here on Thursday, the ninth. Thanks everyone for making this happen. I appreciate it. There's the full case right there. Unfortunately, no more flawless baseball to post for now. But keep your eye on the website. We're always on the hunt to get more flawless baseball back into new, back onto jaspyscasebreaks.com. We do have, I'm going to set one of these flawless cases off to the side right here. We do have national treasures baseball on the site. So if you think of, I think of immaculate, flawless, and national treasures all kind of in the same, in the same family. So it would be like immaculate, then NT, and then flawless would be the top level. And share common design elements, cousins. Do we have a third hit here? No. Just have the little small print that says the gems we find in here are naturally mined, not lab grown. All right. Let's use a couple of blank cards to hide some hits. I think that's the auto over there, and that should just be the gem over here. Not look at the players faces or anything. I just saw the shadow of an autograph. Just want to hide those so we can both be surprised together, hopefully. Cover that right there. Good luck. Got three out of 10, Brandon Marsh. That will be four. That's Philadelphia edition. That's going to be for Jay Goins. Four out of 15, Willie Stargill. Braves edition of Willie Stargill. Post playing days, Willie Stargill. That's for Chad. We got Andre Jackson. Dual relic and autograph. I'm sorry, Miss Jackson, ooh, I am for real. 18 out of 20, RPA for my Dodgers. Rob with the Dodgers. He might have some part to play in the Dodger rotation this year. All right. Next one is Otto and Otto Otto. Three out of 10. Kind of a thick card here. I think we need to put that into a slider box. The Otto 10s are a little bit thicker than the top loaders that we have. Diego with the Toronto Blue Jays. Two out of seven, Mark Vientos. Dual relic and autograph for the Metropolitan. That's going to go to Jay. There you go, Diego. Got a slider box in there for you. We got 17 out of 20, Cedric Mullins for Darren and the Orioles. There's Bernie Williams. 10 out of 15, the musician. Jay with the Yankees. And we got Orlando Cepeda. Greats autograph. 12 out of 15 for the Giants. Dominic with my rivals, the Giants. Now your encased cards. Good luck. The Gem first, I think this was the Gem. Six out of 10, Joe Ryan Diamond. Rookie Diamond from Minnesota. That'll be for Jason Kay and the Twins. I think this was a patch auto. I think this is landscape mode. That's a rookie. And it is Bobby Whit Jr. 18 out of 20, three color patch and autograph for the Kansas City Royals. Allen with the Royals. And we'll never be royals. All right, one case down. Another one to go. Good start, good start. It was Allen A. got randomized. The Royals, it's pretty nice. Next one, no third hits. There is a middle hit. Oftentimes it's a cleat, piece of the cleat, bat knob, bat barrel type situation. The autograph is over here. Should be the Gem right there. That looks like a team USA Gem on the left side. So let me fire up group break checklist in case I need to check out where exactly this player goes. All right, for those of you watching live that checklist is in the chat, that's what we use, groupbreakchecklist.com. All right, all right, we've got a showcase. Quad relic four out of 10, Brendan McKay. Rob with Tampa Bay. Nine out of 15, Elson Howard showcase quad relic. Is it not a single one? I've not seen not a single Travis Kelsey SNL sketch. It's Jay with the Yankees. And a one of one Colton Welker. Nice with the Rockies patch right there. Chad Cromwell with Colorado. I think that's tried to trade, couldn't trade Mojo. And all aboard the Big Head Express. Pretty sweet patch. We've got a triple relic and autograph, eight out of 25. Triple relic and autograph. That's Taylor Tramel, Steve H and the Mariners. One out of 10, Luis Gil, another thick one here. Two color patch and autograph. That'll be for Jay and the Yankees. Yeah, if you want more of this flawless type stuff, we got NT on the site. We can run that tonight. There's Jason Hayward, 10 out of 20. Cubs edition going to Ed and the Cubbies. It's for Ed P and the Cubs. We got another train whistle. That's Fergie Jenkins. Three out of five. That is Rangers edition of Fergie. I didn't realize Fergie Jenkins was on the Rangers. I thought he was always a cub, but I guess I don't quite remember the Fergie Jenkins era though. But Rangers, that's going to be Chad. Last spot, Mojo. Another train whistle. All aboard the Big Head Express. Out of fives and under, get the train whistle. And another train whistle for the Yankees this time. Three out of three, C.C. Sabathia. Star swatch signatures. Wait, I don't think this is going to, is this going to fit into a 180 top loader? Actually, it fits perfectly. Yankees, that's for Jay. Jay, three out of three. And all aboard the Big Head Express. Woo boo. All right, now, let's see what we got in here. I think the gem was on the left side and that was the Team USA. Oh, that's the autograph. Anyone, can anyone tell by that auto right there? By that piece of the auto? Let's go to this side first. We got three out of 20, Aaron Judge. Aaron Judge, Diamond, all rise. Jay with that one. Not the polar bear, Logan's got it though. It's Big Mac, Mark McGuire. Two out of 15, Team USA, Collegiate National Team, Team USA, Sapphire and Autograph. And according to the checklist, auto gem, USA gem signatures, Oakland A's. That's gonna go to Ed Aaron's, Ed A with the A's. There you go, Ed. And there you go, ladies and gentlemen. The case is closed on Random Team number three. Thanks for watching. Thanks for breaking with us. I'm Joe, I'll see you next time for the next baseball break. Bye-bye.


In another development now, the National Security Advisor, retired Major General Babagana Mongono, has inaugurated an 11-month special investigative panel on oil theft and losses in Nigeria. The panel is chaired by the interim administrator of the Presidential Amnesty Programme, retired Major General Barry Indemo, and has seasoned administrators and retired top military and police officers as members, what means that David Arter as secretary. During inauguration of the panel, Mongono said Nigeria is currently facing a monumental loss of revenue that ought to have accrued from the sale of kudai, been the main source of its foreign exchange earnings. Losses and the alleged complicity of regulatory agencies, officials, and security personnel, as well as the involvement of international collaborators. This enterprise is deeply entrenched and would be extremely difficult to eliminate without very stern and decisive action by the federal government of Nigeria. Whatever steps the government will take, it will take. It will work with all agencies, private, public, whatever, to ensure that Nigeria…


The rapid increase in drug resistant infections has presented a serious challenge to antimicrobial therapies. Failure of the most potent antibiotics to kill superbugs emphasizes the urgent need to develop other control agents. Here we review the history and new development of antimicrobial peptides, amps. This article was authored by Ali Adem-Bahar and Deshengren.


Hello, and welcome to this talk about free open source virtual reality and augmented reality. My name is Jakob Ponykrantz, I currently work for Collabra, and I do basically open source XR, and what I'm going to talk about now is basically explain a little bit what AR and VR are a little bit about open XR, about Monado, the project that we started, the status of it, and show a little bit of demos, and then wrap the whole thing up. So, what is AR and VR? As you can see, augment, adding things, making things better. So, one of the things that probably most of you have run into or seen is Pokemon Go, where you can sort of place Pikachu or any other Pokemon in the world, and that's AR. You add something to the thing and you give it a new experience or things like that. But it can also be used for other things, not just games, but also working things. So, this is a background headset, and I'm going to explain a little bit about the setup. So, the guy you see in this sort of video call is sitting somewhere else, and the operator that's wearing the headset is streaming what he sees to that guy in the headset. So, the operator can see, and he can also then draw or highlight things. If you see that little ring there, that is actually not something I scribble on. It's what the operator scribble on and told him to say, pull this hard disk or tighten that screw. So, exactly like how I highlighted this with the pointer, he can highlight things in the real world. So, that's actually a very powerful thing that you can do with AR. And, you know, it's not just games. So, what is virtual reality? I really like this quote. I thought it first, but it was actually made by Adam Savage, but it's actually from a video or a movie. And you might have heard it. I react to reality and substitute my own, which is kind of what virtual reality is. You just replace everything, but often what you think is, you know, a VR headset and you just see things. But it can be a lot more than that, but I'm going to limit myself to that definition. And of course, as you might know, games where you play and you have different experience. But by definition where you have replaced the whole reality, there's also like, this is also by that, you know, technical definition, I would say. This is also virtual reality because even though it's a limited experience, it's still completely replaced all reality, sort of saying. So, it's kind of like how you can see everything is replaced. So, what do you get when you add AR and VR together? Or how can you talk about it? And that's sort of where XR comes in. Everything that's in there and it's not extended realities. X is replaced for either augmented or VR. So, I'm going to talk a little bit about open XR. Like, how do we do XR? It's a very simplified stack. You have your program, you have some sort of platform that runs, that program runs on. And, you know, you have hardware underneath, the platform sort of extracts it. And if you have a program to talk to the platform, you need an API. And in the past, how history has to repeat itself, there's various different APIs. Kind of like the picture to the left here, where everybody has their own thing. And everybody, if they want to support everything, you know, they have to write multiple APIs. You know, it's not a good situation. But where open XR comes in is that there's a system of royalty-free collaborative API that everybody can implement. You know, you only have to run right code runs. And then you can support wide variety of platforms and hardware. So what's so cool about open XR? It's kind of just like OpenGL or Vulkan, you know, it's made by Kronos. It's open in that sense. And as I said, everybody can implement it. It's actually out now. It's action-based and I'll go a little bit into that. And there is no open source implementation for it. It produces us. So one thing that is kind of hard when you have your targeting different platforms or you, you know, every controller looks a bit different. You can remember like GameCube controller or Xbox controller or those look a bit different. So instead of the programmer going, I have an Xbox controller and I, you know, just get the input like X-bottom or pressed. They instead give context to the program. So you say I have an action and that is teleport. And then they say you might want to bind that to trigger button on this type of controller and you might want to bring it to a button on this type of controller. So that, but the runtime is ultimately decides what actually goes into that. And the runtime I have then has a lot more context to understand what the application is doing. And also they can show that to the user either before or during runtime where you can more easily remap.  Say you have, you know, you have a twitch finger or something and you want to just move it to another button or your controller doesn't, or the controller you have doesn't actually match what the developers are running on it. So the default mapping might not be the best for you. So I think that's like the best, second best thing of OpenXR. Either the first being it's still open and the second is just that it's action based and it abstracts inputs in a completely new way.  So I'll talk a little bit about Monado. Again, how do we XR?  Monado is the platform. So to go expand upon this a little bit, this is kind of a highest level diagram of what Monado is. So all of the purple bits are Monado. We have our own composter.  It's a composter that takes what the game has rendered and turns them into something that looks good on the screen because you often have a whole bunch of lenses. You can have even kind of mirrors for your devices. And it's just dealing with taking care of all of the nitty gritty bits of basically advanced optics and physics of how to turn photos into something that looks good in the eye. And you have a couple of drivers and you sort of have this platform corner aside. And on top of it, you have the open XR stack tracker, which if you're familiar to Mesa and Calium, how that is built up is basically built around the same principle. But now we also have the composter and the platform in that package. So it's not just drivers. So it's probably very familiar to Mesa developers and the graphics people. But it's, you know, it's a slightly more complex thing.  There's a whole bunch of XR libraries and those are, you know, we try to extract things from drivers. So drivers mostly are about bit twiddlings, the things that come from the hardware and then just taking components and building up a, you know, functional system. The composter is quite large. There's, you know, wrapper around it and all those things. So another one, slightly more complex, but still scaled down. So you have to get the feel of how it all fits together. You might notice the couple of things that says XRT underscore and something. Those are sort of the interfaces. I'm going to talk a bit more later. And something that we have in the future is we're going to put an IPC layer so we can just have one, you know, compositor or daemon or, you know, run all of the drivers in one process and then clients can connect to them from outside. Then I can keep running and you can switch games or switch things that you run on top of it. So you can run, for instance, if you heard of the XR desktop project, you can run that at the same time you're running games and things like that. So I'm going to talk a little bit about the whole all XRT underscore things that you were seeing in the triumphs. So basically those are interfaces that kind of, you know, similar to the Gallium interfaces. It's a pure C, so all nice and that. It's not stable, so it's all internal interfaces, just like the internal interfaces of the kernel and the internal interfaces of the Gallium drivers. So the basic thing we start with is the XRT device. So it's for both HMDs and controllers. It has sort of an aspect pattern. If you ever heard of that, where instead of having a inheritance structure, we have side struct that you kind of allocate them point to. So a device, when I'm just saying this interface, I figured that some devices might actually have cameras and some might not, and some might have an, you know, how do you deal with, I have a control with the camera or I have a controller as not as a camera and I can, you know, the inheritance structure does become, you know, that pattern isn't good, so instead we have these aspects that you add to it. And yeah, there's functions on, you know, getting input, setting output, like making it vibrate, and then there's a whole bunch of information there on like how the compositor should try the pixels to the screen that's on the device. And then there's the compositor. This on the other hand has base class and then specialization on top of it. There's some glue code for being able to support both GL and Vulkan interfaces. Then there's this real compositor and they talk between each other with FDs, a DMA bus. Yeah, and then this all basically is just a mirroring of the open XOR interface functions that you can look up in the right history and see the, sort of, how they map up. Then we have the probeer, so here's everything that goes that's not anything else, but we need glue together or we need to, you know, how do we find devices, how, you know, take care of that from code and sort of glue wins this and everything is just a policy holder.  So where are we? We are mostly complete with open XOR. We have currently only an in-process compositor. We're hoping to do that soon so we can get around multiple programs at the same time. We have sort of built up a video processing framework and I will kind of show it that later on. We can track these PS Move controllers and we're working on improving that as well. We have a really nifty debug UI as well and I will show that off. We support multiple harvours at night of the day and we also have the No Start and Dream Daydream controller we have on our branches but we also have the OSVR SDK, Drivers of it by Pro and Index. We have an experimental branch for positional tracking of those through the Live Survive project. It's up to the places in VR and Move, the Racer Hydra and we also have a wrap around OpenH&D to use all of those drivers that are there to make sure that nothing gets left behind. In terms of code, I thought it was a little bit fun so 35K of lines of code. You can see one driver is between 500 lines or 1,500 so we have extracted, I think, a lot of what goes into the driver out of it and you can see all of the heavy stuff is outside of the driver so it's writing and the driver is not really hard once you understand the bits so it's all the reverse engineering and then the other hard parts are tracking and math that goes around it but those are in helper libraries and this is what Monado actually gives you. We are hoping, planning on the short term roadmap is finishing up OpenExo support before the conformance improve the tracking, add PSVR tracking and there are two process compositor but that's kind of just what we want to do but if anybody wants to do anything else they can do it on their own and also we haven't, how do I call it, called dibs on any of your things so if you think, oh I really wanted to do that you just talk to us and we can help you out yeah, it's just kind of our own plans even further out how do we do all the things that sort of steam, if you have ever tried SteamVR their own system UI, setup UI the sort of safe space that you come back to if the game crashes incorporating lighthouse tracking and also looking into AR and SLAM tracking so a couple of demos and pray to the demo gods first and foremost so I will start off by showing just basic tracking and the cool part, I won't tell this to you guys so I don't accidentally film you so this is just basic two webcams, a stereo webcam I'll give you some best tracking sort of available for everybody I will speak of the demo gods so this is not actually showing from inside, it's sort of running in what we call headless but it's easier to understand so you can see that both two controllers here, I'm over on them we're working progress and all that you can see it's a little bit jittery but you can see it's actually some of them are quite jittery and I will actually then show off the debug UI for this this is our cool and nifty debug UI and I can sort of explain what's going on so this is what the camera is seeing it's a very short exposure I can turn it off to show what it's actually showing so you can see the exposure is very short but then the balls over exposure so I can tell them apart now but if I lower it again you can see there's one that's red and one that's purple and then I can also see the filter so you can see this is the red filter and you can see there's a bit of a noise from that one a little bit I know why that is so that's because the white balance is off and now there's no no noise on that so it's just picking up this and that's it's fed into the trackers and they show where the ball isn't drawing it's finding the ball it's kind of a bit hard but yeah that's where we are on that that's also what I have been doing Christopher had a nice talk where he showed some advice tracking in his talk about doing game development game development yeah that's it for demos a little bit of rinse if I hot plug non desktop displays Gnomeshell really likes to reorder all my windows so that's super annoying so if there are any game developers please look into that because I usually plug in and plug out HMDs and Intel gets a special call out because we're using an extension that's not available on Intel to interrupt between OpenGL and our composter that sucks there's lots of lots of work I actually have the same status page already in October and so are we actually doing anything yes, tracking is just really really hard to do just now actually have some improvements on the move tracking we couldn't get it in right now and we have made some progress on the PS3 it just takes a lot of time and how do we do settings is Gnomeshell interested in making their own UI, do we have to make our own UI for it and we're also really interested in building up a FOS XR community not just for driver developers but also higher-up in the stack but our focus is there but we have last year we had the first FOS XR conference and we're planning to have one this year as well so the link there is to the FOS XR Twitter account we'll tell you when we actually know when it's based probably be probably be in Amsterdam .com so how about your links once I actually manage to get it up we do actually have both interchips for XR stuff so if you're interested in this and you finishing up your studies and looking for interchips definitely go into the link and there's also regular job postings I don't think we have anything specific for XR there but I do think you should send it in your CV anyways or you should talk to me if you're interested in it yeah and there's also other pages for Monado and OpenXR so what's going on and if you see me you know come off there talk or ask questions because I apparently blew through all the slides and I didn't think you would go that fast so yeah talk to me about just about anything we are my own little programming Amiga's Voxels yeah especially about joining Collabra so thank you very much and any questions because we have lots of time applause yes you mean so Oculus actually do yes they have okay sorry when do we see more support for OpenXR Microsoft was one of their first one that shipped out support so they are there Oculus has also shipped out support on their desktop I think yes and there's also us but yeah more of them are coming Steam Valve has their Valve time so I can't really comment on them when they want to do it but hopefully at some point and they are in the working group so definitely are interested in it by the way it's still early but there is definitely a shift and I think all of the main players are on board so yeah soon TM or Valve time soon but there are already are out there and people can use it yes could you please elaborate on the the fragmentation layout okay sure specifically okay so in the past yes sorry can you comment on the fragmentation sure so in the past everybody had their own API, Oculus had their own API SteamVR had OpenVR Samsung and Daydream and we even open source community had their own API with OpenHMD and most application brought it either to just OpenVR and maybe Oculus or you know some windows stuff there but and you know we have all the Android applications so it's yeah you couldn't really especially for us in open source you know nobody wrote to OpenHMD unless it was a crazy open source guy so it wasn't really an ideal picture so what OpenXR gives us is that there is one API and you can make portable application the API I would say is slightly more complex than say OpenVR but OpenXR also handles a lot more types of devices and sort of is future proof but you know it's current so our target is just VR but it's definitely designed with AR and all of the knowledge that they windows doing on HoloLens doing AR stuff actually know so it's ready for it and as time go on we will release extension and then update the core just like OpenGL does where we had one the first one which didn't even have textures and then you have version 2 which had shaders and then more shaders built up so just like that OpenXR will be built up what's going on as we go along yes Do you have any knowledge or something that you can talk about about the device platform? It's not there yet there was probably have a face to face next week and there will probably be discussion about it but it's designed by committee takes a long time and everybody has to agree but it also things slowly so yeah there's definitely a will for it and it will probably at some point show up hopefully but in the meantime you can write on auto drivers and you will support OpenXR that way so yeah Next question Say you have a device that is not powered by HDMI or something but expects the stream press stream to send to it Yes about devices that doesn't plug into a display port or HDMI or anything like that sure not always modular so we had definitely thought about replacing the compositor instead sending it to say encoder and you're sending it over the Wi-Fi or 5G or say a USB link which is basically what Oculus link is so there's definitely if we had infinite amount of time and infinite amount of code monkeys because it's fun and it's a cool feature to have but priorities and just getting over the initial hump of what you want to do it's open and everybody can hack on it if you think that's fun please come and talk and hack on it and then everybody can have it and that's a power of open source Next question oh actually one sure that's okay how do I yeah OpenXR was started by I think Valve, Epic, Unity, Oculus so they were on there from the beginning Microsoft joined after a while and that was sort of yeah we all shared because we didn't really think that but Microsoft has been the one that's actually been pushing it most so they were there at the start and I think hmm so everybody is fine with opening the front layer, the thing that application wise too because that's actually solving a problem for them where unreal game developers I don't want to target all of these IPIs I guess not one just have to solve the problem everything that goes on behind that's their IP and all of it locked down and stuff like that but yeah there's probably contact protection behind the scenes as well but the front part they're very open to they are releasing run times that people can use yeah yeah yeah yeah but that's where Monado comes in so we are completely open source stack that you don't have to do anything of that we do have to then reverse the hardware and figure out what actually what the bits do that we are getting from the device and we have to do all of the complex math to do the tracking and slam tracking and tons and tons of university research and spending a lot of time so it's always a question of resources that we have that we can do I mean we want to do everything and our primary goal is to make sure that when the AR revolution comes open source has the solution and also provide you a platform to do also VR as well so yeah yeah and everything like political questions I think that is fine just keep asking even remotely to XOR that's okay I think that's it thank you very much and


Anyway, thanks for coming. My name is Eric Peterson. You might know me as I-M-E-A-P on GitHub and all places around the web. Metrics have kind of come up as side topics and a lot of the conversations that we've had so far on stage today. And I kind of wanted to center it, focus it a little bit, and dive a little bit deeper. So why should you trust me? I'm just a software engineer. But before I worked at Spotify, I worked at a company called Tableau. It's like a data visualization analytics company for about eight years. I wouldn't call me a city-slicken data scientist or anything like that. But I'm at least data literate. I worked at the company for a while. Naturally, I've been involved at backstage for about two years at Spotify. You might have seen some commits from me in the tech docs and search areas as well as the analytics API itself. And a little fun fact about me that will become relevant later in the talk. Despite my rather Scandinavian name, I am not Swedish. But I do live in the middle of nowhere, Sweden. You can see there my lovely workplace where I look out across the water and the trees and the nature. It's quite nice. But as a result of living in Sweden, I care a lot about language. I learn it. I study it. And I help teach it sometimes as well. We'll get to that later. What we're going to be talking about, one of the things that I learned working at Tableau is that good analysis, good analytics, is indistinguishable from storytelling. And so I want to anchor the talk today on a little bit of a story that might feel familiar to a lot of those software engineers out there. Then we're going to sort of dissect that story through a data lens and see if there's anything to be learned. And then finally, we're going to get practical. What does that actually mean? What can we do? Let's look at some code. So to begin, a story that should hopefully feel familiar. Let's consider Bowie, the backstage beaver. It's Monday. He's getting out of bed at maybe 10 o'clock, 10.30 AM, something like that. I don't know when you get up, but he's a developer. He opened a PR on Friday. He got some feedback from his colleagues, good comments. So he gets right to work coding, making those commits, pushing them up. It's a good day. Once that commit goes up to whatever VCS system he has, the builds get triggered in the background. Eventually, maybe like 30 minutes later, maybe he's working on a TypeScript monolith with just a sprawl of tests that are running. It takes like 30 minutes to get feedback on a build. And it comes back, and it's a fail. So he goes in, looks at his logs, the build logs, and he says, oh, well, it's a test that's kind of failing. But it's in code that you didn't really touch. It seems kind of flaky. So he just retriggers the build. He's still got feedback going on the PR. So he keeps making commits, pushing them up. He's not too worried about it. Next build's green, cool, getting more reviews. It's the day of a developer, day in the life of a developer. Now, a little bit later in the day, maybe it's after lunch. All of the feedback from his peers comes in green. Give it a thumbs up. Maybe he's commented out that flaky test. It keeps kind of failing and passing and failing and passing, you know, a little shortcut so you can ship it to production. It's time to ship it, so you ship it, emerge it, master build starts, and you're good to go. Now, it's been a long day.   So you open up the laptop, but it looks at that email, that page acknowledges what's happening. It starts diving into graphs and logs and things like that. It starts looking through the error rate threshold. It's kind of high. OK, let's look at the logs. Oh, there's kind of like an error that's going on. That seems related to that flaky test that maybe you commented out. That's not looking good. Well, OK, let's see. Let's go to the deployment log. OK, what other deploys have gone on today? Oh, shoot. It's just mine. Whoops. Well, you know, it's late in the day. You're probably not going to be able to get to the bottom of the actual error. So why not just go and pin that deploy that it happened just prior to what you deployed and call it a day? You'll get to the bottom of it the next day. For now, you're in the woods, you're enjoying it, it's time to party, right? Feels familiar, right? This is a thing that people go through on a fairly regular basis. Let's think about it through the lens of data. These days, you might see a platform team that goes in to all of the systems that a developer might be interacting with. I really like Teres's slide earlier in the day, where he showed all of the cloud-native tools that are available for CI CD and observability, a lot of SaaS providers out there, like your GitHub's or your CircleCI's and things like that. You might have a platform team that goes out and starts collecting metadata from all of these different services. You might have a warehouse that contains every single commit that's made by every developer and every repository. When did the commit happen? Every build, when did the build happen? How long did it take? You might have a service that has all of the alerts that have been triggered and sent to the responsible engineer on call. When did the status change? How long did it take to go from acknowledged to cleared, that kind of thing? You might have every single deployment that's gone out in your Kubernetes cluster. How long did it take? What was the status of the deployment? Et cetera, et cetera, et cetera. Now, this can be good, right? If you're focused on a particular problem in one of those areas, maybe you want to measure deployment velocity, it can be really, really useful to have that information. But it's also quite a bit of effort to actually make it happen. You got to go out to every one of those SaaS providers, connect with their APIs, warehouse that data, transform it, visualize it. It's not an easy lift, I guess one could say. And what's worse is that when you have that kind of really low-level-mated data, like every single commit, it's really easy to start focusing on, okay, well, my top developers do 10 commits a day or something like that. And it's easy to get into situations where you're setting up commit quotas and you're managing to that, you're incentivizing, well, we need 10 commits a day from every developer, and that's the KPI that we care about. Kind of the worst thing about it, I think, in my opinion, is that you just end up with all of these silos of data that are actually really difficult to connect to one another. You don't really have a sense, there's no way to retell that story that we just walked through. You can look at the silo itself, but it's hard to look across those things. Now, I don't know if you remember, but we're at this thing called BackstageCon, and there's a tool called Backstage, and there's some really interesting advantages by having such a tool. If you think about deploys that are happening, builds that are happening, when Bowie is starting his day, diving into a PR or deploying something, where is he doing that? He's probably doing it in Backstage. When Bowie got that alert, got his page, and he started to dive in looking at logs and stuff, we're gonna do that. He probably did that in Backstage. And then at the end of Bowie's journey, when he was pinning that deployment to the last known healthy version, where was he doing that? In all likelihood, he was doing it in Backstage. So we have this unique opportunity in front of us that we've never had before, which is that the entire developer experience is done in one place, or at least the high level points in that journey. Let that sink in, I guess. This is sort of new. That's all well and good, but we're not quite there yet. What we need to do is sort of translate each of those key events that Bowie went through into data that we can then analyze later. And so what I'm gonna do now, being the sort of lingua file that I am, is to help you learn the grammar of how to tell a story in Backstage through APIs and JSON and things like that. Buckle up. At a high level, there's this thing called the Analytics API in Backstage. It's event-based, like a lot of analytics tools. And it sort of splits the responsibilities among two constituencies, I guess.  If you raised your hand and said you're an app integrator, you're responsible for Backstage deployment, you're sort of toward the bottom there. Plugins themselves are the ones that are responsible for firing those events, like a deploy or emerge or what have you. They use a core API to do so, which is provided by Backstage Core. It's been available for over a year now, I think. So it's there for you to use today. App integrators are responsible for providing sort of a concrete implementation of that API, which is itself responsible for translating the event into something meaningful for an external analytics platform, like a Google Analytics or a segment or an amplitude or something like that. The events themselves can be quite simple. I like to think of them as super, super simple sentences that just have a verb and a subject right now. The verb is typically expressed sort of in the imperative form, like navigate, deploy, merge. And then usually tack on sort of a subject to describe what that action was related to. So perhaps you would navigate to the catalog page or perhaps you deploy and then the name of a service or something like that. In order for a plugin to fire such an event, there is a React hook that you can use within components in your plugin. It's just use analytics, which returns an object that implements the analytics API. Typically what you would do is fire that hook in your component, you got that object, and in some kind of event handler, like a click handler, you would call the capture event method on that returned object. And on that event capture method, you just provide that action, like navigate or deploy and the subject, the thing that it was related to. Now, in order to help y'all who are responsible for backstage instances, there are some core events that are provided out of the box for you. You don't have to instrument these things. Navigating around backstage is captured as this navigate action. And it's sort of akin to a page view event in a traditional web analytics tool. And also clicks on links and buttons that come from core components library are also automatically captured with a click action. And then the subject is typically the text that was clicked on. Now, if we wanna tell a story, we can't just use simple verbs and subjects, right? We need to be able to describe these things in a little bit more detail. At Spotify, we've had event tracking in our backstage instance for quite a while. And one of the patterns that we've seen before we had this analytics API open sourced is sort of stuffing additional details into one of those two things, the event or the subject. It's not great because then it starts to become difficult to understand, well, what kind of deploy was it, for example? So, instead what we have are these attributes that you can pass as a third argument to that capture event method. And it's just a simple string string map. Doesn't have to be a string, I guess. It can be any Boolean number, that kind of thing. Where you can describe, like adjectives, the event in a little bit more detail. So, maybe you have a deploy subject of the service name, but maybe the deployment type isn't override, like a pin event kind of a situation. And in addition to providing a little bit more flavor, a little more detail to the event, you can describe kind of like an adverb where how the event relates to things sort of in the context around it. And so you can use this analytics context, sort of context provider, somewhere in your react tree above where the event was fired to provide details like was the engineer on call at the time that the event happened, for example. And just providing that context around the event, you end up with a JSON blob that kind of looks like something to the right. You still have that attribute, but you also have this context showing that the engineer was on call. Now, like there are core events, there are also core context values that are provided to basically all events. We provide a plugin ID for the plugin that provided the component where the event was fired. We provide an extension name where sort of, where in the UI that the event was fired, for example, a deploy button. And also on navigation, we provide a route ref so that you don't need to know the exact URL of the place that the event took place. You can get the route ref identifier. And all of this is provided for you out of the box as long as you use the core create plugin and create whatever type of extension methods as shown on the left there. Then the extension comes from the name of the extension at the bottom, like deploy button. And then the plugin ID value comes from the idea of the plugin provided when you create it. Now, for those of you, if you're not necessarily a plugin developer, you're just interested in actually having access to this data. All you need to care about is the analytics API interface itself. It just has that one method, capture event. And you just need to provide a definition for this method. By default, it just kind of gets black hole. Nothing happens. You could even provide just like a console log and it would just log it to the developer tools console and the browser. Or you could imagine like an ACME analytics service of some kind where you just push the event onto a queue and it batches them to some service somewhere. In reality, it's actually probably even easier than that. There are analytics modules that are open source that you can install and provide out of the box today. I believe Google Analytics is the one open source one that comes to mind. I've also seen a PR for a segment analytics provider that's still sort of in progress, but this is an area where you can absolutely get involved and plug in any kind of analytics provider that you use. PRs and issues and things, welcome. Or we can hack on it at Kupka. Now, where are we at today? Like Terrace was mentioning, there are things that we just don't have yet. It might be interesting to understand when people are creating, updating, rotating out secrets, but we don't have a way to do that in backstage right now. But when we do, we should absolutely instrument it. There are a lot of really important actions that users take in backstage today that are also as yet uninstrumented. So my goal here is that now that you are aware of this API and now that you see the opportunity ahead of us, being able to retell that story and data that will have much better event instrumentation in backstage going forward. So once again, we have the story, Bowie's journey on a Monday at 10.30 a.m. We now, everyone in this room understands the grammar of how to turn that story into data. And hopefully, my hope is next year at BackstageCon, we will be able to see how we can turn that data into something meaningful, something that shows that the investments that we're making into our backstage deployments are moving the needle. So, thanks, and I guess if there's time for questions, I'd love to take questions. So I really liked the look of the React analytics stuff that was up there. Is there something with a similar syntax that we might see soon from Backstage on the backend, some sort of analytics that is similarly presented and similarly accomplished from the backend side of things? Great question. Is there a backend-oriented analytics API in the works? Something that I'll mention is that we very intentionally design this API to use hooks so that they could really only be used in components, which is what real humans interact with. And so this API is very narrowly focused on user behavior. I think there's absolutely space in the backend for observability generally, right? That's not my area of expertise for sure, but I think there are efforts in that area. Eric, great talk. So I think a lot of this talk focused on the metric collection part, instrumenting the front end to collect it. And I think you alluded to this in the penultimate slide that how do you kind of like, great, we've collected these metrics, like what's next? What are, can you give us an inkling of like, how should we think about, you know, we have this sort of different bits of data that happen in the SDLC and an incident slide cycle and we can track this for all of our developers in our organization, but what do we do with that? What are some queries that you think would be important there? So I think the, you'll still be able to do some of the stuff that you do in the sort of traditional platform engineering way of collecting metadata. You'll be able to dig into dora metrics, like developer, like deployment velocity or mean time to resolution, that kind of stuff. I think where the real magic is gonna be in the future is sort of being able to combine some of those key points of developer experience with sort of the opposite end of the spectrum of how we measure developer effectiveness, which is sort of more along the lines of the space framework where you're looking at satisfaction, you're looking at how people are feeling about particular tools. I think there's a magical place where we can look at the data, we can look at how people are feeling and start to identify problem spaces, things to focus on. I'm not 100% sure what that looks like, but I think the future is really, really interesting. Thanks. Aside from, I guess, being agnostic of analytics providers, what's the advantage of using this API over using, let's say, Google Analytics, JavaScript SDK directly? So a couple of advantages out of the box is sort of like, you can absolutely hook up the GA SDK to this framework and be able to collect events. In Spotify, we directly spoke to GA in the past, and so we're sort of tied to it in a way that's very difficult to overcome. I guess there's lots of code with lots of events being fired and we're trapped on GA, essentially. So the agnosticism of the API actually makes it so that you can very easily shift the different provider without having to do a whole lot of work, hardly any work at all, really. That's probably the first one. The second one is just like, if you're working on intersource plugins or something like that, leveraging this API ensures that if you wanted to contribute that back to the open source, you'd be able to do so very quickly without having to reinstrument things in your plugin. Any other questions? No, people just want coffee. We didn't need analytics to predict that, right? No. No.


I would like to invite on stage our session chair, Mr. Avik Chathopathay, co-founder and partner Xperial to please join me on stage. Good morning and a very warm welcome to you, Avik. A quick introduction of Avik. He has been in the automobile, automotive and oil and gas industry for 22 years, part of five memorable product and brand launches, headed a global brand consulting firm in India for a year. Since December 2014 have co-founded a brand strategy and solutions practice called Xperial to partner organizations, institutions, places and ideas in value creation. Ladies and gentlemen, now I will be inviting on stage our panelists for this session. Mr. Amit Sethia, Head Marketing SISCA Group, Aayushman Cherenwala, Head Marketing Fast Track, B. Krishna Rao, Senior Category Head, Parley Products, Gul Bahar Tarurani, Director, Marketing and Business Head, Philips India, please pardon me. And Mr. Srinivas Rao, Senior VP Marketing, Lifestyle International. Ladies and gentlemen, this is your panelist and Mr. Avik is going to be the moderator. Over to you, sir. Okay, thank you, thank you everyone for being here and thank you everyone for what you're going to do for the next half an hour, 40 minutes. The subject is very interesting and what will really make it interesting is that we have people from stalwarts and leaders in the marketing field from different industries. So we have Srinivas Rao from Lifestyle and we all know what Lifestyle does. They want us to go to Lifestyle every day and buy more and more things. And we have Gul from Philips. Again, a great brand, terrific legacy, huge heritage. Sad that you guys lost in the Champions League in Eindhoven. Okay, then we have Mr. Krishna Rao from Parley. We've all grown up on Parley products, different types, different categories and we still continue growing up on them. We have Ayushman from FastTrack, great brand, again, terrific legacy, terrific heritage and he belonged to one of India's most respected brands as a group. And interestingly, we have Amit from a new brand, which again is a pioneer in its own area, okay, Cisco. And we've all heard of Cisco. They've become possibly one of the most, you know, I would say in terms of recall, one of the most recalled brands when it comes to certain specific product categories. The subject is very interesting for today's discussion, which is how can marketing drive the personalization game at scale. So we as a group are discussing on this and three words are important here and that's what we really discuss. The first is drive, which is, does marketing as a function, is it still expected to drive or is it expected to actually facilitate? Okay, second is personalization. Okay, what really is personalization? And we have people from different industries for whom personalization actually means different things. It could be in the B2B space, it could be in the B2C space and we'll actually get a little bit more into that. And lastly, what do we really mean by scale? Okay, a scale of 1, a scale of 1 million, a scale of, you know, 100 crore people. So I'll start off actually with Amit, right? And Amit, according to you, what really is personalization? How would you define it?  I think for me, as a customer, I think I always had this personalization maybe even 20 years back, I think, and maybe an easy example is maybe my grocery vala. I think he exactly knew what my requirements were and I think that was quite an experience for me at that point in time to say that, okay, fine, I'm being pampered, I'm being addressed, right? And now, thanks to the digital, you know, developments that we had, you know, coming in, I think the whole meaning and experience has just changed drastically. So for me, I think if I have to put, you know, an easy way, what personalization is for me, I think it's an approach towards customer engagement and with a lot of relevance, with a lot of till and message, and I think that, you know, that increases my satisfaction as a consumer. Interesting. Aishwarya, for you, how would you really differentiate or is there a differentiation between personalization and customization? Yeah, it's a good question, and I think I'm sufficiently confused when it comes to personalization and customization and pre-conversation. You're trying to reach at that, but I'll still try and attempt, right? I think certainly when it's like an N equal to one kind of a solution, certainly the customer feels its personalization, right? And most retailers and most customers here or most companies want a solution ideally for their customers like that, right? While customization, possibly it's slightly more mass, and having said that, of course, and once we later on discuss, we'll realize that how N equal to one is great on paper but not relevant and not practical for most industries, and hence we end up making cohorts of customers and then targeting them and treat that as personalization today. But I think as technology involves, as cost of reaching customers gets cheaper, we will reach a situation when N will truly equal to one. So when what you see to what Amit sees would be extremely targeted, different from most of the companies. So yeah, I think that's the broad difference for me between the two, and that's more on the communication side. Of course, there's a product, the production side as well, which is the product side, right? When we're supplying products, yeah, so that's... So for lifestyle as a brand, okay? Say when you are given the word personalization, what does it really imply in your business every day? So we sell fashion apparel and watches and footwear, right? Personalization, like some of my friends already mentioned, it's knowing your customer absolutely intimately, right? So using past data that you actually have, so we have about 5 million active customers in our database, which means 5 million customers are actively shopping with us every single year and that number is only growing, right? So now how do I know each one of those customers in terms of what they've bought and then using some intelligence to predict what they would actually buy and when they would buy, right? So if I'm able to kind of create models that are able to predict what your next move will essentially be and if I'm able to engage with you on a one-on-one basis, that to me is the holy grail for personalization, right? And I think like we were discussing backstage, each of us are at a different point in the journey of achieving personalization at scale. It's interesting you say that because now I'll come to Parle, okay? For Parle, for you, I think personalization for you has a lot of ramifications and manifestations when it actually comes to B2B because while lifestyle might have 5 million customers, you will have 500 million customers. So for you, personalization might actually be at a different point in your value chain. Can you just share with us? Yes. Well, because we as a brand is a very, very mass in nature. So also India has not really reached in terms of personalization to the level to reach such a mass number. So for us, personalization is more to do with B2B. So say for example, so we've been doing and we've been talking about, let's say, localization earlier. Say for example, a brand like in CPG, a brand like Bistleria actually has been trying to do a lot of localization. So in terms of, so every state, they have been naming their brand in the local language. So that's been more of like customization or localization from a market perspective. In our case, so we've had always been offering a lot of customized products for various markets. So for example, Bengal or East in general behaves very, very difficult as far as biscuits consumption is concerned. So rest of the country consumes a lot of glucose biscuits, but West Bengal as a market consumes a lot of Amari biscuits. So we tend to offer a very, very differentiated offering for a market like West Bengal. So likewise, so that's one aspect of like making it a localized offering. In terms of personalization, so there are two ways to look at it. One is say in terms of B2B. So we do a lot of personalized offerings to a lot of our distributors. So what is it that a distributor wants? Not all distributors want the same products. So can we actually personalize his offerings? Can we give him personalized schemes, offers, etc.? The other aspect is as far as let's say modern retail is concerned. So we have a lot of chains here operating and so we might actually during the beginning of a year, during our joint business plan meets, we might actually collaborate and come up with an exclusive offering for a particular chain. Let's say a 500 gram pack for a particular chain for a period of exclusive, for a period of one month, three months, one year or so, and thereafter extended to all other chains and so on and so forth. And that has really yielded us brilliant results actually. It's really working. Okay, good. You know, we've been, we've heard this talk of, you know, we have a lot of data. We need to process the data. Then we apply certain filters. We use a lot of AI and then we go back to our customers and we try to predict and also help in their future buying processes or future processes. Where is the thin line between helping and intruding? Which is the balance between personalization and actually impinging on your personal space. I think the most difficult thing to do, right? I think if one thing that we can get a solution for is this. And why I say so, if you look at the topic personalization for us, we need to first decode the meaning of the personalization and then we come to the data and how do we distinguish. Actually personalization could be in many forms, but the ultimate goal of personalization is to make the recipient feel that this is for me. And that's why it is personalization, right? Personalization could be writing a person's name on a product or making him a part of the group which he believes in or, you know, communicating to him in a way which makes sense to him. So there are different forms. Now if this is the variety and then you have a data, data tells you a lot about the consumer, but still there are certain cultural personal things that they remain. So technology helps us to dissect the data and reach out to a conclusion of demographics and where we whom we want to talk. But once you reach out to the consumer, you actually come to know what he or she wants. And I think that's the space where you need to draw that fine line. Because just having a tool and just having a general assessment that this is how I am going to reach out to a particular set of people may or may not work. That's when once you get the first experience, you realize, you come back and then see what's the line that you need to draw and how you need to facilitate and not intrude. Yeah, you're right. Srinee, from your own personal experience, one terrific experience or personalization that you would want to share with us and not to do with lifestyle? What I have experienced or what I've read about. Ideally what you've experienced. Okay. I wouldn't call it terrific, but at least these are things that brands in India are actually doing. If any one of us has hired Ola Prime, what essentially happens is if you've played music on the console that they have, and when you get back next time, you actually start from where you left. So they exactly know. In fact, it's kind of customized. It's not that classified as terrific, but just kind of to tell you that brands have started doing personalization and at scale. I'm sure Ola must be ferrying millions of customers across the country. But the fact that they're able to kind of use technology to kind of customize this music experience for me when I get into a cab is I think a good move by a brand that I have personally experienced. But there are many, many other stories across the world where brands have really done a very, very good job. The other one that I have personally experienced is Netflix. Netflix says for those of you who do not know, they are very, very complex but very, very good algorithms to kind of assess what kind of content you watch. And I'm told that more than 80% of content that actually gets watched is based on the recommendation, which is extremely good. And the way they do it, it's a very fascinating algorithm. And if you have the time, you should just Google it and kind of read through the Netflix's recommendation algorithm. Interesting examples. Ayushman? So I'll take some offline examples. And I think Starbucks does it really well, right? So you actually go to Starbucks and you have a personalized coffee because they write a name on the cup and you can actually walk away with it, right? So they do it globally and completely no technology used. It's just people. It's training. And they leave you with the experience that no other coffee shop can own anymore, right? So that's one. I think Amazon, of course, is a great example. The predictive model that Amazon uses is legendary now, okay? And it's just so intuitive that people just tend to go back to Amazon because you feel they understand you better, right? I think, yeah, so one is a tech example. One is a non-tech example. I think the point is that personalization is very much possible depending on the business you are in and at the scale you would want to achieve as long as you know the nuance or what your customer wants, right? So even in retail for us, we use a lot of our people, okay, to actually have last-mile personalization and we empower them, right? In ways which is really not tech, okay? So tech is not enabling it at all. It is empowerment in people today that is enabling it in some sense in the 600 odd watch stores that we have that's run by the company. Similarly, in the online space, it's completely tech, okay? So if you go into a fast-track.in, it's a completely tech-first personalization game that we play. That's an important point that you raise, that personalization does not necessarily mean tech-led, okay? Relevance is extremely important. Gul, would you share an example from your personal life, a memorable experience of personalization that you've had? So I think, and many of the audiences will agree with me, the whole campaign of Maggie, my story, was a brilliant exercise of getting the personal experience and the brand together, okay? So there was a brand, there was an offering and there was this entire country which used to, you know, which got used to the Maggie, you know? And then certainly after a few years, you realize that how to make it more personal to you and by actually influencing the consumers to come up and share their stories, Maggie became more personal to people because it's always good to, you know, share. The second thing, so this was more from a communication point of view and how you engage with the consumers. The second thing is, the second example which is very, very generic and I believe that also gives you a facet of personalization, is personalization is what all you can control and banking apps is one of the examples which I see. It's a very, now we are getting used to it but it's actually personalization because today I have my bank with me so I don't have to physically go to a branch, I don't have to transact there but that's, I think these are the things which add value. One is on the emotional thing and that's the other one is on the transactional front which actually helps you connect with the brand. Amit? I think I'm a very difficult person to get impressed, you know, that easily I think. But if at all if I have to put an example I think maybe for me one part is personalization and second would be can I share my personal experience with others I think and that's the second aspect for me and I think maybe FB one, you know, is one classic example for me, you know, it keeps on creating those memories for me and getting it personalized in terms of what was the experience for me, what was the journey for me, maybe in last couple of months and last couple of years and do I want to still go ahead and share that personal experience. I think that's the only part I want to talk about as of now. Mr. Krishna Rao. Well, I've had a very interesting personalization experience. So I've been shopping on big basket and groofers for quite some time now and for cooking as a medium. So I've been searching for a brand. Actually it's a Gujarat based brand called Gulab, Gulab Groundnut Oil. And I went on to go groofers and I searched for it but I could not find it and I had to go offline and buy it. But surprisingly, so after about 3-4 months is when I started getting a lot of pop-ups during various interactions on the mobile. So probably gaming and all, I started getting banners saying that Gulab is now available. So which means the kind of algorithms you are talking about say Ola. So Uber has got one strong algorithm built in. I felt really quite impressed with groofers wherein actually they were able to determine that there was a consumer who was really wanting a particular brand. This is not really a national brand, mind you. And this brand was made available. So this was really a pleasant offering and personalization example for me. We cannot forget Google in our lives. If you're talking about personalization, just wanted to make that point and not really elaborate. I think all of us have experienced how spooky it could be and how useful it could be at the extreme ends. And the kind of information they actually have about you and they're able to personalize everything. Today when I check in, I send my boarding card to my Gmail ID and it actually promptly alerts me. That is immense personalization. I mean I forgot to really add that. And I do not know if any of you all have subscribed to it. It sends me a monthly calendar in terms of it tells me every single day where I've been and the number of cities visited, number of countries visited, everything in our dashboard. Yeah. And Sriniv, I'm sure you'll be happy to know even the Pentagon knows that. So there's obviously a fine line as to how much am I giving away about what the world should know about me. So how much am I willing to be a slave to a larger system vis-a-vis, you know, what I would really want to do myself. And I'll share one example of personalization that I experienced. Not directly, but functionally. So when I started working, my first job was in Maruti. And I still remember it was, I think, 8.30 or 9 o'clock in the plant in Gurgaon in the engineering hall. You know, people don't have rooms in Maruti.  And there was just one light which was on there. And I saw the director engineering, Dr. Krishan Kumar. He was there. He was working. And what he was doing is he would address all the letters that came on a daily basis. So his PA then would actually type them out on a network computer, right? Take the printouts. And Dr. Saab, as everybody called him, used to personally write in his, with his own fountain pen, would write the name of the customer and sign his name. Now for a person to do that 365 days a year, okay, that was the personal touch. Because his, his stenographer or his assistant could have easily typed the name of the customer also. That to me was a great, great learning and personalization. Okay. A company needn't have done that. But the fact that if I have complained to you as a customer and a letter comes back, firstly from the director of engineering and then with your name actually written by hand to me, it was a great example and also a learning of what personalization is. But at the end of the day, yeah, you need to draw because all of us, I mean all of you, not me anymore, but all of you are running businesses. Okay. You have targets to meet. Somebody has to meet daily targets. Somebody has to meet quarterly targets. Where do you draw the fine line in between trying to go too much into this esoteric world of personalization and customer centricity vis-a-vis business goals and sustainability and profitability. Let's start with you Srini. I mean it's a, it's a, it's a really debatable topic and obviously, you know, there is no one correct answer. But obviously all of us are responsible marketers. I mean, that's for sure.   Personalization is about intimately understanding. The word intimate is very, very important, right? When you intimately know somebody, you're not going to harass them, right? So I think most of us, at least the popular brands and I can speak for people here, is I think we're largely responsible marketers and we've got certain targeting principles. And we have certain metrics that we kind of follow. We do not go and harass the customers. But at the same time when you communicate, the fact that you're able to strike a chord with the customer helps better metrics. For example, a personalized e-mailer's open rate would be three times the open rate of a normal e-mailer, right? A personalized SMS with a bit.ly, you know, has about 20% open rate and a non-personalized SMS without, I mean, with a bit.ly will have about 2% open rate, right? That's the kind of incremental benefit that you actually get for the same amount of messaging that you're actually currently doing, right? Therefore, personalization does not necessarily mean that I communicate more often to you. Personalization could definitely mean that I communicate more effectively to you, right? So without actually increasing the number of times I contact you, I'm able to drive better returns on the investment. Amit, what would make personalization sustainable for Cisco as a brand? I think cracking personalization at stage one is not a very difficult task, you know, because, you know, it's a wow factor that ultimately happens, maybe, you know, across the counter for any customer in my business. But my bigger worry is, or my bigger concern is that who is taking the responsibility of the customer information? How do you ensure that, you know, it doesn't end, you know, irritating the customer on the other side? Because in my case, there are a lot of stakeholders which are involved in ensuring that, you know, the customer is getting what he's looking out for.  But I think when it comes to the stakeholders, and I must tell you, I think no offense to anybody, I think Indians are basically very, very jugadu, you know, and I think I'm not against jugadu, but, you know, at least, you know, let us make that jugadu very, very relevant, you know, and I think that's where I would expect that the thin line should be drawn, I guess. So for us, I think we have just started putting the piece together, but dillidoor heavy, you know. Gul, is personalization, I mean, in this entire race and this, say, in this manic obsession of personalization, are we creating a Frankenstein? Pardon, sorry? Are we creating a Frankenstein? I mean, are we creating a kind of an amorphous monster which at some point of time will be very, very difficult to manage and handle, will grow out of control? See, I think that depends on how responsible we are, and I think, you know, jugadu is one side of it, but Indians are very, very responsible that way. And I completely agree with Rao what is not the frequency, but the effectiveness. So it's something not like marketeers have decided to get the personalization done. It's the consumer need. The consumer wants the relevant data to be shared with them. They want us to add value. They want us to help them, to facilitate them in their buying decision and all. So that's the requirement of the day. Now, and also there is an ecosystem which will level you out if you are not responsible. So I am not worried about that. I am only worried that how effective we are, and we don't waste much of our time and irritate consumers, but we do our homework well. If the homework is in place, I think we will make sense. Mr. Krishna Rao, again, given the nature of the business that you're in, do you think it is, do you think technology and the personal touch, or the last mile human touch is evenly balanced, or do you think over a period of time because you deal with customers of all ages and of all cultural backgrounds. Do you think consumers are becoming slightly more vocal and more protective about how much technology and how much emotion? I think there has to be a fine balance. While we all know that 2016 was a revolutionary year with data becoming really cheaper, and subsequently, I would term that as a year of geo, and 17 the year of others, like Airtel, Voda, IDI, everyone joined the bandwagon, and we have seen an explosion of smartphones, and hence greater usage of technology as such. There is somewhere a fine line, actually, that consumers are themselves somehow alienating. Generally, there were times when the entire family used to sit together and watch television shows from there on to now the evolution of OTT platforms, and things getting very, very personal. So while I would say, yes, technology is exploding, and yes, consumers are getting what they are seeking, at the same time, I think emotions are very, very important. They would always remain as marketers will have to always maintain a fine balance between both the emotions and the technology part of it. Ayushman, your last views on is personalization a science or an art? I think it's both partly, right, and like I explained. Choose one. So I would say it's more science, okay, and given the topic, at scale it's more science. If you want to really achieve personalization at scale, you will really need to use a lot of scientific tools to be able to do that, right? And I think if you ask me in that journey as a country or even as the entire business model, we are possibly in the first version of it right now, okay? There's a lot to learn. There's a lot to learn how to do it profitably. There's a lot of systems and processes which are getting set up. I mean, the GDPR laws and EU is the beginning of it, right? You will see that very soon happening across the globe, even in India. We have already started that data protection is a big thing. We want people to move the servers within the country. Okay, data cannot be flowing out. It's just about time and laws come in on how much of data that you have of the customer you can use, you know, and you need specific permissions. So those are the things that have already started. And I think as marketers it's going to get significantly more challenging, but yet I think it's going to get more meaningful for the customer, okay? Because currently, I mean, if you are really not in a D&D, the number of SMSs you receive is just outstandingly crazy, you know? I mean, I personally have stopped reading them, okay? So unless it's from somebody I know, I would not read them. And this is after me registering twice on D&D, okay? So it's a gray area right now, right? And yeah. Okay, thanks a lot, gentlemen, for sharing your views with all of us here on the subject of, you know, how does marketing drive personalization, the personalization game at scale? To me, I mean, what I take away from what you shared with us is, yes, personalization is the way forward. It is an art and a science. You need to maintain a fine balance. And to ensure that it is profitable and sustainable, you need to be relevant. You need to be humble. You need to be honest. And I guess at the end of the day, you need to be really sincere, okay? To this entire, let's say, the practice of personalization. I know I thank all of you once again, and I throw the session open to any questions that people might have, to any of them. Okay, so thank you very much once again, and thank you for being patient with us. Ladies and gentlemen, sorry we'll be taking these questions offline. I request all our panelists to please stay back. I would request Mr. Alok Shrivastava, business head North and East of Vitakan Group to please come and join me on stage to give a token of appreciation to our moderator and to all our panelists. Ladies and gentlemen, I request you to please stay back. We have Mr. Alok Shrivastava, a business head from Vikatan Group to handle a token of appreciation to all of you all. Thank you so much for taking our time and joining us. Ladies and gentlemen, for me and for my...  Yes? Can I hear a yes and a no? I just want to know that we all are awake and we are here with our mind, body and soul. Can I please hear a yes from all of you all? For a strict teacher, I'm just here...