Tuesday, April 04, 2006

Sodipodi a graphics editor (SVG)


I'm currently working on compiling/adapting yet another vector graphics drawing program...
...named Sodipodi [engl: "ZigZag"??]. It uses .svg files as its native file format, therefore you can still edit any files later on with OpenOffice, Visio, etc. or view them using FireFox. It is way more compact than bitmaps, so its ideal for mailing your sketches while you are connected via GPRS.

Why another utility?
Okay, the functionality of Dia is way more advanced. But even when I removed many sheets and disabled almost all the plugins, it still consumes alot of memory and CPU-power.
Furthermore, there seems to be an issue with screen refreshes and I'm not sure if it is caused by the resource consumption or there should be some "refresh" calls within the code.
Basically I cannot make Dia run faster soon, given my time restrictions. Maybe it'll be faster on upcoming releases of GTK/maemo platform with further optimizations or the replacement of some widgets, especially the color selection widget.
So for the meantime, we need some software that is useful/usable and still responsive.


I had a look at some open source vector graphics editors to find out which one would easy to port to the N770 (menu structure, screen area and most important: dependencies). First, I decided to compile inkscape, as it looks cool and is GTK-based. However, it relies on some C++ / GTK obejct wrapper dependencies (gtkmm, ...) which was to awkward to do in just a few hours [I need some sleep from time to time and go to work the next morning ;-) ] Then, I found out that sodipodi and inkscape not just have identical functionality, they share the same roots. Sodipodi is more suitable for the standard N770 setup, as we just need the additional libart, which is easy to compile, everything else was already there. Besides this, it is possible, to alternatively dock the toolbar to the main drawing area.

Advantages

  • uses less resources than Dia, reacts in interactive time on user input.
  • Especially home-made Color-Chooser Widget more useful and faster response compared to GTK_Color_Button/Selection from Dia
  • Menu-Bar is dockable

Installation
My preliminary version can be found here: sodipodi_0.34-N770v0.2_arm.deb
I modified almost all of the dialog boxes in order to show a close button.
There is also a menu setting to switch all dialogs to windows, but this doesn't look so nice.

Cliparts and examples are not included. There are some available separately at http://www.openclipart.org/cgi-bin/navigate/signs_and_symbols/flags
and http://sodipodi.sourceforge.net/ [files/sodipodi-cliparts]




ToDos:


  • further reduce footprint, see if we can remove some unneeded parts (XMLEditor)
  • try to make the GUI start with an activated dockable toolbar.
  • fullscreen mode??

Intermediate build:

sodipodi_0.34-N770v0.3_arm.deb

  • starts the GUI with an empty sheet (landscape!) and a docked toolbar to the left... just for convenience... still todo: have to carefully check all dialogs: the softkeyboard might shrink them...

6 Comments:

Anonymous Anonymous said...

I'v got a "Unable to install. Incompatible package" :/

May 08, 2006 3:53 PM  
Anonymous Anonymous said...

I encourage you to get in touch with the Inskcape developers. If they knew someone was interested in porting to Maemo I expect they would provide you with whatever help they can or perhaps provide an alternative approach. Simply knowing you were trying to port Inkscape might encourage them to put a slighly higher priority on modularisation and other tasks which might make your work easier.

best of luck, very interesting journal

August 19, 2006 11:55 PM  
Anonymous Anonymous said...

There is a discussion on the Inkscape development list which may be of interest:
https://sourceforge.net/mailarchive/message.php?msg_id=36560599

Essentially the Inkscape 0.35 codebase was very much like Sodipodi but with fixes and the SDI interface. As such it should be relatively easy to port, at least not any more difficult than your port of sodipodi.

August 23, 2006 5:21 PM  
Anonymous Anonymous said...

I have maemo 2006, & it gives me an error saying the package is "incompatible with current software." I've got Gizmo Project, Leafpad, MWeather, Maemo Mapper, GNU Calendar, GNU Contacts, X Terminal, Maemo Recorder, zip/unzip libraries, Mahjong, Marbles, Sokoban, Sudoku, & Maemo blocks installed. Do know whether any of these applicaons ae incompatible with sodipodi? I'd really like to get it to work on my 770.

September 30, 2006 6:04 AM  
Anonymous Anonymous said...

Anonymous: It's a shame the developers at Nokia chose to use such a vague error message in the application manager, they seem to have confused you. The problem has nothing to do with your installed applications, it's that this package was compiled against the Internet Tablet 2005 OS (aka Maemo 1.0), which isn't compatible with IT2006 (Maemo 2.x). Someone will have to rebuild it in a more up to date SDK environment for you to use it. I'd be capable of this, but I'm quite busy with school, sorry!

March 20, 2007 3:24 AM  
Anonymous Anonymous said...

please sombody rebuild it fo os 2006 or 20007 he

November 23, 2007 10:33 PM  

Post a Comment

<< Home