[jrawio-dev] Re: Re: Re: Re: Re: API CHANGES: *.raw packages renamed to *.craw
- From: Igor Malinin <igor@alveolo.org>
- To: dev@jrawio.kenai.com
- Subject: [jrawio-dev] Re: Re: Re: Re: Re: API CHANGES: *.raw packages renamed to *.craw
- Date: Sat, 05 Sep 2009 20:45:42 +0300
Fabrizio Giudici wrote:
And, yes, I'd like to know how many people are using jrawio. For the mailing list, we're about 15 - I suppose there could be more people using it? Also, if it doesn't violate any reserved information, I'd be happy to know how people are using it.
I just started to experiment with it. I had the idea of opensource 'platform' for raw tools year ago, then forgot it, then not so far ago my colleague shared with me some similar ideas, so I started investigation again. I had not so much free time to contribute something, except the patch for my own recently bought 500D.
I did some very basic RAW file reading, experimented with debayering, some color management and basic processing like exposure compensation. Tried to compare performance with C/C++ code. Unfortunately I can only state that C code is MUCH fasted than Java, and it is not 20-30%... It is 2-3 times difference, depending on hardware! :(
Then was fighting with Swing - it took me several evenings to show large picture on JScrollPane with acceptable scrolling performance, with SWT - just first try worked! But finally got comparable performance with Swing. Found out that color space conversion is not so good performing in Java, actually it is terribly slow to do it on the fly, and implementation is not trying to optimize it even for most common image data representations.
Then tried to search alternatives to NetBeans RCP, I wanted some Swing/OSGi based platform, but it appeared that there are none :( Don't want to do anything based on NB - probably it is only my old experience with a this platform, but in my memory it sits quite firmly as the worst thing to base your product on - experience from integrating RefactorIt to everything in the world.
As with jrawio project itself I had many issues too and as I told already I would like to share this so probably my problems could encourage to make the project more friendly, especially for contributions.
First, it is not very good to the project to change 'homes' so frequently. Yes, now I understand that official home is still at jrawio.tidalwave.it, but it was not so obvious when I sow only something like "site is moving" @tidalwave and project created @java.net. Then I did checkout from SVN @java.net, experimented with it, did a patch for my 500D, then wanted to contribute, but discovered... guess what - SVN repository is empty! After some search (non obvious again) I discovered that sources is on kenai now, and repository is Mercurial. Uhh.. Start learning new thing.. Happily there is EclipseMercurial, and more happily it even working somehow! And happily it became usable just few days ago!!! It still not perfect, but at least I can do something from IDE now. So, created a patch, submitted it, only to discover than it failed to work well after pulling applied patch. :( So, hardly something can be reverted now, but IMHO it was too early to experiment with Hg. Tried Hg year ago too, experience is much better now, but tools are still far from famous CVS/SVN. Hopefully it will change very soon - the speed of MercurialEclipse development is amazing, but it is mostly from single person unfortunately.
Second my problem is Maven. Probably I most unlucky person with this tool, I like the idea behind of Maven very much, but how it is implemented - just terrible. Hardly you like to revert it now (I would prefer just Ant/Ivy), but improvement of experience could be greatly improved, I hope so. One problem - the build takes enormous amount of time, and sometimes failing. I hoped that this large time will be only on first run (to pre-load dependencies), but this happens every time. 4 hours (and even more) for build such a small chunk of code is not normal! Another problem is the documentation, if there was some small description on your site on how to use it, a list of most useful Maven goals, to build generated java sources only for example without building whole project + running unit tests.
And - do we really need this 'generation' step at all? It just code, and in Java it would be more flexible than XML. It is 1:1 mapping anyway, or am I missing something? If it is only HTML summary generation - don't feel a need for it at all.
And third. Your choice for code formatting is [sorry] - terrible! Yep, I would accept it, consistent rules for the project is a must, and good or bad, they are always better than not having it, but my IDE (Eclipse) refuses to format your way, independent of my tries to configure it. It is only one thing that causing problem - but adding spaces by hand after every insert of any brace - it's madness! Why not take rules that Sun recommends for Java code? They are quite common it the community and when they are 'not as I would like it', I was quickly used to them an they are not so bad! Usually the only exception is added to them - using either tabs or spaces for indentation, not both mixed as Sun suggests (this is really terrible suggestion)...
So, it is all for this time, sorry if sometimes I used not correct wording. A little of emotions should not fear you, I hope it is the feedback you liked to get :) Anyway you are doing a great work!





