WEBVTT 00:00.000 --> 00:10.880 Good morning. I'm very happy to be here. Maybe not happy to have the first talk. Usually 00:10.880 --> 00:18.520 I write it during the talks. So I, it's still not the less, yeah, okay, yes, I mean, I just 00:18.520 --> 00:24.900 remember, as I said, I'm not walking up totally, but I'm working since 1999 on this stuff 00:24.900 --> 00:29.940 with staff in Hamburg, applied to staffers and became a member of some Mike Stim. And the 00:29.940 --> 00:36.820 true kid was what we had in the back end for in Java, with no appatial license, that is for 00:36.820 --> 00:39.980 the back end of the back office, right? And it's used still used to open exchange in the 00:39.980 --> 00:45.860 back end, and as a fork unfortunately, but I popped it back. And only F is the standard that 00:45.860 --> 00:51.020 they did once. And just to mention it, it was quite surprising because they said, when 00:51.020 --> 00:56.260 we're supposed to identify anyway, then we can make an oyster standard of it, and it was 00:56.260 --> 01:02.780 such a wave that that was the reason why Microsoft created their OXML standard. And just 01:02.780 --> 01:07.900 as an anecdote, it's first it was called Open Office XML, but then others, like Alive said, 01:07.900 --> 01:12.020 I don't mention like a product, then we are just second citizen. So we have to make it the 01:12.020 --> 01:17.860 open document format. And Microsoft said, okay, we need a name and from Open Office XML, 01:17.900 --> 01:22.300 they switched the first words. It was Open Office, Office Open XML. I was totally confused 01:22.300 --> 01:29.020 at that time. Okay, 15 minutes, they're starting right away. The ODIFTC, we are just, yeah, 01:29.020 --> 01:34.580 not seven draft, well, one was left. So, and Regina has to grow a little back back. So, 01:34.580 --> 01:39.380 from six people, we're just not more or less than five. And then three freelancers, and I'm 01:39.380 --> 01:46.140 one of the chairs. And Mike Stim, who's not here, is one of the, yeah, aside of Regina, 01:46.140 --> 01:52.020 most, most pushing member, Regina was usually the super fed. I'm working these days mostly 01:52.020 --> 01:56.500 in electronic devices where I make the money. There's an European standard for invoices 01:56.500 --> 02:01.020 and commission pays me now for being added to them. And I tell you some slides that because 02:01.020 --> 02:06.300 we can learn, it's two fields they should learn from it. So, now I have no idea what Mike's 02:06.300 --> 02:11.420 of his doing there. And they, she liked it. They implemented ODIF one or four, even already. 02:11.420 --> 02:14.700 I'm not sure about the quality of that. We have no tests at the standard level, also 02:14.700 --> 02:19.700 the problem. But it's very helpful to have them. And most of the work that we're doing 02:19.700 --> 02:24.820 is now interoperability, things that are missing in the file format for which we exist in 02:24.820 --> 02:28.980 ODIF. And think about the file format, just like the glass of water, glass, sorry, glass, 02:28.980 --> 02:33.060 we're working in full data in, right, and switch it all the time. And we just have to enlarge 02:33.060 --> 02:39.100 the glass to the other liquid for features going in there. So, we need some work, some assistance 02:39.100 --> 02:42.900 here somehow, and also maybe some big players, and maybe some big ideas, and we have to do 02:42.900 --> 02:48.580 some big thing again. So, what is the standard, first of all, I have today's day, again? 02:48.580 --> 02:52.180 It's very, very important, this blueprint, this like a cooking recipe, that all the things 02:52.180 --> 02:56.260 do the same thing, like, you give a recipe to a friend, and the cake should taste the 02:56.260 --> 03:01.220 same thing, or the same way, yeah. And that's the way, like a Dinoff Air Force, a big 03:01.220 --> 03:07.060 big success, even if America used the letter format. But it helps a lot to have usually 03:07.140 --> 03:14.780 a voice lock in, and you can save a lot of money there, and we just have this file format, 03:14.780 --> 03:20.340 this shock frozen runtime, and we haven't standardised layout, we haven't standardised 03:20.340 --> 03:23.380 how the way it's allowed to change the format, and that's the next thing that I would like 03:23.380 --> 03:28.220 to do. So, the other thing is already a toolkit, and the status that, I'm basically really 03:28.220 --> 03:33.500 used there was some work on this electronic invoices, it should become an reference 03:33.500 --> 03:38.700 implementation, it's like, in the back end without view, but it's like easy to, to 03:38.700 --> 03:44.900 high the complexity of this file format, right? And I try to generate as much from the 03:44.900 --> 03:52.900 standard as possible, and this executive generation is a problem. The standard, the 03:52.900 --> 03:57.540 status would part of four years ago, or the F1-3, one that four is already in the queue 03:57.540 --> 04:02.580 should be soon built on an ISO, that's the next level, I usually explain that ISO is 04:02.580 --> 04:09.940 like the king standard, but to me it's a bit old system, I wouldn't, I could not, we should 04:09.940 --> 04:15.460 renovate this system, but it's different talk. Marwood, think about the marwood, which 04:15.460 --> 04:20.380 call for marwood, and then you see that's the problem here. Anyway, Microsoft has this one 04:20.380 --> 04:30.340 of four support, and there's a link in there, and we are just missing other reference 04:30.340 --> 04:34.340 limitations, like ODF, I need to fix the generations from now, and we started working 04:34.340 --> 04:40.220 on ODF 105, and this one thing I like, and then I realized, I want to do not do 04:40.220 --> 04:46.660 the usual slides, I just want to do something like, I'm 54 through something, and I've 04:46.660 --> 04:52.140 got 10 more years, but we now, I want to do something, I want to kick ass, I found something 04:52.140 --> 04:58.300 like this, so I like to tell you, maybe I have to tell you that we have a problem, right? 04:58.300 --> 05:03.700 Maybe we are too busy in maintaining, doing small things, that we forget to see a bigger 05:03.700 --> 05:11.260 picture, right? And I like to give you a wake-up call at the first talk, and I still, I 05:11.260 --> 05:16.660 really, you're not still, I really used that, I mean, no, no, links are here, and that's 05:16.660 --> 05:21.300 the saying that we have no time to sharpen the saw because we have no time for it, we have 05:21.300 --> 05:26.900 to make the trees, so we have so much mental and so much customer work, but we have to 05:26.900 --> 05:30.500 do a big thing, and the one big thing is, think of the browsers, all the browsers are 05:30.500 --> 05:36.580 the JavaScript, dumb API, I don't say we make a syntax API, but they have an API, and 05:36.580 --> 05:42.780 nobody would come along and say Firefox, I want to Firefox API, the real machine API, 05:42.780 --> 05:47.660 I do something totally different, yes, we break the internet, JavaScript works, and all 05:47.660 --> 05:50.540 because they have an API, we do not have something like this, we're going to have a 05:50.540 --> 05:55.820 conformance test on this thing, so I'm asking you to consider, and this is the thing 05:55.820 --> 06:00.260 that I'd like to talk, and to polish up the argumentation, the next time at the 06:00.260 --> 06:06.340 LibreOffice Conference, to come up with him in 17 minutes, maybe, with a better argument, 06:06.340 --> 06:13.060 but let's do step back, what I've learned so far, there are two things, the syntax and 06:13.060 --> 06:18.020 the semantic, when you go to a restaurant, individual group, all get menu cuts, and there's 06:18.020 --> 06:23.500 totally different, there's someone's written, we know, there's vying and wine, yes, but in 06:23.500 --> 06:27.300 the end, this token refers to the same semantic, maybe there's just one bottle of 06:27.300 --> 06:32.260 a tail, okay, so we have, and this like Firefox, yes, it can be always say not all the 06:32.260 --> 06:37.940 F, RTF, and if you load it in the office, it looks all the same, or it should, and the 06:37.940 --> 06:42.620 thing is, I'm telling you, that's not matters so much, we can exchange it, we can prove 06:42.620 --> 06:46.780 that there's so much innovation it, yes, we can go from final state document to change 06:46.780 --> 06:52.060 document, like we have git commits, right, and we have to innovate, and we can go 06:52.060 --> 06:58.780 from XML back to a binary, I mean, text files are binary guys, but it's so ubiquitous 06:58.780 --> 07:02.340 because there's an all, there's a way to, to see them and analyze them so 07:02.340 --> 07:07.220 way, yes, so we can have, we can go back to binary, if we have, and software that 07:07.220 --> 07:11.780 analyze it, okay, and we do much more information, automation, that's a word of 07:11.780 --> 07:15.620 thing, so, and that's exactly, look, if you use the semantic to XML, that's the way 07:15.620 --> 07:22.380 that you've been standard to have, because we have two XML, you know, you'll see 07:22.380 --> 07:29.140 fact whatever, call them a, b, yes, but we have some, we name something, the invoice, and 07:29.140 --> 07:33.340 that's very easy, we have a semantic, we map it, we have two different documents, and 07:33.340 --> 07:37.700 it's very simple, they have, say, the invoice number, you can find here, and there's 07:37.700 --> 07:42.140 a lot of other information, so the great stuff is semantic, but this is X-Bus, and it's 07:42.140 --> 07:47.740 very simple, and I extracted it in most formats, so you can have this mapping in a 07:47.740 --> 07:55.740 structured way, not in PDF, but all I'm saying you, when we at the standard, at Oasis, 07:55.740 --> 08:00.980 are always taken or XML missing pieces, like data, the glasses, not full enough, why 08:00.980 --> 08:07.540 don't we make a picture and create for, oh, XML, this syntax binding between these 08:07.540 --> 08:08.540 formats? 08:08.540 --> 08:12.580 We do this first with large language model, it's commonly done, yes, the company is 08:12.580 --> 08:17.100 giving a mapping, maybe an office mapping, but for invoice and this stuff for 250 years, 08:17.100 --> 08:23.580 but, and this can be, this should be done, and we should have a form away, like this, it 08:23.580 --> 08:28.340 can be, in a table, but we have to share it, it's somewhere in the Libya office code 08:28.340 --> 08:34.740 hidden, it's there and ODF and Oasis, and that last Monday call, last week, we said, we 08:34.740 --> 08:38.700 should write there that we have this new attribute because there are no XML, we have 08:38.700 --> 08:42.980 the same thing, so they understand what's the meaning of it, yes, we're looking for a name, 08:42.980 --> 08:49.700 and we should be very obvious that this purpose, they find another corresponding information 08:49.700 --> 08:55.940 there, and then I realized we need to put this together, we need to expand, yes, it's 08:55.940 --> 09:00.260 not enough to write only ODF syntax, like one menu card, we have to look at the 09:00.260 --> 09:09.260 total restaurant, yeah, and look at the semantic, like, and so, yeah, so what I want 09:09.260 --> 09:13.260 to do is syntax, it's not the first citizen, because you load it, and then you filter 09:13.260 --> 09:18.260 it, it's gone, yeah, but what exists is semantic, there's still the document, there's a table, 09:18.260 --> 09:22.900 and I thought my mama, well, she started that, if I found someone on old people as something 09:22.900 --> 09:27.340 at her, I said, look, there's a paragraph, there's a table, there's an image, right, and 09:27.340 --> 09:33.100 then in the fourth, it's a paragraph as well, then go to the third letter, and please 09:33.100 --> 09:37.900 delete it, because this is wrong, right, you will phone not by open the zip, go to 09:37.900 --> 09:42.300 contradicts and mail, go to office, body text, go to, this is so much implementation detail, 09:42.300 --> 09:47.620 and the funny thing, when I do this by ordering this, it works for RTF, DocX, and it works 09:47.620 --> 09:51.620 for all the different work formats, because we have to track from the center going back 09:51.620 --> 09:55.780 to the semantic, and that's where we should build the API or anything, we should talk about 09:55.780 --> 10:02.300 the human API, sorry, it's human semantic, and for instance, is it table, is it like 10:02.300 --> 10:07.100 a natural, there's, you know, it's the table, it's a two-dimensional array, and it's 10:07.100 --> 10:11.260 another way in XML, because there's a tree, so with the columnist, no cell, and the 10:11.260 --> 10:15.540 every row has a cell, so what you do is basically, when I tell you what the argument 10:15.540 --> 10:20.740 is, please insert the cell at the right, insert the column at the right spot, and 10:20.740 --> 10:24.860 you want, and then insert a cell at the right spot for RTF, and we can define it, 10:24.900 --> 10:28.660 the column, the grammar, in the spec, like, only XML, no we would change it in XML, but 10:28.660 --> 10:32.260 it's still in the front row, okay, we have to start it, but you would do differently, but in 10:32.260 --> 10:36.500 the end, the same output would be, yes, the same layout, the same view, and that's the way, 10:36.500 --> 10:43.180 like I would have go further to not only define the final state, but only define changes, 10:43.180 --> 10:48.900 based on XML changes, and also in mapping, and also in place the complexity of XML, 10:48.900 --> 10:53.940 we are all the custom, we all want to have this work in all formats, yes, build an office 10:53.940 --> 11:03.380 API that works also for Microsoft Office if possible, yes, so, yeah, it must take it out 11:03.380 --> 11:08.180 a height of the code, and it's a run to the API, and the syntax is put at the way semantic 11:08.180 --> 11:15.140 states, we need some some semantic DOM, and the first stack is to define these semantics, 11:15.140 --> 11:20.220 what's the table, and what's, and then later on we might even define what if they're 11:20.220 --> 11:26.460 using changes like this API, this semantic table has, I said before, and insertion of 11:26.460 --> 11:34.660 a column, and you can apply it even to mark up, we understand what change would happen 11:34.660 --> 11:41.460 there, okay, so, yeah, I think I mentioned this all before, and the nice thing, if this 11:41.460 --> 11:47.540 works, you have something like an asset test in HTML, the open document, and it tells 11:47.540 --> 11:53.660 you, it goes up, bleet, very colorful, and says, oh, the format is 37%, and then we can 11:53.660 --> 11:59.660 have some test files, and open up with Microsoft Office 365, and says, oh sorry, the one 11:59.660 --> 12:06.500 that for support really sucks, yes, it's, it's goes to nothing, so it's, because nowadays 12:06.500 --> 12:12.260 you can do any, a little bit tiny bit and say, I'm, I'm conformant though, I'm primitive 12:12.260 --> 12:17.620 already of one or four, but you have no idea, and I heard in a way to, in a, in a, in a cap 12:17.620 --> 12:22.620 that people, when it's not working, they blame the format, and if somebody, think of 12:22.620 --> 12:25.980 a glass, the information is in the glass, but the guy is not drinking it, or they'll 12:25.980 --> 12:30.380 take it out, and it's not in the, when you're not an ODT, it's just not open in Microsoft 12:30.380 --> 12:35.540 Office, then through the user, it's not Microsoft fault, it's the file format fault, so 12:35.540 --> 12:39.900 there's a switch of backdoor, so no, all right, so we might, to make an obvious, that's 12:39.900 --> 12:44.700 not our fault, and to, to, to, to, to say, look, it's unerspecified here, are you, this 12:44.700 --> 12:49.660 doesn't have work, or we can say, this feature set is not implemented, we can name a certain 12:49.660 --> 12:54.260 feature set in the column and say, you only, when you go through certain loops, jump 12:54.260 --> 13:00.140 through it, you can really state that you implemented, I'm not sure why Max is there, but 13:00.140 --> 13:05.020 I believe it's great, but, and who have a contract to, to, to, to implement them, and 13:05.020 --> 13:10.500 then the next level is to, to, to, to get a contract to say, they have to function, to, to, 13:10.500 --> 13:15.500 to some partners functionality like, um, then even, like, change-ficking, they're not change-tracking, 13:15.500 --> 13:20.380 right, and change-tracking is just, um, the list of changes, commits, right, they're only 13:20.380 --> 13:25.340 difference between, get, let's say, get commits and our changes, like, get is, by line 13:25.340 --> 13:29.020 based, and we would position something like, the third thing that is a table, these 13:29.020 --> 13:34.060 things, is a column, right, and, um, and what we would do is, we, it's like a macro syntax, 13:34.060 --> 13:37.900 another menu card, we transform it to our free office code, we don't have to hot implemented 13:37.900 --> 13:43.340 in there, right, we just have to, to, to, to map it, compile it over. So, what might happen 13:43.340 --> 13:50.980 in the end, we just, load the test document, then, um, like, like, one user action, put 13:50.980 --> 13:55.460 the user cursor here, like, insert colon, we would do one API call equivalent to the 13:55.460 --> 14:00.180 story change call, and then we can test the layout that's already done, but it's on the, 14:00.180 --> 14:04.500 on the standard level, and, like, the bullets have not moved, sometimes the bullets won't 14:04.500 --> 14:09.380 run away, and I have no way to prove it, right, and I just want to be certain, and the TC 14:09.380 --> 14:14.660 editors, we are keeping one version, we don't touch it, and we are very certain that there's 14:14.660 --> 14:19.620 no break. I'm too afraid to switch all the, the latest version, because I have no guarantee 14:19.620 --> 14:24.260 that my feature said that I need for specification works, and I want you, I want us all, 14:24.340 --> 14:29.940 to have tests that I can guarantee regression tests, that these layout features, what I'm, 14:29.940 --> 14:33.940 or the feature said, and place features that I'm using, is still available, and this is, 14:33.940 --> 14:40.260 I think, one of the biggest properties, this kind of trust, and then Arthur's layout test, 14:40.260 --> 14:44.580 there's some magic in there, then we save it, and there it uses them, like, insert column, 14:44.580 --> 14:48.420 oh, really, the column is in the right place, we can have the conformance test, and all day, 14:48.420 --> 14:53.300 you will conformant audio application, if you load it and save it conformant, this can be 14:53.380 --> 15:02.260 bite away, okay, it's ridiculous. So, thank you very much, I'm six seconds, so it's, 15:03.380 --> 15:10.100 that's the references, and I will improve by argumentation, by discussion, this talk to seven, 15:10.100 --> 15:16.500 70 minutes, and be more, more logical next time. Thank you very much.