I have several ideas for GSOC 2009. I'll present all of them here.
Idea 1 is about improving Inkscape's data interoperability. This means being able to paste parts of drawings from Inkscape directly into OpenOffice.org and MS Word and the other way around. This would involve writing a cross platform WMF and EMF output extension (our current EMF extension is Windows only). This could be accomplished by using libwmf, but this project seems to be abandoned since 2002. Another option is to use some code from OpenOffice.org. Recently (2006), MS published a full specification of those formats, so writing a new library to read and write them isn't out of the question.
Idea 2 is has a similar goal to Idea 1 and it is to revamp the I/O extension system. This would involve unifying the code paths for open/save, export/import, clipboard, drag and drop, and create bitmap copy; unifying command line parameters for export (e.g. all extensions would accept --export-id); converting all extensions to load/save using GIO streams; and redesigning the Export dialog to allow exporting in any supported format.
Idea 3 is to refactor the tools code, so that each tool is a separate object, and the number of files that list all tools is reduced to a minimum. This would get rid of toolbox.cpp, as well as greatly simplify the writing of new tools.
Idea 4 is to replace Verbs with subclasses of Gtk::Action, with only one class per action (instead of one Verb class per several verbs). There would be a separate action group per document, and an additional one for global actions. Actions could be registered dynamically at startup.
Which idea, when implemented, would be the most beneficial to Inkscape?
Regards, Krzysztof Kosiński