Enjoy your lunch Okay, wow. Hi everyone. Are you all sure you're in the right room? Okay, that's good. This is discourse on discourse exactly cool. I don't have a presentation But I have some of an agenda and I can just start from the beginning of that agenda See there are three things one is to talk about how we got here making an agenda. You make you laughing at me for that? Yes, right? How we got to where we are now and you know what to do about it some terrible Python scripts I've written and some and you know what to do about them and Maybe showing off some of the like what Moderation tools and things discourse has and what they look like and for people who aren't familiar with them So I expected like three people and so I'm excited to see everybody here. This will be good First like how many people have logged into Fedora discussion site? All right, almost everybody if you haven't you might want to discussion it for our project at org That's what we're talking about It looks like this logged into my account here I'm really pleased with this cookie notice because we were told by the complaint so in order to get discourse on boarded Red Hat as they've gotten to a bigger and bigger company like their Requirements for vendors that Red Hat will give money to for things have become very very very strict and this is like Over a year long process to go through getting the vendor on boarded here with a lot of compliance check boxes and things and like They had to hire a penetration testing company and a whole bunch of so they went that anyways It says this website uses cookies to function the compliance people ask to tell you and the links to have something with more information And then it says fine over there, which I Yeah, exactly Exactly and and I was really pleased that they allowed me to make that message be that message What's that that message was my draft? I had to make a message and they accepted the one that I drafted which I really feel happy about Um, so how we got here exactly and I'm gonna try to make Mo feel too sad about this But I'm a little bit sad about it too, right? We've known for a long time we talked a long time about how the mailing lists are not Easily accessible to a lot of people.  It's they feel buried behind things And so we had in fedora Awesome project Mo was designer for it called hyper kitty to kind of make a mailing list first Interface for it, but for reasons it didn't get the investment it needed and didn't like it It really didn't get very much development beyond the first launch And I think that if it had it would be an amazing competitive platform, but you know if wishes were horses We'd have a really awesome get forge Powered by horses So Yeah, that So this wasn't like Didn't come into fedora's a haha I'm going to you're gonna get rid of hyper kitty get rid of mailing lists Although getting rid of mailing lists is on my agenda So that but we're getting rid of mailing lists as a interactive discussion thing I think there's a lot of like mailing lists as a broadcast platform or as notifications things are gonna be around for a while Intel The big companies destroy email completely, which I don't know 10 years. We'll see But We had a platform and had a thing called ask fedora, which was modeled on stack exchange stack overflow My phone is doing lots of notifications. Maybe people are tagging that things. Let's and It was going pretty well in terms of the community But the software we use was a was a you know open source thing called Askbot, which is kind of a clone of what stack exchange looks like But it had really none of the like back-end things and just it didn't really understand the things that have made stack overflow Successful as a as a thing, which that's a whole nother thing But also it ended up being maintained by one person who was not really doing very much with it And we couldn't get any new features. Nothing was happening. They weren't even accepting pull requests very well So that was basically dying off. We actually even paid that person for a while to try and get things Moving but it didn't go anywhere. So they decided they wanted something else and decided on discourse as a thing and at the time Sonya bonac was the community manager for Like the project atomic stuff and she would wanted a place to talk about Like silver blue and which is an emerging thing at the time and use only Coro s for door Coro s stuff And so she said let's set this up and I said, why don't we set it up as a general thing? And this is one of the places where I made most out. I'm sorry because I just set it up with this discussion of our project org and I You know, maybe could have done more just more discussion beforehand. I'm sorry. It wasn't meant to be a surprise like that but It has gained in popularity and a lot of people are using it and at this point I think it is really the best candidate for a primary Asynchronous discussion platform for the project Skepticism is okay But I think it has it has a lot of nice features and also it's a lot of other open-source projects are really Standardizing is not maybe not quite right, but like Python switch to this as their main thing, you know Like all their mainly they they got rid of their mailing lists You know Ansible I've got answer person right behind you there. No, he's going there and But there's a lot of other projects that use this either in conjunction to mailing lists or instead of mailing lists a lot of newer projects Had you're not setting up mailing lists at all? I don't have one of my one of my pitches for why this is a important thing a lot of people were moving away from Fedora mailing lists to Basically using get forged trackers as their mailing lists for things So we have people basically using get hub get lab Pagger or for their teams things Which is which is fine for a lot of things, but those aren't really very good like if things get big There's no Threading or anything like that. There's not written. There's not moderation tools. There's a lot of that really meant for extended discussion they're meant for you know tracking issues and Worse than that let alone whether they're good or bad tools They're scattered all over the place and there's a whole bunch of like a one of the people on the mailing list a developer list we're talking about how People moving you know way from a list which all come to your inbox to discourse sites Which are all in different places feels more scattered But I think we were really already getting more scattered because you have there a bunch of if you wanted to follow a lot of Things are just a bunch of different like get trackers somewhere that you'd have to follow in order to follow a lot Of what's going like you know core OS stuff in one place What's that those well this can go to your these can go to your email too, right? Yeah, so Mo doesn't think the email interface is very good But what's that? Yeah, so some of the so Yeah, yeah Yeah, yeah Yeah, so There's I don't we could talk about that a little bit, but they're actually you should be able to filter this pretty well So yeah, well, so so so and the problem was should is Google, right? Because so if you are using anything else to filter your emails discourse puts Useful and meaningful headers into the mail that can be used to filter this very effectively and nicely Sure, I would that I'd be happy with that. Yeah, yeah, so I know There are some scripts that will you that if you if you happen to be using enterprise Gmail that you can actually run there's a scripting thing that can run and you can run it like every I don't know how fast you can run it But it will take your mail and we can can actually process it in more complicated ways and so we there's a script It's actually on Find it here What's that yeah, yeah, right it is not Yeah, there we go look at that so So if you don't use Gmail like whatever your mail client should be able to filter on the headers What what what are you using for your and they don't I I would be shocked if Colab can't do this Yeah, so hold on Okay, okay, can I can I sit down with you and and look at it? Okay. Yeah, so Yeah, yeah, and so Maybe yeah Yeah, right so so yeah, so this is a design difference between hyperkitty and discourse which is an intentional different direction They went so discourse is although you can interact it with the email. It is definitely web interface app interface first and Because of that it There are something it isn't limited to things that are easily sent through email, right which yeah Yeah, well, yeah, sure in fact we have that we have that so this An ounce list here is an ounce less feeding into this discourse here So Yeah, so I could stay with a mailing list and people could interact with me through discourse And I never have to log in or deal with its email interface. The problem is it doesn't go back It doesn't go back the other way very well It's not it's not a good two-way because wordpress does with the comments No, the wordpress we've turned off the comments on wordpress So the word for the comments on wordpress are coming from from discourse So it's a it is still a it's a one-way from one the articles go one way and the comments go back the other way And it's not a so it's not a yeah, it's a motorcycle Sorry, thanks for you bring me. Yeah but Yeah, I mean I've I grew up on mailing lists and I've come to find this the web interface a better approach because Who was I talking to someone I was talking to you just the other day was saying that Here here flock that you know, they've gotten into the habit of here Are they had like I'm going to my mailing list in these folders in my you know web mail and instead I'm going you know I have these are my discourse sites that I have bookmarks that I go to and just kind of slightly different workflow And that's basically what I've adjusted to as well I Actually, I actually yeah, I find that I find that for me that Yeah, I mentioned this in the the meet your fesco session that an observation I've made is we're kind of Balkanizing the community where you have long-term or a long-time technical users who have an established workflow Who are also expected to live in high-traffic mailing lists? You're creating another Being for them that they already had a workflow for and what that's leading them to is to ignore this So we've shifted the participation from one subset of fedora to another and I don't like I'm not opposed to something new, but we have to solve the bridging problem like we have we can't alienate the established workflows like as much as possible because we still want those users to participate and This this is this is just like what's happening internal at Red Hat where we have Multiple chat systems and all this bullshit going on that we have to check multiple places and it only adds more work For everyone involved like I still have to live on IRC for upstream communities. It's beautiful that we're on matrix great awesome Nowhere else is doing that internally We aren't even doing that either and I have to live on two chat systems internally that can't talk to each other so this is like New stuff is fine, but we have to have that bridging effort so that we don't break workflows for people Yeah, I do use email, but in to to your point I don't use Gmail So I you know if you use Gmail, so then you're kind of stuck right or you have to use the script or whatever, but yeah Email works for me. It's at list ID. It's just like I'm subscribed to a list I do miss out on like reactions polls things that don't translate, you know to emails But other than that it just is another folder and I reply to it and it it all just works, but That's that's a different investment in in infrastructure that I've made that I don't get to choose where that lives So I could go and shift all of my fedora community involvement to my personal email account and And and gain that filtering and and that would be great But I mean I already have a workflow like that that's that's the concern. I have and I know I'm not the only one impacted by Well, the other thing is that if you do the email, I mean It's 90% of the stuff going through there is stuff I don't care about and I have no involvement with and it's for that little bit I've just shifted to using matrix and I just ignore this because I have I've tried so much I know you know that I've tried you know that I have I can't I can't do it. I just can't I don't know So maybe to answer a bit. I mean I don't use I use a method where I get notifications to email and If I want to look at Paul's reactions or to reply Then I go to the click on the link and go to the web and I think that's I mean like in my workflow, I Read a thousand messages and reply to maybe two out of that and this this isn't this isn't really that much different than the the old workflow and Like Matthew said, I don't know like the same thing happened with pleasure and github and github already So it wasn't like I was able to do everything from the main client. You had to go From mail to other places all the time anyway Like I forget hub the github has reactions that you can only you have to go to the website to do those You can't do the reactions through You don't see the reactions. All right. I don't think the reactions are what's important I think it's just I'm in one system and I'm just skimming through and evaluating and I can't get that skim through Evaluation from the emails that's it. No You can't and so the only way I can use it and read through it is to go the website And the problem is the website is so cluttered and disorganized that I can't find what I actually care about like tell me right now Like before at least with a mailing list I could go the design team list and that was a place It's this has so many like tags and categories and nonsense like it doesn't feel like there's a place. Yeah, so Um So how many layers how many clicks do we have to make to get to design team? Can you see design team? I don't even think I see it. So yeah, this page needs help, but there it is right there Okay, so there so this is the design team space right there And you could also get that you get that another way would be to go to all categories and then but when somebody posts something Yeah, so and this is actually when you post something you have to know to tag it with the right thing Yeah, so what but if you were in this if you're on this page and you hit new topic It will it comes up that way Am I gonna make a faux pas if I tag in like so yeah workstation are they gonna get mad at me and like you have a limit of Only five tags and I don't even know So in the in the so this is part of some of this is I I wrote a post which is In the go away this thing, please Maybe well now it's No, the one you could never find was the email one right but This is the navigation guide linked right there. So this talk I've tried to put that there in If you have suggested on how I can improve this I would be happy to Do that, but yeah, it is it is adapting to something new and I think there's some part about that I want to make sure we accommodate People's workflows as much as possible But like I think that making it entirely the same without any change like things change And I want to bring people along but we've got to be able to have some like there's got to be some adapt So that's yeah, we can complain about the interface all we want and how it fits into my workflow or it doesn't I can make it fit You know that's the option, but the bigger problem is I think exactly what Dave said And we've got this split now you have people are participating on the email list. Yeah, I've logged into here I know yeah regularly. It's not part of my workflow I do read the email list and I can interact on that But you've got a group of people are interacting on email list you have a group of people are interacting on this and there's very little crossover between Yeah, I would like to bring everyone here. That's my agenda I think that's the solution to it because I think it is the best common ground of the things I think it needs it's not a tech problem it's a social glue problem and I was talking to the Ansible guys and We made like we had this idea well for example if You're in matrix and somebody asks a question and then you have helpful answers It's lost in the ether of because that's a very Synchronous medium so could there be a way to have a bot that you hit an emoji and it makes a post to discourse It becomes like if you can bridge and that's what I think David means by bridging I'll get back to that action because it's a social glue Let's let Adam behind you because he's been waiting to talk for like forever I've been like saving your comments for the but I'm I'm wondering whether I might tell a story briefly and perhaps ask you to do a little demonstration at the same time Okay, trust me trust me. Could you could you open a new tab? Maybe and could you go to community dot the foreman dot org? No, I can't type So I have heard all of the things you have said five years ago And I said I moved this community to discourse five years. Could you go to the search? Please after years just has got it Mine's way better Yeah, yeah, this is ancient Could you could you just could you just put in discourse proposal? So I'm gonna demonstrate the search here It should be pretty there the second one second one from November 17 This was me proposing this community move from mailing lists to a forum five years ago It's a very long thread. I'm not proposing you read through it I had an extremely vocal community member who was absolutely adamant that mailing lists were really important that we really didn't want to break People's workflows and that we really really had to consider this carefully in the end I convinced the community at large not that particular person that that we had to do this and after three months of testing We shut down the mailing list and migrated the entire archive into discourse and moved the whole thing over Within three months. He came back to me and apologized and he was a huge fan So, yeah The converse that's how you yeah, so I I absolutely hear you. I know where you're coming from I've done that with one community before it is definitely possible But it is also going there's always going to be somebody affected by it. There's no way around that. I do Right right so the mailing list thing is being able to work with it by email is what most people tested We did extensive testing on whether threading works properly with the emails that come out of discourse. They do You can definitely say the list ID thing is a problem gmail. I completely agree But oh my goodness trying to fix that as a pain in the neck The threading works and that you know the in reply to headers are set correctly so they show up properly But like if I'm on my phone reading the mailing list, I can see the context of it because you know people You know quote the end Whereas I cannot do that with this course Yeah, I think we have the setting that's a setting But just to quickly to quickly finish the point there the mower is making is there's definitely integration You can do with other systems So we have got chat integration set up for posting things from discourse to matrix on our test setup We're looking as you said it whether we can go the other way I definitely want to see us doing some more GitHub integration within the answerable space as well That we have to be careful exactly how much because there's obviously a lot of traffic there But there's definitely ways to bring people along and to remind them that conversation is going on in other places Okay, the thing of is my screen above or below the other screen. That's maybe the most annoying thing about having area I just wanted to make the point The Balkanization is happening anyway, and it was happening before this happened We had groups of people talking in telegram. We have groups of people talking on discord So I don't think we avoid the Balkanization by just not doing this because people are not people who don't want to use mailing lists We'll not use mailing lists even if there's an official alternative. They'll come up with another one So I don't think we can not have Balkanization. I think it's an insolvable problem. I Want to show the chat channel, but I've got a whole bunch of private personal messages today on matrix so I don't show but actually have if you look in the announce thing that is actually Or we have some of them set up so that posts from discourse go to matrix channels And I've talked to you before but then I dropped we can we can do some of that for the other posts as well So they go to the matrix and we could also make a matrix bot that goes the other way around There are a bunch of other things so like basically every every If people are feeling programming if you put dot JSON on the end of anything you will get a You know a data structure that represents that post with a lot of information and that could be used for developing any kind of complicated thing There's also RSS feed equivalent of the same thing For stuff that you don't you don't have to do the developing I think it would be lovely if somebody would use this and make a NNTP gateway for it because it wouldn't actually be that hard It's like a week's project of intensive crazy programming Because all the stuff you need to do it is actually there Yeah, right. Yeah. Yeah, right. So um, some somebody somebody wants to work work on that. Um, yeah Tim in the back there too. Yeah, I guess Part of the problem with this change is that it's like a huge culture shock like part of the thing about matrix which You know, I appreciate it as you know, the bridge is definitely not perfect There's problems with it but people could kind of come from where they were whether they were a traditional IRC user and a matrix user and You know, it kind of allowed people to test the waters and slowly you saw more and more people You know coming over to matrix and getting more comfortable with it Well, I think you know the problem with this discourse thing It's just that's you know a really big culture shock and a big switch in the whole Tags thing is very foreign to people and you know the email interface is there, but it's not perfect So I think we kind of need some way to you know, have a transition without you know fracturing things too much And I guess I'm not sure the current proposals that I'm hearing are exactly going to accomplish that I just wanted to address the thing you said about yeah, it's going to be simple to do an NTP I am trying the first when you first made your thing about oh, I want to get rid of the mailing lists and move to discourse That's one of the first things I looked into someone started and never finished Which does not give me a good feeling about whether it's actually possible So so actually the thing that would be easy easy is the NNTP Read view of it the thing that it's hard is making a posting back part Okay, I didn't get that far into it because that's the first thing I thought is like well, you know This feels like news groups. So maybe there's a way to do this so I can have my client and I don't have to be You know complain about the the web interface and that kind of stuff But I found that someone tried to do it as part of a migration and they never finished it and it never actually worked So I'm not sure I'm I'm worried.  They started that never got finished So I don't know what you're talking about. I've never started a project never finished it Eva So I have a question to the gentleman who actually spoke about visit the the other discourse platform How long did it take for your community to like get a bit more okay with Conversing there like was it three months six months a year? Are they still kind of upset about it? And to follow up and I let you finish up But where I'm going with that is to like the general fedora community would we not as Good people inherently just try and give this a chance We have had it for Four years something like that and there's been increasing adaptation of it all along like it's been I mean, that's I It has grown significantly So so right, right Yeah Yeah, so if I could just answer you for and then I'll pass the mic on to you well So you've timed your question perfectly because the person who took over for me running that community is sat right here So we did a three month trial period of running them side-by-side where I was importing the Google groups into discourse every night Which was awful At the end of that we took a community vote and decided to go for it at which point I shut down the mailing lists and imported them finally into discourse. We moved over entirely There were only two lists. It was a small community accept that and that's that's one of the challenges But within days we were finding users that would never have signed up to the developer mailing list come and offering their Input respectfully in a good way into some of the development discussions were going on We were getting more feedback more involvement and to Matthew's point about how we tend to silo things when we use Individual lists that was exactly the problem. We were trying to fix and it definitely worked and it worked quickly To this day they still use discourse for their work. I think they're pretty happy with it We've not had really anybody come back going. This is terrible. Can we go back to mailing lists? That just did not happen and just one one other thing in terms of so the form and community has some hardcore mailing lists folks and I see I think There's one of those long serving community Members there's there's one and he interacts solely with the discourse with via mail still So he's managing to pry and he he reads everything he responds to everything and he's managing it all via His own email client, which is it's definitely not Google I am a hundred percent sure of that and just one I had one other thing that I want. Oh, yeah in terms move in terms of the anxiety around labeling and annoying people with Mislabeling I'm assuming the G you have done some there's somebody responsible for The day-to-day operations of that. That's part of what I was hoping to do in this discussion But well, it's okay. We're having another good discussion. Well, we'll do that I Don't want to derail that then I just so I Think it'd be worth looking at if we can get actual data from communities who have made a full-scale switch On and not just like okay, so you've got your individuals who were naysayers and now they've come around but look at the People who have never been naysayers and I've just silently dropped off because it didn't fit their workflows So for me anecdotally personally, I'm an old gnome developer gnome switched Completely to discourse away from mailing lists now. I'm not extremely active anymore because that's not my day job and it's hard But you know, so I I found myself really keeping up with what was happening on mailing lists And I just don't on on the gnome discourse But I'm not I wouldn't show up and you're like looking for naysayers who've come around because I'm not a name I've never gone on and been like you can't use discourse. No, I'm like I'm not gonna bike shed that or whatever. I just don't find time to do it So, you know, let me add a contrary thing I never followed what was going on on gnome because I had to sign it for their mailing list and I didn't have right So but now I checked the gnome discourse as one of the things I look at every week. What's going on in gnome? And actually there's actually a pretty nice feature of you can have it send you an email every week of like a summary of highlights So like I don't actually check. I don't check the Python one every every week But I get that that email and I need to say if there's like drama I can be like, ah, here's the exciting stuff, right? Like that's Discourse email on a Friday and I sit down and I get my popcorn ready and I go through it And I enjoy it that way I consume So this is the this is the like this is just each views here and ignore the purple because that's the purple is all bots but of People people actually page views of the system over time as we're going along here And then this is when we merged in ask fedora. So obviously that has a pretty big jump there Yeah, and annoyingly these graphs don't end on a month even if they're barred by a month That's bad bad data presentation but so there's but it was a lot of like in pretty good growth over the time there in you know activity and That's you I didn't come here to cause a drama It's okay.  I just want to say just to be fair I have tried a number of times over a number of years to build a community You can Google my username or whatever look at my username on discourse You will see where I made multiple temps over a period of I guess years at this point And I see you you've actually been still interacting on it even despite you've been frustrated with it Given up I tried I'm just done with it And I just want to say that I'm I'm trying to raise a social issue that I think doesn't just hit discourse it hits a lot of things across open source and I'm in return. Oh, we can implement an NTP or whatever or I can do and it's always like use this script or use this This cool hack that I have to read a six-page blog post to do and I'm not interested in that I'm interested in talking about the social discussion and when I go to discourse it feels a bit empty to me because there's key People who are deeply technical who I would like to weigh in when I make the effort to put a post on there And I know that they're not logging in so I need a draw like it's about the content Not the software not the technical you can write all the scripts you want if this key developer that I want feedback from is not On there, why should I even bother and I think it needs to be a social effort We need to find those key people identify them if you were a member of a fedora leadership committee You you need to whine and dine them and get them to commit to be on here. I'll sit down with you in your tags, Mo But you know what I'm saying no, but you're one of those people we need to get those core people in here So that when people make a post on here It's not just The discourse users weighing in and then you have to go over to the mailing list or track down the other people to Get their opinion for me. It's like the workflow stuff is fine I'm a US designer. I have a lot of opinions, but it's not about that. It's about the social stuff That's all I want to say and then and I agree with you a lot and that's part of why I want to do a wholesale move because It the halfway thing is painful for everybody Yeah, I was just gonna say that's what I was trying to say. I wasn't saying it's about other people too like Oh, you have to consider other people's opinions I mean what you were saying you have to get all the people here and agree You know the tech problem is really we don't have a convention that everyone agrees on this Is where we talk about this thing and now I can subscribe to that and then everyone's there I see the discussion, right? So yeah, and it's another thing that tangentially related but important like this is an open source project and it's an active project where they have a lot of like there is there is a good community around it and they are very Responsive and some of the things like the filtering headers on tags are there because I said hey We need this and somebody was like, okay, cool And they made a patch for it and like they're very responsive and if there are other things There's there's two approaches. There's some of the asking nicely It's just worked or suggestions or finding things in the community But also we are enterprise customers And if there are features and things that we really need them to develop to help make it easier for people We can push them on those and maybe even find some money for development although, you know money is If I could just weigh in on what Mo had had mentioned around this social challenge Yeah We have it would be nice to be able to like have this this Platform the space for people to come and hang out and have fun and find friends there and they should find that but the the long time maybe deeply technical people who are holding out on the mailing list side of things that are meant to be actively Involved in the Fedora project pillars of the Fedora project Do they not have an obligation to the project that they are so deeply involved in to follow the project's decision to move to this and Show up there for those who are struggling to find space there Yeah Since since we're in Ireland. I want to bring Gweilge into it Right, but that's the point. Don't you have an obligation? It's the country's first language. It's it's No, no, no, but I'm not saying that to criticize. I don't want anybody to feel bad The point is it's like a network effect You need this core like this There's like a threshold you have to hit and we still haven't hit it with this course and I don't think it's like I don't think It's on the individuals like they need to have a compelling reason to log in and that bare minimum So it's like you go to the Gweil talk that at least there's enough people around But otherwise you're in like Dublin or whatever when you're trying to speak Irish or somebody nobody so you can't ever speak it You never get the opportunity So that's what I'm saying is there needs to be like a bare minimum core group that yeah Critical mass that's the phrase. I was trying to think of we need the critical mass so two things I was just briefly talking with David and We can actually filter on Gmail with X headers. I know because my bugzilla Emails coming into me are split into folders for Fedora 36 37 38 I do that with every release and that's X bugzilla reason and X bugzilla of Release all right. You're not doing that with a fancy script. I know I'm doing that in Gmail filter So I'll look that up and I'll make a post on how to do it You might even give me a login to this to do it. Okay. Yeah, but okay, so that's the one thing and that might solve one problem The other question I have is if you are using emails the interface for people who've run this I know if I reply to something that's great. Can I start a new topic? From email. Yes, you can start a new topic however That introduces the possibility of people impersonating other people and Well, it does if you so and we've had that problem on the Fedora mailing lists before and I do not want it to happen again So I'm I'm a little bit wary about that if we allow it and also possible spam coming in But we do actually have it enabled right now where there's an email address Which I have not publicized, but it goes to a special category where moderators can then So it's basically a moderated post let new post list So there's also no way for us to have scripts automatically post things to this as new category. Well If you want so if you want to do it by scripting There's actually an API and you can we have we have user API keys enabled So you can generate an API key for yourself and post by a script So that's actually and that's actually some of the things, you know, like Yeah Hey, so I worry about this as well, Moe I need ansible to do the same critical mass problem and we haven't launched yet, right? So I haven't even started and I do have the same worry about bringing the deeply technical people across the other than Really really really trying wearing the hard to convince them really nicely, which is obviously part of the plan I am trying to do this with discourse groups. I don't know how much Fedora using groups But I'm planning to rely on them pretty heavily So we will have a group for each part of the project So there will be core and there will be dev tools and AWX and Galaxy and so on The idea is that people can do at core or at AWX in a post And I I want to be able to rely on the fact that somebody in that team will get that notification Yeah, and that I can get feedback from that team because I don't want to be giving people burnout by saying no You have to reply. I don't know are you maybe on holiday and I don't know that I should be bothering you But if I can say hey design team can someone respond to this and I can have confidence that someone the design team is going to see it That's enough for me. I think we'll see how it goes. Let me come back to that a bit about About API posting so this is a terrible Python script that I wrote one of the ones I mentioned that you can look at if you want it that basically it listens to Fed message and if there's a new council ticket posted it automatically posts a Topic here because this I mean Thank you so because one of the problems I like I say Having user when there's the discussion in in the in like the Fedora council ticket Repository there like very few people see that and so I wanted to make an infest go as this problem as well Where they're supposed to be the Vell list conversation But instead people talk on the ticket and then you get at the best split conversation But sometimes a hundred post Fesco ticket of people repeating each other and no moderation tools and it's a mess Really no threading not even just kind of hidden threading. So it is this bot basically that may be not the most exciting Ticket to have picked here. It's a great But so somebody files a ticket and on the ticket it automatically posts a thing linking to the topic and saying please discuss there and then We mostly do the discussion in and so that's one example of a bot that does the posting and Yeah, then on groups. So we actually have a Yeah a bridge here and this runs a It's Was a cpe little mini project to make this bridge that it for reasons Runs out of cron every 20 minutes or something and syncs if there's a fast group if the name of a group here matches the fast group it writes the fast membership to this group so Yes, it is new right Right. Yeah, so now you do not have to do that That is automatically synced in fact be I that's I I renamed it to design team the same way it is in fast No, that's a different thing that I was overzealous about I'm sorry Yeah, so actually I could so that it so I guess in other words that actually is a thing because there is there's a Packager's group and there is the so one of the things I did. This is also actually address another problem Mo Highlighted which is we've got people are long-standing fedora community members they come to discourse and discourse has a system of escalating trust where new users Can't post links or images because they're probably spammers But if somebody is actually a fedora project member for a long time they come and they try to Post those it's kind of a off-putting experience that we don't trust you so one of the things you can do here is This one here So automatically if someone is a member of the contributors group, which is people who are Kevin, what's the debt is it one? Yeah, so Automatically get this in the automatically when you get signed and get bypassed the first level thing to trust level one So that you're at the basic permissions of the thing so so we can do things like that for groups This is also where you can set. I don't have a title here But this is where you can like put like design team by your name This is the title of that can be allowed there and There are a lot of groups in fast, so I didn't try to make all the fast groups here that would be ridiculous and a lot of overhead but Anybody who if you want this for your team to go there and then the thing about having your team to be messaged I haven't turned that on by default, but that's a is a possibility here under interaction We can you can we can change? Yeah, who the group is visible to and I this these are kind of set arbitrarily for the groups right now because we Don't have standards for what it should be But right now so the design team can be mentioned by anybody and that will generate a notification for everybody on the design team It will also because there's above like 16 members It will give them a warning like hey, you're about to notify 33 people. Is that really what you meant to do? and so for this one to have that turned on for the Contributors group. I don't have that turned on because that would be really really annoying And other teams might you should this should be able to you decide on teams whether you want to do that There's also messaging which is turned on for this one and that lets you send private messages to the group So I'm going to go and turn turn that off right now. It's Nobody nobody great. Yeah, exactly. So that's I'm not really fond of that one, but That's there's a possibility And then yeah, so what I did one of the things you can do here is make it so that When someone joins that group you can change their notification settings so that if they join the design team They're automatically getting notifications for the design team tags and Right and then yeah, so I thought hey, we've got this new thing for package reviews. I'll make it so people who are In the package group get notification when they get a When there's a new post there and you know that was a little bit of a I should have should have not done that but And honestly, I wasn't thinking about email as a notification thing with I've got my email notifications turned off and I was just thinking Oh, yeah, they'll get a little one there when there's a new thing not which is less of an obnoxious thing than getting a bunch of emails sent to Oh, yeah, that could be it. Yeah. Yeah Yeah, well, so the idea was hopefully to make it be of you know people that it's relevant to and the packages group is too big for that But something for the design team it might make sense in a different way. Yeah, so I want to answer this question or problem about Writing and expecting certain people from the community to to to respond Essentially, I think that we can expect that people who are active in the community will at least have Notifications of their choice enabled and if they're mentioned by name in the Post they will get a notification and do something with the notification that makes sense for them. So I think it's actually Better than the situation that we had before I mean maybe just putting everybody in In the address list of an email and then this person getting Replies for the next two months Best choice There's one other thing that I don't know if you can you probably can't demonstrate it here in the Admin settings of the chat integration You can also say when a group gets a message push it to a chat platform as well So again, you could say if the design team gets a notification also send it to a matrix room. Yeah Yeah, so well, I promised you I would do that and I didn't but Yeah, that is chat integrations and that is That one's active here. This is so the first posts in the announcement in announcements You can set these things up and it on these different triggers and So I guess this Type I think it's under type group mentioned rather than first post is why I'm thinking of but yeah But there's a whole bunch of ways to push things to chat platforms So yeah, if you've mentioned Magazine editors in a post here they get a they get a message and they're in their matrix channel saying hey Somebody mentioned the mate the magazine editors What? IRC through matrix if the bridge decides to be working at the time so Yeah, so one of the other things though I asked CP to look at is maybe making So there is a webhook so that when When there are posts that actually goes to the message bus that opposed someone's made a post And so you could directly get notifications off of that and make some sort of thing to follow that but maybe it would be useful to make something that goes to The the FMN replacement, whatever is it called FMN still good. That's good. Good choice The met the so that you could actually if you wanted to manage all your fedora notifications in one place And that would think that's a little bit of development work to make that bridge But if that would be useful to people we could you know Go further than an investigation for that and I think that goes to IRC Does this mean that we'll soon be able to do like codgy builds via discourse? I mean, can you do them PRC or? We need the right FMN plug-in, but yeah, I mean we could You coji builds via IRC is the thing already Yes, and then you have to do that by posting messages with yes That would be probably a very tedious way to do it, but yeah, I mean we there are all sorts of fun integrations We could do because it's Exactly exactly. Yeah, so yeah Are we at I just a question if I came in late if a group wants to request one of these integrations to have one of these Turned on what would we do to make that kind of post post in the help category there? And so this is actually part of what I wanted to do this with this session But we'll do another time right now because this kind of evolved like that This has been run as like my pet fiefdom of design decisions and what gets turned on and how things go Which is a bad way to do things in fedora It was fine when there were 20 people on there But when if we're moving it to a big platform, we really need to move this to being a actual team So if you're interested in being part of that team, please talk to me because we need to we need to create that because it Shouldn't be just me. Is anyone in here a moderator on this? Kevin Yeah Yes, so it is another another feature is that as you interact with the site you can get up you Kind of a like stack exchange you get more ability to do things like retag posts and so on so that if you see that somebody That happens fairly frequently Somebody posts a question about fedora in the help section It which says site help, but you know, whatever people looking for help you could move it to the right place And you don't have to be a moderator Right and so you can also have if Cater this this gets into kind of the weeds about how discourse organization works But different categories can have different moderators and that you can actually do that by a group So I've said it so that for the change proposals That category all fesco members are moderators there so they can see what's going on and have more control of things So, how does that compare like to the TL whatever? No, that's site-wide And yeah, that's that there's a very complicated table of how the permissions can be and some of them are configurable, but See it's anything else important. I should say yeah other than people who want to help me, please come help People who have concerns about this. I hope I can continue to make them less of concerns in various ways Yeah, yeah, yeah, no well so script this thing implement this thing is part one of the ways to solve some of the frictions But it doesn't solve the problem, right? Yeah. Yeah, and also One of the like there is a lot here and but that's kind of a consequence of fedora is big And so any place where we try to centralize things and bring things together There's gonna be a lot and that's a design problem and honestly like I said, this is my design So I'm not a designer so there and it actually there's some stuff which is kind of inherent to the site But there are other things which could really be changed in pretty big ways to make them better I know you don't like the drop-downy thing. That's pretty intrinsic But just kind of the overall look and layout and things like there's a lot of things that we could actually improve with It's got a Like it has a whole bunch of things here where you can do Custom CSS and a bunch of things and things are fairly well marked for customization actually the yeah And I would at some point love to talk to you about that, but how much we're probably running out of time here, right? That's fine as long as I have some water my thing says that this is over at 255 My question is I I do have to moderate the panel about sent to us Rocky Alma In what there's a break there's like a yeah, but not too long from now I'm just saying so I should save my voice a little bit I guess my question is Who's decision ultimately is it to get rid of the devil list and favor of discussion and What about if there's not consensus to do that. Yeah, so I Think it ultimately ends up being a fedora council level decision because it gives that high But for the changes the the change proposal to move there like that's a fesco decision because the change process is a Fesco process and a fesco says we want to keep this on a mailing list You know I'll try to convince fesco otherwise, but it's ultimately fesco process so it should go where fesco wants it to go Yeah, okay, so to most points We need to have reasons for developers to stop using the mailing list and want to use this so the change proposal idea Yes, we've learned from that We're gonna make some changes and keep moving forward, but other things like people announce The license changed in this package or things like that. We can start shifting categories of content off the mailing list to here but To do it as a flag day operation. I think would be off putting to too many people Yeah, and I don't know if that that's exactly what I proposed. Yeah a couple months ago. So yeah I think moving some things that make it worthwhile to come is a useful thing to do and maybe Gigantic change controversial change proposal wasn't the first thing I would have picked in retrospect, but it was definitely education Well, yeah, we learned stuff, you know, that's fine Like for example, we're all at flock There's a lot of people at home may be watching this stream a very angry at me for starting discussion off mic Sorry, but like if I go to discourse right now There's no mention of like the video streams or what's live right now or what's happening if you go to the front page Yes, and that's because we're all here, right? No, we're not all here and that's compelling content That would bring people to this if if you had a discourse discussion for every single session Instead of having the comments in sketch.org or wherever or on twitter or whatever Have the comments per session and then they post their move away from there Yeah, and then oh, oh, hey matt gave a talk about blah blah blah You know, let's link that over to the actual discussion Like you know the benefits that he was saying for for Foreman right is you have all the lists basically in one place so you can do cross referencing a lot better You can do cross referencing. Well, well, there was a flock talk on that. Here's the thread that kind of that's a really good idea But that's the thing is it's about the content. It's not about the scripts or the tech. All right Yeah, if Thank you mic volunteer for keeping running back and forth Hi So I definitely used the wrong choice of word when I said obligation earlier I meant like you've been feeling bad about it. I have I have because I didn't mean it to sound like, you know you have to do this but if most suggestion to like Create the content in discourse or in discussion is is the right way to go about it And as people who are long-term contributors in the project and you know that this change has been approved and we're trialing it That that's what I mean about it's probably a responsibility that if you have an announcement that you want to make about a package retirement Or something and you know discourse is where we're supposed to be talking about this You should have an obligation You have a bit of a responsibility to like Play ball with the project and post there Even if you don't like it to start generating that content to just be showing up there So that's that's what I was getting to and it didn't sound right the first time I said it's sorry Um along those lines the next time we have a change proposal go Because that's so our plan is to still send them to develop an ounce because that Announcement broadcast makes a lot of sense. Um, and then We put a message in there at the top saying please go here to discuss this and yet Yes, everyone ignored that so I guess I'd like to ask people to Not ignore that and if you see somebody ignoring it gently redirect them We can do some more harsh things where we like We've done this before you can kill the thread in mailman where it will not accept anywhere replies to that topic that Thread but I that seems draconian. I don't want to do that. I'd rather we can Help please help redirect people next time. Hopefully it will not be so controversial and I hope we can get more people You know, I want I do want to bring people along. Let's Yeah, only on discourse no no no announcement for that one You have the poster engagement is and I was trying like I really made an effort you can look it up And Yeah, and it's like no and I get it. I get it, but it's like There needs to be more than just a bunch of core contributors doing their darkness to post stuff on here You know like it has to be there has to be a social support system for that but actually the discussion about the Telemetry proposal showed that there is a huge mass of people already posting on discussion Right Yes, but there was also a number of posts from other people from the community who have been around for a while and A large number of posts which were like prefixed by this person posted last time in five years Welcome them again or something like that Do we have a way to assess like for example, like, okay And that's the scripting and data and whatever but to say, you know For the people who are in fedora and again like I would suggest like team leadership Fedora project leadership the big committees and stuff like that What percentage of them are post on discourse more than once a month? And then look at that as a metric and can we make that higher Can we raise the percentage and what percentage would we like to see we can definitely do that akash has some thoughts We also this was actually was a question on the survey. I mean it wasn't a very it was a broad question about what place Where you engage with fedora and I know that discussion was fairly high on that higher than the develop list But I don't know about that broken down by so in that there were Like I forget the numbers but several times more people identified as users only as the contributors So we can break that down by contributors and see what the numbers are where I got the ideas You mentioned it has some tracking like this person hasn't been here in five years So it must store some data value for each account. This is the last time they posted So could that be mapped to the fast accounts and then you get a list of the the fast user IDs That are in leadership positions and then you have your number. So there is a Data explorer here. Yeah, I was just going to say it's literally a postgres database under the hood, right? So you can figure all this stuff out if you want if you go digging around in it and and moe like This is some of the stuff that like I love about discourse. It's got these things where uh, sorry Let me spill water my laptop. I'm so excited. Um, I'm showing it on my wrong screen here This had like here you can actually do Sequel queries of the database You can make reports that can be sent to people automatically or that people can query in different groups can query Or it can be pulled by the api pretty easily What's that? um So the project that Lenka and david worked on uh, it's this coast to fit message Oh, this coast to fit all messaging. Um, it doesn't have the Historical data because it just got completed and just got deployed. But um, I think that it's going to be of great help to You know map the information pertaining to certain accounts as to how many posts they make or they react with And the stuff that they have been up to, you know, and that can Generate some great metrics that we can probably make use of to uh to cost if it's something that's going forward you know for certain groups for certain tags or To certain users as well that how frequently they make use of a certain platform Yep For what one thing that I like is your posts are tied to your fast account whereas email is not Um, you can obviously make up a new fast account if you want it to be more anonymous or you can You know do whatever, um, we don't It isn't necessarily you can be anonymous as I'm trying to say But it is tied to your fast account in a way that email addresses are not necessarily So it actually makes it a lot easier to do some of those metrics as well Yeah, yeah Okay Yeah Thank you by the way, um, so yes on the the obligation To use the platform we've decided to migrate to I agree with that But at the same time being elected to fesco being on the council I also have an obligation to interact with the community where they are And if the community has not completely moved to this new platform, I can't compel them to I like so I have to be in more than one place At a time and that is frustrating to me because I see that we haven't Had a compelling reason for people to come over so developers going back to that They would post On discourse but say well, I don't know that I reached The people that I wanted to I don't I don't know that the people who I wanted to see that Saw it so I went to the mailing list. So This is this is one of those things where we had like again the most point We have to have The social aspect there to get people on board. I mean I it's I do have complaints about the technical issues, but you know That's that's my own doing. That's just the kind of that's how I use a computer, but Anyways, yes, we have to be where the users are and we have to get them on discourse I'm looking at one of your posts here.   Look at this Wait, but the thing about it is that like number one, I posted this for a very specific reason I was providing a design specification and I needed feedback within a certain time period to make changes like this is That's a done deal. It's implemented. It's up Look at the title, right? But people still hit it. I don't really know why But like when I needed that feedback at the time I wasn't getting it But it got posted in some news article or something like foreign x or whatever And then that drove a lot of people to see it, but it was after the fact It was like, well, sorry the the feedback period is over. Sorry And some of this too is like people showing up at the popcorn and their comfy socks and because you know There's this back and forth and it was a good. I mean that there is a good discussion there But you know, you didn't you didn't see the names you wanted to see I didn't see like for example This was the workstation page. Where is the workstation working group members? I'm not trying to call anybody out. I'm just saying like this is a very specific example We've also had a workstation work And in desktop team people not want to respond on fedora mailing lists A lot of people don't read the develop list because so there's another other side to this of people who are important fedora Contributors who do not participate in our mailing lists because of their You know things that we can I think part of this too is maybe I didn't tag it right or maybe didn't put the right I don't know at hash whatever Yeah, so it was See what other ones I can I'm I'm dragging this back off the screen because when I click on mode's name It shows the administrative view of our account and I don't I've got two questions that I wanted to to ask And partly because I came in really late So I I might have missed some of this But I was just looking back around thinking around the The topic of moving to the community team and I was wondering what the The scope was for we didn't we didn't get there Then I guess then my follow-up question is then what kind of things from your perspective as the driver and owner of Discourse what are the things that you feel you need from other people to help make this be a successful transition? So I would like help forming that team so that would be that would be good. I think the feedback of you know Making sure we have Reasons for people to go there. I think the suggestion of flock like that that's really good I guess people who are interested in in developing those kind of things rather than Because I was thinking more along the lines of you know running the site and Moderation and those kind of things that we need to worry about and make it not just me making decisions But I think people who are maybe interested in helping you know build content around flock or other events and things and Content for the site. I think that's a useful thing And I guess you know people to give it a chance I guess thank you for giving it a chance mo and Yeah I guess that's my immediate answers to that I hope with design. What's that? I'll help with design. Okay I'd be very happy to join in and share what we can do between ansible and fedora as well because we can both learn these lessons So we've got the exact same set of problems Yeah, um and uh, is anybody involved deeply here deeply involved in python and I don't know I think it's a mirror here Yeah, so This is So yeah, so python dev got migrated at least All right, I think we're oh you know, I was just going to ask if there is uh, since you're forming a group Is there any kind of opportunity because uh for some of the dei stuff? I know we use matrix for synchronous meetings right now But I'd like to maybe throw my hand up to say we'd like to experiment moving away from synchronous because I think A lot of folks are struggling with the time zone issue in being able to run a A meeting of sorts using discourse. I'd love to be able to try to experiment that. Yeah, try to figure out how to do that I'm sorry, I set off the fire alarm Did I all right? Well, I guess we're done here


