FEDER

Back to chats Igalia's Brian Kardell and Eric Meyer discuss and explain the recently announced MathML-Core Support Collective.

0:00

Transcription

  • Brian Kardell: Okay. So I'm Brian Kardell and I am a developer advocate at Igalia. And I'm here with my colleague, Eric Meyer, also a developer advocate at Igalia.
  • Eric Meyer: Hey.
  • Brian Kardell: And we are going to do something a little different today, we're going to have a chat about some new thing that we're doing.
  • Eric Meyer: Yeah. So the MathML Core collective. This is a, I mean, it's basically a new project, but I think a lot of people aren't really sure what the situation is, what is a collective in this context and what's the MathML Core collective about. So let's start with what is a collective.
  • Brian Kardell: So on our podcast on episode five, web ecosystem health, we had Pia Mancini as one of the guests. She's from Open Collective. Open collective is a platform for connecting communities that need to deal with all kinds of things around accounting and funding for work like open source projects. So over 2,500 open source projects are able to collect funds from many, many, many sources and keep open books about those and things, and just makes it very, very easy for us to collectively pull money toward a common cause.
  • Eric Meyer: Cool. And so well, while there's a new collective, but this isn't our first collective, right? That's how focus visible came to WebKit, was it?
  • Brian Kardell: Yeah. So in fact, we had this idea some time ago that came from this observation that, Hey, you know what are open source projects? Browsers. And we at Igalia we work on them pretty much all day, every day. And a lot of the funding from that comes from individual organizations, for example, Bloomberg Tech funded the implementations in WebKit and Blank for a CSS grid. That's how we got those. So that is really, really interesting.
  • Eric Meyer: Right.
  • Brian Kardell: And it allows us to have a conversation about how all of this works. And why those things are blocked. They're blocked because there are finite resources, but the clients for the web and the use cases are pretty much everything and everyone. So we have this very, very long backlog now. And no matter how big the team is, it's not big enough. And they have to prioritize things through their own specific lens. So we have this observation that it's great that we have two means so that browsers to themselves can fund things or individual organizations can fund things.But why should those be the only ways that we have to do something? If something is important to two companies, why couldn't two companies pull their money together and get something done? Or if it's important to four companies or more realistically it's important to 10 or 20 companies. And in fact, why is there any arbitrary limit we're placing on this at all? What if a million web developers all decided that something was really, really important and was worth funding? Why shouldn't we be able to get that done? Why couldn't our client be able to be as many people as it takes to get a thing done?So with that, we created this open prioritization idea, which is sort of a super collective. You can think about it as it's many projects. In theory, it would be. Our first experiment with this, where we put forward six possible ideas of things that were just lacking implementation priority. But we asked the community to begin this conversation and to think about how we could fund these things, to ask companies and organizations and even individuals, if they were so interested to go out and advocate for these things and get them funding. And then we'll do the one that gets the most interest.We did Focus-Visible in WebKit was the chosen thing. And it is implemented today in Safari technology preview behind a flag. It turns out that this is actually an interesting one if we want to talk about some of the things that make this difficult. Occasionally, as we get the last implementation, we learn something new and it requires some further conversation. Mac UX and expectations have some interesting aspects to them that are slightly different for which there were not good answers yet. So I think we're getting pretty close to sorting all those things out. And we know that everybody's interested getting this ship this year, so we'll get there. And I think that's really interesting.
  • Eric Meyer: Yeah. And so now we're doing another collective. And when we say we, I guess we should probably be clear, I mean, these collectives, these specific collectives we're talking about are things that Igalia is sort of spearheading. Open collective is a much bigger platform that's not like Igalia's or anything. So we've got MathML Core. So I mean, what is MathML Core? I'm familiar with MathML or at least semi-familiar, but MathML Core is kind of new.
  • Brian Kardell: MathML Core is kind of new. And at the same time, it's not. So the MathML specification was among the first specifications that was taken up by W3C all the way back in the nineties.
  • Eric Meyer: Yeah. In the previous millennium.
  • Brian Kardell: Right. A thousand years ago [crosstalk 00:05:14].
  • Eric Meyer: Yeah.
  • Brian Kardell: Specs back in those days were a lot more aspirational. They were more vague. We didn't have web platform tests. Things weren't thought through and tied together, really. And so as a result, there's lots and lots in the MathML specification that is implemented by no browser. And there's lots in fact, that aren't even implemented by any mathematical tools that aren't what browsers. And there's lots in there that is aspirational is really, really huge spec. And again, it's vague in too many places.So even existing MathML implementations don't match, they don't agree on how CSS plays with things or what the [DOM 00:05:55] should look like in terms of the API surface and things like that. So MathML Core is an effort to resolve those things and put MathML in a firm place in the platform. A lot of this work was done over the last few years by SVG as well. There isn't a SVG core specification, but that work just carried on in SVG. Since MathML has never landed its final implementation, we decided to break this out and call it MathML Core. This is the stuff that is targeted primarily at the browsers.
  • Eric Meyer: Yeah. So there's this MathML Core specification, which is sort of the, all right, let's take a core set of things and very specifically define how they should be implemented. So this MathML has exactly how to, the exact steps to put the enumerator over the denominator. Yeah.It doesn't necessarily say this is the exact pixel rendering you should have, but it very clearly says you put these two things together and this is how they should be related in a CSS model way or whatever. Here's what should go into the accessibility tree. So there's a specification and that's great, but specifications are theoretical constructs in a way.
  • Brian Kardell: Some of those changes have already been applied to existing implementations. And chromium, we have been working on for quite a while, a implementation upstream in chromium. It began as a prototype where we were trying to figure out what could work for MathML Core. We did a prototype in chromium. And then in the process, we were able to have deep conversations with engineers at Google and CSS's working group and get that work started.Now that work is upstreaming. And so as far as MathML Core implementations, the most complete one is currently chromium. So we have a lot of work to align other browsers and make sure that they have agreement on those answers. So that's a lot of work that needs to be done. And historically, the challenge is that prioritization, when does it get done?
  • Eric Meyer: I mean, browser teams have resource constraints.
  • Brian Kardell: Yeah.
  • Eric Meyer: Right? Doesn't always seem like it, but there's engineer time. Number of engineers, what those engineers are good at since not all engineers are equally expert, right? An accessibility engineer isn't necessarily the same as a layout engineer. So you only have so many engineers. They only have so much time. The backlog is long.
  • Brian Kardell: Very long.
  • Eric Meyer: And so if we want MathML Core to be supported in browsers, there's kind of a choice. You can advocate for that to happen, advocate to browser teams and hope that it gets high enough on their priority list that eventually some engineer time is devoted to this, or with these open collective, like the community can put together a pool of money and hire somebody. I mean, Igalia has done that kind of work in the past, but we're not the only people who could do that sort of thing. Hire somebody to implement MathML Core in chromium.
  • Brian Kardell: Exactly. And two individuals, individuals, regular people contribute a rather large sum of money to help spin this up.
  • Eric Meyer: Yeah.
  • Brian Kardell: They have been involved with MathML for a really, really long time. And they're keenly aware of these resource constraints and the problems of implementing it. And they were very interested in maybe starting this up as an idea where maybe rather than wait for browser teams to get this on their priority list. And maybe rather than relying on the passions of really dedicated open source volunteers going above and beyond their day jobs, maybe we could create a pool of money and people could say, 'This is what I would like to work on.' And for the board to say that is a good thing for you to work on. And then for people to be able to submit their work and receive pay.
  • Eric Meyer: And it sounds outlandish. We've already done it once, right? With Focus-Visible [crosstalk 00:10:21]
  • Brian Kardell: It sounds outlandish at first, but it sounds outlandish only because we're used to the current norm. So when you look at what Igalia does.
  • Eric Meyer: Yeah.
  • Brian Kardell: We do this all day every day for companies, for all kinds of reasons, sponsor some kind of work upstream. We're just making the observation that if we can do the work for one company, why couldn't a group of companies get together. And yes, it's possible that individual contributors can give money even large amounts of money if you chose to do that.But that's not actually what we're appealing to here for the most part. So you're announcing this. I don't know when we'll release, if we release this on the same day, but you're announcing this at W3C TPAC meeting. And those are kind of some of the primary people we think should be interested in this, providing sponsorship.
  • Eric Meyer: Yeah. The various companies here are members of the W3C, some of whom are of course, Google and Apple and Microsoft. But there's actually quite a few more. There's-
  • Brian Kardell: 500 [crosstalk 00:11:32].
  • Eric Meyer: Yeah. That's, yeah. So if I'm just going to pick an example out of the air. If a bunch of media companies wanted a particular news sharing API. I'm totally making things up, but the idea is there. And there was some sort of specification for that, but it wasn't a priority for the people who actually, the companies that make browsers.Those companies could get together and pool whatever that seems like it would take, let's just say a hundred thousand dollars, just picking a random number, but 10 companies could get together and each kick in $10,000 and there's a hundred thousand dollars to hire somebody full time for a year to make this thing happen in browsers.
  • Brian Kardell: I would suggest that the more we extend this out further, the less everyone has to give and we reach large numbers.
  • Eric Meyer: Right.
  • Brian Kardell: And I would suggest that there's something useful to recognize that the companies that do it today, it's not an act of sheer generosity, right? They are getting largely funded through things like the default search deal, which racks in a lot of money, really a lot of money. And it has made pennies at a time, right?So the bigger we cast the net, the less any one company has to pay. But of course, there are bigger companies should pay more, right? And I think that there is actually a really practical example of this that we also help champion, which you are on the steering committee for, Eric?
  • Eric Meyer: Yeah. The open web docs.
  • Brian Kardell: Yeah. That is also a collective that is part of open collective. And it funds the documentation of the web. And it is a way that we can work together to fund and prioritize that. And there are individuals who choose to give $5 a month or $10 one time or whatever.But really, the vast majority of the funding comes from multiple organizations. Google throws in and Microsoft throws in and Facebook throws in and Coil throws in, Igalia throws in and together we make a rather large pool of money, which we can figure out how to collectively use toward what we all can agree we need.
  • Eric Meyer: Right. Yeah. Yeah. And we just did a write the docs thing for open web docs. And open web doc has, is it four full-time, maybe it's five full-time members now, I think it's five full-time employees who the various companies [inaudible 00:14:27] you mentioned who have been throwing into fund the open web docs collective that's where those employees salaries come from, is from that pool of money. And so, I suppose it's possible that MathML Core could grow to that point.
  • Brian Kardell: MathML Core is approaching level one. We're trying to reach level one conformance, but then after MathML Core level one, there will be a level two.
  • Eric Meyer: Yeah.
  • Brian Kardell: And so on. And work needs to continue. And not only does work need to continue, but once you have an implementation, you need to maintain the implementation.
  • Eric Meyer: Yeah.
  • Brian Kardell: So when new CSS features come along and they need to have things that are updated in MathML. When new things are defined in Unicode and something needs to be reflected in MathML implementations or new font things come along that have an impact on MathML. None of these things are ever done, right?
  • Eric Meyer: No. That's true.
  • Brian Kardell: Web standards are constantly, constantly, constantly being updated. The idea for the MathML support is that we could take an area of interest that is very specifically, seems uninteresting for a single vendor to champion and pay for on their own historically. And we can look for different ways to fund the people who are really interested and can contribute the time to do that.
  • Eric Meyer: So the vision here is that the MathML Core collective will persist over time rather than sort of doing the initial implementation and then saying, 'All right, browser companies, we got you started good luck. Keep it up to date.'
  • Brian Kardell: That's right. Yeah.
  • Eric Meyer: Okay. And yeah, I mean, MathML Core the collective, like you said, it mostly got kick started by a couple of very generous individual contributions. But it is the sort of thing that I could just to pick one example, I could see Wikipedia making a case for, kicking some-
  • Brian Kardell: Wikipedia has millions of MathML.
  • Eric Meyer: Right.
  • Brian Kardell: Elements.
  • Eric Meyer: Right. And yeah, million. I'm sure millions of pages that have MathML expressions and most of them are images that I've seen.
  • Brian Kardell: Well, they're generated from MathML. If you actually view through the source, everything is expressed in MathML and they have to generate some kind of image or SVG or something using math jacks or some other tool.
  • Eric Meyer: Yeah. Right. And so I could see making a case to Wikipedia to say, 'Hey, could you donate to this?' And then like the accessibility of your mathematical equations will be much improved. And the support for that sort of thing. But not just them. I'm sure there are educational, online educational companies.
  • Brian Kardell: Absolutely.
  • Eric Meyer: That could kick in on this. It'd be a lot easier to handle teaching math to 12th graders online or whatever, calculus, that sort of thing. So yeah.
  • Brian Kardell: Absolutely.
  • Eric Meyer: And again, of course, individual, like you say, individuals are always welcome to contribute. If someone says, 'I love math so much, I'm going to kick in 50 bucks a month.'
  • Brian Kardell: I think there's a very different proposition here too, in that I don't think it is unreasonable to expect that browser vendors may choose to contribute monetarily to this as well. It's a very different proposition to say, 'Dear Google or Mozilla or Apple, you must care about this enough to be the exclusive sponsor for life.'
  • Eric Meyer: Right.
  • Brian Kardell: Versus, 'Isn't this worth $20,000 a year or $50,000 a year or 10,000.' Something.
  • Eric Meyer: Right. Something.
  • Brian Kardell: Yeah. So I can easily imagine browser vendors contributing something here.
  • Eric Meyer: Yeah. That's interesting. Because basically what you're saying is maybe Google would like to contribute money to pay somebody to add to Google Chrome.
  • Brian Kardell: Sure.
  • Eric Meyer: As apposed... And I would think a lot of people will think, 'Well, why don't they just hire, they could hire an engineer.' But there are sometimes reasons why that doesn't work.
  • Brian Kardell: Definitely. I mean, it's not different with the documentation of the web, right? Google can hire people to write documentation and yet they give money to open web docs. They're one of the primary sponsors. And there are reasons for that that make sense. So I think this is not different. I think it's a good message that the browser vendors are generally down with that. That it's not great for them to be the primary owner for life and only sponsor of everything. And then have everybody be constantly mad at you because you can't give enough either, right?
  • Eric Meyer: Right.
  • Brian Kardell: So I think encouraging a system that is more well spread out that includes them on things but that not exclusively is potentially I can imagine being appealing. We'll know when we see that happen, but.
  • Eric Meyer: Right. Yeah. So I mean, MathML Core collective it's open, it's ready for donations. And ideally it will start having implementations happening.
  • Brian Kardell: So let's talk a little bit about how it will work.
  • Eric Meyer: Okay.
  • Brian Kardell: So there is a roadmap of work that is approved by the existing unlaunch. Igalia is already working on that. In fact, we're well into it. We're a little bit behind on announcing this. The funds in there are more or less spoken for, but then the steering committee that we have named, which includes someone from Igalia and the two original founders here who gave the significant amount of money and someone from open collective can approve the priority plan.
  • Eric Meyer: Okay.
  • Brian Kardell: And once that's approved, if anybody wanted to submit that they and not Igalia would like to contribute work and provide an estimate of what they think they would like to put toward that or a limit at least, then that can be approved. And they can go to work as well as Igalia. So the idea here is not exclusively to fund Igalia's work. It will act as more or less a gate on a Igalia's work. Because Igalia is committed to this with actual resource investment ourselves, regardless of whether anybody puts in any money or not.
  • Eric Meyer: Right.
  • Brian Kardell: But obviously, if we have funding, it's easier to throw more resources at it.
  • Eric Meyer: Yeah.
  • Brian Kardell: So that is actually why this number is not a lot bigger because if we included Igalia's investment, Igalia has invested quite a bit in MathML over the last two years.
  • Eric Meyer: Well, including being at least one Igalian was a primary author of MathML Core specification.
  • Brian Kardell: That's right. Fred Wang. And all also we had two engineers at, well, three over different times working on implementation in chromium.
  • Eric Meyer: Okay.
  • Brian Kardell: We had multiple people on the group that was in charge of MathML Core. And all of its liaisoning with CSS working group and accessibility. And so yeah, we have an enormous amount of investment from the Igalia side on this. We'll continue to invest in that.
  • Eric Meyer: Mm-hmm (affirmative). But as you say, a mathematically inclined coder or consultancy could come in and say, 'Hey, we want to take on this part of implementing this part of MathML Core. We'll work with everyone else who's doing the implementation. We think it will take, I don't know, $15,000 of engineer time.'
  • Brian Kardell: Yeah.
  • Eric Meyer: 'Over the next nine months.' And the collective steering committee can say, 'Cool, you're-.'
  • Brian Kardell: Make it so.
  • Eric Meyer: Right. Make it so. Or can look at it and say, 'Your proposal seems way not feasible. Can you resubmit your proposal' or whatever. That's the sort of thing that that steering committee can do.
  • Brian Kardell: Yeah.
  • Eric Meyer: Yeah.
  • Brian Kardell: The steering committee can also lay out a roadmap of what they think the priorities are.
  • Eric Meyer: Okay.
  • Brian Kardell: I expect that they'll do that.
  • Eric Meyer: Mm-hmm (affirmative).
  • Brian Kardell: And that then once that's done, people can suggest that they would like to take some part of that.
  • Eric Meyer: Okay. Yeah.
  • Brian Kardell: So the things, examples of that are for example, updates that need to be made in Firefox or in WebKit. And so if you thought that something about, I don't know, font rendering in one of those should be, it is a really important, and it's a thing that you could tackle and it's on the priority list then this is an idea for you to maybe get paid to do it.
  • Eric Meyer: I hear all of this, this is really cool, but I can't directly contribute to this. But like you say, I could start ping on Twitter. Sending out, 'Hey, check this out. Anyone who follows me, who's mathematically inclined spread the word.' Because the more companies that support this, the more resources there are to get this work done faster.
  • Brian Kardell: Yeah, absolutely.
  • Eric Meyer: Yeah. Cool. Well, I mean, I can already think of at least a couple people that I would probably ping directly or will be pinging directly.
  • Brian Kardell: Sure.
  • Eric Meyer: Looking at you, Shamus. Anyway. And yeah, so what else should people know about this?
  • Brian Kardell: It's not about saying browser vendors should spend less or that they pay too much. In fact, I would love it if they would all spend more. This is actually for us, this is for the larger ecosystem. And I think that's important to keep in mind that having a ecosystem that is more broadly prioritized and funded actually really benefits us all. It builds a more resilient system and it gets us more kinds of things.We have plenty of examples of this. Just recently in WebKit, a whole bunch of interesting work got done that was not getting done. It was hard to prioritize for Apple, but we did it because we're the maintainers of WPE, which is the WebKit port for embedded systems where we have much more severe constraints. And so for our devices, this is critically important. But we did it. And actually all of the WebKit ports gained from that in the end.
  • Eric Meyer: Right.
  • Brian Kardell: So yeah. I mean, I think that's important thing to keep in mind here is that while it strikes you as perhaps little unusual or even wrong at some level that because we have spent a long time saying, browser vendors should spend more.
  • Eric Meyer: Yeah.
  • Brian Kardell: This is not necessarily in conflict with that in spirit. It just also admits that there is a lot to be gained if we take a look at what makes for a really healthy ecosystem.
  • Eric Meyer: Yeah. Very cool. Thanks, Brian.
  • Brian Kardell: All right. Thanks, Eric.