Hi, welcome once again to this on newsletters. We are running a series on the Delhi master plan 2021 and we have tried to traverse the history of the master plan right from 1961 and we've spoken about the exclusivity of the plan. We also spoken about how I mean what does it speak about urban housing, what are the gaps, the blanks and what actually needs to be done. But one aspect which was very pivotal in all these discussions was that actually there's hardly been any people's engagement actually. People have been completely mined and they're already alienated from the process of urban planning, urban design but you know I mean I mean in this process also we've had just four webinars that were held by the GTA and the NIUA. So the whole point of running the series is also that to kind of work as a catalyst you know and we are very happy that we have Sonal Shah who runs an organization called Urban Catalysts. Yeah so welcome Sonal and Sonal who is an urban planner, designer but works on mobility here so we can understand how and what we are witnessing. So welcome Sonal and as you know I mean you've gone through the master plan of the draft in fact because it will be finalized soon. So what is it that is there in store for urban mobility though it speaks lots of TODs and all and where are the gaps and that's what we've been asking everyone what should have been the concern of that should have been addressed. Yeah so what do you want? Thank you Vikendra and very happy to be here today. So what I do is I will go through if you will the mode hierarchy starting from our most vulnerable users which are pedestrians and cyclists then go on to understanding the master plan through the lens of public transport that is bus space public transport metro rail system and paratransit. Paratransit is your auto rickshaws, shared auto rickshaws, e rickshaws, Grameen savers so on and so forth then we will come to transitory end development. What I do also while we talk about each of these I will use two things that will cut across them one is data and the second is gender because this is something that we also work on. So let's start with walking and cycling or as we understand non motorized transport. So what is the data saying? First you know 42 percent of residents of all trips in Delhi are on by walking and cycling, cycling is unfortunately only 7 percent but 35 percent are pedestrians. There is some good progress or if I may some provisions in the master plan they are talking about creating active travel schemes for all roads 24 meter I think 30 meters and about that's a good thing. They have also in annexure 7 provided street design guidelines. They're good they focus on road safety, on thinking about foot parts that accommodate walking space and multi utility zones which is good because it provides space for your bus stops for street vending and another informal activity so those are the good things. However let's take a step back and also see what are the other things that need to be improved. One is that they say concerned agencies will prepare these active travel schemes. Now this is this is concerning why? There are more than 12 road only agencies in Delhi so who will make these schemes right and therefore given that we have Jitipet within DDA they should be meeting first a city-level plan right we need a city-level cycle network plan for all roads 18 meters and above because and this should be published as part of one of the maps of the master plan. We can you know we very clearly see we have only one map in the proposals which is the land use plan but if you look at the master plan for example of Bombay they have so many maps that give you some idea of what is the city-level infrastructure that the city wants to create so DDA should be creating a city-level active network plan focusing on cycle tracks and non-cycle lanes and distinguishing between the two. The second piece is that we also need to think about given the the serious issue of road safety in the city that all nodes within 500 meters of high pedestrian footfalls what are those your mass transit stations metro rail stations your ISV teams your bus terminals and also around universities colleges and schools should be traffic count so that they're safe and traffic safe for pedestrians and vulnerable road users and how do you pick them how do you traffic count them not through a board right because we know that unfortunately these are not enforced but by design and these speeds should not exceed more than 20 kilometers per hour these need to be published by DD as part of the current master plan. The third piece I'm going to say is we have annexure 7 we have UtipX redesign guidelines please update I mean UtipX redesign guidelines are good please update new guidelines that have been created as annexure 7 as part of UtipX redesign guidelines and we need a dedicated section on women's safety and security. Here I did my fellowship on urban mobility from live sea so yeah and it's one of the highly pedestrianized and you know very cycle-friendly city where I think almost 28% commute on bicycle and of course I think they definitely cross our the point is actually there the city government does all this why are you saying so much for the DD to do it I mean why don't you bring in you know because there are multiple layers of governance in Delhi so why are you not saying the Delhi government I mean for me the Chief Minister of Delhi is like a metropolitan mayor okay so yeah or why not the municipal corporations so you know actually they are the ones who should do who should be doing this work okay DDLA is a larger framework that look so I mean the the the executive part and the execution why don't you why don't you just come to that yeah yeah so let me distinguish the framework I'm talking about the planning so that it becomes part of the master plan which is a statutory document which means that PWD which owns mostly all roads 80 meters and above right I think that's about 13 hundred square kilometers of their birth then PWD implements I'm not saying they don't but the planning at the city level needs to be done by DDA so that you have a network right the execution and the detailed design needs to be done by PWD which in any case will have to be approved by UTIPAC I hope I clarify that so now I'm going to integrate your public transport and unfortunately a lot is left desired in both the baseline studies and in master plan one and a little I was unfortunately is the serious lack of data right I think DDA needs to get data on public transport from the Delhi transport department I mean you have access to this data they are referring to secondary research in in their baseline studies which is okay but you can supplement it with the the actual user data that you can get from other government agents so I think this is this is a little unfortunate now what are we seeing what are they saying in the baseline studies they are saying that the cost of traveling in the AC bus and the metro is is is comparable and over a period of time we will see people using shift to the metro because it's more comfortable and it's more convenient the the second thing is they also say that the predominant modes of access to buses in Delhi is by rickshaws different modes e rickshaws auto rickshaws shared auto rickshaws and so on we have numbers now I think this is absolutely incorrect there's enough data to show that first majority of the first and last mine trips to buses are by walking so one study says 87% right so because there are 3200 bus stops in Delhi compared to 500 metro rail stations I mean both existing and proposed right a bus network has better connectivity right and therefore we see that most of the first and last mine trips are by walking and this is critical why so this is what we did we looked at non AC bus AC bus phase one metro stations phase two metro stations and we began to calculate the cost of the average trip in Delhi which the baseline study says is 10.9 kilometers okay so we said okay let me test the this this argument made in the master plan the baseline study also says that the average income the per capita income in Delhi is about three lakhs annually which comes to roughly 25,260 rupees okay so we have cost of one trip per day the cost of that trip in a month and we use different income ranges someone who earns 5,000 someone who earns 10,000 someone who earns 20 someone who earns 25,000 which is the average income that they claim and someone who earns 30,000 okay let's see what we found I mean I'm happy to share this table with you as well what we found is is that even for a person who is earning 25,260 a day per month the metro rail system is is unaffordable if you consider first and last mine by the transit now how do you assess affordability there are one metric is that you do not spend more than 10 percent of your income right on transport I what did we find that if someone had to use phase one metro rail stations and and phase two metro rail stations they would end up spending anywhere between 15 to 17 percent of their income on travel and this is the average quote-unquote income person if I am earning let's say 10,000 rupees per month okay if I had to use the the metro rail system and I'm just going to refer to my data so let's say if I'm earning 10,000 I will end up spending 26 to 42 percent of my income if I have to use the metro rail system right so so let's like take a step back and and really a sense that are we going to see the shift that we are that that is being proposed in the master plan the what we have seen is over in 2007 the average trip length by buses increased from 10 kilometers to 14 kilometers right in I think 2018 or so why is that right what does that have to do with for example the fair hikes in the metro system 2017 so I think we'll have to be very very mindful when we are comparing right bus-based transport and metro rail transport right because this is not going to be affordable to a large section of workers in the informal economy if I may we did our research and I'm just going to present this argument and happy to hear your thoughts we did research just on the impact of COVID-19 on women informal workers the average and we partnered with the self-employed women's association for some part of our study so it includes quantitative 800 surveys in Delhi along with qualitative surveys the average monthly income of informal women workers was 6,000 rupees a month they are not going to be able to use the metro rail system at all right so so let's just kind of you know just assess not only the fair of the minimum but the first and last mile together should I just move into water recommendations up before we have this conversation yes I know I think so it's very interesting that you're pointing out and actually this also leads to a very simple statement that the master plan is missing this very important essential aspect of of mobility and you know I'm then for whom is this master plan and that's the argument what Katie and all have been pushing forward it's more for capital needs of technologies and these are not sustainable so I think the end point when we find up the discussion I mean so I mean we must bring in this whole concept of sustainability you know and these I mean these recommendations I mean this what you have brought in through your quantitative and qualitative data I mean very amply suggest that actually what is happening is something that that doesn't help a larger section of yeah I think yeah the third point that you want to make yeah sure let me just clarify the gender I'm not saying that the metro rail system is back by no means yeah I'm just saying that recognize the importance of bus based transport in our cities and I'm also going to draw a little bit from international example cities like Hong Kong very rail based the rail based system no I'll share share the Leipzig example also you know because they have the metro in the rail but you know the kind of subsidy it's free can you believe that it's but then they tax your large guzzlers on the road you know that's the kind of cross subsidization I mean are we prepared to do that or not that's another question so in amply go ahead yeah yeah I mean and I think that's a good point because I often I've been to Leipzig as well and I really enjoyed being part of the city and I also sometimes come to our Asian counterparts sometimes just to kind of say that this is our neighborhood you know it can be learned from our neighborhood as well and so rail based cities if you will like Hong Kong like Singapore have extensive bus based systems right and and I think if we have to take I think if I'm not mistaken the master the baseline study said that we are roughly around between 25 to 30 buses per million population whereas the whereas global norms would say 60 to 70 that means we need anywhere between 18,000 to 21,000 buses by 24 to 1 right so what we at the present fleet is I think it's further reduced I mean not more than 5000 earlier but I think it's further reduced yeah yes and I think the entire fleet is more than 10 years forward so I think this is unfortunate I would I will say that the transport department is trying to improve the bus fleet I will not say that they are not but the master plan document needs to have this vision right for improving bus based travel and so some of our big recommendations around this was that which at an overall mobility scenario was that 90% and I'll also come to the share of 80 to 20 I don't know where these come from it was there in the previous master plan as well not implemented but we said that at least 90% of all trips in Delhi should be by walk cycle integrated public transport we need bold action there can be nothing else right and we also said that 90% of residents in Delhi should be able to access frequent bus based transport system within five minutes walking distance because because we are not going to be able to get that kind of connectivity with the metro rail system the just the the third piece that we were also talking about is that all new housing especially affordable and EWS housing should again be within five minutes of frequent bus based transport and why and because of you know I mentioned this the issue of income and affordability it's insufficient to say frequent public transport because even if they live close to a metro station will they be able to afford it and that's why we said within five months walking distance of bus based transport I think we also recommended that the corridors right that have high frequency of service if you I can give you some numbers but high they get called super trunk corridors as per the transfer department in a ring road out of ring road some of the some of the the existing metro rail corridors as well we need to improve travel times for for buses along these corridors what how do how we do it is up to us increase parking fee significantly right so that the people on these frequent service corridors are decentralized to to visit these destinations along these I forgot to mention one thing because we went when we actually compared so I only spoke about bus and metro and I forgot and paratransit have got two wheels right because a majority majority of the personal motor vehicles are two wheels if I have to use my two wheeler in in Delhi and if I account for fuel cost if I account for parking costs currently it's actually more affordable for me to use my two wheeler than to travel by the face to metro stations with first and last market so it's like just pause right it is cheaper for me to use a personal motor transport however we ever going to achieve this 8020 mode split and therefore we will have to very we have to think about parking parking management and political will for that in a very serious the master plan does have some good provisions we just have to see how it gets implemented on those lines as well just yeah any the third piece that I wanted to talk about was paratransit it's not sufficiently addressed and there were two big things that we wanted to speak about here we need to organize our paratransit systems so that one we can achieve fair integration between bus metro and our share auto rickshaws and other other vehicles as well this is difficult it's not easy but but it will require that so currently let me give you an example if we have a gram in seba each operator will be assigned to do it but they compete with each other and so there are different ways that we will need to think about in terms of organizing paratransit operators and thinking about either corridor based franchises or someone based franchises and all that so that so that we are also able to think about fair integration what I wanted to say is that the master plan talks about public transport accessibility levels and sets that aliens that have poor public transport connectivity can have higher parking laws this is this is I think inappropriate because areas that have poor public transport connectivity in general but are also overlap with many lower-income neighborhoods when we are looking at emails of Varvana, areas of Sangar Bihar, we are looking at Najakkar and John, we are talking about Jahangir Puri and Mir Nagar so to me I think that this cannot apply and I think that we're putting the burden of travel on lower-income populations on them and their costs without providing public goods. I think I'm going to take that and then come to TOD if you would like.  It was there in 2021 also and there is a fair amount of criticism also to what to whom does the TOD cater, what about the profile of the town so you know the Delhi doesn't just exist amongst the middle classes, there are a lot of working people here. I think there are multiple things to be said about TOD but let me summarize just for everybody's benefit on what does transit-oriented development mean. It means that we want to encourage the use of sustainable modes of transport particularly when we concentrate higher densities around mass rapid transit systems. Now let's look at our juky droppings. Let's look at urban villages and let's look at the principles of TOD. What are the principles? First, speak connectivity. Smaller urban block sizes so that you can walk. So it's nice to walk, your trip distances can be shorter.  Three, density of residents okay not only density of built-up area and I think this is this is that balance of density between residents and built-up area. Amenities. So having TOD doesn't mean you don't have amenities. It means that we have high quality compact neighbourhoods. So your social amenities, your public open spaces etc are part of such neighbourhoods. Find reduced reliance on personal motor vehicles so you do that to your parking noise right. So of course if I had high parking norms then I would use my personal motor vehicle bike you know because that will happen and so this is very critical critically called a travel demand management. So therefore you have to disincentivise personally. Look at an urban village for example we can take multiple examples but you know I go to Kotla fairly often, Mothmasjad etc. It actually meets all the criteria that we have outlined here perhaps except perhaps public open spaces or amenities and maybe good street design. I mean we'd have to think about I mean there are ways to think about how the design shades to use but and this is important. So therefore for all settlements that lie within the TOD influence zones, don't need to do anything except operate with better amenities. I see you as DTA. I mean what do you think I mean and where do you exactly apply the TOD in Delhi? So this as for the master plan this would happen around your metro rail stations I think within about five to eight hundred meters of your metro rail stations and for existing areas I have already suggested some ways and how we can think about affordability. The second thing which I think is also interesting and should be explored is that TOD currently indicates that for every hundred square meters of middle area you'll have one parking space. We also kind of indirectly address different affordability groups right because I think there is a need also to think about the the low middle and the middle class as well because there is a shortage of housing for this segment too and what we need to do is have very bold action on parking lots. So let me give an example from other cities. Cities like Paris don't require developers to provide any parking motorized parking within 500 meters of public transport. Here we need to provide at least one car park for 100 square meters and I think we need to reduce that and make it optional to provide parking. This what this will do is one that this will avoid transit adjacent development which means that people who will buy apartments close to transit who will want to use their personal cars but then they will not be able to do that anymore. I'm not a Gandhian at all but I think there's something which I really like about Gandhian that is what you preach you must practice and that's what I used to do when I was the director of Simla. I used to bike I mean I used to bicycle and you know there was an elevation of 500 meters in the distance of around 9 kilometers. That is kind of an environment that has to be built it's not just about raising those issues but it has to come collectively from and especially greater the power and greater the responsibility. So I think we must create may perhaps some days or some kind of I'm just imagining your chief minister, your Lyftman governor going to the offices on bicycles or kind of environment that it brings and it's not that it's not happening it's across the world it's happening. I can quote maybe half a dozen or maybe dozen mayors and who are far larger than Delhi who use public transport actually who commute on the bicycles. Else it's completely un-systemed. This is something that this is something that we've been edited and this if we pass on to our children it's a disaster it's a catastrophic. So I think thank you so much but how does the 241 plan and maybe some I mean it's just all anecdotal experiences because I remember the then chief minister and we were in office is saying you just prepare a plan because you know you have to create some innovative ideas. Why do you incentivize people to buy cars? Why can't you dis incentivize people to buy cars and incentivize them to buy bicycles apart from creating those lanes or maybe just pass on an increment to them and this is what the chief minister just used he said you prepare a plan and if the plan suggests that okay the person is buying a bicycle moving to the office and of course you require a commensurate infrastructure to that that's that's a separate thing. So is it we will create a provision in the budget to provide some increment you know so increment is a big thing in India you know so I mean just imagine I mean getting an increment to ride on a bicycle to your office what does it mean small small things I think but I think we and then the last part what again it comes from I think we require some dedicated bicycle officers who prepare plans who run the city and who just bring in that and that's what this deli government has to think about not just the DD they really can't do it I think maybe some bicycle or just a point some 500 bicycle officers and just see the change that yeah so your last yeah if I may and I completely agree with you you know they're a very interesting expert not expert interesting things to learn from and if I may if you look at London and if you look at what was it you know what he has done under the main they have now created a special position at the needed level of an empty uh an empty commissioner or an empty champion what does this person do I mean and and many cities in in in the UK have done that right this person's job is precisely this is to become a role model for walking and cycling in their cities you know because often we need coordination with so many people traffic police utilities and I think that's what we need right if for example PW had appoint appoints a bicycle leader who then becomes their face and the advocate at the leadership level because once you have the leadership then a lot of other things fall into place you know may I if you know I just want to kind of end this with an interesting story of my own so uh my partner and I we both work in sustainable transport and uh we we have between ourselves we we have one bicycle we're planning to buy another but we don't and do not want to own a personal motorway so when we're looking for a new apartment two years ago you know how we got a present department because we didn't want parking spaces I think our land owners our landowners said that you know I think they were struggling to find tenants but we said no we don't want a parking space interesting I think back to so much for really bringing in that qualitative and quantitative aspect of ability and actually what is missing in


