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.900
not our fault, and to, to, to, to say, look, it's unespecified here, are you, this does

12:44.900 --> 12:49.900
not work, or we can say, this feature set is not implemented, we can name certain feature

12:49.900 --> 12:54.340
set in the column and say, you only when you go through certain loops, jump through

12:54.340 --> 13:00.580
it, you can really state that you implemented, I'm not sure why Max is there, but I believe

13:00.580 --> 13:05.700
it's great, but who have a contract to, to, to, to implement them, and then the next

13:05.700 --> 13:10.860
levers to, to, to, to, to get a contract to say, they have to function, to, to, to, to some

13:10.860 --> 13:15.660
partners functionality like, then even like, change-ficking, they're not changed-tracking,

13:15.660 --> 13:20.460
you know, and change-tracking is just, the list of changes, commits, right, they're only

13:20.460 --> 13:25.300
difference between, get, let's say, get commits, and our change is like, get is, by line

13:25.300 --> 13:29.020
based, and we would position something like, the third thing that is a table, these

13:29.020 --> 13:34.380
in the column, right, and, and what we would do is, we, it's like a macro syntax, another

13:34.380 --> 13:37.900
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.940
in the end, we just, load the test document, then, like, like, like, one user action, put

13:50.940 --> 13:55.540
the user cursor here, like, insert column, we would do one API call equivalent to the

13:55.540 --> 13:59.740
story change call, and then we can test the layout that's already been done, but it's

13:59.740 --> 14:04.300
only on the standard level, and, like, the bullets have not moved, sometimes the bullets

14:04.300 --> 14:08.580
won't run away, and I have no way to prove it, right, and I just want to be certain, and

14:08.580 --> 14:14.180
the TC editors, we are keeping one version, we don't touch it, and we are very certain

14:14.180 --> 14:18.580
that there's no break. I'm too afraid to switch all the, the latest version, because

14:18.580 --> 14:22.540
I have no guarantee that my feature said that I need for specification works, and I

14:22.540 --> 14:27.500
want you, I want us all, to have tests that I can guarantee regression tests, that

14:27.500 --> 14:32.260
these layout features, what I'm, or the feature said, and place features that I'm using,

14:32.260 --> 14:36.580
is still available, and this is, I think, one of the biggest properties, this kind

14:36.580 --> 14:42.380
of trust, and then Arthur's layout test, there's some magic in there, then we save it,

14:42.380 --> 14:46.500
and there it uses them, like, insert column, oh, really, the column is at the right place,

14:46.500 --> 14:50.980
we can have the conformance test. And nowadays, you will conformant ODF application, if

14:50.980 --> 14:56.620
you load it and save it, conformant, this can be in bite away, okay, it's, it's ridiculous.

14:56.620 --> 15:05.820
So, thank you very much. I'm six seconds, so it's, that's the references, and I will

15:05.820 --> 15:13.180
improve by argumentation, by discussion, this talk to seven, 70 minutes and be more, more

15:13.180 --> 15:15.500
logical next time. Thank you very much.

