Friday, September 5, 2014

DrawingLayer: What Should You Know about It, and my other LibreOffice Conference 2014 presentations

At the LibreOffice Conference 2014, I had three presentations. The first one was about DrawingLayer, one of the core technologies in LibreOffice that is not known enough, which consequently leads to people not using it, or being afraid of doing changes there:
Click to see the presentation.

Based on the research I've done for the presentation, I extended the DrawingLayer's README and svx's README.

The other presentation was a Lightning talk giving a bit of a detail about the boost::unordered_map removal I've done, that was mentioned in the Miklos' blog post:

Click to see the presentation.
And the last presentation was about how to create a custom widget using the LibreOffice's widget toolkit, VCL:
Click to see the presentation.

The LibreOffice Conference is awesome, I'm extremely glad I can be here, and present to so many great people!

Wednesday, May 14, 2014

Removing files from the recent documents list

I participated in the Gran Canaria LibreOffice Hackfest recently, and once again, it was a great one :-) - I am looking forward to the next hackfest from the very minute I boarded the plane home.

As always, it was lots of talking to others, sharing ideas, plugging in the new people (few students appeared, and were interested - one even drew few dialogs in Glade, still need to integrate them). And the rest of the time, I was hacking - LibreOffice Start center again:


This time, it was the removal of files from the recent documents in the Start center; you can now point the mouse to the cross at the top right side of the document you want to remove from the list (but not from the disk of course!), a click - it is gone.

It will be available in LibreOffice 4.3; try the betas soon!

Monday, March 3, 2014

LibreOffice GSoC user interface tasks

If you are a student, love programming, and want to have fun & earn some money at the same time, you should really consider applying for Google Summer of Code 2014. And choose LibreOffice as the project - we have a really nice set of GSoC ideas to work on.

Working on a GSoC task has a real impact - for example the new LibreOffice 4.2 start center is the result of a GSoC task. Yes, the very face of new LibreOffice version is here thanks to Summer of Code.

I am going to mentor this year again, mostly user interface ideas. Let me summarize them here:

  • Improved Color Selection
    Something that is really badly needed in LibreOffice. Selecting a color that is not pre-defined is a painful task for users - help us to finally improve the experience there!
  • Further improvements in the Template manager
    The Template manager is a result of an older GSoC task too. We would like to integrate it into the new Start center, to get a seamless experience for the user.
  • Improve usability of Personas
    This is a task to make the selecting the themes for your LibreOffice more pleasant, with better integration with Firefox Themes.
  • Revamp the Gallery tool
    This task will enable the user to browse online gallery of shapes, based on an older work that made this somehow possible.
Each of this tasks will make LibreOffice more beautiful, more useful, and more pleasant to work with.

If you want to apply for any of these, don't forget that we require you to solve a programming Easy Hack first; the more of them you do, the better chances you have that we will select you.

And if you have any questions, don't hesitate to ask :-)

Wednesday, February 12, 2014

Improved OS X look of the upcoming LibreOffice 4.3

The last week, just after FOSDEM, I was one of the lucky ones who participated in the LibreOffice UX Hackfest that was generously hosted by +Betacowork.

We achieved a lot (incomplete list - many haven't added their achievements yet), but I want to particularly highlight the result of me teaming up with +Joren dc and +Tor Lillqvist. It is the new look of LibreOffice on OS X:

Improved OS X look of LibreOffice

Have a look at the toolbar - it is using CoreUI to render the gradient in a native way. It is based on similar work that has been done for Firefox - thank you, Markus Stange, for your observations & code, we have reused pieces under the MPL license.

It is visible that the work is not finished yet; we need to extend the gradient to cover even the title bar (or how is it called exactly?), but there is enough time for the LibreOffice 4.3 feature freeze in May - I am sure it will be perfect by then.

Other Improvements

Other than that, I have extended the new Start Center to be able to show previews of other file formats than just ODF. As a sideeffect, it should improve the startup speed with many previews.

The last thing I've done was that I have converted the Template Manager to use dynamic widget layout. This led to removing many hacks there that made the Template Manager resizable even before - but using the .ui is much more elegant, and potentially may allow integration of the Template Manager directly into the Start Center.

Overall, the UX hackfest was awesome - I am really looking forward to the next one :-) Thank you, Mirek, for organizing it!

Wednesday, February 5, 2014

FOSDEM: How the Text in Writer Gets on the Screen

At FOSDEM 2014 I had a short presentation about how the text gets drawn in Writer. It is mostly an explanation of the backtrace you get when you stop the drawing at the right time; hopefully it is helpful in case you want to know more about LibreOffice Writer.