Let's get started. I want to introduce our three panelists. Thank you so much for being here. First off, we have Stephen Lee, who's a designer and educator. He has a background in branding, motion, interactive and experience design. He's an assistant professor in the graphic design program at Portland State. And I've actually collaborated with him on some hubs projects in the past for a study and nonprofit here in Portland. So Stephen, thank you. We have Dylan Fox, part of the coordination and engagement team for XR Access, an organization dedicated to making virtual and augmented reality experiences accessible to people with disabilities. He also works as a researcher at the University of California, Berkeley. And he's studying how AR can help people with low vision navigate real world obstacles doing some really cool work. Dylan, thanks. And lastly, but definitely not least, Mark Gonzalez Franco, a principal researcher at Microsoft's extended perception, interaction and cognition lab epic. And one last note is that, you know, I'm using VR, but I think for the purposes of this panel, I will extend that to XR. So, are you all ready? Let's go ahead and get started. Mark, I first came across your work when I discovered the locomotion vault. And I'd love to share, I'd love to have you share it actually, and maybe talk about it a little bit. For me, it was the perfect case study in the hubs experience I was building around what's being explored in terms of different ways of getting around in VR. So will you share a little bit more about what led you to build this. I mean, this is, you know, many times, we find that problem that is a problem for us and it's probably the problem for many other people too. And that the applies to accessibility in many cases, right. We find a problem in a general public or inaccessibility and transfers to the general public or from general public to the accessible community and I think this sort of interaction is even much bigger in VR and AR, right, we're still learning from the technology. So I want to share a bit what this locomotion vault is first. So the locomotion vault is more of a dynamic visual exploration and database that is supposed to grow as the community grows also because I think this is a very early times. So one of the things we did here, let me make this a bit bigger. Is we started, you know, I've been working for a while in VR I did some accessibility and locomotion tools myself before, like the ground level scaling in I'm a giant right is work that we presented a couple of years back. With multiple ways of moving across this very large space. And one of the things we found is that there are so many ways to move around. So I talked to Max DeLuca, one of my authors in this work. At the early days we were like, hey, let's look at how many locomotion techniques are out there, right, very much exploratory. And we know that the research arena maybe has not moved as fast as for example some development. So we were like, it doesn't matter if it hasn't been published right like if it's out there and people are using it we're interested. And I think it was around when we got to 20 of them that we realized this was going to be on a different scale of numbers and in fact we have over 100 techniques in the database right now that I'm sure we're missing some. When we enroll also has to safety. into preparing this locomotion bolt sees an expert in visualizing databases this way also so partially the idea here is that whatever you need right if you need some sort of a controller technique or you know I want to use gaze only. You could search for it right look you want something that creates a lot of a spatial awareness requires very low energy. And you can multitask, and then you you have reduced the number of possible things that you can use right and this is for example one possible technique. You have things like that joy thing. There are many options right and some are super crazy and hard to even understand just by description so we introduce this idea that you can visualize it a little bit more. And then also YouTube videos possible games that you can try to try what it feels like right. For example, this is a technique that you're in third person, but you can also teleport and be in first person, right. So it gives you these overview and also the detail of interacting in first person perspective. And this comes also a little bit from this idea that we publish a couple of your bags on, you know, it's an opportunity for virtual reality that we, we think of an accessible design from the start, right. You know, there are very few technologies in which we have had this awareness of accessibility before we even started creating things. And I think we are is is one of them. I welcome people to go through these, you know they're all sorts of things things that only require hand movements. Things that are based in controllers and I want to go a little bit from all of the analysis we did after we introduce is everything in the database. You know, we look at what other people have done before, what type of categories they use all these taxonomies, what they were finding and then we kind of created this massive database out of all these various, you know, previous work, but we didn't want to propose a taxonomy because I feel like there are so many gaps yet, that you're like you should be able to describe the whole thing before you can. So we were more into this idea that okay we're going to put sort of the same type of categories and attributes that were used before. And then we're going to find similarities right try to classify things. We also did a bit of an interesting demographic experiment on the locomotion techniques how they've been exploding their many more appearing. Let me get a bit closer. So you can see these right in the in different categories you know movement seems to be one that grows very fast. You know, a lot of these embodied aspect of we are, but I feel like controller are a few of the things that can grow bigger for accessibility rely more on controllers or maybe on gestures that complete movements right. You require a full ability to be on the movement side. Kind of interesting the whole analysis we do we also go through a symbolic regression, but at the end of the day we this we find these three main aspects that are key to access to locomotion. And one is that how accessible the locomotion technique is, whether it creates now sia so the less accessible the closer to to real life right and room scale, and that reduces now sia, because you have a better one to one of your vestibular. You have more limitation of movements, right because you're restricted to your basic movements. You move towards, you know, things that are more abstract, like a controller. You can be much more accessible, but it doesn't use more now sia, and you can have many more types of movements right like acceleration, 60 of flying things like that that you will never do if you're on a one to one. I think that kind of summarizes a little bit what the locomotion bolt is and I, you know, I'm happy to talk more about it but I think we have a whole set of speakers here today. Yeah, thank you for sharing it and people can share their own locomotion methods if they're aware of others that are out there right. Yeah, you can share it there we introduce it well I mean we look at it. So the idea of this locomotion ball is that as you're exploring things you might find a gap right like and recently I was in the XR bootcamp. And there is a person there doing a lot of things with hands right like now that hand trackings are out there. And he's sort of like getting all these locomotion techniques and what how would it work if it was with hands. It's interesting because the same thing can happen with gaze right like, how can I make this better if I have gates control right. And I feel like this will allow for many more techniques to come out I hope we see this explosion exponentially and the way I see this moving forward. I'm setting up as a sort of a challenge for university students with different professors. It will be announced soon, but we're going to try to create a repo with all these techniques implemented. So, you end up having sort of a passport, like if you're building a game, you just use this repository, and then it's up to the user to select though I want to use these three different types of locomotion. It's a passport for you, you bring it to the different games right. I do feel like there is not going to be a winner locomotion technique even on games like Alex. Now, we see a lot of, you know, they even should allow you to have three different techniques for locomotion while you are playing. So I feel like this multi versality of different locomotion techniques will be there. It's definitely the configurability to just let people choose what works best for them. Speaking of kind of some hand tracking and things is Dylan, I know you did a little presentation about sign language and VR and XR and some of the things that people are doing there. You also helped to organize XR access, you know, a community that I found really helpful when I was starting to research this project. Will you say more about what else you see XR access contributing to the field or what you experience with the hand tracking? Yeah, absolutely. So, first of all, Mike, thanks. Thanks for having me here. It's really great to come on and speak to you all about accessibility and whatnot. So XR access just to give a little introduction is, yes, as mentioned, it's basically a community that's dedicated to ensuring that virtual and augmented reality are accessible to people with disabilities. And, you know, I think one of the things that the big things that we're doing with extra access is we do we have, of course, you know, we kind of started out as this attempt to kind of coordinate and archive and make sure that we have an understanding of what resources are out there. Mar, we've definitely got the locomotion vault in there now. I, as soon as I saw it at the bootcamp thing last, last week I knew I had to get that in there. But something that the else that I think we're doing is that, you know, I kind of realized early on when I was studying XR accessibility is that it's really cross disciplinary more than a lot of other kind of areas right now. To make XR accessibility happen, you need to have a lot of people with very different skill sets collaborating. You need to have accessibility experts, you need to have VR and AR designers and developers. You need to have researchers, you need to have professionals in kind of education and healthcare and all the areas that we want to actually, you know, put XR to good use in. And there's a lot of different people from a lot of very different types of organizations that really need to come together in order to have buy-in on this to make things accessible. So in addition to providing resources, a big part of what XR access is trying to do moving forward is basically to serve as this kind of boundary organization, you know, bringing together all these different people and making sure that everyone is communicating in ways that other people can understand. We're trying to make sure all these different stakeholders are both getting what they need from other people in a way that they can understand. And making sure that their expert knowledge is making it into the final result on a lot of these different apps and platforms and so on. So I think having events like this and you know having Mozilla has been consistently a really active participant in these discussions, which is excellent. And so making sure that, you know, for example, Mozilla has the input it needs from any of these other groups that are involved in this space is the type of thing that we really want to make sure happens. Thank you. Yeah. And speaking of someone who has been through many different disciplines themselves, Steven, I know you have a background in interactive experience design. You've built installations for big public gatherings you also teach students in a physical classroom and have been digging really into hubs quite a bit yourself. I imagine for you. The world has shifted quite a lot in the past few years. Can you talk about the experience of building an XR curriculum. I think to give it some context versus, you know, I teach at Portland State University, which is a public university in Oregon. And the population that we serve is is pretty diverse we have people who are first generation college students we have older students veterans and people with learning disabilities. And a really wide range of socioeconomic backgrounds which I think all of those things kind of affect people's access to this new technology. And when you know when Kobe hit and we had to kind of scramble and change the way we were delivering this. It's sort of exacerbated some of the sort of issues that we were already seeing in the classroom you know like access to technology or just you know the different ways to try to accommodate. So, you know, like, right before this hit we were like, looking at VR headsets and trying to like, think about how to provide the technology in the classroom. And then once we went remote it was like, we kind of have to work with whatever what people have at their disposal and so I think, you know hubs was actually a really nice tool in that sense because it was so accessible to students with with like, maybe lower technology resources. And also you know there is that kind of accessibility component throughout building to it. Great thanks yeah I want to, in the interest of time, kind of shift the conversation to prioritizing accessibility and and providing that use case for folks to to push this work forward in in their own disciplines. I had a conversation recently with ace the dots there from the Firefox accessibility team, and he phrase things really interestingly for me he said that when we build digital experiences, we are building the barriers. It's not that we, we build a thing and then we, we allow ways to get around them. We're actually imposing those restrictions as we build things. So, I'm curious for each of you. If you have any thoughts on this why should we be focusing on accessibility. I'm happy to jump in here. For me I came to accessibility first from UX design is kind of where I originally got my start. You know, the kind of constant mantras of UX design like the first commandment in the UX design Bible is know your users needs and design for your users needs. And when you think about the fact that literally one in four people in the United States has a disability. If you're going to design something that you know up to a quarter of your users might not be able to use. You know that really kind of reflects poorly on you as a designer. I think something that we often forget is that people don't inherently have problems because of their disabilities. They have problems because we don't consider their disabilities in design. Right. You know, if you look at the deaf community, for example, a lot of a lot of people are proud to be deaf they consider being deaf part of their culture. And a lot of the times in the past when people have offered oh hey look here's you know this cochlear implant that will cure your deafness. There's a lot of people that that really don't like that they say that you're trying to erase a part of why yeah. And so for people in that position, having things like captions having accessibility features that let them participate and let them use your applications. So that is just good design and the problem isn't that they're deaf the problem is that you didn't consider their deafness in your design process. When I jump there I think we're in front of the one of the first times in which newer technology is that is supposed to replace right the other technologies is less accessible. And the existing one right like from a very simple things like how do you put it on right is a wearable and some people cannot really have that type of mobility to put on a whole headset. To things like Dylan was saying read readability like with the current screens and optics that we have a consumer like barely you can print text on the center right so we will occupy. Like if you put it down there probably you're not going to be able to read it at this if you're using Fresnel. It's getting better right like the resolution is going to get better this optics will get better, but so far, and the last one is the embodied part of it right like this idea that you substitute your body when you are in VR. And what if your body is not able fully able of movement that transfers. Okay, so I feel like these are a few challenges that transcend just the consumer. It applies also to an accessible work environment to you know how how our company is going to put this as their main devices. Like will even to the basic level of regulations right. So I do feel like all of these challenges are very. They are important right for adoption even.  And so even you know if you think about accessibility as the access to technology and to space. Steven, you probably, you know, have students coming from from all these different backgrounds that you mentioned, who have different different levels of access to technology. Did you encounter that like with the hubs experience that you built for your students gallery. I mean, I think it with that experience and also just teaching online I would just have, I realized some things like I took for granted you know a steady internet connection, or the ability to like have multiple browser windows open and have things running smoothly like that those are things that I hadn't thought would be an issue and like trying to troubleshoot those things virtually is really, really difficult and so that was a lot of what we were like trying to play with to optimize the experience so that it was like it was accessible right on on lower end devices or on a phone let's say right. I was going to say like in terms of accessibility I think you know when we design things for people at the margins, it's, we make a better product for everyone. And that's important I also think there's this like, and there's accessibility and there's also this idea of inclusion and bringing people from different backgrounds or other voices and I think especially like in this environment you know people from like BIPOC communities or you know just other like getting making sure that we're not just like listening to one voice is really important in this as we develop this technology. Yeah, that's actually a really great segue into a question I had for you Mark. When I was researching this project Microsoft kept coming up around accessibility research and innovation. And someone mentioned to me that that Microsoft just actively weaves accessibility into the fabric of how things are built from the start, including recruiting folks with disabilities and a culture that sees focusing on accessibility as a route towards building those those better projects and products. Can you talk a little bit. Yeah, I mean, I think we have a very good track on these. There is always more to be done of course, but I want to put an example of another project I'm involved on the accessibility arena that also shows the potential of these technologies to impact the life of a person who has limitations is much higher than what we think of the general public. And I think the project soundscape. I don't know if you ever try this Microsoft soundscape app, which is meant to allow navigation in a match easier way for folks who are blind or, you know, with the vision limitations quite large vision limitations. It's mostly based on audio beacons. So the idea here is instead of using the regular GPS navigation of turn right turn left. It's more of an auditory experience in which you have a sound coming from a particular destination that you select right. And then that guides you there, even from an anthropological perspective, it's much more natural for humans to go in that direction right like when we were foraging in the forest.  And GPS navigation nowadays how many times you get somewhere and you don't remember how you got there right with the turn right turn left. So it's even a, you know, undermining our own decision making and our own mental abilities in the general public, but for blind folks to discover things around them on their own. And this is just a mind blowing thing because they generally have been trained to learn specific route with a trainer. And this tool allows them that once they are confident with the tool. You know what actually the lead on this project who is blind himself often tells the story of, you know, I got off the Bronx stop in the bus, and these things save it. Like I was able to just navigate to where I was supposed to go, despite missing my bus stop.  And this is a particular case of what the Stephen what's saying right like we create this tool that is very much focused on this opportunity for supporting this very large number of people if you look globally. And in fact we're in six countries already. We recently launched in Brazil, and you know this is the research project is. It's a product from Microsoft but it comes from research. And what we're seeing is that this type of GPS navigation is better than turn by turn. And we're trying to push this type of navigation even for the general public right like imagine if you could have this on being maps or. You know, I think that oftentimes we learn things here that can transfer to the other side. And the other reason why I like this project a lot is because it doesn't focus. It's an augmented reality experience it's a virtual reality experience spatial computing focus on blind users. Which generally you're like oh you know we are doesn't work for blind people. And you're like well, think of it as a spatial computing think of it as the content now is around us. Instead of inside a screen. And in fact if you think in this way, it's probably more accessible to blind population that it was before because before it was truly only on the screen. And now it's around you so you can perceive it in many new ways and I think the experience of soundscape, you can try it you can download it. It's very interesting in that sense it opens new ideas of accessibility in in XR. Yeah, this is the tool and this is how. I'll share it again with audio. I'll just go very quickly. I'm not going to take a lot of time with this but I think it's, you know, one of these tools that gives a very different experience. A busy city street, Maya with a guide dog. Good boy steady, steady, good boy. So one of the interesting things is we're not trying to replace tools that blind folks are used to right like you still use your cane or your dog for the immediate mobility. This is more about the spatial mapping of where are you in the world. Because it's designed such that you can just put it in your pocket and go Maya using soundscape walking with Alex DSW shoe warehouse DSW shoe warehouse. Cool things happening around town here. When I'm with other people, I'm able to gather a lot of the same information my sighted friends or family are getting from the signage around me. And with that I'm able to participate in, hey look what's over there. Disigual. Oh, disigual is showing up here as well, which is one of my favorite stores. Oh really? Yeah.  David walking in the park. Using the technology is relatively easy. You have to still concentrate on listening for obstacles. But you then get used to the chatter in the background and you can pick out suddenly something that's of interest to you. Shona around town. It was great. Tell me all the different shops as I passed, which is lovely. And the different street names as well. Quite often I don't know, you know, which street split. Approaching intersection, mastery goes right. Maya touching phone screen. We have a beacon set for Nike store, 248 yards. The beacon has been helpful in approaching different addresses and places in busier areas. Arm extended, pointing with her phone. I'm getting the bell right about here. Great, so let's just head off that way. Okay, forward. Passing through an open market. It's been a unique experience to work with the soundscape team. They have been so transparent, forthcoming, open to feedback. It's been a really dynamic relationship. You have blind people on your team. You're working deeply with agencies like Lighthouse and reaching out and engaging with blind people in different places and from different backgrounds and really making sure that what's being created is aligned with the needs of the community. Fiddler forward. So I'll leave it there, but you see it has different tools in it like this. I want to go here too. I want to know what's around me from things that are like what the stores are what the, and it's a few of the things that we were very focused on the creation of this tool is one, it works on phones, which is something people already have. You can like as a head headphones and other options of a head tracking are coming available.  But if you have your phone, you can use the phone to point right like it has a way to navigate this way to. You know, it's compatible with current technology. We try to make it forward compatible with future technology too. And I feel like the partnerships with current teams that are already helping people to navigate right like to to learn how to move. They give them the dog and the app. They teach them over a couple of few weeks and then they go on their own. And I feel like that's the perfect partnership also. Right. So I often times I worry in the accessibility community that you need to have the right partner. Right. There is like a million types of gloves created for signaling million types of, you know, it's like maybe that's not what the community needs. So I feel like in order to really do that having inside the company people like almost Miller, for example, who is the lead on this who is blind himself. Right. It gives you a very different perspective and you look at the app and the app is. It's not super nice visually but it doesn't matter because it reads super nice through the screen reader. It does the things that it needs to do for a blind population. Yeah, speaking of that, that community angle Dylan, I know you were the one that kind of introduced me to the phrase, nothing about us without us or nothing, nothing for us without us. And in your work with access I'm sure you must encounter that that need to collaborate across disciplines and across organizations, a lot. Can you think of like a couple of like key or easy entry low hanging fruit accessibility ideas that you would recommend to folks to incorporate into how they design and build things. Yeah, absolutely. I think that the single biggest thing you can do is, you know, as part of saying get people with disabilities on your team. Feeling that at least make sure that you're testing with them because, you know, I'll give you some tips here but but I think that's that's absolutely the biggest one is getting people. As you said, nothing, nothing about us without us I think a lot of that sometimes is changed to simply nothing without us, meaning make sure that you're designing things with the just hand in hand with the people that you're trying to help. That being said, I think two things that I think a lot of XR developers could really benefit from terms of accessibility. One is make sure that your app can be used by someone seated with one hand or no hands without having to kind of twist or lean over in your chair or stand up and walk around. Because doing that is not only going to make it accessible to a wide variety of people with mobility impairments is also going to mean that somebody can use your app on airplane or seated in a cubicle right. And not have to to even if you're able bodied you know apps that expect you to duck and dodge and dive and roll, or even just to like go up here and go down there and do a lot of physical physical movement. Those are going to be less accessible and they're just going to be tiring and they're going to be limiting to the limiting your app to people with the space necessary for those kinds of movements. That's one. And then two is a big thing in in VR as it is in 2D include captions, you should be able to use your experience muted and not get stuck right. That's just something that that is almost everywhere now in 2D design but in in XR it we're kind of having to do it all over again. It's tricky because captions the next are you can't just put them at the bottom of the screen, because you know let's say I have somebody talking on my left, and then an alarm starts blaring on my right. You know, ideally these captions should be placed in a summer that's comfortable to read be it should tell me a little bit about maybe who's talking or and what direction I need to look in order to see them. And you know these are these aren't trivial challenges and hopefully soon will have API is that you can just tap into so you don't have to kind of do all this from scratch but nonetheless, I think captions are just so helpful for so many people. You know hearing or not that I have to put them as the other kind of shout out here of, if you have to pick, you know one or two accessibility features these are the ones to get. If you want to read a bunch more just really low hanging fruit yeah things that if you're just thinking about them during the design process they're not hard to do. Go to XR access dot org slash resources, and I'll put this in the chat here in a minute, and we've got you know a bunch of really excellent resources, including the XR Association, one of our partners just put out a, you know 10 page or so guide to accessibility and inclusive design and immersive experiences. And it'll give you kind of a rundown of here's the, the kind of top features that people, you know, benefits people with visual disabilities the benefit people with hearing disabilities come so on and so forth. So, so definitely check that out. And just just try to always keep in mind, you know, think about users that that are different than you think about users that you know think if you're, you know, I think somebody just put a great question in the chat like children and elders you being able to use XR think about those users think about the people that not only are permanently disabled but that maybe have something else going in the background think about people that are doing something else with one hand or multitasking your, your accessibility features will benefit them to. So take a look at those guides spread them around. And it's going to make applications for everyone better I think it will be exciting to see those advancements taking place. And I guess with that in mind that for for any of you. Are there particular things you see on the horizon that you're really excited about. I'll just do a quick one. I'm really excited about open XR. I think having a lot of different groups different platforms using this kind of common platform that hopefully, you know, soon we're one of our big goals for XR access is to work with groups like open XR to make sure that if you want to include captions. Let's make it easy for you let's not make you have to reinvent the wheel. So seeing things like that and seeing things like the locomotion vault where I'm not sure right now whether it includes like code snippets and whatnot but I'd love to see a future where people can just kind of take these known accessible techniques and just kind of dip in and having it as your unity project your unreal project be as easy as downloading a plugin. Or, you know that's happening I think it's really exciting what hopefully we'll be seeing soon. I want to add here because I feel like in general one of the areas that is a bit underserved for the VR AR community is a creation tools, right authoring tools, and that gets even more exacerbated for these, you know, on the on the sides of what is mainstream. And I feel like I, at least I am trying to build a lot of open sourcing to work around this right like I've been open sourcing avatars open sourcing emotion capture tools for avatars. And now the locomotion techniques that I'm going to try to implement an open source also with, you know, a global force of people because once you have this amount of techniques it becomes kind of is not a work of a one person at this point. So I am also engaging a lot with external collaborators for this open sourcing work. And I think that's the only way we get to the plugin levels that Dylan is talking about but I think authoring tools in general are still not for you know where is the scratch of VR where is the, you know all these things and then going back a bit to what Dylan was saying also on the captioning that needs to be attached to particular events also and I feel in general we need to put these new devices and they will also change over time into the public and see how they respond to it. And then what we will see is maybe a website doesn't look like a website at all once you're in VR, right, or maybe so I do think that one of the way to get to there is if you look at the day we have 24 hours. We can have two hours of maximum of entertainment gaming or whatever if you have kids. Forget about that so you have maximum your eight hours of work and I think that and then you sleep and eat and so I think those eight hours is when you can really introduce new technologies is through the productivity area. And, and if you think of portable device that you know has a lot of real estate and you know more than one screen in theory you can render all of that inside the VR headset. So that would be kind of the entry point I think that makes more sense for for most of people. Once you're there you're going to figure out okay. Well now gaming doesn't look like traditional gaming now you know I sort of feel like we, we have started by putting trying to put these devices, very much on areas that are hard to enter. And, but we will learn a lot when we put them as a replacement of the laptop as a replacement of right and then we will figure out many new things. And it is an opportunity right as we're saying for for accessibility that we can design from the scratch being accessible. It's not happening yet on the largest scale I would say that it's again going just for the general public, even VR headsets are are not ready for kids, right like it's a super large population. I'm not even talking about disabilities there who cannot even wear a headset, because it's not meant for their IPD right. So I do feel like there is a lot of work there too. So it is an authoring tools, and on this whole idea that there is no diversity in how things are built and we don't know how things will actually look like. Yeah, I was surprised it kind of what got me down this path in the first place to learn more about VR accessibility was just the fact that I came across. I think it was in November or December, Oculus posted their first VR accessibility like design guidelines and they've been around for, you know, eight, eight years and are just now getting around to that aspect of it so clearly has a long, long way to go. Steven, I'm curious, you know, from your perspective in virtual education, you must have students really, you know, wishing or asking for, you know, different features than what they're they're being given in the sort of like zoom classroom environment I know zoom fatigue is a thing we hear a lot about. Are there, there are things you kind of see on the horizon or have on your wish list. There are some things that zoom those well and, you know, like being able to have this like synchronous conversation be able to like monitor everyone. Like, you know, if everyone turns their cameras on and you're able to see faces I feel like you get a little bit more feedback than, you know, in one of my classes we were building hubs, and we were in there and it was, you know, we're all avatars and it's like sometimes kind of hard to know like oh this is person understanding what I'm saying or, you know, what how is this person responding. But I think what worked really well is like, you know, we were building out a space and we're building an exhibition. And so to be to be able to prototype something that and at scale and to experience it. These are things that are kind of hard to do in the real world at scale like you know if we wanted to build an exhibition and walk around and it would be really hard or if like you know I've done projection mapping with classes but that requires certain technology and like like conditions and things like that and now we could just throw up a video in a virtual space and kind of test that out and experience that so that that was, I think that was helpful. And I also think people will just with this new technology they'll kind of figure things out I think people are figuring out how to use zoom effectively and people are figuring out how to use hubs or other XR technology I think you know we had like a gallery opening you know just it was interesting to see the way people like started figuring out how to use the tools or like one person was like dancing by like moving their mouse really quickly you know like and just seeing that was was kind of interesting so. Yeah, the improvisation and the techniques that people find to to make things their own and feel right for them is really fascinating actually that brings up Dylan. An example I saw in one of your videos where somebody was using, I think it was VR chat and the hand tracking there to come up with like essentially like a new form of sign language that that got around the issue that you can't use all of your, you know, five fingers on both ends to sign in VR. They're the good examples you've seen of that where people are kind of, you know, coming up with their own solutions. You know, people period, when they have goals when they put their minds to things they will try to come up with workarounds to make it make it work right. You just look at Minecraft and the shenanigans people got up to making custom computers and not using mine cards and you can see an example of that. I think when it comes to things like sign language, it's an interesting example because, you know, there's definitely the group of people there's going to be some, you know, some deaf folks that that really absolutely have seen this, this thing they want to participate in and they will. You know, come up with, you know, for example, the case in point here is basically a kind of suite of signs that make advantage of the fact that some of the early VR controllers give you basically big mittens. You know, you can't control each finger independently. And so these, you know, folks would would come up with kind of an alternate dialect almost that makes that feasible. Of course, I've talked to some deaf folks about this since then and you know some of them say well, oh, you know, that's, that's great that people are doing it. Others say well, you might as well ask people to join voice chat but they have to how this thing stuck on their awful whole time and they'll come up with an alternate dialect that lets them talk around it. I think we, it's, it's fantastic to see examples of this like where the community is is pushing on way and it's great to learn from that, and to try to use those to see samples to make the core experience better. I think it's also important that we try to make sure that we can make these things accessible without asking certain certain groups of people to make these huge compromises and how they use the applications and how they communicate. And I think it's, it's both excellent, you know, inspiring but also kind of a cautionary tale. And I think it's something that we definitely should should learn from and look to the ways that people are are taking this and making it their own and try to adapt those and make it make it better with them. We're running short of time but to kind of bring it back to, you know, the community and to, to what all of us can be thinking about. You know when I asked you what you wanted to make sure we covered in the session, you phrased it really well you said the connections that will need to be made between people that understand the need for accessibility. Those that understand how, and those who are actually in a position to implement these accessible interfaces and hardware. For all of us here and and elsewhere who want to see this moving forward to convince those decision makers money people that this stuff should be prioritized. What's one piece of advice that we can walk away with from the session to help make that happen. Yeah, I think that the big one is that accessibility isn't just the ethical thing to do. It also makes really good business sense, you know one in four people in the US are disabled, which means that inaccessible applications are leaving behind a lot of kind of potential barriers and money on the table. And what's more, a lot of buyers in government in education and healthcare and industry are legally required to only purchase accessible software. I think you'll find for a lot of enterprise clients accessibility is really part of those kind of minimum requirements. And so if you want, you know, this is an addition of course the fact that making apps accessible makes them better for everybody whether they have permanent disabilities or not because all of us are in places where we have kind of temporary or situational disabilities and that curb cut effect is definitely real. I think one of the things we realize of course that accessibility often gets left behind is so kind of we'll get back to this later type type thing when really it needs to be part of the minimum viable product. And that's why for us at XR Access, one of the big things that we're going to be doing one of our core pillars is business cases for inclusive XR. We're going to be compiling, you know, use cases, case studies, you know all kinds of things that will help kind of managers and executives whatnot who maybe don't have either a design development background or an accessibility background but they know kind of what needs to be done in terms of everything else to make an app launch. We're going to be making resources, kind of buy them for them and so that's something you're interested in you know you don't need to have a back a technical background or to contribute to this discussion. So definitely come by you know XR Access and help contribute to that conversation. Thanks yeah, Mara or Steven do you have any, any closing thoughts. I feel like I'm not coming from the accessibility group per se we're sister groups in, in, in the, in the research org, and I work a lot right like I work on soundscape I come more from neuroscience perception and also real time systems in computer science. I feel like the gaps that should be more multidisciplinary right I feel like that is an area that many more people can start contributing to the accessibility space and I think, you know, options like the XR Access are becoming more important for people to know that they how they can bridge their this gap and I feel like you know you you were saying here. We need more developers to be working on this we will, we need that combination right like it's not the community that can build their own path forward it has to be also on the trenches people who are already working with the technology that they start bridging gaps, and I think it seems more complex, but it also is more threadable multi threaded right like it can go in parallel it can grow. It has some potential there that in short time we can make a lot of impact if if a lot of people get involved in this. Yeah, great well I want to say it looks like we got maybe like one minute, but I would love for us all to just take one minute. Before we close things down to just think about and maybe write down you can feel free to put it in the chat like one thing you could be doing that we all could be doing to advocate for greater accessibility in the workplace. So feel free to just take that minute and then we'll we'll wrap up and in the meantime I'll be posting links to panelists work and to the hubs experience, if folks want to check that out. And Dylan Morris even if there are other links you'd like to post feel free. Welcome also to enter our Microsoft research accessibility group, which has also in the past on seen VR, which has been very interesting hacking to existing VR applications to, you know, amend contrast or make things bigger or read aloud the content right. The interesting thing is that it cooks into existing games, right so it's not just a demo. I'll share that too. Thank you. And thank you everyone for being here and for the work that I'm sure you no doubt do in your own communities around this issue, whether you're an expert or you're new like I am to the space. I think it's really fascinating to dive into this work and put it out there for everyone to see. And the reality is that we're going to get things wrong and there's a lot of work that needs to be done but the point isn't to get everything right. The point is for more of us to be moving this work forward and to normalize it, and to be designing these tools as we mentioned before, from the start. It's great to reach out to me to the panelists and their organizations to the people in your own community communities and to continue to advocate for inclusive technology. I will be moving over to the main room of the hubs experience that we posted a link for and I've got about 20 minutes or so that I can take there to kind of introduce folks to to that experience. It's not a work in progress, but designed to just call out some of the considerations that are and advancements that are happening in VR accessibility so check that out. Enjoy. Thank you all for for being here. Thanks Mike for hosting us. Great panel. Thanks everyone. My thank you. Thank you. Thank you for a great session. Thank you. Candice stands ahead. And next. Candice purses her lips and rolls her neck.


