buted to. All right, so let's dive deep in. I'm curious. So I'm gonna start with family here again. So how has contributing to WordPress helped you grow and how has that journey been? And of course you've mentioned that a bit but what what skills have you learned and how does it help you on a daily basis? For, so first and foremost for me, it helped me make a pivot in my career from web development to content writing and I think the skills that you learn here, the learning experience you get working in the docs team, it's very different from the experience you get working as a solo developer in a small agency independently. And I've learned to collaborate with a bigger team. I've learned to which is spread across the globe working for a bit different time zones, working like communicating in Slack. And I've learned to write better, I've learned to write with more clarity and learned to be more transparent with the work I do. And also just it's very different. It's a very open environment. So and these are all skills that you don't get when you're working as a solo developer independently. So and also the cherry on top is I get to build a reputation for my work and also connect with the bigger WordPress community. And I think even the fact that I was able to, I was invited to speak at this panel. It's just a testament to what contributing has helped me achieve in the long term. And yeah. You folks wanna add to it? Yeah, I think all of those things extend to even sponsor people, you know, personal growth, growth amongst your colleagues from things that you learn are able to pass along. Yeah, cultural growth, being exposed to new cultures. I've been very fortunate to be able to travel to all over the world to do this job and to help contributors around the globe. Yeah, it opens up many doors in many different ways. Plus one and so many. I also think teaches you a lot of human skills. It also, the ability to not get bored in the best possible way. For me, I've gone from design, well development design, about the development. A bit of product. And that has really given me longevity and it continues and it will give me longevity. I think in some career spaces, you know we're all aging, whether we like it or not. Some career spaces you maybe need to think about, pivoting and changing and moving out of those companies and within this space and within contributing, you can do that. And I've also seen people contributing to change careers as well. But it's been something that I've actually seen be able to do as well. Interesting. So the themes that I'm hearing is personal growth, networking and even like changing careers, gaining skills. So what I'm hearing is there's definitely a real benefit to contributing. It could be a way to augment what you learn, the skills you learn and to sort of like amplify them. Excellent.  We have Jonathan and Tammy who are sponsored and Femi, you're self-sponsored, you work on your own, right? So the challenge that I've heard from many contributors is that they struggle to contribute consistently.   So how do you contribute consistently? And what tips do you have for our volunteered or self-sponsored contributors who would like to sponsor consistently or to contribute consistently? Yeah, the one thing that keeps me motivated to contribute is I'm constantly learning new things. Whether it's simple as writing the meeting minutes to get her markup language to setting up projects and workflows, there's always something you learn and that's exciting.  And interacting with the team, it kind of energizes me and I just love it. And also it's kind of thrilling to know you are, you know, working on the documentation of the software which powers like 43.1 percentage of the web. So that kind of is thrilling for me. As far as tips go, one thing I've noticed is folks get really excited when they come into the team to contribute and they take on a lot of tasks and then they get frustrated when they don't make progress and then they just, just leave. So my number one tip is start small, you know, take on small, simpler tasks, maybe one or two tasks and you know, have small wins and then you can just build on it and the same goes for the number of teams that you participate in on Slack. You know, first start off with one or two Slack channels and you know, go from there because Slack can get really overwhelming sometimes, just build on it and pick your own adventures. Like some days you might just make small changes to your, to some tasks and some days you could just rewrite an entire article and either it's fine, you know, don't beat yourself up, you know, just, but also don't overcome it, just be realistic with what you, you know, what you set out to do and make sure you don't get burnt out or, you know, frustrated.  Jonathan, similar is your story as well. So how do you contribute consistently and do you have any tips for folks, especially from, from, like, in the perspective of folks who sort of like traverse through all those, all those ways? Yeah, you, if you're not sure how to be, take a step back and observe, but you want to always try to be realistic with what you can deliver. It's a lot better to deliver less or promise less than it is to promise a lot and then not be able to do what you say you're going to do or, and sometimes that's not to say you shouldn't aim high at something that's out of your comfort zone or that you've never done before, but you don't want to sign up for 40 hours of work when realistically you have five hours a week or something of that nature. And so, you know, don't be afraid to start small, like Femi said, and work on increasing or becoming more comfortable. And maybe after a couple of weeks of reading this handbook of how to contribute to this team, you could get a lot more done in that same amount of time as you would have if you just overwhelmed yourself at the beginning on the onset. I think sometimes people think it's all or nothing with contribution. So my sponsorship is eight hours. For me, that's perfect. It gives me that perspective still of the work that I do, which I can then bring, and it also means I can keep those skills going, but I can also do that core work. It also means for many companies when they are able to balance contribution. And I think that is also really important, even no matter where you are self-sponsoring or whether you are a company who are looking to sponsor people. Sometimes it's very hard to do full-time sponsorship just from that person, the maintenance of that person, the isolation of that person, just the commitment of that as well. So I think it's really healthy. When I have been full-time, that's been great. When I've been on Teams, it's been amazing. When I've been working on some projects. But I would say, particularly for me in my own situation, I'm really worthwhile with the perspectives that I get to go outside and learn and then come back in by having that and that balance. And I personally want more part-time contributors because I think that that perspective makes us have a very healthy project. We always, always want you people, as you kind of point out, the full-time contributors are keeping the lights on. They're picking up the trash on the floor and keeping the lights on. But we're also gonna need those outside perspectives of the people that are building, the people that are working in agencies, the people that are doing that, who can feed from their colleagues, who can then go into these projects with limited time but they can take that perspective from working on those projects and then go and do some contribution. So personally, I really value that perspective. So what I'm hearing is there's value in pacing yourself. There's value in making contributions a habit. There's a value in, again, looking at different perspectives. It's even okay to maybe pick up, pick bosses and take it easy. Those are interesting perspectives and I think there's a lot to it that we need to explore more. So we've spoken about contributions individually. I think it's time to go a bit into organizations because if you look at the Five for the Future program, it's a space where companies or organizations, they can actually pledge their time to contribute to WordPress. So I wanna ask this to Jonathan and Tammy since you are sponsored. So I'm curious. So how do contributions work in your organizations? So I'd like Tammy's perspective. Tammy, I know you work for inside and Jonathan, I know you work for Bluehost. So both are entirely different companies. Jonathan, you're the hosting company. Tammy yours is an agency, so.  So I'm curious, like, how do your organizations do sponsored contributions? So to share more on where I'm coming from, I like our audience, I mean, at least the entrepreneurs or the business owners and our organizations to get a bit more insight on how they can structure their own sponsored contributions of their wish to. Yeah, I think sponsored contributions are really important and we want, we need a balance of self sponsored and hobbyists and business sponsored. As far as how it works inside of Bluehost, I'm on a team of, we're called the WordPress Center of Excellence. So it's basically a team of people that are the respected experts in WordPress development within Bluehost. And then we're relied on to give guidance on best practices and all of those types of things. I'm 100% external facing and my colleagues are a mix. And we really, outside of the business interest that they work on directly, I have a huge amount of autonomy as far as what I work on. And I'm really not, I've never been told what to do as far as like what to contribute to or how to contribute. It's more of I'm trusted to have the awareness of where I'm needed the most and where I can have the best impact. And as long as we're out there having a positive impact on the community, it doesn't really matter what form that takes. It could be speaking, it could be leading a meetup, it could be committing to core in some cases. And so I'm very fortunate to have that. And it's really important I think for companies to get back by sponsoring folks because we wanna prevent the tragedy of the commons where everybody's taking, WordPress is a free software and you can use it and use it all you want and modify it all you want and build on it all you want. And if you have a business that you're taking in tens or hundreds or millions of dollars, it's in your best interest for that software to grow and become better. And the things that you're building on top of that software will directly benefit and improve from sponsored contributions that you're able to give back. And I think that's really important. So for me, it's pretty much been since June. It's kind of early. As I mentioned, I have eight hours. So one of the tips I would give if you have that time is to try and literally pick a chunk. So I try and have a half of a day. For me, I've actually been involved in two releases which is 6.3 and 6.4. So it's been pretty much and like you were saying the trust to do, which I think is incredible to be able to be given that. But also I'm here because of that. I'm at the committee summit because of that sponsorship which I think is something we have to also recognize that that also enables people to be able to attend these things. By my accent, I'm obviously not from this country. I had to travel a little bit. So therefore it enables people to come to these events. It enables people to join these conversations. And I think that is really important. As far as day to day, for me, it's pretty obvious the air is for me to contribute in and the air is to join in. I think it's an important note that for sponsored contributors to constantly be in releases would be something I would warn against. For me, actually 6.4 is a kind of unique release. So it's kind of important. But I think sponsored contributors making sure that documentation happens, making sure that systems kind of happen and making sure that issues happen. One other thing is also not promoting tickets within because you don't have that bias but also ensuring that colleagues know where to report things or surfacing the right information. So say a version of WordPress comes out saying just the crib notes or sharing that information. We often make these presumptions because someone works on WordPress they must know everything about WordPress. That's not fair to make that expectation but if we are living in that space and we are kind of with those things we're gonna have access to that information a bit more. John, thank you. I think you both touched upon this a bit. So I wanna prop that a little more. So is that a business case for organizations to contribute WordPress? So I'm asking this question in a very mindful way because I know we are in a global financial, I wouldn't call it meltdown, there's a downturn happening, definitely that's a downturn happening. Folks are not hiring as much as they used to. So in that case, companies are being really mindful about either hiring new people or contracting new folks or even getting their own employees to work on open source projects like WordPress. So in this milieu, what do you think is the business case for contributing to WordPress as an organization? I know you both touched upon it. I wanna really focus on this part of the question so which is why I'm asking this again. Yeah, I think it goes back to the business cases that you wouldn't want to build an office in a building that's gonna disappear, right? The foundation of the building disappears then you don't have an office anymore. And so it's really about fostering that software and making sure that it's growing and improving and constantly evolving to new things that are out in the ecosystem or new technologies. And so like for example at Bluehost, we've built a new onboarding experience and it uses a lot of the underlying Gutenberg packages that are published into WordPress to give a more native feeling to it. And so by contributing back to the project we improve the accessibility of those packages. We improve the experience, the native feeling that you're in WordPress consistency. And so by improving those things you automatically in a way improve your own products that you're going to build on this. Maybe you have a plug-in that has forms or whatever it is and it's just, how can you focus on the greater good of the project? And that's something that's also great too is that by being sponsored it's important that you're unbiased and it's okay for you to come to the table and say, hey this bug is really affecting us and we should look into it because it's obviously not us but not come and say, hey we want this, right? So you have to look at both sides. You have to look out for things that it might not be the greater good for the way that you want it but finding that compromise. And by being sponsored it's by no means a pay to play. You're not automatically going to get people that decision level trust. But over time they'll build that through their goodwill contributions and showing that they are able to be agnostic to an organization and think about the software as a whole and the health of everyone involved. I think two words come to mind. One is advocacy. You have to sort of particularly, from an agency perspective, if someone came to me and said, hey this thing doesn't work within inside I would then have to be okay, is this bug only relevant to this particular project that was in a very particular situation? Or is this affecting all agencies in WordPress? Generally it is affecting everybody within WordPress. If it affects one person who's doing something and generally for me it's something to do with the co-editor work, that's the reason to get it fixed and those kind of decisions are really great to be able to know and be able to speak for that space and be able to speak for that work. The other is efficiency which I think is a really good business case. You know efficiency of knowledge. You have the ability to surface knowledge more effectively but you also have the ability to know things like roadmaps, efficiency to be able to just help with the co-base is just such a big thing as well. Know when you can build. It's always, it's one of the kind of ones at the moment. When should you build a custom block? When should you build a pattern? Just as things are changing so rapidly and things are happening, that kind of advice that you get and then listening within the organization and kind of being able to be the middle point a little bit or trying to help a little bit there, you will find that. I think one of the business cases I would say in the current climate that is harder to say is the full time. I will be honest with that. But I think that you can find a balance with what, depending on the company, depending on what the company wants to do and how big the company is because we're talking about a company. But yeah, there is always a reason for some form. Make sense, thank you. So I think that if I were to summarize this, I would, as you very likely pointed out, Tammy, advocacy and efficiency and as you pointed out, Jonathan, we need somebody to keep the lights on and we don't want the floor beneath us to sink and there's, of course, you make an impact on the ecosystem that you work on and that definitely, it's valuable. Now we've spoken to sponsored contributors. For me, I'd like a self-sponsored or a volunteer or individual contributor perspective for you from you on this topic. I wanna, I remember you mentioned this specifically, you mentioned about how your contributions really compliment your work, right? So could you elaborate on that just a little bit? I would like to know more about how your contributions support you in your professional journey as a freelancer. In other words, what is the business case for you as a freelancer to contribute to WordPress? Yeah, for starters, it helped me make a pivot in my career from web development to technical writing. And I think contributing is a great way to test out the waters if you wanna make a career, if you wanna explore a new career path or if you wanna make some changes in your career, whole new skills in the current job without the pressures of a deadline or a fast-paced schedule, and I got some real-world experience writing technical content and all my contributions are public so they're all linked to my WordPress profile, which means someone wants to hire me based on my contributions, it's all out there. And you know, yeah, I guess, yeah, that's it. I guess also the fact that you're here which Tammy mentioned, which is also a direct result of your contributions. So we've been exploring the part of how contributions help. In Femi's case, freelancers or in Jonathan's and Tammy's case, organizations. So I'd like to sum up what we discussed so far and because I work full-time on Fire for the Future and the question that I keep hearing from organizations is how do we set it up? Because that's always very ambiguous. And I know we discussed that a little bit. So let's say, I mean, this is to all the entrepreneurs here in this audience and watching us live or watching us later in WordPress.tv. If, between the three of you, you could share any advice to organizations specifically on how they can set up their program and how they can scale it up. In any tips is fine. Anything that comes to your mind from your vast experience contributing to WordPress. Let's keep it short though, yeah. Jonathan, you can go ahead. Oh, sorry. I think that a great way to start is to just take your team to a WordCamp and a contributor today. I mean, that in a sense, crowdsources, they're onboarding into contributing. And then you don't have to start with set amounts of time. But maybe you do something where some agencies do, the whole company, once a month they have the whole day is contributing to whatever you would like in the project or adjacent to the project. And so maybe that's a way to test that. And maybe some people stand out and they're excelling at that. And you could say, hey, how would you like a week a month or something of that effect? It would be really difficult to really just cold turkey make that change sometimes because you'll have lead times with clients and you might have to do a little bit of planning in most cases. So that's kind of it. Just again, start small just as you would as a single contributor and you don't have to commit your whole organization for a whole week every month, yeah. I would say don't think you have to be so fixated on a certain amount of hours that you do based on what you were saying. Think of it as a goal and I love that idea of thinking one day and have like a contribution. Even once a month, once a year, it doesn't matter. You're trying. And I think that that's the ideal, you're getting that information and you're starting. I would also flip it to self-sponsored if you really, really are looking for that and you're really looking to start. Just start showing your contributions because I have quite a few people coming to me and they say, hey, I would really love to be sponsored for this, I'd really love to do this. Take it slowly. If you're running yourself, you're just gonna burn out. So just really think of that and think of the longevity both sides and the longevity of the contributor and the longevity of the sponsor are incredibly important for our ecosystem. If we don't have both, we pretty much don't have open source. That's what these programs like Five for the Future are about. It's about longevity of both sides and it's not about an arbitrary number. So that's, to me, that's what it's about. So it's really about care and consideration and building and nurturing. When you don't have the backing of a company, coming for events and wordcams like this, it gets hard financially for self-sponsored contributors. So one thing that companies could do is help out, like start a financial aid for sponsoring the self-sponsored contributors because, yeah. And the other thing, WordPress releases happen like every three, four months and there are a lot of self-sponsored contributors who work and who are involved in the process. So if companies can sponsor contributors per release, right, you know, that's something that'll be awesome. Thank you, folks. And Femi, I'm glad you mentioned sponsorship because that was the main topic that I wanted to touch upon today and I purposefully, you know, kept it towards the end.  So there's a lot of contributors in the WordPress project who do a lot to WordPress. Unfortunately, they are limited to the number of contributions or the amount of contributions that they can make because like they are volunteers. They are unable to, you know, contribute beyond a certain number of time but many of them are quite passionate. They really, really want to do it and I know from speaking to a bunch of people that they really want to do it and they have the skills to it. If, and like fully they could, you know, give that extra time to contribute to WordPress, it would really, really help the project. So my question, and with this we are gonna wrap up this discussion and maybe open to some questions, is on, it's all three of you. I'm gonna start with the sponsored contributors first.  So to all the folks here, to all the contributors out here who are looking for sponsorship, what advice do you have? How can they, you know, get sponsorship? How can they get sponsored for their work? Yeah, for me it was really just being present at events as many as I could. I was fortunate enough where my employers were in the WordPress space and so, you know, going to events and meeting people and meeting other contributors. In many cases the contributors, we deal with a lot of really, really difficult problems and it attracts some of the smartest people I've ever met to explore these and find solutions and so just meeting them and talking to them and learning from what they are working on was just a huge way for personally to just almost level up myself and learn different things. The other thing is kind of just coming back to what we were saying at the beginning is just be realistic and be reliable, be present, be persistent, ask questions and just let your work speak for itself. Do just do good work, do it for the right reasons and do it in public as you should in open source and eventually there'll be a timeline or a track record or your WordPress.org profile will be all sparkly and loaded with badges and contributions and all that and then when it comes time where you see something, an organization that aligns with your goals and that is looking to sponsor someone, you can, they'll likely already be aware of you or they'll know your work and what you've worked on so. The only thing I'd say is, I think there's a little bit of a danger to look and say there's one path to sponsorship because I really do not think there is. The path that I had to sponsorship was very meandering and very, was initially the very first time I ended up in sponsorship was not intended. I didn't take my first job to have sponsorship that ended up in sponsorship. That was many, many years ago. So to give advice based on my experience would not be the best because it would be based on purely on my experience. So I will abstract that and give point one, work out how much time you have.  Do you want a job that involves full-time sponsorship? That will change, that would mean that you would stop doing your current job. That would mean you would want to go and work in certain companies if you would want to do that. So that changes the conversation that you need to start having with yourself. There are a number of ways that you can start looking for a self-sponsored if you want to do, a number of ways that you can put little badges and different things on to start having that for yourself, tips or whatever. Start considering that that does not pay 100% but that starts you getting a little bit more visible and saying, hey, I'm in this space. Hey, hey, I would like to be seen. As you were saying, like start kind of getting that start. You do not need to run straight into a release to get sponsorship. That would be my big thing because sometimes people think they need to do that in order to do that.  So really just find out what you want to do and work out what time you have and then kind of go from there because it's really going to be different. Do you want to be sponsored for the current thing you're doing or do you want to change as well? So that's part of it. I guess before passing it to Femi, with self-sponsored contribution, like we're talking about businesses, sponsoring people and obviously the financial aspect of it but for self-sponsoring, it doesn't have to be a financial consideration in some ways. It could be a hobby that you do for watching TV a couple of nights a week that you kind of tinker and so I'm curious if you have like how you think about it or if that's something that you would recommend to get started as well. Yeah, I personally believe if you have the time to binge and scroll, you have the time to do anything. So you just have to make it a priority and you just have to show up and do the work. That's my mantra if I want to do something. So I think you have time. You just have to find something that you are really excited about and something that you're really passionate about and just keep showing up and do the work and don't be afraid to ask questions. Don't be afraid to take on challenges when you are contributing and also don't let the language barrier be, it's top you from contributing because we're all very friendly groups. Just be helpful, be kind and also be realistic about what you set out to do because you don't want to end up burned out or frustrated. So just learn to balance that. So one of the things is before I ever had a job from WordPress, my sponsorship or my payback from the WordPress was just in the learning, was in the knowledge. And I think sometimes you need to make that kind of conversation with yourself as well. I think sometimes these conversations about sponsorship also need to be looking at the kind of ebb and flow a little bit. It's super tricky because you are giving up some time somewhere and there are bills to pay. But you really need to look at that. If you are gaining these skills that mean you can charge more for something here, then great, that's worth doing. And that actually happened to me. I was gaining skills, which meant I could, I even wrote a book and I even could charge more when I was working for myself. That was worth doing. So it's kind of those conversations that are happening. And that was a self-sponsoring thing as well. So making those kind of conversations with yourself about what is this doing? What are you gaining? And doing that kind of sheet with yourself is really important as well. I think we are slightly over time, but that's all that we want to talk about. So the takeaway that I've heard us listening to you all is there's definitely a business case for organizations to contribute to WordPress.  And it's a journey of personal growth. It's a journey of passion, especially if you're up for it. And there's a solid way that you can actually grow as a person or as an individual or as a business. So to wrap up, I guess I would encourage everybody here to consider contributing to WordPress more consistently. There's so many ways that you can do it. And I hope our panelists have shared some tips which help individuals or organizations to be more consistent in their contributions. Yes, I want to repeat about the Five for the Future program. It's available at WordPress.org slash five. It's a way to pledge your time and resources, either individually or as an organization. And the number of 5%, as we mentioned here, it's just arbitrary. It's up to 5%. It's what you can contribute. Again, also, you don't even need to pledge. If you contribute consistently, that's great. Because the project eventually needs contributions for WordPress to survive and for us to survive or to thrive along with WordPress. WordPress needs these contributions. Organizers, can we get maybe one or two questions? Do we have time for that? Or should we wrap up? I know we are slightly over time. Is there a time for a question or two, maybe? Anyone? OK. All right. So I guess we have time for maybe two questions, one to two questions. Does anybody in the audience have any questions for these amazing contributors? Any questions? So we have mics over here. Hi. Has it worked? Yeah. Hopefully. Yeah, OK. I just, what I was missing and might empower other people to see the bigger picture, can you point out maybe how much networking helps with finding, like, getting seen and being visible and maybe being sponsored? Yeah, for me, it was big because, as I said, I was going to events. I was meeting the people, doing the things I wanted to take part in, getting them to put a name with an avatar or a face with an avatar, but it's not always the case. Sometimes it's your work that is the networking and people using what you build or contribute to. So I don't think it's always interpersonal networking. It's sometimes it's from your work. At the beginning, not at all for me. I spent quite a number of years before I even went to a work camp, but that was physical networking. And I think it's really important to say sometimes our networking is turning up in the IRC channel back in the day or coming on a ticket or making those interactions were incredibly powerful. So when I did turn up to my first work camp, I was scared. I knew and I could have conversations and I did take me a long time. Yeah, took me a number of years before I still felt comfortable. Networking is not my natural thing, even now. But having conversations just worked, I do not think, though, that you need to be a network person in here because in a traditional sense, I think our networking can absolutely happen virtually. And I'm probably one of the big testaments to that because I probably wouldn't be as successful if networking wasn't virtual. To start off with, then you can be able to speak and get welcoming, which I think is really, really important that we make it accessible for all different types so that we can embrace. I agree. Networking, when you're contributing, it's kind of like networking online because you're showing up in the meetings. Your name is there in places and when you come in for the conferences, people know you from that and they just need to know, okay, this is the person, this is the avatar, they just have to match that. So it's like an online version of networking. I know I said we have time for two questions, but I think we should wrap up because this is five more minutes until the next session. So thank you, everybody, for listening patiently and you can find the panelists. They are here, you can ask them questions. Thank you so much, I really appreciate it. Have an amazing day. And thank you, the organizers of WordCamp US. This is a fantastic event. We cannot thank you enough and thank you for inviting us to talk about contributions. Thank you, thank you so much. And Andrew Nason. Hello, everyone. Welcome to Just Outside of Washington, D.C., my hometown, so very grateful to see all of you here. My name is Andrew Nason. I'm Helen Hosendi. You might know us. We've both served as lead developers of WordPress for quite a while, although I've been an active for quite a while myself at this point. We were release leads for WordPress for six major releases. I was actually the first release lead in 3.5 and we began the modern idea of rotating it every single time and then I inflicted pain on myself for doing every other one for the next two more. We also combined to have more than 7,000 contributions to WordPress Core and we've been around the community for at this point, both of us, more than a decade, which is really cool. Today, we're going to talk about, well, we'll start with some WordPress philosophy. You're familiar with great software should work out of the box. Decisions, not options. Striving for simplicity. Deadlines are not arbitrary. In this particular case today, we're gonna talk about one particular deadline. The terms of the president and vice president shall end at noon on the 20th day of January, which is in the 20th Amendment to the United States Constitution. So in this particular case, it's really hard. All of us have had to do with deadlines in our lives and certainly in launching websites. It's hard when the deadline can only move with two thirds of both houses of Congress and three quarters of the states. So that was a bit of a challenge. So today we're gonna talk about all the president's websites. And we're gonna start with, we're gonna go way back. So some of you have used archive.org before, the Wayback Machine really great. We're instead gonna go to the National Archives. Beautiful, amazing building. Let's see the Constitution, the Declaration of Independence. And if you go to their website, you can even go take a look at old websites. This is one of the very first ones. This is a president Clinton's website in the 90s. It is very 90s. I don't know the exact, I don't remember the pixel dimensions, but this is like the 640 by 480 kind of things. You can sign the guest book if you want to. It's very exciting. A couple years later, they did do a new one. We had to get this right. The flags actually were animated. Yeah, you may not like it, but this is peak web design. It's true, it's downhill from here. This is another version of president Clinton's website, which despite being the 90s, this is pretty close to a modern web design. We haven't really gotten all that far in the last 20-something years. It looks very similar to Kubrick. Yeah, yeah, no, I could see that. You know, the three-com layout, very classic. And then we can get to president Bush. And this is what his website looked like. I mean, to give you a sense, we're dealing with a lot of HTML here, raw handcrafted. This is a lot of pearl. There's some macromedia dream weaver, if you really want to go back in the day and you take a look at the source. But it worked. And what ended up happening is that towards the end of the Bush administration, the Obama administration was coming in. They did this, we have a presidential transition, which we'll talk about. And as part of this, the Bush administration had really great, amazing career staff and contractors and folks who were doing this all the time, and they ended up taking this site. And they said, we built you a new CMS. And it's in pearl, and it's amazing, and it's super exciting. And the Obama administration was like, well, that sounds great. We just did a campaign for two years, we're pretty exhausted. Here's a Photoshop file of what we wanted to look like. So this is again, 2008, 2009. So the idea of slicing up a PSD, I'm sure. You feel that one inside? And so they did that. And so they ended up with another website, which didn't quite look like this, but this is what ended up, President Obama's website ended up looking like towards the end of his term. Certainly nice big hero image, which feels pretty good in 2016. This is, oh, and I should say, after about a year of that pearl website, they ended up finally moving to Drupal, which started, I think, a bit of a renaissance in government, especially, for choosing open source software in a lot of ways. I particularly love it. I think Drupal was an excellent gateway drug to open source. And I always joked, and I'm very close friends with a lot of the folks here in D.C. who do this stuff, and I always joked, like, this is great. Convince them to use Drupal in five years when they need to migrate. They're gonna come over to WordPress. This is the last administration's website, quite modern. Looks like something that was done in 2017, 2018. But this is not what it looked like on day one. This is the header to President Obama's website on January 19th. The very next day, this is the header to President Trump's website. And all they did was they just took out all the content, changed the name. Because presidential transitions are really hard. You have just, now, you've run an election for multiple years. You're trying to figure out how to place thousands of political appointees in government. You have to make cabinet selections. And you often have to figure out, on day one, I'm gonna have executive orders, press releases, an inaugural address, videos, photos, all these things that need to go. And they're, this is, we need a site. And how does that work? And so you have this idea of a presidential transition, which is quietly operating for months before the election, both candidates. And then after the election, then there's like, all right, well, ideally one of you is ready to go. And you don't have a whole lot of time to prepare all of this. And so we ended up in a very similar boat on the Biden-Harris transition. It's actually never been done before that we had to start from scratch. We did start from scratch. And so we were in a very interesting time where we were trying to figure out, you probably remember the challenges of that presidential transition. You probably remember that it was weeks after the election before the government did a process called ascertainment to say, yes, you've won. And now you can talk to us, which is very important when you're trying to plan for things like rolling out vaccines or launching presidential websites. That coordination is really important. And so in this particular case, we had never before built a thing from scratch. And we realized that we might need to. And so we did so. What's fun about this is that I didn't need in any way to worry about the WordPress part of this because that was a given. That was obvious.  And then they also, mind you, this is the Biden team and many of them were from the Obama team and a lot of them are familiar with really high-profile websites like healthcare.gov. Wildly successful story, you might have heard of it before. And as part of this, as part of healthcare.gov, we had to, you know, out of this, created the United States Digital Service where I was one of the first software engineers and worked on making sure that these kinds of failures didn't happen again. So now we're talking about President Biden, this is his transition website, and the idea of making sure that we are ready on day one. And that's a real challenge for us to figure out, especially when we don't have a whole lot of time, and there's just not so much to do. Quite a lot to do. So we ended up needing to start from scratch in every way, including the designs. And then Ostraher, who is a wide-eyed creative, is insane, and created an entire brand for the White House in about, I don't know, 72 hours. And you can see some of that together, this logo you'll see all over the place, very excellent, we have an entire brand guide that then moved into the White House on January 20th, with colors like Joe Navy and Amtrak Gray, which I really enjoyed. And what I think is pretty amazing is that despite the amount of time we had to do this, something to keep in mind here, we didn't have a whole lot of time. We had a brand guide. We had a color palette. These are all WCAG AA accessible. So I don't know about you. I've heard a lot of concerns about, well, we can't possibly make the site accessible. All right, well, I had a constitutionally mandated deadline, and we made the site accessible, right? So it is possible. So I wanna go back to the idea of what it meant to be ready on day one, and the idea that on day one, any new president is inheriting a very large government apparatus. This one in particular inherited a number of crises, not least of which was a pandemic, and the idea of rolling out vaccines. And we didn't have a whole lot of time. Presidents end up using White House.gov and digital platforms and social media as an extremely important communication stool, perhaps the way radio was back in the 30s and 40s. And time was of the essence in terms of trying to make sure that we could do this. I think there were, how many executive orders were signed on day one that ended up getting put out online? January was creeping up on us. We did this entire thing in about six weeks. So you heard a really great talk this morning from NASA, and I'm not picking on them at all because incredible work, and frankly, far broader in scale and complexity in a lot of ways than what we're trying to do. But they did not have the kind of deadline. They were able to take a number of years. They're able to put a beta tag on it, which is not something that, when I was talking to people, they thoroughly enjoyed. So not a whole lot of time. So I'm gonna turn this over to Helen now who's gonna talk through a little bit about what we were actually able to build in six weeks. Yeah. So that's really the question we get all the time, right? It's like, how did you accomplish this in six weeks? And what were your goals? So the reason why I ended up working on this, along with the fantastic people from WideEye and others from TenUp, where I was at the time, was because good old Nicen over here said, hey, I really want this to be a website that goes not just for day one, but all through this administration and into the future. What does that look like? How can we have a modern, block-based editing experience that moves at the speed that a new administration needs to move at? So what I really wanted to target was having this true one-to-one block editing experience, kind of fulfilling that promise of front-end editing, right? How long has it been? Like 10 years that we've been going on about this. This is where we ended up. I hope that you can see when it changes. It's very subtle. You might wanna look at the top to see when it's changing. This is where we ended up. That's the editor and that's the front-end. That is the actual front page of the White House on day one, flipping back and forth. So how did we accomplish this? How do you get there in just six weeks? And as you stated, that included having design within those six weeks. And the design is not just your web design, it includes print design, right? The branding, the whole nine yards. This was what we got in design. This is in Figma, whatever design tool of your choice. This was a big part in how we were able to accomplish this in such a short period of time. Then was so detailed in his designs. You can see these, they're effectively sticky notes, right? They're Figma layers of his notes. They're color-coded to tell us what they were about. And they include things like dimensions, intention, interactivity, character limits, or hopeful character limits, all of these kinds of things. And that really made our job that much easier, right? I don't know how he got this done in the space of a single-digit number of days. I have no idea. But he did. And that made our jobs so much easier. And what really ended up happening in technical terms, right? How we developed this was we had a wonderful front-end engineer at Wadi, who's sitting right here, Reavans, who's fantastic. Now he's at 10-up, though. So Reavans was working through blocks in terms of front-end components, right? So he's out here building the HTML, the CSS, and PHP to get it into place. While we at 10-up, we're working through things like custom post types, making sure that the right plugins and all of those things were in place, because we also wanted to be multilingual from day one. So as he's working through that, we're working through the other end. We just get going right away. We don't need to wait for a design to know that we're gonna need certain things. And then as he rolls through those, he hands them off to us over at 10-up, and we translate those into blocks for the editor, the editing experience, and how that's gonna work out. So now you all get to see what that actual editing experience looked like. This is constructing a homepage. You don't construct a homepage very often, right? You typically are editing it, but this is what the editor looked like. We had pre-inserted blocks to give advantage of templates in the block editor, and you are typing in place. I mean, even that vertical text you type in place. It is kind of weird to type that way, to be honest, but it works. And then we make it really clear in these blocks what's expected, what your maximums are, what you should do next, right? So here, you type in the things that should be links, and then you add the links, and then you pick a picture, and it goes into place right there in the block editor. And then, oh no, I can see, because it's, you know, whizzy wig, that's not a good layout. So I can open up the sidebar, move that over so that it complements the image, and then I get things like, you know, latest news, pretty typical. Sometimes the featured image isn't there, or it doesn't work in that space, so we can actually assign custom images for that space, pop open the sidebar, move stuff around, oh. Because dragging around things of different sizes is always very awkward. And then we get into these things, your little blocks. And so these blocks are all custom blocks, and the reason why we made that choice in this case is because we knew what our priorities were, right? Our priority in this case was not flexibility. Our priority was being able to get stuff published and out there as quickly as possible, and custom blocks was the correct route for us. That doesn't make the correct route for everybody, but you have to know what your priorities are and what you want to build for. So that's what these are. These are all custom blocks. They are not patterns, but they do utilize the core React components under the hood within these custom blocks. So this is the same block, and what we can do is we can flip it, and then we've got the same thing.  It really gives you that sense of security, like I know what I'm gonna get, right? And that reduces that time to getting something out there. Because how much time have you spent putting stuff into your meta boxes? You hit save, or you hit preview, and like pray that somebody actually added meta to the preview, and see what it looks like, right? How often have you had to do that? And how long does that take to just keep going back and forth, and back and forth, and oh God, I accidentally saved it, or oh God, meta only saves live, and now I've actually impacted the actual live homepage before I'm ready. So this really reduces that time to getting things ready, to knowing what you're gonna get out there, to not making a mistake, because we don't want the presidential administration to make a mistake. That seems really bad. So, this is how it goes.  Again, in practice, you're probably, you know, messing with what's already there, and then you hit view, and it looks pretty much exactly the same. There are minor differences, if you are eagle-eyed, you might be seeing minor differences in spacing. That's something that should be improving, actually as of the latest release in 6.3, which is where the editor can be the blocks in the editor can be iframed instead of what it currently is, and what that means is that the responsive design actually reacts correctly to the CSS. And what's big about that is where you see some of those minor differences is because that responsive design, right, is for your viewport, the size of your window. But if you pop open the sidebar in the editor, that doesn't actually change the size of your window, it's only changing the size of the stuff inside the window, and that's where you run into issues. And what we had in here, and what made this so efficient, and the big part of the reason why we were able to make it one-to-one, is because this editor style sheet actually just includes all of the CSS from the front end, because we use exactly the same markup, exactly the same class names, just a few overrides to account for things like, you know, different spacing or inheritance, and that's what made it possible to get this going and to make it one-to-one. It is one-to-one because it is using literally the same files in the back end. Six weeks, by the way. Six weeks. All right, I'll show you another little demo. This one is of publishing posts, so press releases. And this one I'm gonna talk through how we thought about these custom blocks and where we really leveraged them. So first and foremost, you can see the title has been styled. It is the default title field, but it's inspired to match the front end. And here I'm actually picking a category because you are only allowed to have one category. You may not have multiple. We don't want you to use the default picker. And then we actually put the date picker also in place. And the reason we did that is because we actually thought, you know what would be great? Is if you never have to open the sidebar in order to publish something. If you can really, truly just leave it and get that one-to-one like you're editing in the front end. So featured image, date, category picker, all of that is directly in a top block that's pre-inserted into posts. We can do a little minor formatting. You know how it goes. You're reviewing out of a Google Doc or whatever, right? You paste it in. So I hit publish. It goes. Seems pretty good. I feel good about it. And you know, I can view it. Did you even catch that? I'll play it again. I hit view. It changed. That's really the promise of front-end editing, right? It's like, if we can make things fast enough, perform it enough, that clicking of edit, that clicking of view should be barely perceptible. We are a little bit lucky in that the header kind of matches the toolbar and all of that, right? So there's a little bit of luck in flexing around in there. But that's really the idea, right? It's like you can barely tell that you've switched between them because we want you to know what you're going to get when you're done. So I do have to credit WordPress 5.6. I actually was on the release squad for this release, which was a good time, but it didn't. I was not really involved in the editor. You know, there's an editor tech lead and they're doing things that like, honestly I don't pay super close attention to all the time, but I do have to credit that with our ability to build this the way that we did in the first place. And the reason for that is because there was a version two of the block API, which introduced these block props, where now you don't have as much wrapper stuff built into the editor and you can be more declarative yourself as a developer about what is the markup? What are the class names? How does this get saved? Right back into the database. And that is a huge part of why we were able to do something like, let's just slurp all the CSS into editor styles and use exactly the same class names, exactly the same markup. That's what made it work. And it was huge in our ability to do this. And I also want to shout out a couple other people who are up here in the front, Aaron Jorbin and Jeff Paul, who are also a big part of us being able to do this. They jumped in, helped us get stuff done, stayed organized, training editors who were delighted to use this. I gotta say, those training sessions were real short because you could just get in and it made sense. There wasn't a lot of mystery to the editor, which again, just told us we had accomplished our goals and we had kept our eye on the price, right? Like we are united, we're not fighting with each other, there's no competition, there's no egos, there's none of that. We have our eye on the price. We want the new administration to be able to communicate at the speed that they need to from day one. So I'm gonna talk about hosting. Basically look like this. No. So one thing that's really cool, and Helen was talking about WordPress 5.6. WordPress 5.6 came out in December of 2020. 5.6.1 didn't even come out until February 3rd. So we were developing on Trunk, launching on January 20th at noon, on 5.6, and then upgraded to 5.6.1 when it came out shortly thereafter. If the White House can do it, I bet you can too. So on hosting, so we had six weeks. We had a lot to do, a lot to build, a lot to design, and then we had to figure out where to put it. And I don't know how often you've ever done a build in which you have no idea how it's getting hosted at the end of the day, but if it's complex like this, you get a little nervous. So two weeks before launch day was the first time. So I was the lead on transition for all of this, and I was a volunteer, like many others taking time off of their regular jobs to do this, or wasn't it the government or anything else along those lines? And they brought me on because like, well you know how to prevent healthcare.gov and you know WordPress, so like please go, make sure that we can launch a WordPress thing and that it's not healthcare.gov. And in this particular case, like the first opportunity that we had to sit down with the government to talk about, so by the way, you might have been thinking we were gonna provide you some Photoshop files and some slices, but like we actually just went out and built the whole thing. Was on January 6th, two weeks before launch. There were a number of things that happened that day of course, mostly focused on eight hours plus of meetings with making sure that we could get ready. And they were surprised and delighted that we had built them a thing and the previous administration was actually already using WordPress and they had some options and we had to figure out like how is this going to work? How are we going to put all this together? And how are we gonna make sure that this can scale? So we had to launch a site. I mean, imagine a scenario where at 11.59 a.m. it's one thing and 12 noon it's another thing. How you have, you have called to caches, you've never really tested this at scale, and you're gonna get the most traffic than you'll probably ever get any other day ever again until 11.59 at some future point in the future while everyone's clicking refresh waiting to see what happens.  But nonetheless, we were able to come up with a strategy that worked and what was terrifying in November and December were like, you know, what if, what if we never get a chance to talk with them? So we started talking about other ideas of like, well, we can make it a static site and like call someone at 12 o'clock when we're in charge and say, hey, can you redirect the domain? And we gamed out all of this and we gamed out even more of this for right after the election with transition and buildbackbetter.gov, the transition website, but we had to think through every possible contingency plan and we didn't need to use almost any other, which was really great.  So that brings us to inauguration day. And this was, if you've ever worked on a major release of WordPress, this is very much like the stare at the download, counter and drink kind of thing at the end of the day, felt a little bit like that because at exactly 12 noon, it was an automatic timer in a config somewhere that said, serve it from this place instead and boom, automatic, ready to go. Hopefully the caches are warm. And we did actually have some small, we dealt with a bit of an incident, it was kind of fun, maybe I'll tell it sometime. It stayed up, so that was fine, but we're a little freaking out a little bit. It involves SVGs, a CDN, a 404 page and permalinks, it's great, it's actually good. But nonetheless, we worked through it, had an incident commander in charge, certainly would recommend that for any Big Bang launch. Maybe the number one lesson here is don't do a Big Bang launch, but unfortunately that's what the founding fathers decided to do. So here we are. And so this is the original site and this is exactly what Helen was showing later. And I'm really proud of the work that the whole team was able to do in terms of making this happen. And it's just so critical to make sure that truly the team can be ready on day one to lead, to take over. And this is a very, very, very small part of that, but it felt really good to be pencils down at noon, because I was no longer working, I was not working in the government. And I was like, well, can't touch it anymore, it's great, hopefully there are no bugs. So with that, I would like to thank you all for coming today. And Helen and I would absolutely love and be delighted to take some questions, thank you. There are mics over here. I think, yeah, we started a little late, we'll give it 10 minutes, there is a break after this and then we'll be around. So we're also happy to take questions one-on-one. If my boss saw this presentation, he'd say, oh, they did it in six weeks, so can we. Sorry, that was not our intention here. Resource allocation did it take to get this done. Yeah, that's a big part of it. That's what I meant by like not having egos and being able to collaborate together. So just on the agency side, we had YDI, both creative front-end and accessibility.  So the development of the editor, things that go into plugins themes heavily on the PHP side. A lot of this worked because we had 24-hour time zone coverage, so a bunch of us are in US time, of course, but one of the engineers at TANUP is in Vietnam and was able to work when we were not awake. Some of us also just worked 24 hours. Yeah, do not advise, by the way. But if it's a thing that you feel passionately about, and I think that was a big part of it too, is we felt passionately about getting this done right. And we made that choice for ourselves to do it that way. There was nobody being like, you have to do it this way. It was our own sense of pride in what we wanted to accomplish that got us there. I guess I'll also just add that it was a small team. I mean, we're talking maybe 10, 12 people total for all of this, but a ruthless prioritization of what we really needed to do. You can figure out, you can deal with quality, you can deal with time, you can deal with scope, quality and time that limited scope, of course, we had to really be careful about. And we also knew that at the end of the day, the site needed to work on January 20th. There was gonna be a team that was going to inherit it and that they could then go ahead and build more things on top of it. So in a way, it was a beta, we just didn't put the logo on there, but that ended up helping quite a bit. So I mean, it wasn't all that complicated of a WordPress site. I mean, many of you probably saw there, like, all right, yeah, we've done this, which is great. The blocks are of course extremely impressive, throwing it out there. But at the end of the day, like what really made it complicated was the White House, presidential transition, a complicated presidential transition and heading into government. And if this was a much less high profile launch, then like, honestly, you can do an awful lot in six weeks. So on the block editor, one of the things I noticed in the top right corner was the Yoast logo. What large established projects did you find were worth leaning on and made significant impact to the workflow for the build-out? You know, we were talking about this. I don't honestly remember what all of the plugins were on this site. So yes, Yoast was there. Yoast was there, a multi-lingual press. So first, you know, the first White House website that was launched like on day one in English and Spanish. And that was, I mean, that's an obvious one, certainly to use that solution. But a lot of it was also just like less is more. Like let's get this, where did you go? You already sat down? Oh. Thanks, George. Appreciate it, George. No, I don't know, I mean, a lot of it was like less is more because like we, you know, functionality ultimately was like the thing that we were constraining the most. We didn't even talk about like in the editor itself, we removed most of the functionality in terms of, you know, font colors, sizes, all those things was just like we turned it off because we wanted it like we know exactly what you need to do. The last thing you want to do is copy and paste an executive order out of like Microsoft Word and like get some random font thing in there. Like it's fine, right? Like we can strip out all of that, which was really impressive. So I think a lot of that was more, what was in there, I'm trying to remember the rest of it though. That was the bulk of it. We did do a fun thing though. We took, I don't know if this has ever otherwise been done, but for WordPress VIP, which the site was not on, they have like the VIP go has its own like huge bundle of like plugins and code and things like that. And the transition website buildback.go was on WordPress VIP and that's the code base we kind of started off with a little bit. And so we ended up using in production on day one the entire VIP development code base that you normally use locally, but we just didn't production, which was fine. And it worked. And so like there was a lot of that functionality that we kind of like got for free from things like that that was obviously very helpful as well. I think that also speaks to like how we could get it done fast. It's like, yeah, again, aggressive prioritization. Like is it important to get it perfect on day one? No, right? Some of us are walking around with little pins that say, hello, I'm waiting on content. So how, what was the content development process like? Cause it sounds like maybe you got that on January 19th. I don't know. So I'm a software engineer. I wrote very little code for this project. I spent most of my time wrangling, as you can imagine, not only talking with the government, but also all the other transition team. And we had a fantastic, amazing team on transition that focused specifically on content, on everything from like the what should the president elects bio be and which photo does the second gentleman prefer? And I'm kidding, but you get the sense, right? Like every single aspect of this needed to be very precisely looked through. And ultimately, while that team was happening, we missed probably every single self-imposed deadline on content, certainly. But at the end of the day, the site itself didn't have a ton of content on day one. It certainly had important, what are day one priorities? Who are the members of the cabinet? Who are being nominated for positions? But really, a lot of the content didn't exist yet. It was all the executive orders that still needed to get signed, finalized, published, all of the press releases, all of the addresses, all of everything else. And so I won't say that we got lucky, because certainly there was a lot. I think we were making content updates, certainly, up until the morning of January 20. And then about 20 minutes later, we started pushing them up onto the site. So wouldn't recommend that. General rule of thumb, but it was able to work. But it was a really great team behind all of that, making sure that that can. So that was a totally separate allocation of resources to get the content together. And I'm saying this for my agency friends, because there's the development side, and you guys are doing amazing work. And then there's this content side that's separate.  We can say team if it's two. Yeah. You know, it's we're bootstrapped here. No, it was very important. I mean, it's obviously a huge operation to get all of this done, right? The nice thing is that the content team for the website isn't the one right in the executive order. Someone else is doing that. So a lot of the content is ready to go with a very large team that is all landing into government jobs on day one. So it's nuanced, certainly, in a lot of ways. Yeah. Curious, what's next to this project? You mentioned that you build custom blocks. Are there any explanations of including full-site editing or transitioning more towards more flexible architecture? Like you said, you remove most features, like fonts and everything. Are there any plans to use the recent features of WordPress? So what's particularly cool about this is that after January 20th, it wasn't our problem. There are two people here, though, whose problem it is. Yes. There are a few folks. I think Doug Axelrod and Curtis Schaener and a couple of others can probably, if you want to find them, I'm sure they can talk to you about what the government now, what the White House is currently doing now with this. But our job was really like, get something ready for day one. I, in particular, I insisted on Gutenberg, which everyone was like, you're crazy. Not Helen, but that was before we had Helen. And I was like, no, really, this has to be a thing that can then work on day two, three, four, however many. And so I think that was really critical of making sure that we are absolutely ready to go, not just with a bare-boned splash page that two months later we got to completely redo, but rather allow the team on the inside, which would not be us, to then make those incremental improvements and incremental changes, but being able to say, all right, great, let's go figure out what the needs are over the coming months. Thank you. Yeah. I think this will have to be, yeah, the last two. And then we can give them a break. So I work with a lot of clients who are certainly not the president of the United States. And we go through discovery, wire framing, whole nine yards. And they're like, eh, it's a good start. Like, how do you get through this in six weeks or however long it took and get Otis to say, cool. Well, I mean, the nice thing is that everyone knew what the deadline was, right? So we were all working in the same direction of like this needed to happen. And the president-elect is of course going through and approving how many day one executive orders and how many appointments and also like I, though what the website will look like, right? So this was honestly in a lot of ways quite easy because it followed a lot of the design inspiration that was set originally by the Biden-Harris campaign. And ultimately that was designed during transition and that was ready to go with our Joe Navy and Amtrak Gray on day one. And so, I don't know, maybe people just really love the hero images. I'm not entirely sure, but the actual approval process for that was relatively straightforward and was done honestly like within days. And I think it really helped frankly for the incoming administration, you know, the folks who do this, they're like, you're the experts here. We need a platform because we need a voice and you heard about that this morning from NASA. We need our online voice. And so here we were able to really think through, you know, at the end of the day like, does this get across what we want of restoring American leadership, of being ready on day one of confronting a number of crises and it checked all those boxes. It looked great and we were able to very quickly move on. I will say like one thing about that that is really important is that this was not a web design that people were approving, right? People were ultimately approving an entire brand. And this was like the brand that the White House would use. If you see the president giving, you know, hosting a video or giving a talk or something like that, like that White House, that drawn White House is used everywhere. And so, you know, it was less about approving like what is the homepage going to look like and it was more about like, is this what you want to articulate? So yes. Yeah. Great talk. I'm not going to ask about performance, don't worry. No. But you talked about brand and if I, I don't know if I read this somewhere, but I believe I did. I know that this administration was keen on accessibility. Did you want to share any of this sort of work that you did there? That tends to not take short periods of time. So. Right. I think that we had two big things that worked in our favor. One is, again, like we had very clearly, you know, directly responsible individuals for different things. And this was the area of Erica, who was at Wideye. She was, she is an accessibility expert and was keeping an eye on things as we went. I know Ravens, you know, was building with that in mind from the start, right? So as we're building out these different pieces, right? Starting from the front end, starting with HTML and CSS, right? Getting it right then, right? It is not an afterthought. It is a part of how you build from the start. And that is a big part of it, right? Like a lot of, you know, inefficiencies, I guess, right? A lot of, you know, the reason why things drag on so long is when you have to go back and forth all the time, right? Waiting for somebody to look at something, waiting for them to approve it, waiting for them to come back to it, right? That's where a lot of things get hung up. And I think for each of us to take that personal responsibility and make sure that it was baked into what we individually were doing, as well as having that directly responsible individual for it, really allowed us to have it right from the start instead of having to revise it later. Yeah, I would, I mean, I would add just in terms of like a very clear commitment from the top was that, you know, at the end of the day, he is the president of the American people, all of them, and it's important for anyone to be able to access the government's resources. And that goes not just for White House.gov, but for every government website. And they're increasingly getting very good across the board, which is fantastic. And the culmination of hard work of thousands of people over at this point, more than a decade, to really bring substantial change. I will say like, you know, to Helen's point, having even just basic things like everyone understanding what our goals were from the very beginning, so we're not repeating ourselves, making sure that we have color palettes and fonts and everything else that are aligned and ready to go. The site had, and people surely noticed, toggles for high contrast and large text, which is unusual on most all websites. But that was like, that's gonna be a prominent thing. Has an accessibility statement describing like, look, WCAG 2.0, please contact us if you find something that looks a little off.  And if you do that well, you're gonna hopefully set yourself up for success. So, it was, I take, I mean, I certainly great pride in the idea of, you know, multilingual, highly accessible performance, I will say. Not that we talked about it, but like, we did not use that little like HP machine from the 90s to host this thing. But yeah, so I was very excited about that. Cool, thank you. Thank you all. Thank you all. Hi everyone, this on, it's totally on. Ooh, let's get that screen going. All right, so thanks for being here. We're gonna get right into it because it is only 15 minutes. So, building a thoughtful block editing experience. Honestly, I should have called it building a thoughtful editing experience because it's not just about blocks as you're gonna find out. Now, the end result is really important because that's what most people see. But how you get there affects more than you think. In more ways than you know. It's a very broad and vague statement, but we're gonna look at how that actually affects people like us who build on top of WordPress. So, before we get right into the weeds of that though, I wanna take a step back and set the stage for why this is important. Number one, you are not building a website. That's what most people say to me when I talk about this with them. River, this is all well and good but I'm just building a website. No, you're not. You are actually extending a tool building on top of WordPress to empower someone else to create a website. Yes, you might be editing some content in there. You're helping launch a website but you're not actually creating the website. You are creating a tool for someone else to be able to create a website. So that's important to keep in mind. Two, it's really important to care where our users spend their time. Now, when someone wants to create something in WordPress, especially if it's front-facing, they very quickly transition from what to how. How they want to create the thing that they want to achieve. And that happens not on the front end of the website, it happens to the editor. So how the editor functions is really, really important. And three, it's really, really important to care where your users are spending the most time and what they're doing. So I've heard a lot of developers, builders, agency folks, they all tell me, you know, my clients don't care how something is done, they just want it to look good. And you know, it's important. So as developers and agencies, it's important that we care that the final result is correct, performant and accessible. However, it is a mistake to care about that so much that you forget about how someone creates that final result.  And if you had paid a little bit more attention to the how, you could have avoided that. So that's the larger why of why this topic is so important to me that is not showing up here. All right, but now let's get into the weeds of it. You can't craft a good editing experience if you don't understand how the block editor works. So the first thing we're gonna do, the first consideration of creating that experience is understanding the anatomy of the block editor. So what you're seeing on the screen, this is the bare bones block editor. It's a large canvas. And that is where your user is spending most of their time. Why? Because that is where their content lives in the form of blocks. Second, whenever they're interacting with the stuff on the editor canvas, there's always a contextual toolbar which provides access really quickly to important functions and utilities that they're gonna reach for all the time when they're creating their content. And third, not first, not second, third. We have the sidebar. The sidebar is optional. The canvas, it's always there. The toolbar is always gonna be there when you're editing. That sidebar, it won't always be there. You can turn it off. So when you have your block and it has something important, required, or necessary, don't put it in the sidebar. That's not where it goes. It goes in the canvas where it goes on the toolbar. Why? Because that's the place that is always there. Once you understand how the block editor works, you wanna keep that in mind as the foundation for all the other things that we're gonna talk about. Now, whenever I talk about this, I ask someone, okay, what do you think the next consideration is?  No, not quite. You might not necessarily have to build a block in order to create a good editing experience. Broadly speaking, there's four sort of options that you can mix and match in the block editor, as we know of it now, to create a good editing experience. The first one is a pattern. Patterns are awesome. I love them. Basically, what are patterns? They are configurations with presets of existing core blocks or other third-party blocks. And you put some stuff in there. You save it as a pattern. In this case, for example, on the screen, you're looking at a call-to-action block. It's a cover block with a background, some text, a heading, and a button. Now, if you save that as a pattern, all the user has to do is grab that pattern, pop it in the editor, change the words, and they're good to go. And their block pattern, that component, looks the way it's supposed to as the designer intended it. They don't have to figure out anything because all the settings are already there. And a lot of the times, you don't have to make a custom block. The core blocks can do this for you if you just think about it a little bit. But if that's not enough, you can actually extend the core blocks. Don't reinvent the wheel if you don't have to. Don't jump right to a custom block. Sometimes, you can extend an existing block. One of the ways that's really, really common, a lot of people use it, it's built right into how you create a block, are block styles. A block style allows you to affect the CSS, the visual look of a block without having to create a brand new block. What you're seeing on the screen is a picture and a quote, sort of a testimonial block. And a lot of the times what I see is people make a custom block to make this happen. Why? Because the text kind of overlaps and there's like a little cool pattern detail in the corner and there's like rounded edges. No, don't do that. You can use a block style to apply that class, add a little bit of CSS and make it look like that without creating a brand new block. Maybe you wanna add a little more flexibility though. So one of the other things you can do is you can add a setting to an existing block. That little corner detail, maybe you don't want it on every single block. And if that's the case, you can add a little toggle sidebar in the sidebar or in the toolbar, depending on how often you want someone to reach for it and allow them to be able to turn that on or off. And then third, this is not as common, can be a little hard to do, but sometimes it's worth it. You can add a new content area to an existing block. So here, what you're seeing is a quote block. There's a quote and then there's a citation. But what's different about this is that this citation has a little company label underneath. You can actually use a rich text component. We wanna get a little technical about it and add that to the quote block. And now you don't have to create a brand new custom block just for that one little text field. You can just add it in there and it'll work in every single quote block there is. Sometimes a pattern isn't enough. Sometimes setting itself is not enough because it's too flexible. It allows the user to do too much and you want a lot more fine control. Now in core, in block editor, there's a lot of different ways you can lock things down. My favorite, it's a little bit opinionated, is inner blocks. What are inner blocks? They are a component that is just like a pattern that allows you to really, really lock things down in the wrapper of a custom block. Last year I was building sort of an editorial magazine website for a client and they have indigenous art they had to showcase in a very particular way for legal reasons. So we built a custom block that was inner blocks template, had images and those extra information that they needed to add that could not be removed as an inner blocks template so that no matter how or whenever they used it, it showed up in that legally required way. So if you need a lot of tight control, inner blocks are awesome. Now, let's say all of that doesn't work for you. In that case, yeah, you're gonna reach for your custom block and there's two types. One is a static block. A static block works when you have information in a block that isn't dependent on outside factors. For example, some paragraphs or in this case, a statistic. Anything that you wanna be able to manually change that can go in a static block. But sometimes you have a block that is dependent on outside factors. In this case, on the screen, you're looking at a block that has three blog posts showing. The three most recent blog posts. In that case, the content of this block is dependent on something that isn't happening in that particular post. As soon as I update my blog, add a new post, I want this to reflect that. In that case, I use a dynamic block because it's gonna check the server on the page load, grab the three most latest and populate the block appropriately. Okay, so we've talked about the different ways that you can mix and match things, what those options are in order to create that editing experience. What is the next consideration? No matter which way you go, the next consideration is a name. And I have a lot of opinions about that, like a lot. But you're gonna hear some of them in a very short amount of time right now. You never name your block, maybe your pattern, but never your block based on the use case. If you have a media text block, the one we just saw, you don't call it blog post author bottom section. No, you call it media text block because you don't know how your user will use it. You intended it to be used in a very particular way, but the people you're making for are creative, cool people. And they might find another way to use it. And if they do that and start liking that way better, that name, that weird specific use case name you gave, it's not gonna make any sense. That's not sustainable. That's not long-term good thinking. Don't do that. Give it a generic semantic name that's gonna stay and make sense regardless of how someone uses the block, even if it's in a way that you didn't anticipate. If you have use cases and they're important, pop them in the keywords, that's what they're for. And if it's a client site, hot tip, I love this, my clients love this, pop the name into the keywords, they can fill through the whole block library and see all the custom blocks you made for them. Super handy. Now if you're making a custom block, wow, I'm out of breath. If you're making a custom block, the next consideration is gonna be the icon. People forget about this icon. Sometimes I see a lot of icons and they're all the smiley face, that generic icon that the create block package gives you. Don't do that, why? Because the icon serves the same purpose a logo serves for a brand. It is a small, identifiable piece of imagery that helps you quickly figure out what block you're looking at. There's some really good resources for this. First one up, WordPress icon library. It's amazing, it's fantastic, amazing designers worked on it. You wanna explore those icons and see what you could use, go to wphelpers.devicons, this is a plug, made that resource with a friend, Brian, and choose from there. If that doesn't work, go to material icons. If that doesn't work, choose hero icons. Why did I choose these? Because they match the aesthetic of the block editor. And you want to make everything that you create for the block editor match so that there's no cognitive dissonance for the person who's using the content editor for themselves. It's not about your blocks, not about what you made, it's about their content. If none of those packages work, you wanna make a custom icon. Make sure it's 24 by 24, as of 2023 for those of you watching later, and make sure it's high contrast, ideally black and white. I break my own rules sometimes, but ideally, because you wanna make sure even if it's tiny, people can tell what it is. All right, we know what we're creating. You've created a name, you have an icon. What's next? The state. This is really important. It's more specific for custom blocks, but the principles apply to anything that you create in your interface. Typically in the block editor, we have three states, setup, default, and editing. In the setup state, this is the state that you want your user to use, sort of spend the least amount of time in. And not every block needs one. The cover block has one, for example, because you need to figure out what that background is gonna be, whether it's an image or a color, before you can do any other kind of content editing in there. Whatever kind of set of state your setup state, your block needs, make sure it's in the canvas. Not in the toolbar, not in the sidebar. Why? Because without that, they can't go further. So put it in the place that is most obvious, most actionable, and make it clear. In the custom block world, for example, I was on a project recently, and we had a setup state because it was a block that integrated with the Google Maps API. And in order for the block to actually function, we have to ensure that they've saved their API key into WordPress. So make it clear, make it easy, get them out of there as fast as you can. Second, we have the default state. Every block needs a default state. This is what your block looks like when you're not editing it. And it should look as close as possible to what it's going to look like on the front. So in this case, you're looking at the media text block. And what you see is, on the side, text on the other side, pretty obvious, looks great, even there's nothing in it. Even if you're not editing it, you want that setup, sorry, default state to look really, really good, which is why another term for it is the preview state. For example, if you have ECF blocks, they literally call it the preview state. Then you have the editing state. This is the state your user is gonna spend the most time in. And you want it to look as close as possible to that default preview state. Why? Because the point of the block editor is to provide your user with live feedback as they're creating their content on how quickly, or how it's gonna all look. One minute, so let me go through this really quickly. And here you can see all of the things that are happening in the editing state of the media text block. There's an outline, there's a toolbar, there's even that sidebar that I don't really like, but you still see exactly what that block will look like around it. Sometimes that's not possible. You have a complex block, maybe. For example, a details block that just came out, cool block, I have complicated feelings about it, find me on Twitter, or exa that's called now. When you're not editing it, all you see is the summary. But when you're editing it, it looks a little bit different because there's other expanded information that you need to be able to see. So ideally, it looks the same no matter whether you're editing it or not. But if you can't, you wanna get as close as possible to it because in the block editor, we wanna take form, function, put them together, make it all in one place. So when you are thinking about your editing experience, what you wanna think about is what does the block editor actually do? How is it designed to be used? Make sure your block works with that. Second, maybe you don't need a custom block. There are other ways to create an editing experience that aren't requiring you re-ending the wheel every single time. Two, second, or third? Wait, third, use a good name. Don't use a descriptive specific name based on how you imagine they would be using it. Make it semantic. Fourth, have a good icon. Again, it's like the logo. It matters. It's not the whole picture, but it's really important. And last, make sure all of the states, they are as close as possible to that final state because that is the point of the block editor, function and form together. That was really quick. If you have questions, find me afterwards and there will be more information on that URL if you have more questions. That's all. I'm not wearing my glasses. This one? I did it. Yeah, I think I am. Hi, so my first slide was gonna be all this, but MFIST did a really great job introducing me. So I run a tech support team about 150 agents now. We have about 400,000 customers all around the world, 24-7 support. And this is gonna be important because this is a bit of a context for the tips I'm gonna give you later. For a bit of personal context, I am Gen X. I grew up in Europe, I'm single, and I'm in a tech leadership position. This is all gonna kind of make sense later. This presentation is about work-life balance, which I didn't even know was a thing until it became a problem for me. So, and that is not me, but it could be because I kind of felt like that throughout the years, trying to figure out my own work-life balance and the balance for my team. Lightning talk, 15 minutes, gonna go fast. I'm gonna share some dos and don'ts, and they are gonna be somewhat specific to my role and how my team functions, but I hope that you find some useful examples here. So first, let's do the dos. Figure out who you are and what are your core values. Digging into why you are who you are will also help. This is basically where you come from. Your past environments, your old managers. This is something that you can build on. Or if you hate it because of the examples that you experienced before, you can do a 180 and create your own foundation to move away from all that. And of course, your life is gonna keep happening and it's gonna keep adding to this work-life balancing act, basically. So, do understand the company culture where you work and understand how the roles are defined. You, as an individual, as a manager, do not exist in a vacuum, so you need to understand where you work. Assess quickly if you do or do not belong to this environment, because ideally, where you work should align with your personal values. In my case, after a finished college, I knew that I needed to find something solid and long-term because that's what my family role models did and that's what I knew how to do. So, I set out to do that and I failed the first option that I picked. I left after six months because I realized that we just weren't a match. However, my second one, I'm still there and this is my 20th year at the same company and I'm very fortunate that I've been working. Thank you. That's a big deal. Like, 20 years in a tech company is huge and I know I'm not even the oldest tenured person in the company. I work in a very supportive environment that takes care of its people and that makes a big difference. So, understand that you need to leave room for change. Like, maybe you figured it out, you have a good balance, but your life and needs will change. So, that's the leave room part. At the beginning, when I started, I was like, work, work, work, I was fine, no break, I don't need it, work is fulfilling, love it, work all the time. Later, I realized that work was okay, but there were other options for me to fulfill my needs to achieve whatever I wanted to achieve or to be happy. So, I was able to adjust a little bit and added more life to the balance. For example, I love to travel and we have a good vacation allowance, so my workplace basically encouraged and supported my wanderlust and I created sort of new balance, but I wasn't done because due to my nature and the nature of my work, I couldn't completely switch off. It's tech support 24-7 manager position and I felt like I was responsible for everything, I internalized the SLAs and it started affecting my personal relationships and then my relationship would work and I almost didn't realize it until it was too late. I was feeling resentful and responsible and alone and I felt like my peers didn't feel the same way and they didn't care, so that's something that I needed to rethink and change my perspective on that and recognize my own limitations as a human being. So, try not to get yourself into a position where anything makes or breaks on your availability, so you need to train, mentor, delegate, communicate and most importantly, you need to trust the people that you rely on because somebody else needs to take care of the work so you can have your life. And of course, work is just work, which is obvious for some people but not for others. Bad decisions do have consequences but they can be also used as learning opportunities and in the grand scheme of things it probably won't matter as much but all this needs to come from above. Leadership needs to model this behavior. Now, let's do a couple of dos on how to be the right kind of manager to help your team with their relationship with a work-life balance because you as a manager, you're in a position when you affect people's lives and you can accidentally impact them in a negative way and why you don't have to constantly stand in attention be aware of your influence and try not to best, try best not to model the wrong behavior. So remember what I mentioned about finding the right environment for your values. If you hire or manage other people, help them do the same. They need to also understand the company they are entering or working in and the expectations of the role and that means that some people will not align with what the expectations are and that's totally okay because there are places for everybody in other environments. Like remember how I left a workplace after six months because I was like, this is not for me but then my second workplace, I'm there for 20 years so it's possible to find the right places. Get to know your team. I feel like this is the most important thing that you can do as a manager. You need to find out who they are, what motivates them, what are their baselines and what are their boundaries. Talk to them, you can do one-on-ones, you can do team building events. All those things are familiar for managers. Knowing these baselines and boundaries will help you recognize when they go outside the baseline and that's when you start asking questions because while we know that not everybody needs to be a top performer, some people are, so when they start acting like, not like that, then you need to figure out what's going on and you need to find a way to offer assistance and bring them back up. So as a personal note here, I used to be a really, really bad manager. I know one person here in the audience who remembers that and one of the best things that I did is to get to know my people, get to know who they are, what are their values and what is their relationship with work-life balance and stop applying my own template on everybody. Another way to get to know your people, especially if you work with different cultures, like we do, we have seven different countries on our teams now is to try and understand the different cultures that make up your team because all of them will have a little bit of different approach to work and just stay curious and work with HR if you have a team and they can help with the basics or do social events and talk to them and figure out who they are. So now that you've figured out the boundaries, make sure that you respect them, yours as well. And if ever there is a need to go outside those boundaries, it can be okay but you need to communicate, you need to acknowledge and you need to appreciate when you cross those things. Don't just like barge in there. And then there might be people who don't know how to set those boundaries on your team or don't know how to say no and maybe they don't think they can say no because you're the boss or they just really, really love to be over-engaged like I used to be when I started and it's your job as a manager to identify those people at risk or those situations at risk and help them set those boundaries before they burn out. And there might be other people on your peer level who do the same because it's really tempting to go to people for help who never say no. So talk to your peers as well. And you need to start and model availability expectations. Try not to message people outside their shift. I know it's tempting and there is all these things that you can use to talk to people but there are tools that you can use to help. Like you can schedule slacks, you can schedule emails because even if you tell people when you send a message at 10 p.m. that you don't need an immediate answer, they're like, oh shoot, the boss is working at 10 p.m. So maybe I should be working at 10 p.m. So be mindful of your impact and try to not model this very questionable behavior. Time away from work is also important to maintain the healthy work-life balance. And sometimes you as a manager struggle with the fact that there are not enough people on your team but that should not be the main or the only reason to deny pay time off. So find whatever works, find ways that work for your business and your team to allow your people to be away from work when they need to be. For example, my team shuts off certain channels during holidays and we communicate to the customers that we won't be available doing live chat for example during Christmas. So we have, our team can spend time with their families instead. So stay empathetic. A couple of don'ts. Do not assume that people have the same relationship with work-life balance even if they have the same job as you or even if they used to have the same relationship as you because people grow and change at a different rate and they deal with life at a different pace. Like if you remember Maslow's hierarchy of needs, the pyramid, we move up and down those steps and everybody deals with things differently. Some people, sometimes people need to step away from work. Sometimes they need to really step into work to deal with whatever is happening, just like you. So keep an eye out and going back to get to know your team the more you know about your team, the better you know your people, the better you will be able to help them with these shifts. Do not consider yours as the de facto work ethic or strong work ethic because work ethic is basically just a set of personal values related to work. You're not the de facto person, which is what I thought when I started as a manager and I was like, I wouldn't ask anything from them that I wouldn't do myself, so what's their problem? But that's not good. That's a fallacy because all people are different people. So remember that. And here's a quick reminder to be self-aware and try and model the right behavior for your team, but of course you're a human being, so you will make mistakes and reach out for help to those that you trust and keep going. So you did the work, you figured out your work-life balance, you are modeling consciously the right behavior, well done, everything's okay, we're done here. Not so fast. This is one of my favorite quotes here. Life is not static, so never assume that the work that you're doing towards work-life balance is ever fully done because stuff happens and yeah, we all kind of remember what this did to our work-life balance. So let's try this again. Give yourselves a break. Things got a little more complicated on the tightrope and when COVID hit, we gave up the offices and went fully remote and during the beginning, I felt like I had to almost start from scratch trying to figure out my balance. Took me about six months really to adapt and adjust and move on. So here are some basic tips that I learned. I'm in a very privileged position. I have a separate room for home office, good for me. That's not the standard. But even if you don't, some sort of physical separation will help. If you can do it at home, great. If you can go co-working spaces, even better. There is another way that I solved my problem. Like I said, I like traveling. So I picked other cities to work from. Mixing travel would work, but I know that's not everybody can do this or want to do this. But it helped me, you just need to find what works for you. Mental and emotional separation is also very important. You need to find activities that demarcate life from work, even if you can't fully physically separate. With no commute or having to dress up for the office, I would just roll out of bed and I would work until dark. And that was not good, especially when I forgot to eat all day. I needed to set some time for me in the morning and set alarms in the evening to stop working. And this is how you can help your team during these trying times. You need to remain curious, supportive and accepting and take their circumstances into consideration when communicating about remote expectations. And even if you're struggling, you still need to pay attention to your team because you're responsible. But you need to communicate. You need to make them understand what the new requirements are and you need to manage those expectations based on the new reality, I guess. Do not micromanage, just pay attention. And remember you work with people. So try and foster some sort of like community environment with remote events if possible. Great, you did it. Again, so good job. Well, you will have to do it again and again because circumstances will keep changing and change is never easy. So these are something to remember when you go into the next changes. Pay attention to your team. Do not assume their circumstances. Communicate the expectations and keep everybody a break yourself as well. And quickly we're bringing in some takeaways of what I find the most important, to try and figure out your own work-life balance and to help your team do the same and model the right behavior. And I think I am out of time. So here's a quick thank you for listening to this. And if you have any questions, those are all the availabilities and I'm happy to expand on all the ways that I did it wrong at the beginning and the things that I learned to be the right kind of manager and leader for my team. So thank you. Everyone give it up for Jeffrey. Hi all. Today talking about ensuring plug-in GPL compatibility via GitHub Actions. A little bit more about me, Director of Open Source Initiatives at 10UP on pretty much every social platform including our own.org, GitHub and Twitter or X. I'm at Jeff Paul, also online, jeffpaul.com. If you're gonna take a picture of a slide today because you wanna get notes, this is the one because my slides are up on my website jeffpaul.com. Awesome because there's a really nice picture of me on there too. That's from Reykjavik, the rainbow road there from the 10UP Summit earlier this year. 10UP's about 300 people, fully distributed, fully remote, focused on crafting websites, apps and tools for content creators while being mindful and contributing back to the open web which is the foundation upon which 10UP and many of our businesses if not all are built upon. A little bit more about that open source practice. It was founded or formalized in 2019 when I joined the company. Now up to 10 members strong. Again, all focus on crafting a better open web of which this project WordPress is a part of. Part of that work is contributing to WordPress core. So across major releases ensuring that 10UPers are contributing in core, docs, editor, wherever it may be finding their skill sets and helping them find places across major releases just like 6.3 which came out recently and the 1710UPers that were active there. Another part of our practice is maintaining a suite of about two dozen plugins, most available on the.org repo. Some examples classify which leverages cloud-based services like Microsoft Azure AI, IBM Watson and OpenAI all very hot right now, right? And by using those providers with supercharges, WordPress content workflows and engagement with AI functionality and distributor helps indicate content and content reuse across websites and ElasticPress brings the power of elastic search to WordPress sites. So those and many of our others available on.org and all maintained on GitHub which will come into play here in a minute. So if you're familiar with distributing plugins on WordPress.org, the plugin team has a handbook, right? And there are requirements, there are guidelines that you must follow in order to when you submit a plugin, get accepted into the repo and ideally follow those throughout the versions from there. The first one that's listed is plugins must be compatible with the GPL. Digging in a little deeper that means not just the code, right? That means images, fonts are those GPL compatible and dependencies, right? If you're bundling something with your plugin also needs to be GPL compatible. Now, get into a little bit of nightmare scenarios here, right? What if somebody contributes a PR to your project or somebody on your team or you yourself if you are a single contributor for a plugin and you introduce a new dependency or potentially a dependency gets updated and there is an incompatible license. You declare that you are distributing GPL v2 or later, right? But are you? Or potentially the worst scenario is you already aren't actually using third-party dependencies that are GPL compatible, right? Welcome to the life of the director of open source and things that actually, unfortunately wake you up in the middle of the night. So, fortunately, those of you on GitHub, GitHub Actions comes to the rescue and it cannot help out here. It can help you check for those new dependencies that are introduced. It can help check for updated dependencies. It can help check that those are actually compatible with the license you are saying your plugin is distributed under. It can, if you aren't already aware, it can scan that whole code base and report back and say, yep, no incompatible licenses and then ongoing scan all pull requests to make sure that, again, if somebody introduces a new dependency, if a pull request updates a dependency and that license happens to change, make sure that you continue to be compatible as you declare your project to be. So, at 10up, we make use of one of GitHub's official Actions, the dependency review action. There are some others that we tested out. This one just happened to work for our case and this is the example I'm gonna show you here today. So, first off, you'll add a dependency, the dependency review action workflow file to your repo and that basically will say run against all pull requests and use this action to scan for compatible licenses. You'll make sure that the license that are compatible with what you're declaring are mentioned as that's what the action will check against and you'll wait for the results of those scans of the code base. Fingers crossed, right? And then again, all future PRs will continue to be checked against those licenses that you have in this policy. Optionally, if you maintain multiple projects, you can have a policy of the license are compatible hosted in a central repository you maintain and all your projects can point back to that single file so that if there's a new license that gets approved and is GPL compatible, it can be added in one place instead of two dozen, like in the case of 10up. So this is a little small here which is why you took a picture of that first slide where I looked really nice in Reykjavik. But what we're looking at here is our project insert special characters and in here within the dotgig hub folder and then within the workflows folder is the dependency review action. There's a lot of comments in here for anybody that does pull this up to be helpful but the most mindful thing in here is eventually we are using that dependency review action and then further on down, there is a list of allowed licenses that we've done the research and know to be compatible with the license that we declared in this case for insert special characters to be compatible. The action alternatively does have a denial list but it seems to be a more prudent approach to include things that you know to be compatible instead of trying to exclude all the ones that aren't and then potentially some other one isn't included and now you've got some things getting through that should not be. So like I said, here's another version of insert special characters, the same workflow file but at the very bottom there is a variable here for that config file which we host in the dotgig hub repo for the TANF organization and then taking a look at that file that we're linking out to here effectively just includes those licenses in this central file. This is what we maintain and check against all of our repositories. They all point back to this file. The actual licenses that we have in here we pulled from new.org. Also reviewed with spdx.org which references things that are free software foundation free or Libre as well as open source initiative approved licenses but really the crux of what we have here is coming from new.org that they declare as GPL compatible. So that first run against your code base a little nerve wracking, right? Like do you know for certain that everything you have is compatible, right? So you've declared word GPL or GPL v2 compatible sit back and wait for that GitHub action to run. If in the scenario where you run into issues and it says this dependency is not compatible with what you say it should be. Simply, simply, sorry, fix that, right? Potentially remove that dependency swap it out for something else and then release an updated version. That's probably the best you can do in this case. I would call it out in a change log. I would call it out in the read me. Make sure it's obvious that this version is updated because it is now compatible with what you declared it to be. So then from there you did that first scan, now you wanna scan all pull requests, right? So that action will run on all PRs that get opened whether that's you as the repo owner, somebody on your team or if you've got people contributing from the community we'll also check theirs. That check again is against those licenses that you declared and you're not waking up in the middle of the night worried that you are bundling incompatible licenses. So that's the long and short of it. Again, reiterating here, you've got that GitHub action that's created, that workflow file. You've got optionally a policy that you link out to if you're maintaining multiple repos, multiple projects, multiple plugins. Check that code base, fix it if you run into issues and then otherwise let this keep running and you will know for certain that your plugin is for sure GPL compatible. Again, whether that's GPL v2, whether that's MIT, whether that's BSD three clause, it'll be compatible with what you say it should be. Again, if you've got questions, Jeff.Paul at 10op.com where I'm the director of open source and again at Jeff Paul across most social platforms. And that's all, thank you. Apologies, we are running a little bit late. We've got one more lightning talk for you before the break. So this, oops, sorry. Okay, and when the lightning talk ends, then the keynote begins. So this last one is called Rising from Rejection, how WordPress helped me reenter society again. Justin Koopsa is a lead software engineer and consultant with a rich background in software development. His specialty areas include WordPress, web applications, automation and testing. He's passionate about leading and mentoring and believes in sharing his knowledge to nurture the growth of budding developers. Always forward thinking, Justin is deeply engaged in harnessing the power of artificial intelligence to revolutionize software development. To him, creating software isn't just about code, it's about crafting transformative solutions. Give it up for Justin Koopsa. Hello. Well, that was long. I hope you've all had a great first day at WordCamp. Well, my name is Justin Koopsa, obviously, and I'm a lead software engineer working with WordPress for over 15 years. But today, I'm not here to talk about all my normal WordPress subjects. I'm actually here to share a deeply personal journey about how WordPress and its inclusive, open community played an instrumental role in my reintegration into society. And why do I feel this way? Well, because I am a former convict, one who found a new lease on life through software and technology, and specifically by discovering WordPress so many years ago. That discovery led to many late nights of self-taught programming, constantly diving deeper and deeper into the world of WordPress and its community. Now, 15 years later, I can say without a doubt that if not for WordPress, just like many of you here, I would not be where I am today. The year was 2008. The housing market had just crashed, and we were in the midst of a financial crisis later to be known as the Great Recession. I had just been released from prison, and I needed to pick up some essentials and necessities. So my grandfather handed me some cash. I went into a superstore with my shopping list in hand. Amidst the aisles teeming with countless products and bustling shoppers, I was suddenly paralyzed by an overwhelming fear, a fear of my past being discovered, a fear of not belonging. I panicked, quickly bolted out of that store empty-handed. While I've never experienced that type of attack again, that fear, the fear of my past being discovered, constantly follows me around to this day. And as a matter of fact, it is only now here at WordCamp US that I've finally found the courage to share my story publicly. But that fear still exists, both for myself and many, many others, due to societal pressures and countless hurdles placed on individuals like me. Now fortunately, I did get very lucky in the beginning, securing my first job, working in a warehouse, stocking and shipping packages, all because a family member reached out for me. Now unfortunately, many turns after this were filled with rejection and fear, often pushing me back into the never-ending maze of the unknown. For 15 long years, this fear has nodded at me, a constant shadow that trailed my every move. Wherever I turn, society's doors just seem to close on me simply because of mistakes of my past.  Over the course of my career, I have applied for nearly 600 jobs with hundreds of interviews and next-stage approvals, often meeting and exceeding both the expectations of the interviewer and the job requirements. Most of these applications and interviews were ended at the background check phase. Now, 17 of these companies did send me official offer letters, all of which I accepted and signed. However, 13 of them performed post-offer background checks and rescinded the offer before my first day, leaving me to start the process all over again. For the few of the signed offers, I actually started working, going through onboarding, getting set up on necessary systems and learning about the company processes. Later, I would get an email informing me of an impending background check which required my approval. I would agree, cross my fingers and wait. Two of those companies let me go whenever that background check returned. One of those was actually earlier, just earlier this year. And these were the most heart-wrenching moments of my career, knowing you have what it takes that all your hard work has paid off only to be let go because of something you did 18 years ago. To this day, when applying for jobs, I have a constant expectation of rejection, despite having been given an offer or even starting work. Almost as if I'm waiting for the moment when a company comes knocking, telling me to pack my things. These rejections are demoralizing and mentally exhausting, especially after so much hard work to prove otherwise. And the societal stigma doesn't just apply to employment either. Getting rental housing is virtually impossible. Applying for loans to start a business or even buy a house have also resulted in denials. To this day, platforms like Airbnb still don't let me join because of my criminal history. And even investors perform background checks, so further limiting my ability to build something from nothing. For former convicts, corporate society here operates on the mantras if exists, reject. This is regardless of the crime committed, the time since the conviction, or even the changes the convict has demonstrated since. Just rejection after rejection after rejection. This past fail mentality with background checks prevents former convicts from reintegration, which often leads to recidivism of which United States has one of the highest rates in the world. Now, my story is not rare. As many as 100 million people in the United States bear the mark of a criminal record. That's nearly one out of every three people in this country. Of this, nearly 24 million, or about 8% of our nation's population, have a felony conviction. And while those definitely present the biggest barrier to one's future, the societal statement doesn't just apply to felonies. Even minor infractions such as Loretta Badczyk or too many motor vehicle citations can lead to a lifetime of closed doors and lost opportunities. Nine years after my conviction, I decided to try my luck outside the United States. In drastic contrast, I found that companies from other countries were willing to give me opportunities. To my amazement, companies from South Korea and Australia evaluated me not by my past mistakes, but by my present potential. It just, it was so astounding to me. They offered me opportunities I could not find here in the United States, recognizing what I bring to the table now and not prejudging me for something that happened much earlier in my life. Living abroad was a very happy time for me. No more stigma from society, no more fear of background checks, no more worrying about my past just constantly following me around at every turn. I was able to build meaningful business and personal relationships, joining WordPress communities, attending and hosting WordPress events, and even having the opportunity to speak at several word camps across Asia. I grew confidence in knowing that my skills were not the problem, it was my criminal background. I found that United States puts emphasis on perpetual punishment. Other countries focus on restorative justice, enabling former convicts to become productive members of society. Many countries have laws and programs ensuring former convicts find housing and work, giving meaning beyond just serving a sentence. In contrast, the United States has laws actively preventing former convicts from working in certain industries, and many laws barring licensing necessary to work in specific fields. Most doors remain closed for former convicts, further hampering their ability to move forward with their lives. As an example, while in college, before landing a career in WordPress and technology, my first major was forensic science. It was a field of study that brought immense joy into my life. And then one day, when meeting with my academic advisor, I just passingly mentioned my criminal background. Later that week, she brought me into her office and advised me to switch my major, telling me that government agencies will not hire me because of my background. I was devastated. It really is a system designed to perpetuate our alienation in this society. But thankfully, I found WordPress and the openness of its inclusive community. And it's that inclusiveness that enabled me to be the person you see here today. Diversity, equity, inclusion, and belonging. If we're truly to embrace these values, we must encompass all shades of the human experience, including those that are created by one's mistakes. And that's where WordPress shines. In this community, I found acceptance and meaning and most of all, belonging. I was able to start working for some amazing companies and I will never forget what all of those leaders said to me whenever I mentioned my criminal background. Those were some of the first times I ever felt fully and wholly included by leaders in WordPress, despite knowing my criminal history. WordPress and its amazing open community helped me understand that there is hope. And we must continue to foster this inclusiveness in all of our decisions and actions every day. So I challenge each of you to educate yourself, learn about the obstacles within our justice system, understand the hurdles that people like me would criminal records face. And especially if you're an employer, just think twice before rejecting potential talent because of mistakes of their past. It's these mistakes that we as humans make that help us become better people, help us grow and enable us to be more inclusive and understanding of others. So let's be wholly inclusive just like the WordPress community. Thank you. I'm gonna open your laptop if that's okay. Hello, hello, hello. Hello, work camp. I am so excited for this talk. I was like literally like doing like a little dance on the side earlier. So Simon Willis and someone who we determined by the dates, I actually was following his blog as I was learning PHP and starting WordPress like 20 years ago. And I find myself now following him every single day because his blog, which is still going, SimonWillison.net, not on WordPress yet, but still an excellent, amazing blog is sharing some of the most interesting stuff around not the hype around AI, but how you can actually use it. And also like the security aspects and everything. Simon has come all the way across the country. It's gonna give us an amazing applied AI talk. And please give him the warmest welcome. I'm so excited. Ladies and gentlemen, Simon Willison. Okay, well, hello, WordPress. There we go. Yeah, so my talk today is entitled Making Large Language Models Work for You. And as Matt indicated, this is going to be very much the practical side of this. There is an enormous amount of hype and bluster in the AI world. I am trying to avoid that and just give you things that actually work and do interesting stuff. Turns out I've had code in WordPress for 19 years at this point. I found this commit. This is introducing the Incusio XML RPC library, which I wrote and was responsible for at least one major security vulnerability. So you can, it's got a CVE. I'm quite proud to have a CVE. So you're welcome to thank me for that later on. But these days, I'm actually working on different open source tools. I work on a project called Dataset, which is it started out as open source tools for data journalism to help journalists find stories and data. And over time, I realized that everyone else needs to find stories in their data too. So I'm actually right now inspired by automatic doing the, okay, how do I commercialize this? But what's the commercial hosted SAS version of this look like? That's a product I'm working on called Dataset.Cloud. But the big problem I've had with working on turning my open source project into a sustainable financial business is that the AI stuff came along and has been incredibly distracting for the past year and a half. This is the LLM's tag on my blog, which now has 237, actually 238. I posted something since I took that screenshot. So there's a lot there. And it's kind of beguiling. I try and tear myself away from this field, but it just keeps on getting more interesting the more that I look at it. One of the challenges in this field though is that if you look at the AI field in general, there are some, it's very noisy and there are very noisy groups with very different opinions. You've got the utopian dreamers who are convinced that this is the solution to all of mankind's problems. You have the doomers who are convinced that we're all going to die, that this will absolutely kill us all. There are the skeptics who are like, this is all just hype. I tried this thing, it's rubbish. There was nothing interesting here at all. And then there are snake oil sellers who will sell you all kinds of solutions for whatever problems that you have based around this magic AI. But the crazy thing is they're all right. Every single one of these groups is a lot of what they say does make sense. And so one of the key skills you have to have in exploring the space is you need to be able to hold conflicting viewpoints in your head at the same time. That just keeps on coming up time and time and time again. I also don't like using the term AI. I feel like it's almost lost all meaning at this point. But I would like to take us back to when that term was coined. And this was in 1956, this was the coining of the term artificial intelligence. When a group of scientists got together, Dartmouth College in Hanover, and they said that they were going to have an attempt to find out how to make machines use language, form abstractions and concepts, solve kinds of problems now reserved for humans. And they then said that we think a significant advance can be made if a carefully selected group of scientists work on this together for a summer. And that was 67 years ago. In all of the, this has to be the most legendary over-optimistic software estimate of all time. I love this, I absolutely love this. So I'm not gonna talk about AI. I want to focus on large language models, which is the subset of AI that I think is most actionably interesting right now. And one of the ways I think about these is they're effectively alien technology that exists right now today and that we can start using. It feels like three years ago, aliens showed up on Earth and they handed us a USB stick with this thing on and they departed. And we've been poking at this thing ever since trying to figure out what it can do. And this is the only mid-journey image in my talk. You should always share your prompts. I asked it for a black background illustration alien UFO delivering a thumb drive by beam. It did not give me that. That is very much how AI works. You very rarely get what you actually asked for. And I'll do a quick timeline just to sort of catch up on how we got here because this stuff is all so recent, right? Open AI themselves, the company behind the most famous large language models was founded in 2015. But at their founding, they were building models that could play Atari games. They were all into reinforcement learning and they built these really cool things that would figure out the rules of some Atari game and play it effectively. And that was the bulk of their research. Two years later, Google Brain put out a paper called Attention Is All That You Need. And it was ignored by almost everyone.  But it was the paper that introduced this Transformers architecture, which is what all of these models are using today. Somebody at Open AI did spot it and they started playing with it and they released a GPT-1 in 2018 and it was kind of rubbish. And a GPT-2 in 2019, which was a little bit fun and people paid a bit of attention to. And then in 2020, GPT-3 came out and that was the moment, that was