Hello, this is a video about conducting a test for independence during the entire hypothesis test. You are conducting a test to the claim that the row variable and column variable are dependent in the following contingency table. We want to find the test statistic and the p-value. So we need to go to Google Sheets and we need to put this data in there. In Google Sheets, you are going to go to the chi-square tab. In the chi-square tab, in B1, you'll have to drop down and you'll have to click independence because that's what we're conducting a test for independence. And then you'll start jotting down your data. You have your x column of data, y column of data, z column of data.  So go ahead and type in your data values, 37, 33, 31. Type in the next row is worth the data values. And then give Google Sheets some time to calculate. These formulas do take a while to calculate. So our test statistic is actually going to be appearing near chi-squared. Any time you run a test for independence, the distribution is actually a chi-square distribution. So it's not the bell-shaped normal distribution, it's the chi-square distribution. So we have our test statistic, chi-squared. It's about 18.652, we'll go ahead and we'll go to three decimal places. And then we have our p-value, which is the four decimal places 0.0001. So those are the two pieces of information they asked us for. So your test statistic, your chi-squared test statistic is 18.652 and then your p-value is 0.0001. So what does this mean? Well when you run a test for independence, the null hypothesis is always the row and column variables are independent. The alternative hypothesis is always the row and column variables are dependent. So what we're going to do is we're going to take our p-value and we're going to compare it to alpha, our significance level, 0.05. So that being said, it looks like we are less than alpha. So we reject H naught. So we reject H naught. So what this means is I can take my null hypothesis, cross that out, it has been rejected. Which means, guess what? This means that the row and column variables are dependent. They are dependent. So what this means is the following. Our claim was that the row and column variables were dependent, so it looks like our claim is true. So there is sufficient evidence to support the claim that the row and column variables are dependent. So that is how you conduct a test for independence. Thanks for watching.


Welcome folks, we have the Dow Industrial's finished down 107, Nasdaq down 153, S&Ps down 34, they're making a challenge in folks, that's for sure, look at this S&P man, okay so let's bring this up, okay, right at the close you're going to see they basically sold it down, that being said let's just take a look at it first, look at this thing, oh my god, that's going to be interesting man, that's a sell, so there's this, look at the sell, that sell is 167,000 contracts, now what it didn't do is break that low, the low out there was the 3763, so when you see a monster sell like this, that means that there were buys at, above the low, because what we just did, we came six points above the low but you can see the buy, the buy is nasty man, that was a big monster that was selling into that, there's no doubt about it, and that's what Mike is there about, bulls and bears folks, we go over to the NQ's, I suspect we're going to see the same thing, there it is, okay, so this is what's been also going on, listen to this man, this is wild, so the last couple days what has happened is that the NQ's are actually basically sticking their head up and they're getting stronger, because you can see in the NQ's which has happened here, the low on the NQ's is 11,510, well this drowned draft just got us down to 11,560, okay, so that is further away from the lows than the S&P, and that's telling me that there actually are more buyers inside of the NQ at this particular time, gold, gold contract what we got, you got price, only 460, but you get monster volume, we got, it was 220, 231,000 contracts, so what you have here now coming into a Friday, you're pushing into the swing, and you're pushing into the swing with volume, you can see yesterday we had volume, we had volume yesterday with 228,000, today's 231, it's a nice setup man, you know, you have sellers on the other side of that, they're selling like crazy right into the bulls trying to get it higher, but when you have volume, and you're pushing into swings, that supply line will be taken out, have a great night folks, have a safe night, come back and visit Tommy tomorrow morning, kicks us off 9 o'clock in the morning, great show folks, look at him folks.


