 Good morning, everyone. So today I would like to give a talk on an ODF community website, which I've been developing and I've been doing that as part of my role as a government employee for the Dutch government. I work at the Ministry of the Interior And there I work in the group where we have the list of standards Actually we have two departments, one which curates a list of standards to use and another group which also works to maintain standards I'm in a group that maintains some standards and I'm responsible for ODF So the Dutch government is officially involved in ODF development because we think it's very important to have a standard for editable documents So a community site, it's in development so I'm going to show you some of the features of the site that we're currently developing I'm open to input if you have ideas on what we should have there It's a follow-up to an existing site and it focuses today mainly on how to do testing of compliance to ODF So the Dutch government has an ambition and it's a pretty heavy ambition. It's to do communication with its citizens completely digital next year So that'll be a challenge. I don't guess we're going to do that all the way but we're going to get quite far Many people are already doing lots of communication with the government in a digital form The most complicated example I think is the tax returns. Tax returns are done via a website where you can fill in everything And actually when you go to the site the government already has talked to your bank and has talked to your employer So they fill in all the data for a large part already and so that's an example of doing quite a lot of complicated digital stuff by the government Now if we're going to talk digitally, well before we did analog conversation, there's an issue coming up If you do analog communication you use normal language, you write your language and you write letters to each other, you talk to each other But when you go to the digital world there's an intermediate and that's your computer and then the internet and then the server And the communication there is very much more complicated. Normal users don't understand it So they rely on the technical people to write good software which ensures that this whole process goes smoothly As you can see first we had just Dutch and now we have this whole long list of standards which all have to work fine For the citizen to have a good experience Now this long list for large part is in use for more than 20 years so a lot of issues have been solved there But there are quite some standards which still need to improve We maintain a list of standards that we think the Dutch government should use Many governments have this list, a similar list and we work with other countries to sort of agree on the list So that even between governments, between countries we can use the same standards to communicate And it's important that we also test that the standards actually are working properly in all the software This is a series of pictures from well let's say 10 years ago by now how HTML was working and it was working very bad in all the internet browsers There was very little agreement on how to render a simple image Actually this is not a simple image, this is a fairly heavy test of an HTML document and that's why you see so many errors here But it was in a time when this was all very difficult for browsers and these days it's much better So many browsers get a 100-100 score for this type of test and in the web we're in a very good position right now The web is still in development so new features will not always be supported well on all the browsers But the features which are like 10 years old they always work pretty good in modern browsers Now in the office area it's more complicated because there you're also writing files So I could be creating a file in LibreOffice, send it to somebody who uses Google Docs He could be sending it to somebody using Microsoft Office or a different piece of software So data is read, written, read, written and then you come into a situation where you have like a gossip chain We have a number of people sending in a line and I have a nice fact, I tell it to the first guy He repeats it back and back and back and then at the end the message that I sent along the line is probably completely transformed in something totally unrelated And this is a situation which we face in office documents right now because interoperability is not perfect So that's why we have ODF PlugFest We come together and we see how good the interoperability is and we discover a lot of interesting things This is the last PlugFest we had last year in the Netherlands, it was hosted by the government Here's an example of something that can go wrong A document which has a text H, a header in LibreOffice, it's run by Microsoft Office and saved back again Can sometimes be transformed into a simple paragraph Now that's not layout, that's really the information inside the document Which a normal user might not see it first but it's a very serious thing in my opinion So this is the kind of things that we have to still weed out and fix How did we go about working? Well we would come together at one location with a laptop and then we would go to a website to see what we're going to do And it would say something like open a text document, write hello, save it back and open it in a different program And see if the result is good And when you've found if it's good or bad you write that down in a wiki site So we all had to come together for that and it's a bit inefficient So at the last block fest we used a different methodology which was to use automatic testing We created a lot of tests beforehand with small features of the ODF specification So italic fonts, bold fonts, a table, one column, two column, header, footer All these things were isolated in small files so that we could very quickly see if a feature was supported or not Then we opened these files and saved them again in all the different applications And summarized what we found if the feature was still present in all the files And then at the block fest itself we had all this data available And we simply sat in groups and looked through all the issues that were determined by the software To check if it's actually an interoperability issue or just a problem with the test Now all the results of those two days were collected in a report Yeah this is a bit of a technical detail of how the tests look inside but I'll skip that for now This is what the summaries look like So this was a test to see if all the Office Suite support to have a wavy line through a text So you see first Caligra shows correctly a wavy line through the Hello World And the green boxes show that this feature was loaded and saved back correctly So the style properties were the same after loading and saving Then the second implementation Google Docs actually loses the information about this styling And you can see in the picture that there's no wavy line Then we go to Abbey Words, WebODF, Liberal Office, Microsoft Office And you can see quite some differences in these implementations Most of them remember the fact that there should be a line through the word But not everybody supports that it's a wavy line So yeah this is one of the issues that we found And what we did with those is we just wrote it down And every feature got its own small paragraph This was a paragraph for the borders about paragraphs And we found some issues here in Google Docs, Abbey Words and WebODF Now this whole report was quite long and it's available online And we send it to all the implementers so that they can help improve things But it was just a fixed document and we just hoped that they would take action Here's the conclusions, we found some numbers We didn't cover all of the specifications so these numbers are not entirely meaningful Although the general trend is that Liberal Office is quite good Compared to other implementations in the styling area Yeah another issue came up this week about how to deal with cloud software And in general I'm skeptical about using cloud But for doing the testing process I kind of like it So we are now building a website hosted by OpenDoc Society So it's their computer where this software is running Where we will be doing the testing online We spent some time doing the last plug-fest to come up with a nice design Of how this all should work and doing it for a website is quite complicated But we have something to show you today So here is a list of features that we have now in the site And which we want to have in the future for the site So the most simple feature is that people coming to the site can upload a document And then the document will be opened in a number of different office suites And you can compare what the document looks like And I'll show you a nice live demo of that in a couple of minutes Where you can see that it's quite interactive how that works We will validate the document, you can browse the contents An ODF file is just a zip container Most people don't realize that but if you upload a file to our website You can look inside all the images in the zip container You can click on the XML files and look in there So even normal users quickly get a feeling of what ODF actually looks like on the inside The most important feature in my opinion is that we're going to create tests online So the XML example you saw earlier We have a page where you can create those online So if you have a part of the specification which you would like to investigate automatically You can write a small test there And we will keep track of it and run it for you And when there is new ODF software the test will be run again And we'll keep track of how good all the software implements this particular feature We will also have a wiki so that you can add information to the site It's supposed to be a community site so if you have interesting things to say about ODF For example a list of software which you think is interesting for a particular feature Or best practices on using ODF in your own language you can add it there This is still in progress so it's not a fluid experience right now But if you want to test it out and give feedback on that you're more than welcome You do need to make an account for that And by the way you can see the URL of the beta website is still in development here below So if my speech is boring you can already go here and play around What we also want is a live score board So if you have all these tests you can sum up and say for styling what is a score for this application And if you have tables for example they are important in your workflow You can also have a score for that or you can have an overall score And that's important because governments and companies would like to buy software Or develop software or go to websites with particular software that supports ODF But when a company says they support ODF it's very hard to see how well they support it There is no good data available on that And one of the big goals of this site is to create that information and collect it and keep track of it So that we can have a very good view on the ODF landscape, on the ODF software landscape to see how good is every software And I hope that by making this information public and easily visible to everybody That on the one hand people buying the software will choose software that can handle the standard well And that developers of software will be motivated to improve the support for ODF in their website or in their software And LibreOffice has a public bug database, but not all projects have that So when we discover a bug in a software which doesn't have a public bug database We still would like to keep track of the progress of this bug So we're also going to add a public bug tracker, so a third party bug tracker for projects which don't have a public one And maybe we'll also make that available to the ones which do have it But then it'll be mostly just a link to their website Yeah, uploading documents, this is actually a follow-up of a website you might know already called OfficeShots Where you can also upload your documents and see what it looks like in different offer suites But we've improved the UI, we made it more easy to use, and it looks like this So here's an example where I uploaded a document celebrating 20 years of KDE This was actually last weekend, and I've opened this in Microsoft Word and in Google Docs And you can see that the fonts are shifted a bit, the images shifted a bit Yeah, the line down the middle is the difference between one offer suite and the other offer suite Now I'll also try to show this live to you If you are on this website yourself, you can go to examples And then here you see a whole list of documents And well, this is perhaps an interesting one Here we see Google Docs and LibreOfficeWriter And you can move your mouse and just see what the differences are in rendering And you can say, OK, now I want to compare Google Docs to Caligra And voila, you can also do that So this is just to get a feel of what's wrong, right? This is not a thorough analysis like what Milos was showing yesterday It's not so advanced, but this is just for people to have a quick, quick feel of what is going on And there are plenty of bugs which will show dramatic differences here And that will help people to see, OK, this feature that I'm using is not widely supported So maybe I shouldn't use it If you're developing a template for your organization, you can check quickly if the template works across offer suites So I think it's simple, it's nicely visual And that is a nice low entry point for comparing how the offer suites work Yeah, so that's one feature Now the other feature is writing the tests To write a test you have to write a bit of ODF ODF is a large, large specification, many, many different elements, many different attributes So what we've done is we have developed a web plugin where you can write ODF And we have auto-completion there So if you don't remember a tag, you can just press control space or you type and then this pop-up will show And you say, ah, yes, in a text P I can have a span, for example So it knows where you are in your document and this should help writing fragments of ODF And if you're writing something which is invalid, you will get an error message So we've also implemented a validator in there Of course, I realize this is quite technical, but the people who do know how to do this I hope they get enthusiastic about this and we'll start helping writing tests Oh, spelling error, sorry This is what you get when you then run this test So this is a similar view to what we had before But that was a static document which we created once And this is live updated So when a new software comes in, this test is run again And the results are there for your Office Suite So if you are testing LibreOffice and you have a new build every day You could even use this for that Although I would then prefer that you have a separate instance for yourself Where you do nightly builds and then where you have a .something release Then we can hook it up here to have public results But if you want to internally also use this tool, it's perfectly okay The software is free software, so you can use it yourself You can click on the screenshot below You can get the PDF which was created You can just quickly go into the content XML or the styles XML You can see if there were validation errors And of course the green error at box has helped to make it all nice and visual And this will then result in a live scoreboard This is just a graphic from an ODF document But this will be a live website But we don't have that yet, we're working on that Okay, some technical parts maybe should quickly say how all of this works internally So it's a website with a SQL database, it's written in Haskell And yesterday I heard that there are some Haskell fans here this weekend So I see one over there and some other people were clapping yesterday So I hope that I can get some contributions on the server side for this But the most important thing is that you can connect with your ODF software to our site And that is done via a simple HTTPS interface where you can receive and send JSON messages The format is not yet, well it is somehow documented But this needs to improve on the website as well So the actual documentation of how to talk to our server to hook up your software Is going to be there, but everybody can basically hook up their own ODF software I'll let you repeat the question in the microphone so the audience at home can enjoy the question as well My question is when you want to set up the open document format testing site yourself Do you also have to use the Haskell-based web server or whether you can also use EngineX for example No, so the web server, it doesn't use Apache or anything, it's just one binary So you compile it and you run it, so you don't have to hook it up to anything, it's its own HTTPS server You can run it locally, you can just compile it and run it and then it's available on local host Yeah but if you already run a web server, can you reuse it for that or do you need to also run it in the Haskell-based thing? You need to have the ability to run any executable on your server and then with Apache redirect rules you can hook it up So you basically can proxy to the Haskell-based web server and use that? Yes, and then there is the editor, if you're interested in the details of how this editor works It's CodeMirror which is a very famous project for doing coding in the browser and we've written a plugin for that And this code is available on the URLs which you can see here OK, so I hope that this site can be a site for all audiences Normal users should be able to get information about the available software And I guess LibreOffice will be very prominent because it's very nice ODF software I hope that this site will be attractive for policymakers so they can make well informed decisions about what software to use in their organization if they care about standards and longevity of their data And it should be a tool for software developers to be motivated about improving their software for ODF And figuring out how to actually do that to see what are the differences with other software And how can I fix it if the problem is on my side So you can contribute to the site Of course, well the simplest thing you can do is just try it out Just go to beta.opendocumentformat.org, click around a bit If you see any issues you can report them in the bug database or you can send me a mail That would be a fantastic thing to do Or you could become a partner of the website, you could say we are using it We are helping to support it simply by being interested, maybe contributing code or content on the wiki That's the lowest, well after testing that's the easiest thing to help with And if you really enter ODF then you can help us write tests And maybe if you develop ODF software you can provide a document converter So that your software is tested on our site So thank you very much Here is the URL once more If you want I can click around a bit more on the website to show some features If you have already uploaded a document during this talk I can actually have a look What was the latest document? No, nobody has uploaded a document yet So if somebody feels the challenge you can try to upload a document during the questions And I will show it up here Other questions, yes Is it only for open document or also for Microsoft formats? Well, since Microsoft also supports ODF I think we can also call that a Microsoft supported format But it's not a Microsoft originating format and we don't support those at the moment And we don't have intention on our site to develop it but it will be fairly easy to edit More questions, oh everybody is busy uploading files I can show you one more example, for example the template we have today I uploaded that one as well So this is the template for our conference and this is Google Docs and Caligra And you can see it's kind of okay, unfortunately the bullet points are not supported by Google here Yeah, and the text in the bottom line, the tag is gone And actually the whole skyline of Bono is gone in Caligra So I don't know if they have a particular dislike of Bono or anything But there's no Bono in the Caligra version of this document, unfortunately And if we go to page 2, you can see still some font differences here Oh, this is a weird thing here, some images not supported on Google Docs Yeah, but how does LibreOffice do it itself? I guess the person who created this did so in LibreOffice so we can say that that is the reference here Yeah, so there we have an image for LibreOffice Yeah, let's try those So the font is very similar, it's just a pixel shift I guess And the icon is slightly smaller here The bullet point, which is a bit weird So the first slide, yeah there's still no Bono What is the expected interface for one of the implementations that could be tested? Yeah, so if you want to hook up your implementation, basically it's a JSON interface over HTTP So you have a software and it asks our server, hello, I can do stuff with ODF And I support ODT and ODP for example And I can convert it back to ODP and I can convert it to PDF So you list what you can do in an JSON message And then you get the message back saying, ah, you can do this for me For example, convert this document to PDF and then you upload it back via the JSON interface And you can show the nice pictures only if there's some PDF export? Yes Yeah, but the testing, so the testing if the ODF features are retained That you can do if you save back ODF And then that's the stuff that will go on to the scoreboard Because we don't have visual testing yet That's also planned, but first we want to make just the XML level testing better Okay, thank you very much