Hackfest2015 Topics

From Inkscape Wiki
Revision as of 06:06, 18 March 2015 by BryceHarrington (talk | contribs)
Jump to navigation Jump to search

Please add topics you would like to discuss or work you would like to see done at the hackfest.

Other pages: Hackfest 2015, Hackfest2015 Attendees.


SVG 2 strategy (Tav)

  • How do we handle fallbacks?
  • When do we add things to the GUI? (When three browsers offers support?)

Program flow (Tav)

  • Diagram how Inkscape behaves/should behave on:
    • Opening a file.
    • Changing a style item (e.g. 'fill').
    • Moving a node.
    • Deleting an item.
      • Comment: Deleting an item causes Inkscape to create a new SVG document with containing the deleted item to allow pasting.


Add a few random print statements in Inkscape and you'll see that Inkscape visits certain functions more often than one would think it should. Having well defined diagrams will allow developers to clean up existing code and to better understand what needs to be done to add new features. I've noticed that we suffer from "cargo cult programming" where people add functions without fully understanding if they are truly needed.

Website (DoctorMO)

  • How do people feel about it's current functions
  • How should we move it forwards?
  • Plans for mailing list migrations.
  • Getting developers set up with local copies for hacking.

Refactoring (AV)

Can we decide on a roadmap to work with new APIs and compilers? How do we minimize breakages for downstream users? Can we balance risk with reward? How does each migration benefit the developers, package maintainers and end users?

Some possible changes to discuss:

  • Moving to C++11
    • code cleanup/maintainability
    • improved data structures/templating
  • Adding a hard Cairo 1.14 dependency
    • Fix bitmap downscaling issue
  • Gtk+ 3 migration
    • Get rid of lots of conditional code
    • Get rid of embedded GDK library fork
    • Some "cleaner" API available
    • How do we handle canvas flickering/rendering issues?
  • C++ification
    • Migrate widgets/dialogs to Gtkmm
    • Get rid of popt
    • Get rid of GObject usage

Roadmap Planning (Bryce)

Prioritize feature and infrastructure development work for next several releases.

Fundraisers (Bryce)

Brainstorm and plan out some future fundraising efforts.


Invert coordinate system (Tav)

If there was ever a good moment to do the coordinate system flip, this is it.