There we go. There we go 12 miles. So 20k in the bank Making those deposits making those deposits for May for the marathon got to make deposits right now folks. Okay Enjoying the process. We're gonna talk about that a lot today and basically I am trying and striving to Mentally make the choice using my will to enjoy the process of learning how to live stream Really well on YouTube for you, but it's not my most favorite thing to do as you well know So even like today on the run. I must say I am very Excited and amped up for the Cleveland marathon my first road marathon of my life I'm also extra extra amped up for the pikes peak ascent But guess what that is six months seven months away That's way too far away to be amped up for that race right now So just a little tidbit maybe a little tip of the day. I personally need to work on enjoying the process more right now and enjoying the training more right now over the Excitement and enthusiasm for races that are months away. So anyway, we're gonna talk more about enjoying the process as a runner Later today. I got to go inside eat some quick lunch get back to work. Oh my goodness. What ah 12 miles. Love it bank deposit bank deposit Oh perfect timing tea. Oh and hon. You want to show them what you got show them what you got? Okay You all you all know how I'm maybe trying to just drink a slightly less amount of coffee in my life And so I'm really enjoying this discovery of the tea movement and look what true love picked up Oh my my honey want to share with me green Moroccan mint Red refresh. This is sort of like an orange. It is black, but it's caffeine free Yep, and then this loose leaf. Whoa something with lemon Mint ginger if you want to add it and all of this this was $2 and 250 and 250 Trader Joe's Trader Joe's crushing it. You know what? I'm gonna say butter my bread butter my bread You do it. Okay. Mm-hmm. This is the red refresh herbal tea. I don't know about the loose leaf I think that also is caffeine free, but Little red Cool ash of red. Oh So true love we are talking about enjoying the process on YouTube today in training in life in live streaming And in making tea. Oh Amen. That's brilliant. Hey, it's a little things. It's the ordinary day-to-day Nothing's that add up to all the some things and think of Michael Baby steps baby steps. He's not he's not stepping. Yeah, but it's all about those eating real food He's eating real food. It's all about those baby steps Got the speed cross fours enjoying the process enjoying the process even in winter training. All right I'm going into ace here ace hardware picking up some screws. I'll explain what I'm doing back at the house enjoying the process Again just enjoying the process. I must say I told true love a couple days ago like I'm ready for summer. I'm just ready. I'm I'm and I it's like it's it's only january We've got a long ways to go until the temperatures are let's say in the low 70s Like I just as a runner. I just really enjoy nice temperatures for running But I'm trying to be patient and enjoy the process. So that's what these are for. Let's go I'll show you what I'm about to do. Come on. I've never done this before never done this before Here goes nothing here goes nothing Enjoying the process All right, all right We're doubling up today running twice in one day twice in one day It's called a double and I will talk to you maybe next week. Let's shoot for next week I'll make a vlog about my thesis behind why you should double or not double the benefits and the drawbacks And I have opinions on I have an opinion on both the benefit and the drawback to doubling So uh come back next week for that But the main reason I'm doubling today is to test out and enjoy the process of figuring out how to train Well in the winter and listen, I don't live in norway. I don't live in chicago I don't live in northern japan where there's just ridiculous amounts of snow and Precipitation like in denver today the the roads were snowpacked this morning But because we are higher in elevation the sun is pretty intense here It's it's basically all gone off of the road. So I'm still though I still want to there's a little bit of snow and ice left and so I still want to test out these half inch hexagonal screws that I just put in the bottom of these old solemn speed cross fours and basically in denver The deer creek run that I like to do and you've seen me run there before at deer creek It's a beautiful location, but there are some quite a few sections of that run that basically Melt during the daytime and then freeze at night And so it just turns into an ice rink up there And some other runners shout out to keith shout out to russell some other runners out there Use this technique of putting screws in the bottom of their shoes And this is not this is not the question of the day But I will ask do you put screws in the bottom of your shoes in the winter time? This is the first time I've ever done this. I'm excited and listen again I don't live in a very crazy winter climate. I'm not in norway or northern japan or Main or manitoba. So listen, this is like a little bit of a stretch for me to do this But I still want to try it. Okay. Let's double up three mile run just around denver See if I can go find some ice and snow ice and snow. Come on Okay Okay, everybody. Okay enjoying the process out here enjoying the process And I'm not just talking about training and running, but also just the little things in life the baby steps Listen, it's cold. It's friday night. I'm out in the shed. It's 8 o 4 p.m. And I'm out here alone And guess what this tea is a little thing. It's a little um Luxury of life that's gonna help me enjoy the process of filming these videos for you And I just anyway, maybe I'm making a I'm stretching the point a little bit too far But it's like those little thing the kozalig of life, right? Remember we talked about kozalig a couple months ago It's just those little actions that we can take every single day that I think help us Enjoy the process. Anyway, maybe I'm just riffing here too much. But okay, let's dive into peak races and what I already touched upon earlier today I love peak races. I made a vlog all about peak races. If you haven't seen it I'll try to remember to let it come up in the upper right hand corner right now because I think I attempted to Communicate to all of you that it's really really important to choose some peak races in your calendar year to shoot for and to train for However, I get excited about racing sometimes too excited, especially if it's on a course that I love And so we have to temper our enthusiasm a little bit as athletes and especially as very competitive athletes so that we don't forget about The journey right the journey to get to that starting line and I've realized since I've registered for the cleveland marathon in may that I've been thinking about it quite a bit because it's exciting. It's my first road marathon But then I think yesterday and definitely today on my runs. I was like, wait a minute This is amazing. I'm out here running in the snow It's freezing out and I'm just trying to really make a conscious decision to enjoy These steps right now not enjoy the next mile not enjoy like getting done and drinking a hot cup of tea but actually enjoying the steps that are right in front of me in the actual moment and Yes, sometimes it does require yes taking out my air pods and just Because when I'm and just so you know, I don't listen to music. I listen to a lot of podcasts.   You're saying, okay I'm in the moment This is my moment to advance my fitness to my next goal And I'm going to enjoy these steps right in front of me right now Uh, but another action that you can take is to change it up Don't run the same route every single day change it up run different places And I know it's not always possible because of scheduling and travel time and all that commute time But sometimes as runners we get in a rut and we run the same route over and over again And yeah, maybe you're not it maybe you're not enjoying the runs the training as much as you could be If you just took a right turn instead of a left turn at the fork in the road that you come to every single day Or whatever the case may be um or for me, I've actually enjoyed running downtown in the last Uh three to four months instead of running all in the mountains Are all around right around my house. And so anyway, that's like just changing up a little bit where we're running I think can help us Uh, enjoy that process of training because we're seeing new things and that's exciting as human beings It's exciting. It's exciting. And of course you better believe it process is the key word a process down in the comments And for all the new subscribers, which by the way, I don't know we're closing in real quick on 8 000 Welcome to everybody who subscribed and let's just say the last week if you're noticing a a Random word, but it's not random word down in the comments before people Answer the question of the day Basically, the keyword is designed to just help get the conversation going down in the comments So thanks for typing it in down in the comments process. That is the keyword for the day And yes the question of the day Do you feel like you Struggle with enjoying the process of training as a runner Do you feel like you struggle with enjoying training? Basically, he's what i'm asking or and if you do Why do you think that is and if you don't if you like and be honest, you know be very because i'll be i'll be frank Like I struggle sometimes i'm like, uh My biggest challenge is time I get a little bit anxious about the time in the day And how am I gonna find enough time to run that day? So I don't always enjoy the process of training I'll just call the spade a spade, but uh, so that's the question of the day and if you do Enjoy the training Let's just say 90 of the time like what is your trick teaches your ways like and yeah Just teaches your ways like what do you do to really enjoy? Running all right, and we're gonna have a lot of different perspectives being shared Down in the comments with that question of the day. Thanks for answering. Oh, and yes I will be publishing a second video today Come back probably i'll publish it at let's just say i'm gonna publish it at 3 p.m Mountain time so east coast that's 5 p.m. Basically giving my first Impressions of the on cloud x shoes. I've got a lot of thoughts on these shoes after taking them out for a good run today All right, that is it. I'm going to enjoy the process of drinking this tea and enjoy Just being alive being alive, right See beauty work hard and love each other. Thanks for being here. Thanks for being here. Hmm So so if you're still watching thank you I forgot to talk about these shoes and running with Screws in the bottom of them and so I will take them up to the mountains run on ice up in the mountains I know that sounds crazy, but I make that point because One way to stay Engaged in your training and joy the process of training is to do something different Something maybe you've never done before think outside the box Whether it's like, you know if I had sand to go run in if I lived by a beach and I'd never run on a beach Like I would go do that just to change things up a little bit Well, I've never run in screw with screws in the bottom of my shoes So this is one way in 2019 that I'm gonna change it up a little bit And yes, I'm gonna go find ice to run on in the mountain somewhere Probably a deer creek just to enjoy The process of running just change it up change it up a little. All right. Now we're done. Whoo


