Software in general is made for many users, one size fits none. Personal preferences have to be taken into consideration as well as different workflows with varying goals. The broader the scope the more features needs to be flexible making the product often bulky. And while configuration for a well-structured number of options adds satisfaction to the product it quickly can becomes a nuisance. This is not only true for fine-tuning of the appearance but also the workflow with templates, for instance.
Figure 1: External files as known from KDE’s ‘Get Hot New Stuff!’.
Linux users know the solution from Gnome Look and, recently introduced, the KDE store that offers an easy way to enhance the user experience. Similarly to these platforms the idea of third-party software components enhancing an ordinary mobile phone has revolutionized the world. Google’s play store or the Apple’s app store integrated into iTunes are perfect examples.
Figure 2: LibreOffice’ Extension Manager.
LibreOffice offers today two sites for extensions and templates, being redesigned currently. The procedure requires to go to the extension manager (ctrl+alt+E) with options to add an extension via file on the local file system. Clicking the link to ‘get more extensions online’ opens the Internet browser that allows to search at the website and to download the file. Learn more at our help site.
This procedure has obviously room for improvements. And that’s the goal of this posting, to make a proposal for a better integration of extensions into the daily work with LibreOffice.
- Extensions/Templates are installed in a laborious workflow that includes activities in the internet browser
- The scope is limited to only extensions and templates
- Simplicity first cannot be maintained with growing features and expanding options
- Benjamin wants to browse the additions by name and author and get a short summary.
- Benjamin wants to restrict the shown additions to the current context and the program version.
- Benjamin wants to get information on the number of downloads and the average rating (or number of thumbs up) to find interesting additions.
- Benjamin wants to see the number of comments with an option to read what other users think about this addition.
- Benjamin wants to install new additions without any further interaction, at best without the need to restart the system. New additions have to integrate seamlessly into the program.
- Benjamin wants to remove previously installed additions to keep the system clear.
- Benjamin wants to up or down vote an addition and have the opportunity to comment, at best without the need to open the browser but he accepts this step.
The following aspects regarding upload and distribution of extensions are out of scope here but should illustrate that different users have their stakes in the process.
- Eve wants to upload additions in order to share what she made.
- Eve wants to make sure that her extension is working by restricting it to a certain version.
- Adrian wants to distribute additions for the users in his enterprise only.
Figure 3: Mockup for the integrated extensions.
Typical scope is the personalization with icons (we offer only a limited number of icon sets to reduces the storage footprint), fonts (the idea has smuggled into the last posting about font management, here in figure 3 also illustrating the need to get forwarded sometimes), or various toolbar layouts (including the “legacy” layout in order to make users happy who want to stick to a familiar configuration).
Also main and context menus (users can configure it but not easily), artwork and custom shapes (those are provided in extensions today), and almost every other feature can be made extendable.
The proposal is to integrate extensions flawless into the program and to expand the scope. The user should find the interaction next to the place where the extension is going to be added, the list should be filtered by the required version and the current scope. Means to sort and find makes it easy to install the right object, which on the other hand requires voting (secured by email address or online account, or better simple technical measures).
Of course, LibreOffice would still provide a good set of templates and extensions as not everyone is online. This idea is perfect suited for the Google Summer of Code, so best you join today and comment here.