Hi everyone, my name is Alex Lee. Today I'll be talking about GitOps and controllers. Title is, it's not that simple for a multi-cluster and I'll be going through why, some value points today on what, where to use and what the value points between using GitOps and when to kind of match that with controllers. So, yeah, like I said, my name's Alex Lee. I'm a field engineer based at San Francisco at Solo. It's a pleasure to be here in Valencia. So, I think you've heard it all from a lot of people today that the GitOps, or the SEO approach to single cluster deployment is pretty simple. It's easy to manage a few microservices and get started with a single cluster. However, when you move to multi-cluster, it starts to require some context, right? So, you start have to focusing on your team, your networking team. How do I define your traffic or engineering policy intent and how do we effectively translate this intent into policy or configuration at scale? And this gets a lot more complicated as you move to more clusters. In this picture, it's just three, but, you know, we have some customers that run tens if not hundreds of clusters. So, one question I like to kind of talk to my customers about is, when you're going through these slides, think about who is the control plane, right? So, in this slide right here, we're kind of doing multi-cluster manually, right? And my networking admin team needs to focus on the stuff to the left of the network admin icon here, service routing, traffic processing, MTLS, rate limiting, ExAuth, all these API gateway features as well as service mesh features. On top of that, they need to kind of focus on the intent, right, the high-level policy intent and their tasks, which is, in this case, defining the high-level policy, translating those into the Istio resources, validating the expected behavior, committing it to Git, deploying and managing all these on each cluster ad hoc, maintaining control and drift of all these YAML manifests in Istio and managing this at scale. You know, it starts to see, yeah, as you can start to see, this becomes kind of a burden on that networking admin team. So, you know, what's the natural place is, the next step here is GitOps. GitOps is a great place to start. And as we start to leverage GitOps with the GitOps controller, you start to see some of those tasks that I was talking about that that networking admin team had to focus on, start to shift down into the controller, right? So now, with GitOps, I can actually allow software to manage or manage maintaining the control and drift of my YAML manifests. And then I can also start to kind of, you know, manage this at scale more effectively because I have this all declared in Git and my GitOps controller is deploying these and managing them on my clusters. However, you still see kind of focus, the networking admin, they still have to kind of focus on a lot of tasks, defining and translating those Istio resources can become a burden and managing that at scale, ad hoc is still pretty complicated. So, you know, here we start to introduce in the mix a controller mapped with GitOps.  And you start to see some of those tasks actually shift away from the networking admin team, allowing them to focus primarily on, you know, defining that high level policy intent for their business use case, validating the expected behavior and committing that to Git. The GitOps controller continues to maintain and control the drift of those CRDs instead of direct YAML manifests. And then this allows GitOps controller and manage, you know, allow them GitOps to do what it does best, which is managing at scale, many apps and many clusters. However, we start to focus some of that, you know, those tasks that the networking admin team shift down to automation again, right, with the control plane. So we allow the control plane to translate Istio resources for us, provided that we have a simple to use API at the high level. We also allow that control plane map with GitOps here to deploy and manage each cluster as defined in our CRDs.  So here's a couple of kind of examples of, you know, where the controller value here comes into play. One of the key pieces is the usage of labels and label selectors. So you see on the left, it's really more of kind of a manual approach to this. So I want to kind of, you know, provide ingress to an application on, and I have five clusters, cluster one, two, three, have applications, but I only want to expose my app, apps on cluster one and two. My networking admin team here needs to understand this context, understand that they need to create those Istio resources, the gateway and virtual service, and place them on cluster one and cluster two. And imagine this if you had, you know, tens or hundreds of clusters, right? So on the right, when you shift this to a, to the use of a controller, you can actually start to leverage labels and label selectors similar to how we do in Kubernetes. At the top here, you have a workload selector selecting by the label ingress is true. And then on each cluster, you would have a label ingress is true. And therefore the control plan can auto discover as we scale from, you know, tens to hundreds of clusters, automatically know that, hey, I need to deploy this gateway or virtual service there.  So how we can expand that label and label selection idea here, really start to take this to policy and other things that are in the mesh. For example, in this diagram, we have our WAF policy. You can only, you can just create it once rather than having to kind of codify it into an envoy filter and deploy it in GitOps. Here I can just create the WAF policy, the control plan will now know to look for a label. WAF is true on the cluster and deploy that WAF policy to the clusters that need be. I can take and expand this label selection and poly uniform policy concept to many other pieces of the mesh, such as rate limiting, authentication, fault injections, failovers and transformations. And you can start to see how, you know, I hope you can start to see how the GitOps approach along with controllers can provide a lot of value to managing Istio at scale. Thanks everyone.