One of the really neat features with GitLab is that you can organize your projects into groups. So if you've got a lot of different repositories, which is kind of the case with me, you know, I can organize, you know, some of the projects in a different group than the others. And this is really nice, especially if you want to grant access to multiple projects. For example, let me switch over to my GitLab here. So my GitLab, I'm not currently using groups. So my personal projects, this is, you know, like 10 or 12 of my repos here. But if I view all, you will see all of my repositories. I've got 25, 30 repos now on my GitLab. And I have several DTOS related repositories. DTOS here, that's the script, the actual installation script that gives you DTOS, which is my Arch Linux post installation script. You've got DTOS-sounds, which gives DTOS startup sounds, shutdown sounds, DTOS backgrounds, as a wallpaper pack, DTOS-configs, or all the config files that get placed on your system when you install DTOS. So you get my Xmonad config and bash config, fish config, my Doomy Max config. You got DTOS-package build, which is the package build for all the programs that I maintain. And then DTOS core repo, which is the actual repository of the binaries that are created from the package build. So I've got all these DTOS-related repositories. And honestly, anybody that wanted to become a member and actually work on any of these DTOS-related repositories probably needs access to all the DTOS-related repositories, right? And it makes sense. If I had all of this in a group, if I just moved all of the DTOS projects into one group, then I can give somebody access to the group itself and they get access to all of the projects within that group. And that makes sense. It also makes sense just from an organizational standpoint, because the DTOS-related stuff really needs to be separate from my personal stuff, like my doc files and things.  It isn't necessarily my baby. I'll maintain it. But, you know, like my dot files is really my stuff. You know, people will occasionally open issues or do merge requests. You know, maybe if they see something like a typo or something, but it's not a project that people are going to join and actually work on because I don't want you working on my dot files, right? This is for, you know, like my key bindings and things like that.  So it makes sense to have that separation. I think what I'm going to do, I've kind of resisted using GitLab groups. I've known they existed for a while, but DTOS is starting to grow to the point where I need to move all of those DTOS-related repos into a group. And I'm going to do that on camera today. So let me switch over to my desktop and here in the browser, we're looking at, of course, my personal projects. It just lists all of my repositories on my GitLab. And you have a groups tab, which once you create a group, it will appear under groups. I've already created a DTOS group. How do you create a new group? Similar to how you create a project. You go to the menu and instead of projects, create new project, you go to groups and create a group. And then just click create group. And of course, similar to how you create project, you would give it a name and you would give it a URL. So in my case, I called this DTOS and of course the URL would be DTOS. It added a one to it because DTOS without the one already exists, but I'm not going to create anything new here. And then of course, you have the options of you want this group to be private, meaning no one sees this but me, or public, meaning anybody that visits GitLab will be able to view this group and the projects within it. For those of you that maintain your own personal instances of GitLab, you may also have a third option here, which will say internal, meaning only people that are signed up and logged in to your instance of GitLab can see the groups and the projects. Now, I don't need to create this group. So let me back out of this because I've already created the DTOS group. And you can see I've already moved an existing project of mine into this group as a test. This is not an important project. It's probably something I'll delete. This was a little GTK app that I made on video about three months ago when I did my very first video on I'm going to create my own GTK app and I'm going to write it in two different languages, Haskell and Python. And, you know, I made this repo here for the source code called DTOS-hub. Right now, I think it's a private repository. So you guys won't see it, but I just wanted to do something that's not important, you know, to move it here to see how it works before I start moving some of my important repos. And it actually was pretty easy to move this stuff. So let me back out of this and go back into personal projects. And I'm going to start moving the DTOS repos here. So what I'm going to say right now is as I'm moving these DTOS repos, the URLs for all of these DTOS related projects will change, meaning while I'm making these moves, things are going to break. You guys that are installing DTOS while I'm making these moves, the script is not going to work, the repos no longer going to work because the URL has changed, all the package builds are not going to work because they're going to be looking for source code where the URLs have changed, et cetera. So I'm going to have to do some fixing off camera, but what I'm going to doing here, I want to show you how to actually move the repo. So let's start with the DTOS repo, the actual script. What I'm going to do is go into settings, and then if I scroll down here, there's some advanced settings, I believe. I believe that's where I will be able to actually move the project. You could also delete the project in the advanced settings if you wanted to. I should have an option here for transfer projects. So select a new namespace, meaning no longer is this going to be getlab.com slash dwt1, which is my username, slash DTOS. Instead, it's going to be getlab.com slash the group name DTOS that we just created slash DTOS, the project name, if that makes sense. So we're going to move this from user Derek Taylor to group DTOS and transfer project. And of course, it's going to require confirmation because again, when you change URLs of projects, things are going to break. Anybody that was depending on the source code and was using the URL, the URL is changing, things are going to break. It's one of the reasons why I've kind of resisted organizing my stuff into these groups. If I had started with the groups, it was fine, but now I know I'm going to break some people's stuff. But it's something I was, I know I was eventually going to need to do anyway. So today I'm just going to go ahead and rip the bandaid off. Let's go ahead and do it. It says type DTOS, so the name of the repo to confirm. So DTOS confirm. And now let me just open up a new tab here. So if I go to my projects here, and actually I didn't want to go to my projects here, I actually really wanted to go to my home page here. So getlab.com, DWT1, and go to groups. And now DTOS has two projects within it. So I click on it, you will see the group page, DTOS, and then the projects within it now. If I click on the DTOS project, yeah, the URL has changed. And now what I want to do is I want to go and move all of the other DTOS related repos. I'm going to go ahead and move DTOS sounds and once again go to settings. I'm going to do the seven or eight DTOS related repositories. I'm going to move all those to the DTOS group.  So I would just speed this along here. So I'm going to jump ahead on the video once I'm done. And that just took three or four minutes to move all those DTOS related repositories to this new DTOS group. And by the way, you have new subgroup this button here. So you can actually have subgroups within a group, which is really nice, especially if you maintain a very large kind of complicated project with a whole bunch of members that you need to manage membership and permissions and things like that. That's what the groups are really for. I also like the fact that it just is good for organization, right? Because I don't have to go look for all the various DTOS related repositories through, you know, all of my personal projects because now that I've moved them to their own group, none of those are part of my personal projects anymore, which makes sense because they're not really personal projects. Oh, I had this other DTOS related repo private repo DTOS build ISO repo I built months ago. And I actually had somebody that wanted to build an ISO for me and he actually built an ISO for me at one time, but it's no longer maintained. I'll probably just delete that repository there. So now what I need to do is I actually need to go and actually change all the URLs for like the package builds and the core repo and the DTOS script itself is going to have some URLs in yet that no longer work. So I'm going to spend the next, I don't know, half an hour to an hour changing all the URLs and the various files that I need to and push them now to the new GitLab group DTOS. Anyway, before I go, I need to thank a few special people. I need to thank the producers of the show. Devon Dustin gave James Max and Matt Michael Mitchell Paul Scott West. Why you bald homie Allen, Armoredragon, Chuck, Commander Ingrid, IoGuy, Dylan George Lee, Lennox, Ninja, Maastrum, Mike, Erion, Alexander, Peace, Archon, Adora, Polytech, Realiteats for Lust, Red Prophet, Steven and Willie. These guys, they're my has tiered patrons over on Patreon without these guys. This episode about GitLab groups would not have been possible. The show is also brought to you by each and every one of these ladies and gentlemen as well. All these fine ladies and gentlemen, there are my supporters over on Patreon because without each and every one of these guys, I couldn't do what I do. I don't have any corporate sponsors. I'm sponsored by you guys, the community. If you like my work and want to help support me, subscribe to DistroTube over on Patreon. Alright guys, peace.


Hi, my name is Mark. At a high level, this work combines state-of-the-art peripheral auditory models with artificial neural networks to model the speech recognition difficulties of humans with hearing loss. While a great deal is known separately about the peripheral physiology and the perceptual consequences of sensory neural hearing loss, our understanding of how the first drives the second has been limited by a lack of computational models that can perform real-world auditory tasks as well as humans do. By combining highly detailed computational descriptions of the auditory periphery with deep learning, we aim to address this need. Deep artificial neural networks optimized to perform auditory recognition tasks from simulated cochlear input have recently been shown to replicate aspects of human auditory behavior. Here, we extend this approach to investigate how damage to peripheral auditory structures can account for difficulties recognizing speech in noisy environments. Our use of a detailed peripheral auditory model allows us to plausibly simulate hearing loss in our network's ears. For instance, we can simulate loss of outer hair cells, which results in broader frequency tuning and reduced responses to quiet sounds in the periphery. Similarly, we can simulate loss of inner hair cells and auditory nerve fibers and then investigate the effects of these changes on the speech recognition behavior of our deep neural network. To see the results of some of these manipulations, I hope you'll stop by the main topic. Thank you.


