We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Quo vadis, LibreOffice extensions?

00:00

Formal Metadata

Title
Quo vadis, LibreOffice extensions?
Title of Series
Number of Parts
561
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The way how users can extend Libreoffice underperform the known usability from the office suite by a special kind of storage and a cumbersome way to load it. The talk will present one possible solution, open collaboration service, and show the improvements on both sides, the contributors who upload as well ideas on how users may easier customize and enhance the program. Our extensions are hosted on a Plone-based content management site. The procedure to upload an extension is cumbersome as neither a wizard nor clear steps are provided. And also because the administration is hard work and a one-person show. Furthermore, the site lacks on good search and filter capabilities for the users and has no categories beyond Extensions and Templates. The talk will present two aspects: The first is how the open collaboration service works on https://www.opendesktop.org/ and the second part gives an idea how a tight integration into LibreOffice similar to GetHotNewStuff known from KDE might substantially improve the usability with also benefits for the development.
10
58
80
111
137
Thumbnail
15:21
159
Thumbnail
18:51
168
Thumbnail
26:18
213
221
Thumbnail
15:22
234
Thumbnail
49:51
248
Thumbnail
23:06
256
268
283
Thumbnail
28:38
313
Thumbnail
1:00:10
318
Thumbnail
21:35
343
345
Thumbnail
36:13
353
Thumbnail
18:44
369
370
373
Thumbnail
44:37
396
Thumbnail
28:21
413
Thumbnail
16:24
439
455
Thumbnail
25:10
529
Thumbnail
15:36
535
Thumbnail
28:04
552
Kummer-TheorieOffice suitePerspective (visual)Software developerMacro (computer science)Plane (geometry)Slide ruleNumberComputer configurationSensitivity analysisRight angleField extensionReal numberElectronic mailing listSet (mathematics)Link (knot theory)Error messagePoint (geometry)Macro (computer science)Menu (computing)Canadian Mathematical SocietyCodeInformationFlow separationTerm (mathematics)Computing platformMessage passingSheaf (mathematics)Projective planeSystem administratorComputer fileMedical imagingField (computer science)WebsiteWeb pageSoftware developerReading (process)Kummer-TheorieOffice suiteSource codeFeedbackAsynchronous Transfer ModeGreatest elementoutputTouchscreenBitHome pageCursor (computers)Proper mapEmailProcess (computing)Green's functionMereologyDescriptive statisticsGeneric programmingExecution unitComputer fontView (database)Computer animationXML
Plane (geometry)Field extensionOpen setCollaborationismService (economics)Perspective (visual)Computer fontMacro (computer science)Task (computing)Software maintenanceField extensionError messageInformationProjective planeCartesian coordinate systemWebsiteLoginOnline helpComputer fileSoftware testingWeb pageHypermediaOpen sourceMultiplication signCategory of beingMenu (computing)Office suiteOpen setRight anglePresentation of a groupFile formatMereologyMorley's categoricity theoremFeedbackPhysical systemMobile appShared memoryType theoryProcess (computing)CollaborationismPosition operatorDifferent (Kate Ryan album)Computer fontoutputCASE <Informatik>Combinational logicStructural loadArchaeological field surveyLatent heatTouchscreenPoint (geometry)Revision controlNumberComputing platformService (economics)VideoconferencingSet (mathematics)Descriptive statisticsComputer architectureSlide rulePerspective (visual)PlanningSoftware maintenanceINTEGRALLimit (category theory)Letterpress printingClient (computing)Program flowchart
Perspective (visual)Template (C++)Formal languageContent (media)Numbering schemeMenu (computing)Keyboard shortcutConfiguration spaceMacro (computer science)Computer iconAreaTable (information)LaptopCodeProduct (business)Core dumpFocus (optics)UsabilityInterface (computing)Slide ruleRead-only memoryComputer-generated imagerySmith chartType theoryPhysical systemStructural loadField extensionMacro (computer science)Data dictionaryConnected spaceCartesian coordinate systemInformation privacyElement (mathematics)WindowKeyboard shortcutComputer iconPoint (geometry)Formal languageScaling (geometry)Computing platformGraph coloringMathematicsMenu (computing)Configuration spaceCategory of beingElectronic mailing listFilter <Stochastik>Computer programmingInteractive televisionAdditionPerturbation theoryInstance (computer science)Internet service providerLocal ringOnline helpCore dumpMobile appSlide ruleTerm (mathematics)UsabilityHash functionComputer fontObject (grammar)Ferry CorstenExpert systemNumbering schemeCASE <Informatik>Revision controlTemplate (C++)Arithmetic meanContent (media)LaptopCodeFunctional (mathematics)Closed setWeb pageProduct (business)Software developerComputer fileFlow separationInformation securityOpen sourceDifferent (Kate Ryan album)Computer animation
Arithmetic progressionWebsiteComputer configurationExistenceField extensionComputer animation
Computer animation
Transcript: English(auto-generated)
I prepared a number of slides with a lot of pictures and I think I have to go quite quickly through it. The idea for the talk was to give you an idea, an impression how our extension website
works today and where we can move to in the future. It is one example, one option out of a couple and that's the basic idea. We have two views to the extension. One is from the people who upload an extension to the site, the other is for people who download
and the first part is about the developers, the uploader of an extension and there we have also two separate kind of users. One is the average person or personas if here in this term who uploads simple stuff. Let's say a gallery item.
Gallery is just images and we have more difficult stuff or more sensitive things like macros or real code. Two options here which are not so relevant for this part but you will see later that I have a particular view on it.
Plone is our CMS for the extension site and it starts with this page and when you click on log in you get this dialogue which is not SSO compatible so you need a different account. After logging in you face this site and it has just a dark sidebar which is a little
bit weird. How do you continue? Any idea? No, it is here. There is upload a new extension below this section that is a list of my extension that I uploaded before I can open it via links. Our design is not optimal in this regard because we show links as green text, green
font, just green font without underlining. Okay, after clicking on new extension you get a page at extension project. You get a title, probably you cannot read it, a title, a short description, a long description
and below you get a number of options for what module it can work. You get also an email reference and a home page and you can enter and you have to enter
some more data that are more or less relevant for you to create the extension. After pressing save at the bottom you get this screen and now the sidebar is filled. Is the extension online? It is not.
The point here is that you create a project and not you don't upload an extension. It is a very special workflow that users likely do not expect and many people who I talk to do not understand the workflow including me. It took me years to understand it.
Okay, what do I have to do now? You get at the sidebar, I cannot read it myself, a couple of options that are also not self-explaining. Let's ignore the info, the blue info section here and go to the first option. This is some apparently editing feature.
Here you get additional information to the project that you created including a delete button. It is not what we want. So the second part is edit extension project, no. Next one, it is a submenu where you can create a linked release.
This is, it looks not that bad but a linked release is also not what you want because it is not the release, it is the actual extension file that goes into an extension project and when you link it you don't upload that file to our site.
So what you actually are looking for is the extension release. That is the next point on the submenu on the sidebar, add extension release. It gives you again a lot of options to input. It's not optional, it's a mandatory input.
You have to enter the name of the extension again. You have again to enter some description and when you scroll down you get more. You have a number of, in this part where the cursor is, a number of possible licenses
and you have to check it what license the extension is released under. Below you get all the LibreOffice releases and you have to check the releases where your extension is working because extension might not work in all older releases or are
not compatible with a new one. If you scroll down you get a large disclaimer and you get more input fields and including a field where the source code is. In our page if you don't include the source code you have to add a reference to it.
I think we can come later to it. And the last point is about the platform where this extension works. So you press save and here is a little bit of feedback. If you do a mistake, if you don't enter a certain information you get a little bit
feedback but hard to read. It is not again not really self-explaining. So I added everything and after that I added some file. We can only deal with OXT files. You get again an error.
It says error. Cannot read it but it's a very generic error message that does not tell you what is wrong. So we have we would have rooms for improvement. When you have done everything, you created the project, you uploaded a file, you understood
the process then you enter at this page and again there's a green bar and it tells you remember the status of your extension is not in the proper mode. Okay, status. It is in the sidebar. There is again a menu with a lot of options.
What you have to do, I cannot read, it's true everything. What you have to do is to set it to active or to publish. It is one point here in the list and you send a message to the admin of our site to release the project including the extension and to make it public.
The admin is responsible for checking it to make sure that the license is set, that the extension is containing all the files that are needed and all this stuff. What you get as a developer is exactly this message.
You get it from the admin of the developer's extension site. The status has changed and you get it again if it is not accepted. So you do not know why things are not working in a way that you expected. What else do you have? A couple of menus more.
You can change the project here again. You can change the maintainer, the rights to deal with it. And finally, you can of course also delete it.
After deleting, the project is still there. So if you not understood so far that a project is not an extension file, then you realize some weird things are ongoing. Actually, going back, I had it on the first slide of this.
On the side, there's one button, one big red button where you can delete the project itself. So you cannot download the pony hoof anymore. That's for sure. How does it look with open collaboration service?
It is a website. It has developed for a number of years. It was before Gnome eye candy or the like. I'm not perfectly sure, but it is one website that has extension for different projects, mostly for KDE and Gnome, but also a large number of different sites.
The project itself is called open collaboration service, but the website is open desktop, so you can take a look at that. From my perspective, it looks like a modern page. You have on the top some kind of login button.
I wanted to tell you before, it is not necessary to have one site. You can also, one look and feel of the open desktop site, you can also personalize the start site.
Video Land Client has the add-ons on this page and has created an own start site that looks different to the main page, but it's on the same site. After logging in, you get a screen.
It works with SSO and you see again the page. You get a menu where you can create a new extension. It starts similarly with the input of the name of your extension with a longer description. You have also some information about small print,
let's say the license and some categorization information. You get logos there. I uploaded the same logo here, and you can finally add some social media references for your project.
After saving this, you get to the next step. Or in this case, I missed the point to categorize the pony hoof and you get an error message quite close to what we did. Categorization is done in the standard format.
You go to let's say apps office and liberal office maybe. When you have done everything, then you need to upload the files and this platform has a cool feature of the git integration, which means an extension project could have all the fancy stuff which git offers.
I didn't do it here. I stepped over and said I want to upload a file. This is how file uploading works. You say you load the file to the platform, then you set up a version number where it works on what system and the architecture.
That's all. After that, your extension is online. And this is really online, meaning the user can download it. If you have as a contributor, if you want to participate in the project
you do some design related stuff, some small, not really hard things. You still want your stuff being shown in the project. And actually that's what you want. You want to upload it and immediately get feedback and share these things on social media.
That's what is working here. There are also some additional really fancy features. The company is called Pling and they give plings for download. I uploaded for testing purpose to one application,
one extension here to the site and it got downloaded in total by 15 times. So I earned 15 plings which makes it 15 cent US cent that I earned from the company. I can get my salary for the hard work only with one dollar.
But this is a cool thing. The yellow disclaimer tells you the company is probably stopping this survey at some point. I think when you get a million downloads you don't earn a hundred thousand from the Pling company.
But the idea is pretty nice to give the people a way to monetize their work. It has also a cool feature that is relevant for the user perspective. User means how do you get the extension, how do you download.
And typically you have a couple of requests. In this case I listed a theme. Maybe you also want a new font or you want to download the help files. Today you have to go to a certain page. You need to know where the stuff is. You need to download it.
And in case when it's an extension it is placed at the right position. But not when you do these things with help files or whatever. And it's not possible right now like the personalization themes. If we stick to make the combination with Momet's presentation.
If we stick to this Mozilla everything remains at Mozilla. But when we consider to dump it and do our own themes. Then themes would be a part of the extension or could be part of this system. So user wants to download it.
And it is possible. Of course it's possible on both sides. They list it. They have an opportunity to filter things. You can go through the categories. What type of application it is. You can list on this main page only the LibreOffice themes.
But you can also search for it. Oh miss it. And you can filter all this stuff. That's possible. I think it's pretty much clear how it works. But I wonder if a user really wants to go to some weird website and load it from a website.
That's actually not true. Let's say you want to use a specific font that's in a process while you edit a document. You create a text and you see OK I do not want to use a serif font. I want something fancy, a monotype font.
In this case you don't want to exit the application, load a font, put it on the right page, start the application, load the file. No. You want to go within the workflow at the point where the object is being used.
There you want to load it. And that's what is known from KDE as get hot new stuff. In this case it is some background image or the like. I don't know. But you get these filter pieces of apps. I would call it better not extension but apps.
It's a nice term. You get the type of additional features here listed. You click on it and you download and you can use it. We can do the same. We can provide similar dialogue. It is a very easy thing to download the extension.
The let's say the font and whatever we need in the program and put it at the right place. It could be for instance in the properties dialog below the font list. If you see I'm missing a font, it could be written in.
If you get a document from a Windows user and you don't have the or Mac user, you don't have the Helvetica font, then you can just click on the load font button at the dialog. You get another connection dialog to the extension platform and you download it.
Developers are concerned about security in that regards. And the nice thing is of this get hot new stuff feature is that it is known from KDE. And you have the flex access platform to put it into this workflow
or to have it as a separate type of extension. I think we can do it only for, we shouldn't do it for macros. Going back to the first slide when I said we have users who want to contribute with simple design add-ons, those should be integrated very closely in the program.
But others like macros that are safe to element, maybe privacy relevant that could be excluded from this workflow. What type of extension could be possible?
So we have right now, we have dictionaries, we have templates, we have language tools. We could also have color schemes. That's what we have today, color schemes, gallery content, clip art. But we could add menu configuration. Why? The design team is continuously trying to improve the menus,
improvement is not an improvement for many people. And we get a lot of complaints. Where is my function? And we could upload the menu from let's say version 5.4. And the user just loads the menu configuration with one click
and gets the behavior that is known to him or her. That's true also for shortcuts. We could provide shortcuts, let's say localized shortcuts. You load a shortcut definition for English or for French or for German, Spanish, whatever
that fits into your system. Makes a lot of sense to me. Icon seams, it is ridiculous that we ship four or five different icon seams. Those have to be placed in some external things. I don't go through the rest of the ideas here.
The last point, the least in my opinion is macros. With macros, we get some people who are experts in the programming. But most contributors start with simple things. Of course, when I talk about macros, we can also make the application even more
broad and more lean and let's say exclude all filters from the program and provide only the basic ODT features. But put everything which is a filter, let's say OXML into one extension.
And you load the filters into the program. That allows to be way more faster in updating the interaction. Of course, it is a big scale change. Why not hard code as stuff? It is pretty clear. We clutter our system with requests.
Here it is about notebook bars. We have a million requests to change the notebook bar. How should we as a, let's say, QA team or design team deal with a request of one user saying, why do you not include this button in your notebook bar?
That might make sense. Of course, it is a good request. But in my opinion, we should exclude all these requests from the core system and put it into the design of this particular look and feel layout. The same is true for, what is it, icon themes.
We have many requests about icons. And this one is about the menu bar. So the point is, QA should focus on the core product. We want to encourage people to contribute. That should be as easy as possible.
We want to allow crazy ideas. If someone shows up and presents a notebook bar with just three buttons on it and thinks it is a good thing, I have no means to allow him to share it.
Or I would refuse it, of course. But why not? We have to duplicate stuff. We update, for example, fonts when the liberation font got into a new release recently. So we have to think, or to remember, to update the font from one place,
copy it to our place, upload to our platform, and create a hash sum and put it into our release. That's not necessary. And finally, I think keeping the code clean is also a good thing.
And it improves usability, of course, when you get things into the program. If you can download dictionaries and help. And let's say also localization. In the same way, how you deal with everything, it's easy to understand. I don't have to say anything more.
So it's a funny closing slide. Thank you.
Eight minutes or seven minutes are left. Five minutes on my watch. So if there's no question. It is work in progress. It is not the only option. We also think in the team about different ways to improve our extension site. It was one few how we could deal with it, one existing.
And we will see how it turns out in the future. Thank you.