Everybody wave and say hello get a picture of this be happy. All right, that will be on Twitter All right, thanks everybody my name is Chris Walker, and I buy happenstance built an Xbox app over the summer There's my Twitter handle so you can follow me there and pick up that picture of yourselves in the audience a Little bit of context. I like to hike backpack and climb mountains It's I climb mountains mostly big ones in the winter time. It's kind of a self-masochistic kind of thing I live in a little town called Saratoga Springs in upstate New York Google Maps doesn't do a very good representation about exactly where that is but It's not New York City. I work for a company called Mad Glory Interactive, which is also in Saratoga and Believe it or not there's actually a handful of really innovative little software companies in our town that we're pretty proud of and we're We're glad to be a part of that community there We're a consulting engineering and creative agency. We spend about 80% of our time playing games or Building games No, we do we do everything except actually work on the games we work on online scoring systems community development sites and A couple of really big games were privileged to be a part of We also do a little bit of work for Some Fortune 500 type companies and we get to do some really cool stuff with them, too So basically we get to build cool things without assuming any of the risk of owning any of these products So it's a great position to be in We try to be technology agnostic With some success we do use backbone a lot and It seems to be our go-to framework. We also maintain the backbone fetch cash plug-in So if you have any tomatoes left, and you're not happy with fetch cash, you can throw them now And if you're not happy with fetch cash go to the github page Put in an issue if you haven't checked it out check it out You you very high likelihood you find a use for it in the future Anyway this summer we got invited to build an Xbox one application And a lot of people don't know and a lot of people do know And perhaps you let it escape your mind that Microsoft came up with this idea called Metro Which is you could use HTML5 and JavaScript to build applications on a phone on a laptop computer and on an Xbox and it's It's not worked out that great Nonetheless, this is the best way to get an application onto an Xbox So we did play around a little bit with some windows applications Just to kind of get our feet wet and do some experimentation. We had to do a lot of R&D Like Henrik was talking about earlier today. We did that on both the windows and Xbox In the end we made the decision to go back to backbone Despite the fact that there is a lot a lot of infrastructure that Microsoft has put together for building applications on these platforms Um We made that decision as it turned out to be a good one However, nonetheless, we still got beat up One of my co-workers is saying it feels like every time we release this app to Microsoft It feels like we just got beat up in gym class You know it should be you know, it should be like popping corks and champagne being happy, but it's Microsoft so So anyway, I think despite the fact this is a gaming console We all don't use them and we certainly all don't develop software on them We learned a lot and so I think I hope everyone will get a lot out of this talk So this is what the app looks like It is what we call a matchmaking app, which is basically what you think it's a dating app for game players So you get to find people online who are interested in similar things to you and play games You can see the the target market for this app is going to be I don't know 18 to 30 year old males So that seems to be what people like Gatorade and Monster want to sell products to So anyway, the the we don't know what the revenue will be for this particular app yet But the client came to us. It looked really exciting and and we took it on So just to give you kind of an idea how it works I'll do a quick Demo, I don't actually have an Xbox, but I do have a recording So here we go So it's called overdog by the way What I need to do is just get quick time smaller Pull it up to that screen Big thanks for saying something that would have been really embarrassing if I just sat here and told you what it was And had nothing to look at So the idea here is the player would go in they would pick various topics that would be interested in That's their profile Screen right there and this person is kind of browsing around looking at the current topics They have pins to their profile And then you have this other selection of featured topics and things like that things that you can be interested in And then we use a server side algorithm to kind of figure out What kind of people you'd like to play against You use a menu there to to pin topics to your profile and then you see the backbone view Will update itself One thing to keep in mind is all this is happening like this is backbone This is backbone on a gaming console Each topic has a detail page Usually involves a nice background image like that and then from that detail page You can also like and unlike a topic. We'll let that go for just about two more seconds And then I think we get the idea So there's a lot of CSS animations going on here JavaScript animations as well as when we can't use CSS Cool, so that's it talk. No, I'm sure you want to know more than than just watching some pretty things on the screen So this is basically how the whole thing comes together We need to interface with something called Xbox live. That's how Microsoft manages the user profiles So pretty much any time a user steps in front of their Xbox they can and should be signed in And Microsoft wants their apps that are on that console to use that user profile So there's basically a single sign-on experience and that that's a requirement Like you cannot release an app into the Xbox environment without using that So we need to interface very heavily with Xbox live It is a restful service However, it's a huge huge pain to use with HTTP But Microsoft has lovingly bound that up into some C++ bindings which then get exposed to JavaScript Which work as advertised 50% of the time So so we have to interface with Xbox live We also need to get content on there, so there's kind of this mishmash of content management tools we could possibly use None of them really fit the bill, but I'll talk about that in a minute And then we needed to build like our own our own services So that service decides like what kind of players could possibly want to play with each other Like what topics should be being served to a particular console and every time someone opens a topic It shows like all the related topics. So if you're interested in this topic, you obviously must be really interested in these other topics We all know how that works. Thanks to Amazon Xbox live Yeah, this slide is blank because there's not much I can tell you about it because Microsoft doesn't want us to other than it's really hard to use and You don't ever want to have to interface with that The the service that we built So this is just kind of give you a little background information on why back backbone kind of fits here And as I tell you about it, I think you kind of put the pieces together and figure it out So we have all these topics and then we have to relate them to users We decided to do that with a node service built with action hero We actually have two servers one is the server that serves player profiles and then matches players up And then we have a socket IO server Which is also runs on node and we have socket IO running on the Xbox as well by the way which is kind of interesting We did a couple experiments and it worked. We were not so we're using sockets when players actually match up with each other We're using sockets to send a notification from one household to another household and being hey This person wants to play with you. Are they interested? Okay, you can be friends and you can play now You can play later or maybe you want to get into a party together and chat about it That's all done with socket IO The really really hard piece was figuring out how we're gonna do content management We couldn't find any CMS there was really gonna do what we wanted to do like we have all these topics in all this artwork We need to get into onto the console.  So we ended up building something Kind of jokingly called it calamari But the name stuck and it's since become a product the way it works is that we have a User interface which incidentally is built with backbone and marionette It's a rails application and it allows a designer to kind of put data into the system jumped ahead too far So it allows someone who is not who is not a programmer really to put to put artwork and content into the system it stores it into a Rails application and then just simply serves JSON back to the client, right? And so that's where like backbone makes complete in total sense. So we're taking all the structured data We're making models and collections out of it and then the actual artwork That you see displayed on the Xbox is being served off of a CDN We're also doing some lazy loading Which you'll see in a little while and it was really cool to see how that's being done to map out water pipes So yeah more more good stuff All right, so There's the animation See you see how our content management system works So now we're ready to go We've got all this awesome architecture. We've designed perfect. What could possibly go wrong? We're gonna build this amazingly piece of equipment However, there's a couple more things we got to add into the mix There's this thing called winjs Some of you may have heard of it So it's it's basically the library that you're supposed to use to build Xbox apps and windows phone apps and windows 8 apps It has actually some really cool stuff in it We have to use We have to use it because we don't have a choice basically We would have had to re-implement all those nice little tiled widgets and things like that We would have to re-implement all those as like web components, for example, which would have been a really fun experiment But we just didn't have the time So all that stuff comes out of the box with winjs. So that's what we ended up using They also have some other things we needed to use They have promises And we love promises. Don't get me wrong, but their promises are broken Badly broken. The problem is is that lovely Xbox live API returns broken promises Which of course don't work with any of the promises that work, right? Doesn't work with jQuery deferred. It doesn't work with Yeah, name your like spec conforming promise library that you like and it doesn't work with it So basically if we're gonna use promises, they got to spread to throughout the whole app And we have no choice but to use the ones that winjs provides for us So that was fun So we we chose to use backbone For a number of reasons despite the fact that we still had to use winjs We're all familiar with backbone. So it's kind of a common language where winjs is very arcane And it was gonna be a long ramp up time just to get used to that There's more support like if you Google for things on winjs, you're probably not gonna find much of anything You Google for questions on backbone and stack overflow and everything else. We all know that story And then lastly the way that winjs encourages you to structure your applications didn't really make a whole lot of sense And the example applications that Microsoft gave to us were really really monolithic and horribly organized They were thinking no way back to MVC We did take some things from winjs as I mentioned. So the widgets the we use probably 90% of them Promises again too bad It's good that they have them, but they don't work The routing and page controls we had to use those again because we didn't have a choice To re-implement the way that they do that would have taken Forever, but basically it works the same basic same concept as backbone But it's they kind of like swap They take your entire DOM and they rip it out from underneath you and they like swap in a whole another DOM And like both of them are on the screen at the same time while it's animating between the two and it really Messes everything up, but nonetheless That's the way it goes But they do have a really nice application Initialization process to give you an application object very similar to what we would get with marionette From backbone the usual suspects we use the models and collections of use we use jQuery We use underscore and we also use marionette Bit some parts of marionette that global application object, which has a really nice event bus system on it We use that and we lay we use the layouts and regions to manage the view state control So when a view gets destroyed you got to clean it up because you don't want zombies hanging around and all that kind of stuff Mariana really helps out a lot with that So now we're ready now we're ready to go Right um But again We crash into this thing. It looks beautiful It's really cool to play with but it's arcane.  I swear Nobody can help you nobody nobody can help you can't you can't google about this because of the NDA things You talk to people at Microsoft and they pass you around to their engineering department So instead of building this we end up building something a little more like that It works You know what but in the end Arcane platforms require a lot of guesswork and they require a lot of hacks and When you're innovating it's not pretty, but you got to find things to get the job done and No matter how much we hate it Ugly code doesn't really matter None of the problems that we had to solve resulted from an unsightly or un Unrecognizable code base we had a lot of weird stuff going on in here However something that we always try to remind ourselves is that customers buy products They don't see the code. They don't know how it works and they really don't care They really don't care that you have three different libraries on here. Nothing works the way that you're used to it working They have a nice product in their hands that they can use That said let's get into some code All right, so when Jay asked what I didn't mention they have this really nice namespacing thing So you can create a global namespace and manage that These are objects created the way objects should be created according to Douglas Crawford Where it just kind of creates these? Like namespace objects that can't really be mutated, which is really great We have some global variables that we've closed over top of and basically it allows us to do that line at the bottom We get to we get to have those globals exposed and they're immutable So, you know your buddy sitting next to you who's also programming on the same thing can't screw them up And vice versa more vice versa probably And then we use the marionette application object And so we throw another global into the space Basically, we do this inside of another closure And we create that that application object again. We use this mainly for the event bus Which is super super handy So make sure you look up the links from James talk yesterday in the the marionette talk And take a look at the marionette event bus even if you're not going to use marionette the event bus can be super helpful So we return a global application, which we just call our backbone app And the BA thing is just shorthand so we can use that in the debugging console because typing out backbone app the whole time Isn't cool. Oh, yeah, the console doesn't have tab complete. That's why So be a Second and more importantly we need some base classes The reason we want to do this right away is that when you get later on into your project You find a lot of cases at least we do anyway where You want to you want to change all of all of your class instances all at once You're like, man, if we had just inherited from one object We'd be able to do this in one place and now we have to like change 50 different files to do this So right in the very beginning we start creating these base classes these ones are for entities So even though we have no code to go in there We have models and collections We're not really extending anything Except all of our other collections and models are going to extend from these base classes We do the same thing Those are views so we do the same thing with you so those are those are the Four yes, those are the four view types that marionette is now going to reduce down to two from what I understand So that'll be fantastic But to get around some of those DOM issues that I mentioned before you get into some really ugly hacks so Basically all of our regions have to inherit from this thing That get element method Does something very different in actual marionette than what we needed it to do on the Xbox? And I won't get into the details there But just have a look at that last line of code Which is so effectively we're doing this We're using an attribute selector to find an element with an ID How wrong is that? But believe it or not when the when the Xbox swaps in those two DOMs those two elements with the same ID will exist on that page for a brief period of time and When you select by ID you'll get the first one when you what you really want is the second one And we can't change that ID that ID is identified by the system as being like the container For the page and we needed to use that for our marionette regions So yeah, so I spent a whole day selecting an element by its ID and getting two of them A whole day So here's where we use our base classes so in other modules Another model a typical module exists of a model a collection And then at least one view if if you're probably more and Then those those components inherit from those base classes that we've already created And that's where that comes into play since we've inherited from our own and not from marionette or backbone then we can make Global changes to all of our classes without having to mess around with backbone or marionette code And that's obviously what you want to be doing Also, don't be afraid to create custom objects. We have a lot of these we have what we call data service layer, which I'll get into later but Not every object needs to be a model collection view or controller Marionette has this really nice object. You can create you can create other classes from you can inherit from it's called marionette object interestingly enough But it gives you it gives you events and it gives you event cleanup and a couple of the really useful things So when we would build these service classes, we would inherit from marionette object This particular one is instantiates the socket IO service And then yeah, we like promises Despite the fact this particular implementation is broken It did it still makes a lot of sense from our point of view The first step in that is to return a promise from backbone Ajax As you'll see later, we don't use backbone Ajax as you typically would so in other words Model dot sync or collection dot sync doesn't call backbone Ajax We actually call it from our data service layer. It's just a wrapper around the HTTP mechanism on the Xbox Which does implement X HR so Instead of returning a jQuery deferred here we return a winjs promise because the jQuery deferred Doesn't work with the winjs promises So we need to convert it and in return one of those which really isn't that difficult that wasn't bad a good thing to do So now getting into our data service layer So here's the concept we have this data service layer and That knows where to get data it knows how to cache it and Also knows a good place for implement implementing mocks mock mock data for testing and also where to stash offline data So that's where all that logic is. I think it's kind of similar to what Tim was talking about yesterday with his backbone session object It's just like we need one place where all this interaction kind of happens We need to we need to interact with that CMS service. We need to interact with our own Matchmaking service and we need to interact with Xbox live and all of them work very very differently So we kind of need to need this data service layer which gets all this data pulls it in as JSON or JavaScript objects or whatever And then instantiates the collections or models from there So once these collections are out, they just kind of float around freely and they're not they're not mapped to any RESTful API they're not mapped to an endpoint period They're just collections floating around in space and the user interface can call for them Can call the data service for them whenever it wants and then the data service once it has it in memory it can update it Need be based on any kind of like caching or updating logic that might be in there So to give you an idea what this kind of looks like in code There's the matches data service and you'll see up at top. We have What what this is going to return is a collection of possible matches for a user so if I'm a player and I'm online and I want to play Call of Duty The system calls out to our API and finds a list of matches for people who also want to play Call of Duty and people who Might be interested in playing with me And it returns that as a JSON object However, we're not allowed to store any Xbox profile information on our servers So once we get this onto the client we then need to call back out to Xbox live and get like their gamer pick their gamer score and all that information and then mash it all together and Update the backbone collection as we go, right? So that's where this lazy loading stuff comes in and that's where using promises is really nice So we return a promise from this from this API when that promise resolves it resolves to a backbone collection And that's those backbone collections floating around freely in space and the UI can use that We'll see a UI component a little bit later and and why that's important But basically this gives us caching. So since we wrapped around those two those two underscore Variables at the top which are initial initialized to the null Since we store our collection and our promise there we can come back and get those out of memory any time So anyone who needs to call this API in the future is going to get data immediately And when the app is initializing they're going to get it a Little bit more slowly, but since we're returning a promise it really doesn't matter All right, so here's what it looks like to activate a UI component When you use promises and we call this activation method at the top we get a lot of then All right, we get String together a bunch of methods and basically build the UI now again We as you're looking down to this what looks quite now that I'm looking at kind of messy code, but Yeah, like I said not elegant, but It kind of makes sense as you're going down through it You you build the UI and it doesn't matter if the collection has already been loaded Whether it's been there all along Right, so if we if we look at one of those topic detail pages and then we come back We want to have our matches ready to go and because we have a promise they are we just go promise dot then and then instantiate this component again right from the beginning and we know it came from cash Or the data service knows that it came from cash, but this component really doesn't care Doesn't care if it came from the cash or what and if we update any of these models We don't sync them back the data service does the data service detects the update It syncs them back up it knows what to do it knows whether the weather to call Xbox live It knows whether to call our service. It knows whether to call the CMS So on and so forth and Then lastly or almost lastly When you're doing events We have The the event API makes it really easy to decouple an application Like that that event bus that I've been talking about the one that marionette has That is like decoupling is really great we've heard that several times already today and I think anyone wouldn't say that's a good idea However, you can go too far with it Especially with an event-based system and that when you're looking through the code and reading through the code and you have You have a you're a sizable application and you're like where did where did this thing hear about this thing? And how does it call back to this thing and like what method did it call because it's not a method? It just fired an event right so we find it a lot easier to put all those in one place And that's what this is this file is actually much much longer than what I have on this slide But it's a lot easier to go like okay So if I need to know where to call for this particular thing like I know what file to go to To look through it and find like where the API is And if I need to look at the implementation, that's there, too I should never have to do that, but if you do it's there So I guess the lesson really is The customers do buy products and not code and sometimes when we innovate it can be messy and My wife always says when she's baking and I come home in the kitchen of the disaster She's like I know I know it looks awful, but it gets better But I think that's what happens with when people build anything particularly with software and We should be happy in the end product and make make make our code as maintainable as possible And no matter what we'll get there So even if it starts out messy There is a lot more things we like to do There's we'd like to move the Ajax Request into a background thread One interesting thing about this gaming console is that we discovered that if you make an Ajax request while there's an animation happening And the animations are long. They're like six or seven hundred milliseconds if you make an Ajax request during that time The animation freezes up This is a gaming console. This thing is supposed to do graphics But yeah, so that that was kind of annoying so we're gonna move our Ajax request into a background thread we'd like to do a lot more with a lazy loading and The talk we saw earlier today from Dan Was really inspiring for that so thanks Dan there. We're gonna keep on working on that We would also like to cash more information on the local disc The Xbox has a pretty good API for doing that So we'd like to take advantage of that but it's opening a whole can of worms and But it's gonna it's gonna be fun And we're looking forward to it That's it. Thank you very much