I am Professor Paul Downs, Professor of Psychology of Education and Director of the Educational Disadvantaged Centre at the Institute of Education in Dublin City University. I think a major concern is the lethal cocktail of poverty and the pandemic, post-pandemic impact. We see from PISA 2018 already a very concerning deterioration in basic skill scores across reading, maths and science for over one in five students across Europe. It's very much a holistic approach emphasising success as the wellbeing and social and personal development of our children and young people, developing social and personal competencies, self-awareness and of course at that level bullying prevention comes into this because bullying is the antithesis of healthy communication. Certainly the one key layer for the new initiative is a message to Member States to integrate early school living and bullying prevention strategies. And here there's a range of layers added to the 2011 Council Recommendation. These include I think a stronger focus on differentiation of need to distinguish universal approaches for strategies from targeted group approaches from individual intensive support. So the differentiation angle is a key difference. There's also I think a recognition of a whole school approach that was not in the 2011 approach that we need to see schools as systems, systems of relationships, of strategic interventions, as well as of course the multidisciplinary teams in and around schools, the cross-sectoral aspect to bring together key sectors. So I think some obvious strategies at the prevention level that would need to be firmly embedded and which would have a good evidence base behind them would be things for example such as home book programmes, targeting families in high poverty to ensure there is good reading resources in the homes, to inculcate a love of reading that is central not only to reading proficiency but of course to all academic attainment. Regarding the level then of intervention, obvious ones would be for example there's a Luxembourg model of having language mediators across I think in their example they would have 37 different languages where they would have mediators for those to address the language issue. Regarding the compensation aspect I think there are clear lessons in compensatory education even for the mainstream system. These include things such as public recognition of achievements through awards and ceremonies to recognise achievement. This is something that would cost nothing and which could be brought much more into the mainstream system. I think an obvious opportunity here is the whole area of restorative practice which is a range of fairly simple questioning and communication approaches and it's to be distinguished from restorative justice which is a very different initiative but restorative practice in schools is an inexpensive, simple yet very nuanced and focused way of improving the communicative culture in the school and through open questions that help foster empathy and perspective taking not only in students but also in staff. Whole school system approaches need to hear the voices of students and parents but also especially marginalised and those students at risk of exclusion to hear their concerns with the school system and of course the multidisciplinary team dimension then is about recognising that we are broadening our conception of school. School is not only about teachers and students and pupils school is also a site where a range of other key professionals can engage with the wider holistic needs supporting our children and young people.


