Resurrectjng Personas for LibreOffjce By Muhammet Kara Consultant - - PowerPoint PPT Presentation

resurrectjng personas for libreoffjce
SMART_READER_LITE
LIVE PREVIEW

Resurrectjng Personas for LibreOffjce By Muhammet Kara Consultant - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Collabora Productivity

www.collaboraoffjce.co m

Collabora Productivity

Resurrectjng Personas for LibreOffjce

By Muhammet Kara

Consultant Sofuware Engineer at Collabora Productjvity

@muhamm3tkara

slide-2
SLIDE 2

Collabora Productivity

www.collaboraoffjce.co 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

slide-3
SLIDE 3

Collabora Productivity

www.collaboraoffjce.co 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
slide-4
SLIDE 4

Collabora Productivity

www.collaboraoffjce.co 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
slide-5
SLIDE 5

Collabora Productivity

www.collaboraoffjce.co 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
slide-6
SLIDE 6

Collabora Productivity

www.collaboraoffjce.co m

Categories

  • 15 on Mozilla & only 6 on LibreOffjce
  • There is no LibreOffjce category
  • Not even actual categories!
slide-7
SLIDE 7

Collabora Productivity

www.collaboraoffjce.co m

Fetch/Download Reliability

  • On preview and whole theme downloads
  • Causing multjple/duplicate bug reports
  • Why?
slide-8
SLIDE 8

Show me some code!

slide-9
SLIDE 9

Collabora Productivity

www.collaboraoffjce.co m

HTML Parsing with String Search

slide-10
SLIDE 10

Collabora Productivity

www.collaboraoffjce.co m

What Could Go Wrong?

slide-11
SLIDE 11

Collabora Productivity

www.collaboraoffjce.co m

I want it fresh!

slide-12
SLIDE 12

Collabora Productivity

www.collaboraoffjce.co m

What categories?

slide-13
SLIDE 13

Collabora Productivity

www.collaboraoffjce.co m

Dilemma

Keep it

  • Litule, cute feature
  • Adds personal touch
  • “My own” feeling
  • Thousands of choices
  • Users & designers chasing
  • We have a history!

Kill it

  • Gets broken all the tjme
  • Needs to chase Moz API &

Web Design changes

  • Users & designers chasing
  • Headacke for QA
  • No developer to maintain
slide-14
SLIDE 14

Collabora Productivity

www.collaboraoffjce.co m

We have a history!

slide-15
SLIDE 15

Collabora Productivity

www.collaboraoffjce.co m

Too cute to be killed!

slide-16
SLIDE 16

Collabora Productivity

www.collaboraoffjce.co m

We have a mission now!

  • Fix the current implementatjon
  • Improve the mechanism under-the-hood
  • Switch to the new API
  • Make visual inprovements
slide-17
SLIDE 17

Collabora Productivity

www.collaboraoffjce.co m

Make it work again

slide-18
SLIDE 18

Collabora Productivity

www.collaboraoffjce.co 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
slide-19
SLIDE 19

Collabora Productivity

www.collaboraoffjce.co 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
slide-20
SLIDE 20

Collabora Productivity

www.collaboraoffjce.co 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
  • ...
slide-21
SLIDE 21

Collabora Productivity

www.collaboraoffjce.co 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
slide-22
SLIDE 22

Collabora Productivity

www.collaboraoffjce.co m

Meta Bug

slide-23
SLIDE 23

Collabora Productivity

www.collaboraoffjce.co m

Look & Feel

slide-24
SLIDE 24

Collabora Productivity

www.collaboraoffjce.co m

Look & Feel

slide-25
SLIDE 25

What’s Next?

slide-26
SLIDE 26

Collabora Productivity

Thank you!

By Muhammet Kara

@muhamm3tkara muhammet.kara@collabora.com htups://muhammetkara.com