it's awful that we have to experience these things and it's just so common, but it's not your fault. Individually, you didn't cause them pain. Well, I hope you didn't. And so they should have the clarity of mind to say, hey, look, I've had these bad experiences, but my experiences with you, my experience with other people have offset that. And I'm going to try and have a more positive mindset towards the neurotypical worlds, towards other people to go out into the world and do good and try not to do bad, trying to try to integrate, control that shadow that you have. I'm going to leave that there. I realize that this is a very important topic to cover and perhaps quite, quite deep and quite sort of against the narrative that's pushed out quite a lot, but I just don't want to see anybody abused and I don't want to see anybody in pain.


Hello everyone thank you for being here before I start one quick question how you are at a word come for the first time wow that's a lot of people thank you for being here that's exciting are you enjoying it so far good will you be back perfect thank you so my name is Francesca I'm the WordPress Community Manager at SiteGround the international web hosting company and proud sponsor of work by Miami before doing that I was a freelancer that built websites for freelancers and I taught them how to use them and a lot of time was spent teaching them how to format their content so people will read it and hopefully buy what they're selling so this talk was born out of that six years experience how many of you have heard this slogan content is king it's a very popular one right so it was declared so by Bill Gates in 1996 and I was imagine a king with lavish clothes so I like to think of formatting as a beautiful embroidery that will add some more color and richness to an already beautiful fabric that it's your text this talk will be divided in two parts the first one it's a little bit about the history and the theory of why we do the things we do and why it's so important to format and then we'll go over some options that you will use to format your text so let's start with a little bit of history the web is getting old well you know depending what's your age it turned 29 at the beginning of this week yeah March 12th that's an important date because we all have a job because of it so thank you so sir Tim Berners-Lee wrote a proposal for what we now know as the World Wide Web in 1989 that was deemed vague but exciting by his boss at CERN the Institute of Research and but it got the green light so now we have the World Wide Web so Tim Berners-Lee also wrote the first elements of HTML in 1992 and a few years later he published the specs for HTML 2.0 which is the standard upon which we base all future implementation of HTML we're now at version number five and finally the most important date for our talk here today is October 1st 1997 when Jacob Nielsen who is a word usability and user interface expert conducted a study on a group of about 80 people in the summer of 1997 on how do people read on the web how do people do you read on the web well they don't they didn't in 1997 and they still don't unfortunately this is why people scan content and this is why formatting is so important so we will need the reader through a path and hopefully to the end of your page it doesn't matter if you're writing to share your recipes online or you have a blog with a highly optimized leading landing pages that to convert leads and stuff like that you want people to read what you're writing so this is why you need to format to help them get through the end of that text and you have everything you need to write good copy and format it in a good way in this 20 years old article so you should use lists headings paragraphs bold you know all these elements were already in the first version of HTML so 26 years ago and I'm amazed that we still see a lot of pages there are just a wall of text and that's not helping readers get to the end of the page before we go into formatting with WordPress we'll see a little bit of HTML how does it look like so you can better understand how to organize your text HTML is not a programming language it's a markup language that you will use to define the structure of a content inside a page semantically might seem like a big word but it basically just means that the element itself is describing its own meeting meaning to the browser so if it's a paragraph it's a paragraph I'm saying that it's a paragraph and not a list or a quote or something else all the pages are based on HTML so if you want to go into this business learn HTML and most elements have an opening and closing tag in the form of angular brackets with some exceptions and knowing how HTML looks like will help you fix some problems that might arise when you start formatting all these tags can be added by just pressing buttons on your WordPress but if you want to see what an HTML tag looks like that's the most common you will use and you see most tags are abbreviation of English words so p stands for paragraph block quote is the whole word ordered list ol unordered list u l list item li so if you remember what you're doing then you'll probably remember the tag after a while and this is what it looks like in your website paragraph block quote unordered list ordered list I would like to spend a few moments on the heading element and introduce you to the concept of accessibility so in HTML you have six headings from one to six and they're hierarchical which is a word that I find very difficult in English so bear with me so heading one is more important than heading six don't use heading one inside your page or post they're reserved to the page or post title and that's important for SEO and accessibility reasons so start from age two heading to one of the most common mistake that I see people doing is using those elements non-hierarchically yes I did it so they might use age four because it looks better than age two the style of the element is nicer but it shouldn't be used like this age two age three age four age five age six and the other mistake that I see people doing is using formatting pure formatting to substitute heading so you know like making making it bolder making it bigger making it color just stuff like that it will look okay in the browser but it will not help our readers and we want to help all the readers and what I mean by that I don't know if you're familiar with accessibility the content concept of accessibility how many of you are familiar with it at least a little bit okay I added a bunch of links at the end to get you started and you can always go to WordPress TV search for accessibility and you'll see a bunch of talks and I really suggest you go and you know get familiar with the concept I'm not an accessibility expert but by now I know one thing don't assume everyone uses the web like you do okay so the aim of accessibility is to remove barriers that prevent access to website for people with different abilities just to give you two example people might listen to to a page and not read it or they might browse a page with a keyboard or voice activated commands so using semantic HTML structuring a page correctly is beneficial for everyone so good formatting is not about how it will look ultimately but it's really about making it easier for everyone to access the content and use it the great thing is you don't need to be an expert and you don't need to know anything about accessibility to actually have an accessibility ready website go to the WordPress.org repository theme repository look for accessibility ready theme and someone that knows about accessibility has prepared and reviewed the themes that are made correctly let's say just use it as it is don't change colors sizes how links look like how buttons look like just use it as it is and concentrate on formatting your text for accessibility and maximum readability so we don't have time to go through all the elements you'll see in the formatting bars and to be honest some of them are not really about semantic HTML not pure formatting so and there's a lot of them so we don't have time to see them today I did a bunch of screenshots and it depending on the version of WordPress or Gutenberg we'll get to that in a minute you're using it might look a little bit different in fact I have to redo all the screencast for Gutenberg a few days ago because a lot of things changed this week so it might look a little bit different but don't worry because what you'll see that all the icons are actually standard icons that you probably have already encountered in your life in any text editor you might have been using word open office Google documents the the icons all look the same different ways to formatting in WordPress right now you have let's say three it's not correct you have other ways but for the purpose of the talk we'll stick to the basics use the editor this is what you see now when we go into your post or page that's called the editor you might have heard the classic editor now that we're transitioning at some point to a different text editor you have all the options in a bar or in two bars to be more correct and you might have heard that there's a new editor coming into town have you heard about Gutenberg yes so Gutenberg will become the default editor from next WordPress release right now it's a plug-in you shouldn't miss there's gonna be a talk here at 350 by Matt Cornwell and he'll guide you through the functionality of Gutenberg so make sure to come it's going to be really interesting these two methods have a user interface which is another big word to say you press buttons all right so if you want something to happen you'll press the relevant button and it will happen or you can type the HTML tag in the text editor and we will see how this is the formatting bar today I never know how to use the beam to show stuff sorry but you'll see you if you click on toggle toolbar another tool but will happen will appear and you have the visual mode and the text mode visual as well visual and text will show you the relevant HTML tags that have been used to structure the page in Gutenberg you see a smaller selection of options that will appear once you click into the text where you start a new paragraph you'll see that there are different formatting bars they have different icons and they will appear once they're needed so they're contextual and they're all different you see every selector and every bar has different options depending on the content that inside the block so let's go through some of the options for proper formatting the first one is the paragraph selector is not a paragraph selector anymore I think all it like this it's a paragraph selector in the editor as I mentioned earlier don't use heading not for heading that's what they're reserved for don't use them just because they look nice they mean something to the browser and to the people that browse the internet in a different way that you might be used to but also they're they have a different style so your eyes will go there so use them correctly right the paragraph is the default format you have on your text and preformatted can be used to insert code in your text and this is a screenshot from the actual editor that we have on Gutenberg the procedure is a little bit different so you have two options either you write a paragraph and then you turn it into something else or you start a new block with the something else that you want Gutenberg introduced also some new fun stuff like verse and subheading just you should just explore and have fun as you can see the headings well at some point in the loop you'll see it Gutenberg gives us only three options heading two heading three heading four which are basically the most common if you think of a structure then you'll see that it's quite you won't go as deep as h5 or h6 unless it's a super structured text you're writing and the HTML tags again refrain from using h1 because it is reserved to the post and the page title and it's better not to use it both for SEO and accessibility I added some links at the end that will explain why pre is the pre-formatted text tag and P is the paragraph if you go into text mode you won't see the P element because that's the default element in WordPress so it you won't see it in the text editor but it's there if you go see the source of the page in your browser you'll see it there and this is the final result doesn't matter what kind of formatting you're using you have your headlines you have your pre-formatted text and you have your regular paragraph bold and italic so bold is used to draw attention so please don't make a whole paragraph bold because otherwise I don't know what's important right say if you use it to make one word stand out or a shorter sentence instead of longer sentence but if everything is important nothing is important and I will just go to the next paragraph now italic has different rules in different language languages for example in Italian we use it to highlight words that are not in Italian so please first check with your third grade teacher and then use italic don't abuse it italic is very hard to read most almost for everyone but for people with reading impairments it's really confusing because it blends words together so use it don't abuse it they're pretty straightforward you just highlight the word you want to put in bold or italic click the button and it will happen you can do this with HTML these are the corresponding tags and this is the result as you can see italic is really hard to read especially in the sans serif font it will take you like a few milliseconds to get there so unless this is really vital or it needs to be italic because our third grade teacher said so refrain from using it and really don't make the whole thing italic list list or another thing that really works well in in web text because it appears to the left side of our brain the analytical side so we'll see things going step by step you have two different kind of lists in WordPress in HTML to be honest which has ordered list or unordered list ordered list or numbered list you'll use them when the items need to be in a specific order and bulleted or unordered list you can use them when the items don't need to be in a specific order you can either turn a text into a list to just make sure every item is in a new paragraph and not a new line and then you just highlight it and press the corresponding button ordered or unordered list or you can start a new paragraph and start a new list again pressing the corresponding button and you'll start a new list same goes for Gutenberg and you see when you start putting your mouse inside the paragraph you'll see different bars popping up depending on what you want to do but again you can do it both ways either start a new paragraph with the list or turn an existing paragraph into a list this is the corresponding HTML you see oh L ordered list you L unordered list and every list item as a li tag and you see the opening tags and to see the closing tags I never know what that's called in English it's a reverse slash a what a forward slide well I have forward that is going backwards anyway call it whatever you want this is what it looks like a block quote is another element that is often me you misused because it looks pretty it looks really pretty in everything I ever used they put some really nice touches into the block quote element it's usually you know a different font and it might have another element that I have no idea what it's called in English though oh that's so easy it makes so much sense I don't know why in Italian it's not like that so you have the quotes and it looks nice but that's not it's intended use the intended use is actually to add a quote inside your text a non-semantic use of this element has been deprecated since HTML 4.0 that was about 20 years ago or something like that so if you want to use it for presentation of purposes don't use it for an actual quote in the editor you simply highlight the paragraph you want to turn into a quote press the button turn it into a quote in Gutenberg is really fun you have a bunch of options you have different styles again you can either turn a paragraph into a quote or start a new block as a quote you have two different styles and the thing I really think it's really cool they introduced is the site element the citation which is a good reminder to give credit where credit is used so you know if we pick a quote from somewhere you should add the author so this is how it looks like when you see the mouse going into a gray bar this is how you had a new block in Gutenberg by the way if you were wondering the HTML is a little bit more complex because if you also want to add the citation you need a different element but again now you know what it looks like it makes sense block quote site it you don't really have to guess and this is the final result you see it's really pretty this is why a lot of people use misuse it alignment is not really an HTML element is actually CSS class added to a regular paragraph and and beside the technical side of it I strongly suggest you stick to left alignment there's a reason for this so centered and justified looks really good on print but they're very hard to read on the web so if your language is left to right like English is stick to left alignment you don't need to do anything the reason why is because when you write a text with your left alignment it will create a straight edge on the left side of your text so the eyes will always find the starting point of the new line it makes it easier and faster to read when you have a center text the line starts in new place every time so it's slower and for people were reading impairments is really difficult so unless it's vital stick to left to right you don't have to do anything left to right is the default mode in WordPress if your language is English again if your language is right to left then the default alignment is going to be right to left if you must just highlight the part the paragraph that you want to align and press the corresponding button up is the editor down as Gutenberg and this is the final result I have to admit I'm a known abuser of strike through I love strike through I use it to be sarcastic that's not how you should use it that's a semantic element okay so in fact what the Dell that we call it strike through but the HTML element is called delete Dell and it actually says that a portion of the test the text has been deleted no and the browser will render it as a strike through but the meaning of it is deleted text highlighted strike through delete and you done you can see the real intended use of this element if you go into the text mode you'll see that at a timestamp do you see the timestamp this is when the text was deleted so that's how you should do it if you want to create a presentational element that will strike through your word you should do that in CSS if you don't have to skill the skills to do it it's okay keep coming to work Campbell you learn it but while you do just use it but don't abuse it again because I I do I do this that's terrible I wanted to skip this one don't color text don't color the text okay because we install a theme it has a series of fonts sizes and colors that were created for you in this beautiful palette and then you go and bang you introduce a color that has nothing to do with the palette that was you know well designed for you where press website or for any website if there's some reason you really need to do this but honestly try not to do this I added this slide just to show you what not to do select a portion of the text that you want to color and press the corresponding the corresponding coloring Gutenberg you'll find a lot more options this is one thing that I'm not super fond of the new editor because this presents itself so so many means use but one cool thing is that you can color the background so if you want to do a call to action with a different background to you know highlight some content you do that just make sure that the text color is going to have a good contrast on the background so it's going to be readable there are a number of common annoyances it will happen and happen to the best of us and I don't count myself into the best of us so it will happen to you too now you know what to do with that because you know what an HTML element look like so you can move it around if you need to first elements let's say you have a block quote and you want to start a new list inevitably the list is going to go inside the block quote and that's not what you want so instead of cursing at your screen which is like what I normally do keep your cool go to the next editor move the block the closing tag for the block quote after the quote itself and then the list is going to be in its own element same goes for actually on Gutenberg is much easier just to do a new element a new block sorry so that's how you solve it paragraph versus new line you know when you click enter and you get a new paragraph like now I just want a new line I want to start something new but not a new paragraph click enter you'll get a new paragraph click shift enter you get a new line that's true also for most of the text editor you're going to use also Google documents so that's a good one to know in Gutenberg it will start a new paragraph so a new block when you hit enter so just do shift enter if you want to start a new line and finally get me out of this list this is also very common you have a list you get to the last item you want to add something more you don't want another item in your list but you still blocked in that list again please press twice enter I'll get you get out of there you'll see you see the animation so that's where you start if if you don't want to do it with enter you just go to the text editor and start the text after the closing tag of the list same goes for Gutenberg this actually changed this week so this slide was completely different now you can do this also in Gutenberg click twice and you'll get out of there lots of links lots of links because I'm obsessed with this topic because I hate it when I go into website and it's a wall of text I'm like what do you want me to do I really want to read you but no way I'm gonna do this I'm too lazy to read this incredible amount of words tell me what are the important things show me a heading show me a list so yeah there's a lot of reading material a little bit about the history a little bit about accessibility and a little bit more I already uploaded the slides so if you go to Twitter and you check at Francesca Marano you'll see the slides I really hope this talk was useful to you and you'll join me in making the web more readable place for everyone if you have questions I think I have time for a couple otherwise I'll be at the happiness bar otherwise I'll be at the side ground booth for the whole weekend so just come and be obsessed with me thank you I because I always write to the whole to hold the link not just as a clickable because I'm not always sure the exporting of the PDF will work so worst thing worse you can just type in into your browser usually PDF exporting does well with links but not always so that's just my preference yes I'm closer I'm gonna do also a bit of mic running yes rebuild your website today should you use the editor or the Gutenberg that's a tough question I want to be diplomatic that's how you say it I love the classic editor because I'm used to it I've been using it for 10 years so I don't really have to look what I'm doing but I think Gutenberg has a lot of potential and I think especially if you like a UI when your user interface when you do stuff I think it's great and for a new user if you get used to it I don't think you'll ever want to go back to the classic editor it's just the old boring people like me that were used to that and we have a bit of a hard time accepting change the HT well Gutenberg adds a lot of inline CSS but yeah DHTML is always HTML it has been for 26 years and it's going to be for the rest of our life hopefully anyone else no okay so I'll wait for you at the happiness bar if you want and thank you for being with me