Re: Eog port



Am Sonntag, den 04.09.2011, 16:55 +0200 schrieb Fabian Sturm:
> Dear EOG developers,

Hi Fabian,

sorry for the late response, but I didn't have much time lately.

> about a year ago it happened once again. Opensource got its chance to
> show its strength :-)
> Someone wanted to show her holiday pictures on a macbook but forgot to
> bring the vga dongle. Therefore I was asked to the rescue and I proudly
> lend my Ubuntu/Linux notebook. With this notebook we showed all the
> images without an issue but the presentation was somewhat lacking. The
> crossover between two pictures was immediate, no fade in or fade out or
> any other nice effect.
> 
> So what to do as someone who always touts the advantages of open source?
> Patch the code of course!

+1 from my side! :)

> Next I found some spare time (lying in bed with a flu), I decided to
> implement crossover effects in eog. I downloaded the source and started
> reading the code. Unfortunately the code was in C. Not that C is
> inherently bad, but it means a lot of additionally boiler plate code
> that has to be read and understood. So after a day of figuring out how
> an image is displayed and several failed attempts to implement something
> working I gave up. I decided coding in C is just too hard if you only
> want to implement a small patch and not getting to intimate with the
> underlying program.
> 
> So what to do if patching a C program is too hard?
> Port it to an easier language of course!

Uh oh...

> My language of choice was vala and my estimated time for the port was a
> week. Once again I underestimated the effort necessary. But anyway I
> finally have something to show! The vala port runs and most of the
> classes are ported.

Wow! Uh...

Okay, this is the part where we get a problem. While Vala might be your
language of choice it's not mine(@Claudio:ours?) yet. So it is going to
be hard for me to review your work and improve on it after merging.

And currently I'm actually already having problems building your branch,
probably because my Vala/Glib/Gtk toolchain is newer.

> Next step for me is to figure out how to go forward with the vala port.
> How are you thinking about such an effort? Will it add value to the eog
> application or will it be a hindrance due to the inevitable regressions?
> Of course I could have released early on in my development, but I was
> not sure if I would ever finish the port so I didn't want to add noise
> to the mailing list with something that might fail.

Contacting the maintainers early on is a good idea for large changes
like yours. Imagine someone else had the same idea as you. Nobody would
be angry if you wouldn't succeeded then, someone else could still pick
it up where you left it and finish it. And I doubt that your mails would
have counted as noise on eog's mailing list. ;)

Okay, back to Vala. Although I wrote above that I am not into Vala yet,
I had the idea that several classes of eog could in fact be converted to
Vala (there's a few utility classes and some smaller GUI classes) to
make them a bit easier to work with. Even if we won't move to Vala
completely we might be able to take some of your work.
So, there are a few questions I have about this:

Is it really necessary to port eog completely to be able to use Vala
with it? From what I know at least eog's public API should be already
available to Vala through GObject-Introspection.

I'm asking because I'm not sure if it is a good idea for some classes to
be ported. Mostly because of their age and complexity (EogWindow and
EogImage come to my mind).

How do you debug Vala-generated classe? I guess you'll debug the
generated C code, which is not that readable.

How is the connectivity to external libraries (libexif, exempi,...)?
Does every library need to be made Vala-compatible? If yes, this
wouldn't be so great.

Regards,

Felix



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]