 My name is Cherry and that's push down there and I'm a kernel programmer and I normally talk about parallel instruction sets and Hardware gates and some push likes to think of himself as an unprofessional gamer I Don't write a single line of JavaScript. What am I doing at a JavaScript conference? Well, it happens to be the case that we're both Engineers we think we've got degrees And we also like to think that we like the program and solve problems and we both happen to use this device so that's what Brings up through a JavaScript conference in the context of a mobile form now What is the problem that I as a user of emacs mostly and the keyboard found when I was using my mobile phone Well, don't understand this you have to understand how the brain works a little bit and I have a very basic Background in your sign. So I'll talk to you about episodic memory Episodic memory is any memory basically that you have a sequential memory of So I went to commercial street and then I stopped at the corner and then a bike knocked me down And then I got up and oh there was that interesting person there that I wanted to meet last week and So on and so forth. So you can remember these things in sequence Normally episodic memory is in the context of me if you played first person first and shooter game Or things like that you remember it from your point of view. So they're normally autobiographical Episodic memory is not limited to human being animals that demonstrate to have them as well For humans times places associated emotions Who you were with a lot of things that you can explicitly state in a narrative. That's what episodic memory You know can be described as what you wouldn't remember is You know how many times you're at a place. What would the you know the car plate numbers imagine you were walking down the street I just pulled it off the web somewhere, but it's intended to be a crowded street You can't remember too much about and you're down the street. What can you remember? You know, could you remember? Landmark, could you remember that particular telephone pole that you maybe locked your bike on? Could you remember what you ate? You ate your favorite food? You met someone interesting. You can remember people What would you not remember? Do you remember the exact date? This was a year ago Do you remember what date you're on at that place? Maybe not Do you remember the names of all the shops and sequins that you walked down that street? Probably not so episodic memory and sort of Sort of the other types of memory that you know, you you coach yourself to remember are Sort of they work differently and what does this have to do with mobile phones? Well, this is what happens to my mobile phone when I go over the weekend and come back and turn my phone on You know, I've got 157 new messages and so on and so forth Now the problem is if I click on any one of those Button, it's gonna open up that many messages. I'm gonna have to scroll through it I'm gonna have to read through every single message. The cognitive load is higher. You have to basically in many cases respond read and respond so for example in the real world if you're walking down a street You could probably remember things while you were driving try doing that when you're reading the contents of your mobile phone So it's cognitively more expensive like you probably don't want to do that. I'm not giving you that advice. Please don't do that so so this is to say that The mobile phone the modern mobile phone if you want to use it in social ways It's very interrupt if you get these what's that group messages at 1 a.m. You know wakes you out of your sleep It's really interruptive and in many cases people don't use the notifications anymore They just like put it on quiet or just swipe it out and then go and check back later and That's okay except What if you had a critical message in there, right? So if you had a message that you know, your mom sent you asking for You know the number of somebody quite urgently at one in the morning. Maybe that's really important Maybe you should have read that notification, right? So how you know, this is a problem, right? And I mean look at look at this This is this is human sent messages and now look at this pizza offers PNR numbers on the IRCTC train I mean, how many of us have been on the train and the conductor comes up and ask for your number and you're like Sorry, so one minute. Let me check. You know, it's really hard You have the the interface is pretty broken unless you use something like e-cigar and so on so forth But we'll come up to that in a minute. So We're all programmers. I'm hoping that we write JavaScript and Hopefully we have a problem-solving mindset. We want to you know, crack some interesting problems The problem here is that we want to use the same machine You know when I was in college a machine of this power would be very expensive and probably feel quite a big room You know, you want to apply this machine to go through your data and Organize it for you in interesting ways Without losing access to critical information without losing that emergency call from your mum, right? So That is the problem that we were trying to look at it really irked us and Maybe we had a lot of time on our hands, but we were trying to solve this problem and we came up with decant Now in in the Western world if you say decant normally people say wine In India normally people say coffee. It doesn't matter what your favorite drink is But basically the idea is that you have a vessel full of stuff Some of it you like some of it you don't and you want to carefully pour it out into another smaller vessel and The smaller vessel will then hopefully have More useful information in it This is what your P and R numbers would look like You know when your train conductor is coming to have a look at your tickets now This is one way of doing it And your pizza codes, you know, so, you know, what what are the offers like these are not sorted by the way This is very rough and ready proof of concept and stuff But the idea what we want to talk about is how do we organize this information in a way in which I? Have control over the data that comes into my phone, right? That's the problem that we're trying to solve here and So so this is this is one way to look at it now now Apart from the notification problem. You also have the problem of search So I've got this information now, and I want to look up Information that was in my phone that you know somebody sent me an interesting text message about an interesting thing six months ago I want to look it up. Hang on a minute. That's gonna be a lot of scrolling on your phone So I want to you know look it up, and I don't even remember whether it was on WhatsApp a telegram or SMS I can't remember this stuff. How do I do this? Right, so that and the problem is compounded by the fact that these private applications do not talk to each other the databases are not Common and they cannot be common. So this is problematic both from a programming and from a usability point of view Now what we looked at SMS because that's where we started that's you know I don't use any social media except for Twitter now because I'm required to but anyway, but SMS was a good starting point and Basically, we said how do we structure this thing? So if you want to have a look at the code have a look there and there's an easy way to do that later on Now what is the solution? Well, we thought Why not apply the most popular language out there JavaScript runs on every damn computer today It runs on your browser. It runs on your phone. It runs on your IOT. It runs on like everything basically and Why not get people to write their filter applications the applications where they want to look at this data Why don't we use that language? To do this to solve this problem and second there are no rules a bunch of engineers in App in you know, whatever company that sells your mobile phone cannot dictate the rules on how you should use your own data That data belongs to me. I would like to use you know break the rules. There are no rules in this game And where do you start? Well the notification system is where you start because every single application on your phone Talks to the notification system Good stuff, right now how? Do we break the problem of having different silos of application not talking to each other? Well, this is where the case of the current ecosystem comes into place So easy go, you know for example, it's a really good application You can look at your PNR numbers and then it can get live information of trains Running and then it can put it together in its own interface. Now. What if the SMS format changed? What if you were looking at email? What if you were looking at human content, right? So every single data source has its own unique format and its own unique statistical Layout, this is where the plug-in writer can decide I'm gonna own PNR numbers. I'm gonna own email I'm gonna own pizza offers and so on and so forth. So there's an ecosystem of application developers writing plug-ins pretty much like you would for Mozilla Firefox where you'd have you know plug-ins Do this stuff. Here's an example if you were keen on pizza So, you know, you can have a better look at what's up today now JavaScript, I am not a JavaScript programmer. The JavaScript programmers don't write down there, but it's pretty self-evident fairly simple This is like version 0.0 01 of the API. There's no API yet. Well, we're playing with this Bunch of functions very self-explanatory. Have a look at the code. I was in advanced stocks. There's no spoon feeding but let's have a look at the The application in action. So These are my default messages. No, I'm lying. It's not my fault So what we're gonna do is to start the this is a developer interface for Decount, obviously, you know, it's not used already yet. No one's gonna use this thing at this point What we want to do is to generate SMS so that Basically, you don't have to pay for every SMS that you have to test That'll be a very expensive testing platform. So you want to generate your own template tests and that's what the screen essentially does So hopefully at this point, you know, we'd have generated a bunch of Yeah, pizza spam email. So there is SMS. So there we go. There's a whole bunch of pizza spam SMS is in your inbox, right? Now. I do not want to look at this stuff I want to look at it in a more interesting way. Now notice that there's a bunch of plugins over there We actually have written three simple ones to start with and you know, hopefully there'll be more coming along the way now What the information that we're looking for is from dominoes, so let's have a look at what dominoes, you know Looking like well, you know, you've got the offer type And so on there's a bunch of tags over there and you've got the columns at least horrible I hope I'm not offending any UI designers sitting in here, but you know, this is a start. This is, you know, this is how it starts You know, large large large projects have started it, you know, very small interesting places But the cool thing is that you can play with this thing. All you need to do is have the application running and then you can just write JavaScript pulled, bung it into it directly and it's ready to roll. So That's essentially the the run through for decan right now Now let's get back to the episodic memory problem here I want to digress a little bit and I think I ran a bit faster than I initially intended to But really what we're showing here is just the first step of a huge number of possibilities Ideally, you want to see something You know, you want you want to be able to access information By describing it in very simple ways. Look at these keywords over here shop commercial street cuddly toy What if you wanted to find that shop on commercial street with the cuddly toy you noticed When you were snacking on your favorite snack and not trying to drop, you know, your arm full of shopping So you don't remember the date. You don't, you know, there's a load of other things that you don't remember But you want to do this. Well, everyone's now going to say word to beck word to beck Yeah, you can use nlp if you like great The possibilities are endless the point is we want to start doing this in a way in which we as programmers have access and control to our information And hopefully, you know, this could develop into something more for it, you know, the developer says an ecosystem possibility I've run this through people from around the world I just returned from overseas trip and people really excited to see that stuff, you know There is value in it and there's potential in funding this maybe not in this form Maybe not decan but the pattern is definitely valued. So if anyone of you around here wants to start a company This is a group, you know, something interesting to look at I'm not running a company by the way What next So We do not have a roadmap This is a couple of guys sitting together and writing some code, right? Or at least one guy writing some code of the other guy basically telling him well, I like that or not like this, right? You want to write your own plug-ins maybe, you know, have more SMS applications that are able to be passed SMS is easy because the government mandates a certain format. So, you know, it essentially is a red X Regular expression that you can put on to that data and you can categorize it other unstructured information is a little harder to categorize and You I improvements or rather a UI we do not have a UI at this point, obviously So something interesting can come out of that. We've looked at a couple of libraries. It all looks very promising We definitely need a framework. So the current framework that we have is about six functions that the JavaScript code calls and It basically needs a lot of, you know, iterative cycles, obviously So this is what needs to happen and obviously, you know, start, you know, that needs to happen So if you got your QR code enabled fancy phone, now's the time to take a picture We're gonna have a hackathon kind of thing after the event in the banquet hall So if you're interested come along if you want to just, you know, keep an eye on what's going on Click on that issue and follow it. I'm hoping that people use github. I'm a late comer to this party, but it looks like it's interesting so click on that and You can follow what's going on. Thank you. I've got four minutes for questions. I think no questions How are you running the JavaScript on the Android device, right? So we we run an open source Application library called Rhino, which is developed by the Mozilla Foundation, I believe And what it does is it translates on the fly JavaScript and it's a Java application. So it runs on Android. So Yeah, work easily Now bear in mind that this application only is for Android at this point But there's nothing stopping it running on any other frame Mobile phone like the iPhone or Microsoft phone or whatever it is We just need the equivalent of a rhino for that on that platform Any other questions curious that After a time it is being developed like fully won't this be having the all the notifications Club and again the same problem goes into cycles So this is why it's important that it's open source because people can pick and choose Well, it's a bit like the place or if you like as a terrible analogy, but you know where there'll be loads of plug-ins And you can choose what you like This particular demo that I showed you does not have the filtering for the notification Because it's a little risky to do that on a on a real application at this point And so we figure out how users are interested in You know the prioritization of notification and so, you know, you don't want somebody complaining that they you know Miss something important because of the notification filter but certainly If you have control over the plug-ins and they're all open source I don't see any reason why they shouldn't be open source, but the framework itself is open And people can choose, you know, so it's basically a free market of stuff out there And what I'm envisioning is something similar to the arch user repository. I don't know if you've Used it if you're a Linux user where people just basically bring in all sorts of things and it's rated by user feedback And then the best one with the best rating basically, you know, are the most popular and use the most so that's where I'm coming from Think there is a question Hello How different is the idea from the slice and dice in data analytics drilling down of it for me? data analytics do you mean sort of Like have a lot of data and just filter it down and drill it down Means how how is this decant very different from that aspect? Decant does not do that for you. Decant provides you with a central framework where different plug-in developers can talk to each other So if you write a plug-in interface that does that great, you know, it'll work for your data But until somebody actually writes that plug-in, it's not gonna happen So does that answer your question? Thanks for the And one question what would suppose for an individual how he's going to consider He need to be a developer or have a basic understanding of Java is fit So how about coming up with a market place for decant where the developer can push their plug-ins and the Induers can consume it This is definitely a possibility come to the hackathon and we can talk about it So all these are possibilities. I mean at this point, we're basically just thrown out what we have You know, you could probably have a marketplace. You could start your own plug-in based company I don't know the possibilities are endless. What I know is that this level of integration is not available on this user interface I haven't seen it anywhere and most people that I've spoken to have told me that they haven't seen anything like it So, you know, normally I would ask for funding and then try and get some money and go away hide away somewhere and try and make some money But I'm throwing it out there because that's what Elon Musk does and I'm a big fan of Elon Okay