And welcome to my session on building reusable websites on Drupal 8. Can anyone hear me fine in the back as well? No? All right, let's see. Can you hear me now if I speak a bit louder? Perfect. So today, I'm going to talk a little bit about lessons learned of transforming RedNoseDay.com. First of all, who am I? My name is Peter, and I've been a long time Drupal contributor, probably for more than 10 years I've been involved with Drupal. And I kind of wearing two hats. One hat is tech lead at Comic Relief, which is a major charity in the UK. And the other hat I'm wearing is I'm a founder of Marzulabs, which is a small web development agency originally from Barcelona, Spain, with offices as well in Portugal. A little bit about Comic Relief. Who in the room does not know Comic Relief? All right, so many people actually know Comic Relief, and that's probably because Comic Relief also exists in the US. But I'm speaking here on behalf of the UK team of Comic Relief, which is a major charity in the UK. We raised about over 1 billion pounds since our existence in 1985, money that we spent to tackle the root causes of poverty and social injustice. We do that mostly by organizing two main fundraising campaigns, Sports Relief and RedNoseDay. And you might be familiar with RedNoseDay because RedNoseDay is coming up as well in the US, end of May, on NBC. So obviously, I'm here to talk about Drupal, right? So we've been using Drupal at Comic Relief since 2014, and even before that, when we ported over our main web presence, comicrelief.com to Drupal. Now, we're doing these fundraising events year by year. So in 2015, we started working on our 2015 RedNoseDay campaign, where we chose for multi-sites. Basically, because we wanted to reuse the same code base that we set up for comicrelief.com. Now, when we started in our 2016 campaign for Sports Relief, we wanted to, again, reuse the same code base. So we thought, OK, we have this multi-site setup. Let's continue. Let's put another site on a multi-site setup. And as probably most people in this room know, multi-sites is not really a good idea. You start at some point, you feel like giving up, right? So the reason is that basically you're stopping yourself to innovate from the start by combining code bases from different projects altogether and not allowing you to actually change one thing and having it affect all the other sites that run the same setup. So when we started our RedNoseDay campaign for 2017, we started differently. We wanted to build a platform, a product, to power all our editorially controlled websites. It's a very different thing to think about something like that than to build a website. We don't want to build a website, we want to build a product to power all our campaigns that are coming in the future. And we want to really focus on three main components here, three main streams of work that I think are vital to build such products. The first one is the editorial experience. Editorial experience is very, very important because we want to build a tool that allows our editorial team to build a compelling website with different landing pages for our different audiences. But we also want to make sure that we automate this process and we streamline this process. We want to make sure that we build a product that we can iterate upon with a semantic versioning system behind it so we can actually know which website runs which version of the code base. And finally, I'm going to talk a little bit about decoupled services. And I'm sorry to disappoint you but I'm not going to be talking about headless Drupal. Because I think there's many different ways to decouple services that are not currently touched upon by headless or by existing ways to kind of decouple different parts of the system, right? And finally, not surprisingly again, our technology choice here will be Drupal, specifically Drupal 8, which is a very different kind of system from previous versions of Drupal. I think it's also important to say that I'm not going to really be talking about how we use Drupal or what modules to use and all this kind of stuff but rather how to position Drupal to build a stable product. So first of all, let's start with editorial experience. This is a sample website, a sample page, where you can see different components being used to make a landing page, right? So we want to build a site that can power these kind of pages. To do so, we didn't start this process directly in Drupal. We didn't want to be kind of bogged down by Drupal's code base, database, all these kind of things to develop these components. So we started with our pattern lab. This is very hot right now as well in the community where people are talking about component-driven design. Well, that's very important for us and I think for many websites. In this case, we started kind of dissecting our page into patterns. Examples would be like a quote block or an email signup header and kind of positioning this into a pattern lab. For this, we use something that's called KSS. Now, style sheets with sort of a documentation syntax for CSS. The good thing is that this can now be tested. We can develop these components in isolation and we can actually link them. And I don't know if you can see that at the bottom, there is an actual tweak template that relates to the CSS and to the display that you see on top. And that's reused later on by our Drupal instance. This kind of leads to what we call our pattern lab-driven development. So when we start building our components, we come up with an idea, let's say a quote block. We start building this quote block inside the pattern lab. Just using HTML, SAS, and JS, if for example, there's some interactivity to it as well. And then we kind of iterate over this until we're happy. We do a series of review processes, multi-device, QA, sign of all these things can happen without you having to do that within the Drupal sites. That's a major win because this process is so much faster. And then we move on to the Drupal development stage where we're gonna work on our content model, our view modes, put all this logic inside a component module and work on the tweak and potentially some pre-processing in PHP. Before it shipped off to the final product, the final site, where then the editorial team will take this on and start reusing this on all their different pages. Some things about the previous slide as well is you can actually do that in, you can start sharing this pattern lab with non-Drupal sites as well. So within an organization, you can build a pattern lab. That's generic, and that's all the sites can plug into and reuse the components they wish to use. We're currently in the experimental phase with that, packaging up our pattern lab as an MPM module. So how do we connect this now to Drupal, right? So how do we, what do landing pages, how do we build these landing pages in Drupal? And we went to a series of iterations to kind of get to where we are now. And our first iteration has been panels with penalizer, which is a very flexible approach to build compelling landing pages. However, it's a little bit like a hack because penalizer kind of ties the power of panels into a node, right? It feels, it's a great solution, but it's too flexible and it sort of feels like a hack. Our second iteration then used the same thing, but we started to use the paragraphs module within that penalized node. This, this worked a lot better. This worked so well that we actually didn't need panels anymore at all. So our third iteration was paragraphs. And paragraphs is a fantastic module. Check it out if you haven't. I think it's revolutionizing the way we do contents, content entry, and we build complex pages. And we kind of extended this, not really extended, but we used block reference a lot because the difference, a lot of the things we need to enter in these landing pages are not necessarily contents, such as an email signup form or something that has some custom actions added to it. So for this we use a block reference paragraph type that can kind of pull in blocks in the paragraph node. This is kind of how the system looks like, very simple. All powered by Contrip, no custom code required at all. We have our nodes with our different paragraph types. Main thing to know is paragraphs are not reusable. So if you want pieces of content that you can reuse on different pages, you might wanna structure this into what we do, what we call our library of blocks. And now you can just pull them in through paragraph types again. And this is how you can kind of give a lot of flexibility but don't compromise on the editorial experience. All right, that's the first part. The second part, I think that's very important when you build a product, is you need to focus on automating and streamlining everything. This is something very, very important that you need. And that is, you need to make your build in one step. It's part of Joel's Polsky's original tests for building good software systems. And you need to make this build in one step. How do we do that? Well, we package up our websites and our components using an installation profile. So basically build a distribution. Might sound very familiar to many of you, right? And we use the fantastic CMI in Drupal 8. We kind of slice up our config ourselves manually with config.develop so we know exactly what goes where and we don't have this monolithic blob of configuration. Default contents has been talked about before in the keynotes, very important because when we ship our product, we want to ship it with default content so we can, developers can do something when they extend the functionality. We can do QA, we can do automated testing all reusing that default content. And finally, you should use a build tool. We used to use Fing, which is like a PHP build tool, very powerful, but recently we're switching over to Composer, which feels more native to the projects as well as all the latest changes that went in Drupal 8's core that help you use Composer. If you haven't used it, check it out. Composer is fabulous. It's so much better than what we had before with Drush and Drushmake and all these kind of things that feel, always felt a little bit like they were native to Drupal. Finally, we also need to think about tests, right? Because if you build that product, we need to automate everything using tests. So we do a whole series of checks. Code quality checks, configuration checks to make sure that configuration is in the right place. Distribution installation tests.  That's not something was broken. And then you need to look at behavior tests. Like you want to use a tool like Behat to simulate the editor going through the site and adding all these type of landing pages that you've just been developing. After you've done that, you can check the locks, the Drupal locks, for example, to see what errors have been generated through this Behat process. That's a very nice way for you to make sure that all these errors you would otherwise see in production are caught at a much earlier stage. And the last thing that I think is quite important and often sort of forgotten is visual regression tests. Every time you make a change to your front ends, you want to make sure you understand the impact of that change. So you need to have some way to check this. And we're using a BBC's rate tool. There's a couple of other tools out there as well. I don't think it's receiving the right amount of attention. So I hope this will change in the next months or so. Finally, of course, automation is nothing without some sort of continuous integration behind it. So we use Travis, Travis CI. It's a fantastic tool because you can spin up basically a new instance on every commit on Travis infrastructure. And we run through all our checklists. And the builds basically will fail when any of these things fails. It's direct feedback for a developer, especially when you use something like the GitFlow model and you make pull requests. You can actually see the state of code and understand how things are affected by what exact action. Then the last thing that is kind of important to our setup, let's say, our preview branches. Preview branches basically on every commit to the code base built aside for you. And we use the service of, the fantastic service of platform message which can spin this up very easy for you, very cheap, and also directly give you feedback within the pull requests. If you haven't worked in such a setting, it's really great because it allows you to follow the changes as they happen to the code base. And then I come to my third part that I think is very important when we're developing a product, which is you wanna write better codes and you wanna use something like the coupled services. Again, I'm not gonna talk about headless, but I think the coupled services are part of our microservice infrastructure ecosystem. And there is many ways to do these kind of things in the land of Drupal. But first, better codes. Has anyone seen this slide before? Feels slightly familiar when you work on a Drupal project. Basically what I'm trying to say here is the more code you add to your product, to your code base, the more errors you're gonna see times two. So we wanna minimize the custom codes, right? We wanna make sure we only add the right amount of code to our code base and actually went through our current code base as a kind of a test. And I found just around 2,000 custom PHP lines in our distribution. Basically these PHP lines were relating to option callbacks, custom display suites, fields, solar tweaks, all these kind of things that you would call glue codes when you do a Drupal project. All the non-glue codes, on the other hand, we try to contribute this back to a specific module. So we needed a really good reason to do something, to do glue codes, in fact, because if you could refactor it into a module that can be contributed, that's the way forward, because then we can plug into the community to help maintain these codes. And let me now talk about kind of the two patterns I see for doing the couple services in Drupal. The first one might seem very obvious. Basically, we call it the embed pattern and we use iframes. Before you say iframes are bad, don't use iframes, you see iframes everywhere. If you see a tweet embedded within the New York Times article, chances are that tweet is coming from an iframe. So iframes are very much used on the web every day. So basically we make this easier within our CMS by allowing the editor to add iframes from other sites. An example here is a kids game we developed for our younger audience that is developed in a different framework. It's a front-end game using all kinds of 2D, 3D rendering techniques. So we just embed this from a different URL in our websites and kind of surround it with editorial content. That's kind of obvious. The other one is much less talked about, at least for Drupal. And we call that the queue pattern. Queues are a vital component in the land of microservices. Everything is connected, or almost everything is connected with each other very often via queues. And basically a queue system is very simple. You have a producer that produces some data and adds it to a queue. These messages are queued there until a consumer at the right time fetches the data, processes it, and does something with that data. Now, how does this look like in Drupal? Why, how, where do we use this? An example is an email list subscription. We have a producer, which will be our email signup form, would be a custom form. And we have a queue. That's every time somebody adds an email to that email signup form, it gets, a message gets added to the queue, including the email address, maybe a template ID, maybe some more data. And a consumer will eventually, at his, at the right time, pick up the data and do something with it. In this case, this might be a custom app. Might want to experiment with a Node.js app, or it might be a symphony console command tool, or anything that the team that wants to do something with that data is comfortable with using. And that would take the data and talk to Mailchimp, for example. So this is, in essence, a way for you to avoid using a module like Mailchimp, or any other direct email module within Drupal. And you kind of really separate two things from each other. This is great because you can now swap out your email provider for something else at a later time, and you wouldn't even have to touch your Drupal code base. So this is a kind of a recap slide, my final slide. How does our platform ecosystem look like? What kind of websites have we spun up using our products code base? That you see at the top. And currently we're running rednoseday.com on that code base. Rednoseday.org as well, which is the US campaign, is also using that same code base. And we're kind of refactoring all our other editorial websites as we go. And we hope to finish this up in the next couple of months. This is a little slide. Please join the sprints. Drupal is nothing without the contributed code. And thank you for your attention. If you have any questions, please come to the mic. Hi, thanks for your presentation. I was wondering, you mentioned you're using config.develop for breaking up the configuration. I'm wondering how you're doing that and what purpose that serves. We're using config.develop to kind of slice our configuration on a kind of a feature level, much the same way as you would do it in Drupal 7. So you would put the view modes, you would put your content type, you would put your fields all manually together into a module using config.develop. And then it's kind of a way for us to slice up our configuration for our distribution. There's many different ways. We kind of took this idea from AGOF, which is a fantastic Drupal distribution. But there's many other ways you can manage this as well. There's a lot of helper modules being written right now. This kind of works for now for us, but we might swap it out for something else in the future. Thank you.