How the Text in Writer Gets on the Screen
Click to see the entire presentation

Monday, February 3, 2014

Story of the New Start Center in LibreOffice 4.2

LibreOffice 4.2 has been released - have you tried it? If yes, you might have experienced the new start center that looks about like this:
Many people have contributed to it, and this is going to be a "Thank you" blog post. I hope I remember everyone who has helped; if not, please let me know in the comment - would be a shame to miss anyone.

Original idea

It all started as a Google Summer of Code idea that I have filed, and later mentored. Basically, I wanted a student to reuse the Caolan McNamara's awesome dynamic dialogs to provide modern and easy way to create a beautiful dialog, and GSoC 2012 project that introduced a new template manager in LibreOffice 4.0 - done by Rafael Dominguez and Cédric Bosdonnat.

The work itself

The main part of the work was done by Krisztian Pinter, who was working on it as a GSoC project too. His first task was to convert the old start center to the dynamic layout, so that the start center could much more easily adapt when the user resizes the screen.

But that was not all - his next task was to plug the template manager code in, and extend it so that it was able to show recent files instead of the templates. He  made the needed changes, adapted the look to the preliminary design made by the LibreOffice Design / UX team, and the GSoC period was over :-)

We have integrated it into the LibreOffice master, and I was patiently waiting when we get the final look blueprint from the design guys.

The final look

And it came! The code was in the master and in the daily builds, so everyone could play with it. For some time, nobody reacted on my call for the final look, but finally, Mateusz Zasuwik sent a design proposal of Krzysztof Ponikiewski to the LibreOffice Design mailing list which lead to discussion, and in the end to the start center we have now in 4.2.

The the ultimate version of the design was done mostly by Stefan Knorr, and Mirek Mazel, but others contributed to that too. I've adapted the code accordingly, Rodolfo Ribeiro Gomes helped me with some changes, and Tamas Zolnai fixed many bugs to give it the final, polished look & feel.

Thank you!

As you can see, the new start center couldn't have happened without shared work of many people - I want to thank you all. And of course, thank you Google for the Google for Summer of Code, I hope we will be able to participate as an organization this year again.

At the very moment, the LibreOffice UX Hackfest is taking place in Brussels, and I am working on few more improvements in the start center - like previews of even other filetypes than just ODF. But that will be for LibreOffice 4.3...

Friday, January 10, 2014

Help needed: Translating Getting Started Guide to Czech (or Slovak)

Standa Horáček just posted information about a shared effort to translate the LibreOffice Getting Started Guide to Czech and Slovak Language. You can find more information also in the original post by Miloš Šrámek.

Why shared?

The Czech and Slovak languages are close enough for Google translate to do a very good job of translating one to the other. So you as a translator can choose if you work on the Czech or the Slovak version, and the other team will use the automatic translation. After that, they will just fix the parts where the machine translation failed, which will save a lot of work.

If you are interested, please help spreading the word. Or even better - help translating! :-)

Thursday, January 2, 2014

LibreOffice 4.2: Better Windows bug reports

If you are not a programmer, and still want to help LibreOffice, there are many ways; one of them is submitting good bug reports. And a good bug report means a report with as much information as possible - one that contains the exact version, file(s) that caused the issue, description of the steps that lead to the problem.

In case LibreOffice crashes for you (sorry for that! - we are trying hard to avoid such situations, but it still may happen), and you are on Windows, description of the problem used to be all you were able to do - but now you can do more: you can attach a backtrace, and help the developers tremendously.

What is a backtrace? It is a log describing where exactly the program failed. It used to be very hard to get one on Windows, as you had to build your own LibreOffice.

Now it is much easier - you can provide such backtraces either using the official builds starting with LibreOffice 4.2.0rc1, or using the daily builds, without the need to build anything - you can just connect to a so called symbols server, and that's it.

Official releases

Just install LibreOffice 4.2.0rc1 (or later when available), and follow the information on the How to get a backtrace wiki page, it will lead you through the process. Thank you +Christian Lohmaier so much for setting that up!

Daily builds

I have updated my tinderbox to produce daily builds that are ready for debugging too. If you see a crash, it is worth checking if it happens in the most recent daily builds too - so installing this will allow you to check it, and directly provide a backtrace too.

Please try it out - I am looking forward to seeing backtraces in the your bugreports. In case you have trouble with the How to get a backtrace description, or the process itself, please let me know - or improve the page yourself; it is wiki, after all :-)

Oh, and all this wouldn't be possible without Luboš Luňák, +Fridrich Strba and others who have helped to connect various pieces together - thank you!