 Hello. How is everybody? Have you all had a wonderful day? Have you all been productive and got stuff done? So we're at the end of the three days, which has been fantastic. So this is basically where you get to show off what you've been doing. I'll need some volunteers. I need two note-takers if people would volunteer. Volunteer. Anyone? Note-takers? Somebody needs to. Please. We're not gonna go very far. I'm going to... Yeah, but that assumes I actually can identify... Oh, where's Moran as one volunteer. Can I have a second one? Sam Reid. Thank you. I'll also need two timekeepers. No, sorry, one timekeeper, which will be James Forester. And that will be it. That'll be fine. Okay, so what I need to do, if you want to show something physical on the screen up there, then can you come and stand to this side of the stage? If you're talking about a similar theme and a topic, group together. Okay? If you just want to simply come up and talk about the things that you've talked about today, things that you've learned, or from the previous two days, then stand on the left-hand side. And it'll be two minutes each. And yeah, so we'll go from there. Oh, you get the thing. Let me use yours, and then I won't lose mine. So I didn't plan on doing any coding, but around here it's hard to not to. And I met Yuri, who told me about several cool things, including tabular data, which looked attractive. And also told me about the API, and I guess he has a part in all those things. So what I did is, this is Federated Wiki. And here I, you know, this is just on a local host where I test a bunch of things, and I'm testing my new plug-in called Tab for tabular data. And, you know, usually I test by writing a little test case. Here I can pull up GDP by state. Let's see. Why doesn't that, I don't know why that doesn't scroll. It must be this very narrow screen, but it's over there. So it shows, it did a fetch. Every one of my plug-ins has some markup. I made my markup very simple here. Just write the title of where you're going to get the data. And it goes and fetches the data. If it took a little longer, it would say busy and done. The other thing that's interesting is the data in this plug-in, this plug-in is this gray part, is available to other plug-ins like my radar chart. So here I call up a radar chart and this normally scrolls on its own. I'm not sure why it doesn't scroll. But anyway, there it is. This radar chart came up and it said, let me find some data, look to the left, found this data that it just fetched off of comments and drew it on a radar chart. Each of these has a lot of options for scaling and selecting and so forth. But the idea is that it does something automatically, no matter what. And that's it. Thank you. If this actually works again, it should be. Okay. Display mirror, good. So again, tabular data, because URIC is very good at recruiting people. So we have this nice tabular data view and I figured we could use some JavaScript to import and export data from it. So this is a set of data from that URITest with. There's two options here, export to CSV and export to Excel. We can just press the download. It should be here, open. So this data set now got exported into a CSV file. Very nice. There's also an option, export to Excel. Uses a JavaScript library to export into Excel. And the library is not perfect, but it does actually work. So you actually have a nice Excel view of this data. And that's one way that's exporting. You can do the same thing with importing. This is a new document that gets automatically prefilled with some example. But down at the bottom here, we have a select file option. I select from my desktop this file, an Excel file, adds the content right here, save. And I just imported an Excel file into tabular data. Now, that's it. I'm going to be presenting about tabular data. Give me just one sec. Templates, templates and modules. Yeah. Just another quick thing for people that came into the room. If you'd like to come up and talk about anything, just come onto the side of the stage and queue up. And if you want to show something on the screen, then bring your laptop. Thank you. You all good? Hello. So this is Visual Editor. And this is something we haven't actually built in the last few days. But it's something we've been talking about a lot and working on a lot, including in the last few days. And, really? Sorry, dodgy cable. Sorry. It decided, can you do this configuration? Yes. All right. I'm not going to try not to touch it too much. So one of the issues we have with people doing visual edits is telling people sort of what they've changed. At the moment, if you fire up the show changes dialogue, which we have, you end up seeing this, which you guys are probably familiar with. You could probably pause that and say, oh, yeah, you removed the link and made a word bold. But for someone who's chosen to use Visual Editor, because they explicitly didn't really want to learn all this, then we've kind of failed them here. So we've been sort of thinking about how to do more visual diffing. And it's quite a complicated problem. And if you want, you can hear a lot more about it later this month. We're going to be doing a tech talk on it. So I'll just give you a preview of some of the cool things that we can do with visual diffing. And in particular, a tree-based diff. So if I, for example, take this whole sentence here, pick it up and move it, with a tree-based diff, which Visual Editor is an HTML tree editor, if I make a change to another word here, you'll notice it can get very confused. See this headline here? It thinks it's been completely removed and inserted. But by tracking the moves, we can just highlight that paragraphs have switched. And then within that paragraph, it's completely clear except for the word that's changed. If I do an annotation change, we can, we haven't come up with a great way to style this yet. But at the moment, we can show that as a removal of the linked word and insertion of the plain word. But there are plenty of options available to us to how to display that someone's changed the link. Much better than saying that you removed two square brackets, which you didn't. So the really cool things that you can do are if anyone's ever edited a table in WikiText, you'll know that, for example, deleting this column is quite difficult. Made a lot easier by Visual Editor. But again, if I go to show my changes, I'm like, oh, what happened here? And what if I delete a row at the same time? I don't think anyone could reasonably parse that and work out what's going on, especially if you don't even have the right number of lines to give you context. But that's a bit more readable. Yeah, we're doing a tech talk like this month, as I said. So keep your eyes out for that. Is there a display? Okay. Great. So today with lots of help from analytics folks, especially Marcella and Joel, we used this pivot and druid system that already exists. That's a new thing that they've created for page views to visualize data for banner impressions from central notice. So this is something that's been a long time of great interest to fundraising and also to community members and projects that run campaigns to show banners for various purposes. And so this is just with data from one day, but this is to show you what can be done with this really cool system. So this is from one day, December 18th during the year end fundraiser. This is showing all the banner impressions. We can break it down in many, many different ways. For example, we can put a filter here and then only get the fundraising campaigns. Oh, it has red text. Excuse me. We can break that down by country. So these are the, I don't, maybe you can't see the legend there because of the small size of the screen. Okay. Yeah. Anyway, we can see the countries here. Anyway, these are these, if you have a decent screen, you can see these are the countries in the fundraising campaign. There's all the, there's six big English speaking countries that were in this year end campaign. We can also break it down by, by device. Okay. So here you can see the list. There's desktop, iPhone, Android, iPad. Or we can look at the, the status of code that central notice was sending back. This will tell us how many people who were targeted by the campaign. In fact, we're seeing banners. That's code six over here. 2.2 is people who were, who were not seeing banners because they'd already seen too many. And so the system was waiting a certain amount of time to show them banners again. 2.1 is people who were not seeing banners because they'd been closed. Or for example, by bucket. Bucket is used for AB testing and also to separate the groups of people who can see a large banner. And then once they've seen a large banner one time on any campaign, they switch to the bucket that sees the smaller banners. So the, the smaller line, the lower, the line with the lower number of impressions down here is those who are seeing, who, who see a large banner. And yeah, there's tons more. Thank you very much. Hi, this probably won't interest many of you, but I, I'm really excited about this new feature we just added. Here's my, it's right now, it's only running on my wiki, which is discoursedb.org. It's in a database of opinion items. So let me just do a recent, well, I could, I could pick anyone, but where was the, all right, well, okay, fine. I'll just pick, yeah, so we have this edit with form thing and it's got a bunch of different form input types. One of the cool ones is the tokens input type here, which, which does a tokenized input with multiple value auto completion. So yeah, that, that this has been here for a long time, but what we just added is something you think would be standard in it is a way to double click within each one to, to, to modify a specific value. And so there it is. And then if we hit show changes, we'll, we'll see the new values there. That's it. Thank you. Oh, you wanted to. So what Cedan hasn't explained is that you can come here not just to show what you've done. You can also come to show what you haven't done yet. So at the end of October, the end of October, Gergo, who is down there, created this, this task proposing an unconference session, developer wish list. And some weeks later, that session happened on Monday. And at the end of that session, we decided to just do it, just have organized the developer wish list. The URL, actually there's already a, a page in media, wiki.org that is, you will not believe this. It's the developer wish list page in media wiki.org. Yes. Good. So what, what will happen? This is a time dream project. So on February 15, we need to have a prioritized list of wishes from developers for developers. Why February 15? Well, because there's enough weeks between now and then if we just allow ourselves not to like shed too much, the model that we would follow would be the same as the community wish list. Someone said in the session that organizing wishes from developers for developers should be easier than organizing wishes from editors for developers. That kind of makes sense. And again, February 15, because there's a chance that then by that, by those dates, we can have some influence, impact on the annual plan, which is where a lot of the hours of people in this room will go from July to June in the next fiscal year. So all this to say that as soon, basically as soon as you all pack out from this room and we have some time, we are going to organize this pretty quick in wiki.tech L and close to that, we are going to announce this and we are going to ask you to basically list your wishes, what you as a developer would like to have, would like to see, and then there's going to be some kind of voting that we will decide how. And we will end up having a prioritized list that then we are going to lobby to ourselves and whoever might have resources to work on this, plus hackathons and all that. So I did something for the career service UI and we all know Sparkle is kind of complicated, so TBT made this nice tool where you can input natural language and it gives you Sparkle. And I integrated this to the career service, so if you have a question, then you can just enter it and it will hopefully get you Sparkle. Does anybody else want to come up and show what they have done? I believe Anshul's name was being mentioned in IRC, so if anybody else does want to come up, please feel free to come down to the side of the stage. So with help from Lego KTM or canal and Tom Arrow, we managed to get fan running on four extensions, so now everybody else with extensions can go and easily add fan jobs. Explain what fan is. So fan is this fancy, new static analyzer for PHP that is running on core, but now we can run it on extensions too. Anybody else? Nope. Okay, that's it for the developer summit. I just have a couple more things to say and then everyone can hang out here until 5.30 when the buses take us back. So first of all, on behalf of Shristi and Kim and myself, I'd like to spend a second thanking all the people that put in the hard work to make this event happen. So our admin team has been so busy working, doing so much behind the scenes that you haven't even seen. Everything's run smoothly because of their work, Megan, Sarah and Lonnie. Some of them are back at the office right now putting together your party, so definitely thank them. Also we have Brendan who is in the back who basically single-handedly pulled off all of the remote AV support. Pretty amazing. It went pretty flawlessly. Byron also set up the Wi-Fi or organized the Wi-Fi with the company in this venue and that's been really great. The comms team, Melody has been spending her whole week so far managing all of the remote participation and we've had good feedback on that so far but we'll have a better report for you once we get the feedback surveys. And these name tags were also designed by our comms team this year so that's pretty cool. You should thank them as well. The entire program committee met constantly for weeks and weeks and weeks before this event so you can see everyone on the program committee on the Wiki and they put a huge amount of work into that. And also the scholarship committee helped us get some really high quality volunteers here. And then definitely to everybody here, all the speakers and session organizers and everybody who pitched in and all the little ways that you did to help because it was definitely noticed. Everybody was so great this year. And just as a follow-up to this developer summit, we run things regularly called Tech Talks. They happen in the San Francisco office or remote. You don't have to be physically present in San Francisco. We can organize an hour for you or less or more whatever you like to talk about anything you want. So if you've done a project and you want to teach people about it if you have complicated work and you think other developers might like benefit out of spending an hour listening to you talk about it or if you want to nominate someone to talk if you've always wondered what they do or what they're working on. We can definitely take nominations. Those work pretty well actually to get people to do Tech Talks. So I would love as many nominations as you can give me. So then the last couple things. I will be sending out a feedback survey to everybody who registered for this event whose email address I have. It would be super helpful if as many people as possible could fill it out so that we can give you a better event next time. We really, really do listen to what you say. That's basically the best way you can help us. And then finally tonight's social event is again back at the WMF offices. It's just going to be relaxed. We won't scare everyone away with karaoke this time. Although those are some pretty great performances. And yeah, so we really hope you'll join us. Otherwise, thank you so much for being here and joining us and coming and getting stuff done today and fill out the feedback survey. Thank you so much. The buses leave at 5.30 so you can continue to hang out. We won't take away your Wi-Fi.