Hello everyone welcome to our talk the powerful intersection of Drupal development and UX design at cyber doc It's quite a mouthful. I know but hopefully it'll give you a peek into how we work together and effectively in our agency To make some great products for our clients First of all, who are we? We're in the ward with an agency based in the UK and we also have offices in Germany Spain Portugal and the US We bring together user-centered design strategy content and technology to build Secure accessible and user-friendly platforms for our clients We've been established for over 17 years and we've worked with a wide variety of clients including some brand names like Bank of England The Commonwealth Bosch and compare the market My name is Mira I'm a lead user experience designer at cyber doc and I've been here for just over four years now I've led the UX work for a number of our key clients working across user research and strategy information architecture prototyping and usability testing and make sure we bring a research and Evidence-led approach to our projects while also ensuring that accessibility is at the core of what we do Hello everyone, my name is Enrique Vorba and I'm taking a lead at cyber doc And I've been engaged in the Drupal community for more than nine years as a software developer So I'm sure you're all familiar with the term user experience or UX by now But just so you know we can set the scene and make sure everybody's on the same page According to the Nielsen-Norman group user experience refers to all aspects of an end user's interaction with the company It's services and products and UX design is all about designing Meaningful and relevant experiences to help people reach their goals in an easy but also in an enjoyable way It's vital for websites apps or any platform to succeed and to achieve this User-centered thinking must be integrated through every step of the design and development process There are many UX frameworks out there but what they all do is provide a roadmap for designing these user experiences and They lay out steps of the UX process and give direction to the project But UX design isn't only important for the end user it brings benefits to everybody working on the build Particularly the development teams. Let's look at what some of these benefits are when the development team is involved in the UX phase You have a clear roadmap for the build the design team we use wireframes You'll be familiar with these the visual guides where designers show the different elements and components How these are laid out on the intended page and what the user journeys can look like? We use these to facilitate discussions with the project teams to test layouts layouts and screen floors with users And as the project progresses we add more visual detail and UI Elements to it and iterate on these these iterations reflect not only the user research and the testing that we're doing But also the technical discussions with the project team They provide a strong foundation for the build because they show you what you need to achieve as a developer And what you need to do to get there and so because they're backed by a research Developers can be confident that all the different elements are there for a reason Without taking a user-centric approach from the beginning Issues may be uncovered further down the line because it's not meeting the needs of your end users So for example, you may realize that the information architecture is not working or the menu is too confusing And people aren't able to find what they're looking for a complete the task Which then means that the developers need to go back in and fix things and build it Retroactively, so it's twice the amount of work in twice the amount of time With a strong UX approach from the beginning This is much less likely to happen and there are so many factors to think about when you're creating a website from responsiveness to Accessibility and if you're lucky enough to have dedicated teams in your business It's much better to rely on the specialist so everybody can work to their strengths And the UX team is there to help developers focus on their work knowing that the best user experience is also being taken care of Insights gathered from the UX process can also lead to easier and more focused conversations Because you have a solid reasoning behind every aspect of the design and build It makes it much easier to answer questions from stakeholders And clients around why is this a certain way? Why does it interact with this element? Also, if you face last-minute changes, which we all do or things that contradict what you've learned about your audience from the research, you're in a much better position to be able to push back and have those challenging discussions Collaborative environments also mean more knowledge sharing and better relationships. It provides opportunities for open communications You bring in multiple perspectives and new ideas and insights from different sites And so when the teams are blended in from an early stage Everybody can learn from each other and you develop strong working relationships that reflects on the work Which of course means a better end product So we need to remember that everybody is working towards the common goal Which is to create the best possible experience and the best possible finished product and in our case in an agency environment It means that we can deliver great results not just for the clients, but also for their end users Let me give you an example of the difference a user-centric approach can make You're familiar with a mega menu can be used to show a large amount of information That obviously needs careful consideration So here in the old USA.gov website, which by the way has been updated the categories in the menu are not laid out in a very logical way I mean they might have been a logic somewhere for example It may have been based on frequency of usage, but just by looking at this menu You don't know what this is and it's not obvious So we're forced to read through a large amount of information to find what we need a Menu should provide a good starting point to navigate the website But in this case the user might have already been frustrated before they've even begun and might leave the page In contrast the ST loader example here shows the difference when user-centered thinking has been applied Here you can see just like the previous example. There are many products. There are many categories and many Navigation options, but they're organized clearly and give the end user a number of different pathways to find the information that they need Research may have shown that when shopping for skincare people might be looking for an answer to a particular problem like dry skin So the products have been ordered here by concern Recognizing and respecting the user's natural behavior like this will help people navigate the site more comfortably and find things that they're looking for in a more intuitive way and it makes it easy for people to find and Purchase an item brings increased conversions and return on investment for the business and also it makes it more likely for the customer to Come back because they've had such a positive experience on the site But what about an existing site? Where do you start with checking the user experience? First and foremost, I mean it's in my job title But the most important thing you do is speak to your users get their feedback on the site features What they struggle with and observe how they use the website? There's so many different ways to do research whether it's through interviews through surveys ethnographic studies where you're watching how they interact with it But the goal is to see to find out what the intended audience is thinking what they're feeling what they need to do and Whether they're able to complete their tasks in an intuitive way And you need to let go of any assumptions that you might already have about how the interface is working You're not the end user and you need to let their feedback guide you You can also look at the website analytics and see which pages are being visited and which ones are not look at You know time spent on different parts of the website Drop-off rates and where this might be happening. Is there any dead weight that can be improved? And that can be removed to improve the user journey Which of course brings us to content, which is a hugely important part of your platform It's what's conveying information to your users reviewing and Auditing your website content. Do you have any outdated content that can be removed any pages that can be combined or rewritten is Is everything is all the copy readable? Is it accessible has it been checked by both subject matter experts? But also end users to make sure you're getting the widest possible range of inputs Now you may have challenges with these individually for instance Maybe the analytics tracking hasn't been set up properly or you may not have the resources to do very in-depth user research But even small attempts is a great start and can all contribute to getting an idea of what works well on the website And what doesn't? right so All these methods can help you test the UX from an existing Drupal site But for better results is very important for designers and developers to engage as soon as possible from starting the project And probably tie deadlines Usually developers don't see the design until it's handed over for the bill. However, it is vital for both teams to engage throughout the entire process Both teams won't be must be aware of any design decision being made as well as any limitation during the Drupal do during the builds stage These so we can avoid running into problems in the future Now we understand that in the real world is not always possible for designers and developers to work closely together side-by-side However doing so even in small ways can bring a lot of benefit to the projects having regular stand-offs or Having dedicated slack channels can make all the difference Working in agile methodologies can also help because if it's terative nature Help to bring to keeps everyone in the loop So at cyber though, we started bringing the developers into the initial UX and designs phase So this way we gain insight into user requirements right from the beginning The Russian we understood from the beginning the rationale behind behind any decision being made and both teams were aware of What each other was doing? After all we are working toward the same goal. So it makes sense We are delivering the best side for both our clients and then users So we have talked a lot about collaboration and how important it is. Well, how do we bring this into the real world? Collaboration has always been part of how we work on cyber doc But when we started working on Oscar kilo, we started thinking on how we could put this collaboration even for her Oscar kilo is an online hop for mental health and well-being for members of the police officer members of the police force in the UK this project involved Completely user-centered redesigned and a Drupal bill for the from the old Warped side that you can see in here as we mentioned before Developers were heavily engaged right from the beginning in the UX and design process COVID brought ex challenges in the way that the different teams communicate between each other At cyber though, we were used to work in a hybrid In every way even before the pandemic but this time means that everyone was working remote So face-to-face interaction was not possible at all To overcome this issue We use a series of synchronous and asynchronous tools to keep the communication alive We had regular stand-up and meetings over soon We use Figma and Miro to share the designs and provide feedback even in real time And we also we also share documents and files through the decade is like channels As developers we were involved right from the beginning in the UX process These men that every every board of teams we were aware of what each other was doing when the time came to build a First low-fidelity Wiframes the development team was asked to raise any red flag So we could avoid any issue that could hamper the the bill of the site We advise to the x team on how they could tweak the renal decide to make it work better with Drupal There was a constant flow of suggestion and communication between both teams and These process continue all the way through the end of the project This resulted in a very smooth process that make both themes life happier and easier this collaboration Continued even after we start building the website So if we encounter any problem We always could resort to UXers or designers to have a conversation and try to find a solution together This made the the build process much more efficient because we could focus on our product project rather than making design decisions Here you can see a high-fidelity prototype for the Oscar kilo website Which includes all the components ready for the site to be built and here? We can see an example of a particular component through all in the time cycle from the white framing UI design and the final implementation Notice how very few changes were required throughout the entire process and also notice how Individual component could be a stalling completely different way these gave designers and UXers the freedom for creativity But always doing it in the enough in a development friendly way During the Oscar kilo project the development team start thinking on this idea on how we can push our collaboration even for So we realize that during different projects We were building again and again different components that we could Concentrate in the starter key So we created what we call the component key that provide these components out of the box for all of our duper project That implements layout builder The component key is like a starter key for all the Drupal Sites that we developer implementing layout builder We use a layout builder at cyber doc because it's already in core And we believe that most of the development is going to be driven through at this direction so the Component key is a working process every time that we develop a new component in the given project that we think is interesting We can fit it back into the component key and that makes it automatically available for all of our Drupal sites Here we can see Different components. This is the live orchid kilo site and these components are already part of our component key So in here You can see a list of components that are part of the component key And so for example, you have a campaign blog. You have a content section. You have a link blog Of course, we don't use all of the components on every Drupal site that we build In fact, we have found that the fewer the components that we use the better the experience for content creators and end users the component library also chips with a Based theme that we use to build soup things and be and create bespoke front end for every Drupal site That we built for our clients And here you can see an example. This is a campaign blog that is one of the component in our starter key and it's displaying the the default theme this make it more Quicker to get something up and ready for clients to see So Oscar kilo and the component library that Enrique mentioned provided us the seed of another idea to improve this collaboration that we've been talking about It's the mother file. It's so called because it's the source and the place where our designs originate from So one aspect that worked really well on the Oscar kilo project Was that because the designs were broken down into the component parts in instead of individual pages? The conversation flowed much better between the teams. So we thought what if we built on this? Let's explore tools that would help automate this process and see if we can take this approach to other projects as well So the thinking behind the mother file has always been there at cyber duck But this was just a way to formalize it within our working processes Essentially the file is a repository on Figma It's a single point of truth where UX UI and dev teams can all work together It contains basic ready-made wireframes of around 50 different components that you might typically use In a Drupal build things that we use regularly and this way the the baseline user center thinking behind these components is already done And we've incorporated a lot of the usability best practices So we don't have to design and create a new wireframe every time Of course not everything is included in the mother file But it gives the team time to focus on Customizing these baseline elements to make sure they meet user needs and also the requirements of the project Or we can look at other unique elements instead of having to design the same basic wireframes again and again Once the initial wireframing is complete the visual designer can then go and applied The required UI elements like fonts and colors and branding and make the wireframes quickly come to life The devs can then identify the elements and components needed to make these wireframes into the final functioning site And take these out of the component kit to configure them It's easy sometimes during a standard design process to forget to include those frustrating but essential little details like Footer designs or copyright and legal notices, but all of these are contained within the mother file So they aren't forgotten and so the developers don't have to keep going back to the designers every time to request them Of course, we're looking at things in terms of individual components here But clients don't necessarily think of it that way They want to see the bigger picture the whole picture and so the mother file makes it easy for us to illustrate this for them So we designers can then create some of the key pages taking the red amade wireframes and putting in the content the Images, etc. And we can show it to the client to give them a more accurate picture of how the site will look and operate Previously we would have had hiccups handing over the designs for development, but With the mother file there is no single handover. Instead the teams are constantly collaborating throughout the entire process The UXers the UI team the devs and the clients all have access to the file And they can leave questions and comments on them. So it becomes a one-stop resource containing all the information and Updates from the entire project. So there is no us and them Everyone is collaborating throughout and working towards the same goal. The mother file is also not static We have been constantly changing and updating it so we can tailor it for each individual product our approach of constant Collaboration plus the component kit and the mother file brings benefits to everyone involved The standard set of components we UXers can concentrate on user needs rather than building endless wireframes We have more time to focus on things like research Microcopy interactions and and bring more value to the project Every component can also be styled in a number of different unique ways So visual designers can still have the freedom to be creative and customize all these components and Having access to the mother file also means there are no nasty surprises for the Development team when the project progresses from design to build If we're building every site from scratch, we just end up repeating ourselves So it's better for the development team to spend time working on what makes each site different it also makes it easier to switch between projects to To be able to train new developers and to cover holidays as well And if a client site needs a new component, that's completely fine Developers can create new Custom blocks and feed it back to the component library that you can use in the future The mother file also makes it easier makes life easier for project managers because they're closer to the detail of the project And they can work with the client and the team to build a clear development plan By improving our working processes, we also deliver better value for clients, you know, projects can progress more quickly We can stay on budget and save more budget because it doesn't need as much development And they get a solution that's tailored to their users needs and as we're working iteratively They also have a chance to be more involved, you know When we showed the mother file and they can leave questions and comments Their input is taken into account and they get an insight into how the project is being run And finally a much better user experience for the website audience They should come to the website and know exactly what to do by using some of the familiar components They see familiar design patterns and this makes websites better to use So, what have we learned? Here are some key pieces of advices that we collected during the Oscar Kilo project that we want to share with you And hopefully it's going to help you improve the relationship between the designers and the development team in your companies These are key learnings that we'll carry on in any future project that we are developing As developers, it's very important that we need what are the user needs, what are the requirements and what are the expectations This will help both to guide the build and to limit it We should be encoding for the very beginning in the UX and design process Which takes us to the next point A strong integration between designers and the development team is crucial, especially if you are remote working Using tools like Figma, Miro or our own mother file help us to enhance this collaboration between the teams Communication is one of the crucial elements when it comes to build a successful Drupal site with a good user experience Just don't assume that developers and designers they understand and they know what each other is doing Regular stand up, show and tell us that help keep both teams up to date with what each other is doing Even if you can't do this infrequently or in short bursts, that's even better than no communication at all A good handover or no handover at all from the design team A design handover should be trained like a relay race when the designers just handover the work to the developers and they just disappear If we spot some issues during the project, it's important to us so we can come to the UXers and designers And find a solution for any possible problem that we find with the development of the project Visual reference are also important This gives us a clear roadmap of what needs to be built and it's always better than just reading communication along And agile working One of the major benefits of agile is that you can iterate a solution within your internal team and we decline as well So you can spot issues and problems in a timely manner During the early phase of UX and designer, developers should give feedback to the UX team and make sure that we are making the best use of our client's budget For example, why to create a new fancy login page where we can use the gene login module But then how can designers and UXers propose such features if they don't know about it And this takes us to the final point, which is to educate everyone As Drupal developers, it's our responsibility to educate everyone in the company in the best ways to work with Drupal, greater than against it At CyberDot, we do a few things We have regular launch and learn sessions so whoever is interested can join and learn more about Drupal and how it works The development, design and UX lead, we have regular retrospectives so we can discuss how we can improve our collaboration and make it better The developers also, we run a short session to demystify Drupal that we do every Friday in our company announcement meeting And other teams within the company do the same Is it true that we are becoming increasingly, especially these days? But that doesn't mean that we shouldn't spend time to learn other areas of expertise within the company Especially where our work overlaps So these are our key learnings that we wanted to share with you And hopefully it will help you in the same way that it helps at CyberDot to improve the relationship between designers, UXers and developers Thank you very much So you have any questions? This is time Actually I have two questions The first one is about components, libraries that you showed us If I need to upgrade or change an old component If it's used on all the websites because it's centralized, like you said You have to create a new component on every page So basically what we did is that we developed this component library as a Drupal module that we are hosting in our private repository And we treat it as such So whenever we find a way, when we improve it, any existing component we just do it We do testing and when we just publish the update and it gets replicated to all of our projects So it's a centralized component The same goes with the base theme So it's the same philosophy behind it And for new components it's the same, we create a component, we publish it into the module Every site gets their update and then voila, it's there Okay And my second question, do you have a process after the delivery? Like you said you use analytics for example Do you have like content square or heat maps or things to understand how users use your websites Maybe to improve your weeks afterwards Is that a question for you? Yeah we do that, it can vary a lot by the client Some of them are far more evolved, they want the heat maps, they want everything set up And we have internal SEO teams, we have testing teams and we can set it up for them While a lot of them want to run it separately by themselves and they run the analytics But it's a standard thing that we do So we do heat maps, we do analytics But we strongly recommend qualitative research as well So ongoing testing, we say every few months go and do qualitative research Because there are lots of things that data doesn't tell you, that heat maps don't tell you People are dropping off but you don't know why So we also make sure that it's supported by qualitative research as well I have a couple of questions online from Pete Davis One of them is, my clients expect the expertise of a UX approach but don't have the budget What sort of budgets do you have to have to be able to deliver a full end to end process? Oh gosh, it's a bit of a, how long is a piece of string We are very user centered in our approach And so we rarely have projects where the UX team isn't involved at all When we start from scratch and that's why there was this one particular slide Where we talked about what do you do when you don't have the resources We mentioned small things you can do So we run a lot of workshops with clients as well We work a lot on upskilling clients as well Because we're an agency, we cost money But what we want to do is also create long term change So we might do a one-off upfront research project To build in templates and building blocks for them to then go and use in the future So we do upfront research, talk to them about how they can do this Set up templates, give them guidance on how they can use this themselves Make sure analytics are set up, show them how they can use analytics We've had client projects where it started with no UXs on that project From the client side and now they've actually got their own UX team So we work with them to upskill internally as well But the main thing is even a small start is good enough It's amazing how many clients have never spoken to their end users So you start with some baseline analytics, you start with some baseline surveys Speak to five people, even five people can It may not be statistically significant but it'll give you direction So I'd say it starts on the way And it doesn't have to be expensive if you're only interviewing five people Pete's other question was Do your clients understand and sign off on components without seeing them constructed into a page layout? That's a very good question Something that happened recently in a project that we're working on Is that the model file and all the components It was such a good tool That the client, particularly the content creator team They asked to access to this file So they could put together a prototype of how the content would look like Even before the site was already there So I think it depends on the client But we also made the effort to explain to them How it should be used And how you're going to be used in the future When it's already implemented on a triple site We detected this opportunity this time in this project And I think it's something that we're going to keep doing from now on Offering this tool to the client So they can pre-visualize how the site's going to be Even before writing the first line of code But you do that in the context of a page So they don't just sign off on like a block or a message Basically they have, we use Figma To build this repository of components It's not only the breakdown of the components We also offer to them how the different pages They're going to look like But given the access to this library It allows them to play around with the components You know, they can like a pooslet Move the different components together and see What components work better with what other components And that's going to give you a very good idea On how the final site is going to look like Okay, thank you Any other questions in the room? I have one more question of my own, actually We love Figma, we've used it a lot But we saw the other day that it's going to be Bought by Adobe, apparently Have you got any thoughts on what you might use After Figma, if anything happens to it? That's kind of a mini crisis that we have run Another crisis, but definitely we started having this conversation And I think we share the feeling in the community That it might not be for the best But right now the best we can do is to wait And see what happens I mean, it's a very powerful tool And we use it not only to interact with the clients But internally, posting things back And we use it even in real time So trying to find a new tool to replace it It might be, well, a project in itself So we prefer to wait a little bit to see what happens Hopefully it'll be okay One of my colleagues pointed out, penpot.app I don't know if you've come across that It looks quite interesting So we're going to see what that's like I think I read something about a competitor They call it Ligma So it's not Figma, but Ligma Well, you know So let's see what happens Any more questions in the room? Oh, yeah, no, we've got somebody I'm coming Thank you for asking that, first of all That's a great question I'm just wondering, assuming you continue to work in Figma Does development contribute to the actual Figma file In any way, in terms of documentation, notes About any of the components or anything like that? Definitely We don't contribute with design Because usually we are very bad at designing Me in particular, I don't know about design I can put two cores together But we use the comments And we use it as a live tool So we interact with the UXers and designers In real time So that's how we contribute And we provide feedback to these teams And try to make the design To prepare it to work better with Drupal So that's how we contribute But then, from that point on Is the designers and the UXers That own the design, if you wish Anyone else? I think we're good then Oh, yes Yes Do you put any time or work into UX For administrators of the site once after handover And how that works with how the devs Actually deliver their project? Sorry, time and what? Administrators for sites rather than end users And... You mean in the way they interact with the FITMUN file? In the way that the UX designers And the devs work together To think about the editor experience Oh, yes I think you can... We have to remember that the client Also have access to these documents And the prototype So they contribute in the same way That we, the developer team, we do We post comments, we post questions We post suggestions and the client as well And these interactions not only happen Between the design and the development team We, the developers Can also ask questions to the client On top of the design Which make it more easier just talking In a conversation, in a ticket That is just brilliant requirements It's always better to have something visual To work on top of Just to add, if I understood separately It's like the content editors And people who are actually building those pages So they're a much ignored part Of the whole thing we have to admit And it's something that we have tried To improve over time So for a number of the sites That we've been working on We make sure they're involved in our stand-ups We treat them as one of our end-users As well because they're the end-users Of the system I would say it's not... And I'll hold my hand up It's not being on par with the end-users The focus on end-users as much But over time we've made sure We've included, we've made sure it's got Better notes and better usability Of the system itself So that's something that we've definitely Been working on but Yeah, I think we can do better in that Just on top of that I think now that I got your question better When we deliver in this site Content creators don't participate As end-users during the project But we do training sessions to them So we teach them how to use Layout builder or how to create articles And those sessions are very important Because sometimes we detect issues In the process So even though we don't focus too much In the backend because we are using Drupal And we rely on it Yes, we sometimes detect Some issues that can be fixed With quick amendments And that is coming from content creators Or site managers Or the different roles that we create In the different projects that we work on Any other questions? Ah, yeah Just a quick question What tool do you use to project manage Like, you know, to track Where you are in the process What do you use? That depends on the project Sometimes because of limitation We decline, we use Jira We use ClickUp, mainly I think this is the two tools that we're using Mostly ClickUp We have found that it's very flexible Very powerful Sometimes too much We get this into a problem But generally speaking It's a tool that we The agency and our clients can understand And it's very easy to use Once you set up all the project And everything that it should be There to keep the communication with the client Any more questions in the room? No? Okay, well in that case Thank you very much, guys That was great Thank you


Alright, so I didn't practice, so it's going to be just the same as previous, or at least the quality, so let's do a little drawing. Beautiful drawing of the fish.