This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

The future of libfolks

What uses libfolks

Is there still a need for libfolks?

Which backends are still relevant?

So essentially libfolks is now just a wrapper around EDS. However, it still serves the useful purpose of linking contacts from multiple address books. For example, I still have contacts from my personal and work address books who it would be good to link together.

What is its current maintainership status?

I am AWOL. I am reviewing patches, but otherwise not actively maintaining, developing, or doing timely releases. This is unlikely to change.

What is fundamentally wrong with libfolks?

What is fundamentally right with libfolks?

What is likely to happen in future in the contact management space?

What are the options?

  1. Merge libfolks into gnome-contacts and maintain it there, trimming bits of it and eliminating a lot of the backends; other users of libfolks are on their own and port to EDS
  2. Kill libfolks entirely, port gnome-contacts and other users to EDS
  3. Keep libfolks alive, find a new maintainer, drop the dead backends, try and improve memory usage (we pre-create a lot of mostly-empty hash tables) and C API situation (probably by porting from Vala to C)
    • Need to port to C
    • Need to support lazy-loading of properties
    • Need to minimise pre-emptive creation of hash tables/maps/etc. and leave them as null by default (most contacts are sparse)
    • Need to eliminate duplication of every property in 3 layers: EContact, Edsf.Persona, Folks.Individual
      • In the common case of a single EContact mapping to a single Folks.Individual, could we just allow the use of Folks.Personas in stead of Folks.Individuals?
      • Would need to adjust some of the Folks.Individual-specific properties; would need some more detailed planning
      • Probably would result in API breaks, but with the small number of users of libfolks, that’s OK

2024-10-23 11:36