Collabora Productivity Resurrectjng Personas for LibreOffjce By Muhammet Kara Consultant Sofuware Engineer at Collabora Productjvity @muhamm3tkara www.collaboraoffjce.co Collabora Productivity m
Muhammet Kara Work ● Working on the core & UI ● Since Dec 2018 ● Was @Pardus project before Community ● LibreOffjce certjfjed developer ● Long-tjme GNOME contributor ● Member of The Document Foundatjon & the GNOME Foundatjon www.collaboraoffjce.co Collabora Productivity m
Mozilla Themes, aka Personas Tools > Optjons > Personalizatjon > Load Firefox theme ● Allows applying Mozilla Firefox themes on LibreOffjce ● Can select a pre-installed theme ● Can search online for new ones ● Changes background of main menus, and toolbars ● Relies heavily on Mozilla add-ons API & web content www.collaboraoffjce.co Collabora Productivity m
Past Some of the issues ● Performance & reliability issues ● Error-prone ● Unrelated/incomplete categories ● Gettjng broken & fjxed every now and then ● Simply not working / is practjcally dead www.collaboraoffjce.co Collabora Productivity m
Performance & Reliability Issues ● ~40 seconds to search for a keyword ● Fetching whole html pages ● Relying on the design & content of the html (easily broken) ● Multjple & repetjtjve string searches ● Overwritjng existjng data every tjme ● Using unreliable lib for download www.collaboraoffjce.co Collabora Productivity m
Categories ● 15 on Mozilla & only 6 on LibreOffjce ● There is no LibreOffjce category ● Not even actual categories! www.collaboraoffjce.co Collabora Productivity m
Fetch/Download Reliability ● On preview and whole theme downloads ● Causing multjple/duplicate bug reports ● Why? www.collaboraoffjce.co Collabora Productivity m
Show me some code!
HTML Parsing with String Search www.collaboraoffjce.co Collabora Productivity m
What Could Go Wrong? www.collaboraoffjce.co Collabora Productivity m
I want it fresh! www.collaboraoffjce.co Collabora Productivity m
What categories? www.collaboraoffjce.co Collabora Productivity m
Dilemma Keep it Kill it ● Litule, cute feature ● Gets broken all the tjme ● Adds personal touch ● Needs to chase Moz API & Web Design changes ● “My own” feeling ● Users & designers chasing ● Thousands of choices ● Headacke for QA ● Users & designers chasing ● No developer to maintain ● We have a history! www.collaboraoffjce.co Collabora Productivity m
We have a history! www.collaboraoffjce.co Collabora Productivity m
Too cute to be killed! www.collaboraoffjce.co Collabora Productivity m
We have a mission now! ● Fix the current implementatjon ● Improve the mechanism under-the-hood ● Switch to the new API ● Make visual inprovements www.collaboraoffjce.co Collabora Productivity m
Make it work again www.collaboraoffjce.co Collabora Productivity m
Progress Improve the under-the-hood & switch ● Do not crash when there are more default personas than intended ● Use slug instead of name to store Personas ● Make use of the already defjned constants for personas ● tdf#60543: Remember the URL of the currently applied persona ● Ensure settjngs consistency for default personas ● Separate persona download thread ● Do not re-download the already existjng images ● Modernize personas under-the-hood - The search www.collaboraoffjce.co Collabora Productivity m
Progress (contjnue...) Improve the under-the-hood & switch (contjnue...) ● tdf#101629: Handle invalid urls and search strings for Personas ● tdf#99776: Preload a persona category initjally ● tdf#120506: Get rid of unnecessary accentcolor parsing for personas ● Use curl while gettjng the actual persona ● Increase number of default personas to 6 www.collaboraoffjce.co Collabora Productivity m
Progress (contjnue...) Visual / additjonal improvements ● tdf#120475: Sync persona categories with Mozilla ● tdf#120746: Show the name of the persona as tooltjp in the search results ● Towards solving tdf#120747: Remember the preview fjle of persona ● tdf#120743: Rename the 'Select Theme' butuon to clarify ● ... www.collaboraoffjce.co Collabora Productivity m
And now? ● Works more fmuently ● Caches downloaded fjles & doesn’t overwrite ● A search from ~40 seconds down to ~3 seconds ● Easier to extend & improve www.collaboraoffjce.co Collabora Productivity m
Meta Bug www.collaboraoffjce.co Collabora Productivity m
Look & Feel www.collaboraoffjce.co Collabora Productivity m
Look & Feel www.collaboraoffjce.co Collabora Productivity m
What’s Next?
Collabora Productivity Thank you! By Muhammet Kara @muhamm3tkara muhammet.kara@collabora.com htups://muhammetkara.com
Recommend
More recommend