<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Photo support for TagLib#</title>
	<atom:link href="http://weblog.savanne.be/183-photo-support-for-taglib/feed" rel="self" type="application/rss+xml" />
	<link>http://weblog.savanne.be/183-photo-support-for-taglib</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 17:19:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: RubenV</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28897</link>
		<dc:creator>RubenV</dc:creator>
		<pubDate>Wed, 04 Nov 2009 08:57:22 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28897</guid>
		<description>We investigate quite a lot of alternatives, including exiv2. Mike even developed a gobject wrapper around exiv2 (gexiv2), with bindings (gexiv2-sharp).

Here: http://gitorious.org/gexiv2

Having investigated this (and getting very far at it), we made the call not to continue in that direction, in particular because we weren&#039;t very happy with the API.

As a side-benefit, doing this in fully managed C# code means we get free portability, something that is quite often an issue too with C/C++ (despite the fact that they are generally claimed to be &quot;portable&quot;).</description>
		<content:encoded><![CDATA[<p>We investigate quite a lot of alternatives, including exiv2. Mike even developed a gobject wrapper around exiv2 (gexiv2), with bindings (gexiv2-sharp).</p>
<p>Here: <a href="http://gitorious.org/gexiv2" rel="nofollow">http://gitorious.org/gexiv2</a></p>
<p>Having investigated this (and getting very far at it), we made the call not to continue in that direction, in particular because we weren&#8217;t very happy with the API.</p>
<p>As a side-benefit, doing this in fully managed C# code means we get free portability, something that is quite often an issue too with C/C++ (despite the fact that they are generally claimed to be &#8220;portable&#8221;).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: disappointed</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28886</link>
		<dc:creator>disappointed</dc:creator>
		<pubDate>Tue, 03 Nov 2009 18:26:53 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28886</guid>
		<description>Or you could help the developer of Exiv2. See:

http://dev.exiv2.org/boards/3/topics/show/162</description>
		<content:encoded><![CDATA[<p>Or you could help the developer of Exiv2. See:</p>
<p><a href="http://dev.exiv2.org/boards/3/topics/show/162" rel="nofollow">http://dev.exiv2.org/boards/3/topics/show/162</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: disappointed</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28885</link>
		<dc:creator>disappointed</dc:creator>
		<pubDate>Tue, 03 Nov 2009 18:24:13 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28885</guid>
		<description>Yes, because:

Adobe XMP Toolkit
Exempi
Exiv2
Exiftool

are not enough, and because &lt;sarcasm&gt;adding complete and correct support for Exif, IPTC, XMP and every camera makenotes is such an easy task&lt;/sarcasm&gt;.

Reinventing the wheel, NIH and such come to mind...</description>
		<content:encoded><![CDATA[<p>Yes, because:</p>
<p>Adobe XMP Toolkit<br />
Exempi<br />
Exiv2<br />
Exiftool</p>
<p>are not enough, and because <sarcasm>adding complete and correct support for Exif, IPTC, XMP and every camera makenotes is such an easy task</sarcasm>.</p>
<p>Reinventing the wheel, NIH and such come to mind&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous coward</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28877</link>
		<dc:creator>anonymous coward</dc:creator>
		<pubDate>Tue, 03 Nov 2009 03:07:55 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28877</guid>
		<description>@soren
Just pulling your leg :)  I agree that a C library would be great, but the amount of legwork you need to do to keep bugs to a minimum and maintain a sane API in C is huge. Add to that the time it would take to maintain that separate library, and its C# bindings, and you&#039;re looking at a considerable amount of effort. IMO, doing it in C# is just more feasible in these conditions. 

This coming from someone who works with C all day, and loves the low-level feeling of the language.</description>
		<content:encoded><![CDATA[<p>@soren<br />
Just pulling your leg :)  I agree that a C library would be great, but the amount of legwork you need to do to keep bugs to a minimum and maintain a sane API in C is huge. Add to that the time it would take to maintain that separate library, and its C# bindings, and you&#8217;re looking at a considerable amount of effort. IMO, doing it in C# is just more feasible in these conditions. </p>
<p>This coming from someone who works with C all day, and loves the low-level feeling of the language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Côrte-Real</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28876</link>
		<dc:creator>Pedro Côrte-Real</dc:creator>
		<pubDate>Tue, 03 Nov 2009 01:23:50 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28876</guid>
		<description>Given the current direction in the gnome desktop to use tracker as a repository for metadata about files my impression is that we should move away from the current application centric methods of handling collections. Right now we keep collections of music (and possibly video) files in banshee and photos in f-spot. Each of these is isolated from the rest of the desktop. Short of reading through the sqlite database in f-spot there is no way to access its rich metadata from other applications. This effort seems like a great way to get convergence between those two uses and it may allow other applications to use the same API to access music/video/photos but it is still not a general solution. 

Has the option of putting all this into tracker been considered before and discarded? The f-spot work rubenv did for SoC enables reproducible image transformation workflows. Imagine this use case if that workflow is inside tracker and managed across applications:

- I take a photograph in RAW, convert it to a JPG, resize and crop it, alter its colors to be a funky red and white monochromatic, include it in a LaTeX file together with some formatted text, generate a PDF file from it and finally use a desktop publishing app to turn it into a fold-out brochure with three more pieces of text.
- I later decide to change the funky red and white monochromatic to blue and white. Since the transformation steps are included inside tracker and there is an orchestration piece of software that knows that files have changed and it should regenerate the chain I get a nice dialog that says &quot;You&#039;ve performed a change in an image that is used in this other file, do you want to update the file? (Continue, Break Link, Cancel)&quot;

This is basically bringing the power of Make/Unix pipes to the GUI. You could even have an &quot;export to Make&quot; function where you package a set of files as a makefile and can import the set in another machine with the connections intact.

Even without this orchestration functionality having all the metadata inside tracker would free the data that is currently application specific. If enough standardization is done things like banshee and f-spot could be split up into modules. I can see f-spot not being a monolithic application and instead be:

- A plugin for nautilus to view the photos on the disk indexed by its metadata (tags, rolls, dates, etc)
- A set of exporters to send photos to flickr/facebook/etc
- An importer to get photos from media, catalog them as the user wants it (give it tags, assign rolls/events, etc)
- A set of converters that take an image in the broad sense (its RAW+JPEG+conversions+metadata+orchestration between versions) and operate on it generating more images, metadata and orchestration information

You could still package all of these together at the UI level as a single application if you want to give users an Aperture-style interaction. But what you could also do is stuff like:

- Import all the audio recordings, videos and photos from a specific event at the same time since they are on the same SD card. Catalog them together.
- Export video/audio/photos to facebook together with descriptions 
- Search and catalog all of these plus text files and others all through the same interface in nautilus with a consistent set of tags

Getting all of these use cases working would take a bunch of coding but the point is that the data is the important bit. If we have a centralized and formalized way to describe what all the files are, anyone can write an application to enable one specific use case without having to hack into f-spot/banshee at all and in whatever language he wants to do it in.

Just my overly verbose 2 cents. I&#039;m not assuming I am right at all and would love to hear others&#039; opinions.</description>
		<content:encoded><![CDATA[<p>Given the current direction in the gnome desktop to use tracker as a repository for metadata about files my impression is that we should move away from the current application centric methods of handling collections. Right now we keep collections of music (and possibly video) files in banshee and photos in f-spot. Each of these is isolated from the rest of the desktop. Short of reading through the sqlite database in f-spot there is no way to access its rich metadata from other applications. This effort seems like a great way to get convergence between those two uses and it may allow other applications to use the same API to access music/video/photos but it is still not a general solution. </p>
<p>Has the option of putting all this into tracker been considered before and discarded? The f-spot work rubenv did for SoC enables reproducible image transformation workflows. Imagine this use case if that workflow is inside tracker and managed across applications:</p>
<p>- I take a photograph in RAW, convert it to a JPG, resize and crop it, alter its colors to be a funky red and white monochromatic, include it in a LaTeX file together with some formatted text, generate a PDF file from it and finally use a desktop publishing app to turn it into a fold-out brochure with three more pieces of text.<br />
- I later decide to change the funky red and white monochromatic to blue and white. Since the transformation steps are included inside tracker and there is an orchestration piece of software that knows that files have changed and it should regenerate the chain I get a nice dialog that says &#8220;You&#8217;ve performed a change in an image that is used in this other file, do you want to update the file? (Continue, Break Link, Cancel)&#8221;</p>
<p>This is basically bringing the power of Make/Unix pipes to the GUI. You could even have an &#8220;export to Make&#8221; function where you package a set of files as a makefile and can import the set in another machine with the connections intact.</p>
<p>Even without this orchestration functionality having all the metadata inside tracker would free the data that is currently application specific. If enough standardization is done things like banshee and f-spot could be split up into modules. I can see f-spot not being a monolithic application and instead be:</p>
<p>- A plugin for nautilus to view the photos on the disk indexed by its metadata (tags, rolls, dates, etc)<br />
- A set of exporters to send photos to flickr/facebook/etc<br />
- An importer to get photos from media, catalog them as the user wants it (give it tags, assign rolls/events, etc)<br />
- A set of converters that take an image in the broad sense (its RAW+JPEG+conversions+metadata+orchestration between versions) and operate on it generating more images, metadata and orchestration information</p>
<p>You could still package all of these together at the UI level as a single application if you want to give users an Aperture-style interaction. But what you could also do is stuff like:</p>
<p>- Import all the audio recordings, videos and photos from a specific event at the same time since they are on the same SD card. Catalog them together.<br />
- Export video/audio/photos to facebook together with descriptions<br />
- Search and catalog all of these plus text files and others all through the same interface in nautilus with a consistent set of tags</p>
<p>Getting all of these use cases working would take a bunch of coding but the point is that the data is the important bit. If we have a centralized and formalized way to describe what all the files are, anyone can write an application to enable one specific use case without having to hack into f-spot/banshee at all and in whatever language he wants to do it in.</p>
<p>Just my overly verbose 2 cents. I&#8217;m not assuming I am right at all and would love to hear others&#8217; opinions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Søren Hauberg</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28872</link>
		<dc:creator>Søren Hauberg</dc:creator>
		<pubDate>Mon, 02 Nov 2009 21:13:21 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28872</guid>
		<description>@anonymous coward:

don&#039;t get me wrong: I have nothing against mono and I actually think that C# is a reasonable choice for applications like Banshee and F-Spot. But I still do think it is a shame when the libraries doing the very basic functionalities aren&#039;t shared as much as possible between applications. Sadly, C seems to be the lowest common denominator, which makes it the best choice _if_ you want to share your work.</description>
		<content:encoded><![CDATA[<p>@anonymous coward:</p>
<p>don&#8217;t get me wrong: I have nothing against mono and I actually think that C# is a reasonable choice for applications like Banshee and F-Spot. But I still do think it is a shame when the libraries doing the very basic functionalities aren&#8217;t shared as much as possible between applications. Sadly, C seems to be the lowest common denominator, which makes it the best choice _if_ you want to share your work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Nickel</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28871</link>
		<dc:creator>Brian Nickel</dc:creator>
		<pubDate>Mon, 02 Nov 2009 21:13:04 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28871</guid>
		<description>This is really exciting.  I was considering adding image support years ago after I added video but I lacked the subject matter expertise and was already losing interest in continuing development.  I&#039;m glad to see it&#039;s finally getting added as it will really round out the platform.

Søren, It may surprise you but being written for .NET, TagLib# was able to gain a much larger user base than C, C++, and Python libraries written to accomplish similar goals.  The big problem with C libaries is that they aren&#039;t as portable as you would think and they rarely bridge the Linux and Windows worlds.  Because .NET has a significant number of users and compiled Mono libraries run on Windows, I am still contacted to this day by people who want to integrate it with their commercial/shareware/freeware applications.

I love C as much as the next guy but you have got to take it off of its pedestal.</description>
		<content:encoded><![CDATA[<p>This is really exciting.  I was considering adding image support years ago after I added video but I lacked the subject matter expertise and was already losing interest in continuing development.  I&#8217;m glad to see it&#8217;s finally getting added as it will really round out the platform.</p>
<p>Søren, It may surprise you but being written for .NET, TagLib# was able to gain a much larger user base than C, C++, and Python libraries written to accomplish similar goals.  The big problem with C libaries is that they aren&#8217;t as portable as you would think and they rarely bridge the Linux and Windows worlds.  Because .NET has a significant number of users and compiled Mono libraries run on Windows, I am still contacted to this day by people who want to integrate it with their commercial/shareware/freeware applications.</p>
<p>I love C as much as the next guy but you have got to take it off of its pedestal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Schurter (schmichael)</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28870</link>
		<dc:creator>Michael Schurter (schmichael)</dc:creator>
		<pubDate>Mon, 02 Nov 2009 20:08:01 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28870</guid>
		<description>Great news!

&quot;Furthermore, should Banshee ever decide to add photo support. it&#039;ll be ready for them to use.&quot;

To create the Netscape Navigator of media applications?  Please no.  :-)  I love Banshee and F-Spot, but their uses are so vastly different I can&#039;t imagine why you&#039;d integrate them.  Maybe you guys can pull it off, but I&#039;m wary of monolithic apps like OpenOffice, Eclipse, SeaMonkey, etc.

@Søren Hauberg
Other C# apps can re-use the code.  Do you troll every Python library asking them to rewrite in plain C as well?  People should use whatever language they please!  :-)

@anonymous coward:
I&#039;m guessing yes.  C++ isn&#039;t very popular in the Gnome world, and Python&#039;s performance in non-trivial desktop applications is...less than desirable.  :-)  The anti-Mono crowd just seems to be a lot more vocal than say: the anti-C++ crowd.  Probably due to having a high profile figurehead like RMS involved.

Full disclosure: I&#039;m a Python web developer as well as a happy Banshee, F-Spot, and Tomboy user.</description>
		<content:encoded><![CDATA[<p>Great news!</p>
<p>&#8220;Furthermore, should Banshee ever decide to add photo support. it&#8217;ll be ready for them to use.&#8221;</p>
<p>To create the Netscape Navigator of media applications?  Please no.  :-)  I love Banshee and F-Spot, but their uses are so vastly different I can&#8217;t imagine why you&#8217;d integrate them.  Maybe you guys can pull it off, but I&#8217;m wary of monolithic apps like OpenOffice, Eclipse, SeaMonkey, etc.</p>
<p>@Søren Hauberg<br />
Other C# apps can re-use the code.  Do you troll every Python library asking them to rewrite in plain C as well?  People should use whatever language they please!  :-)</p>
<p>@anonymous coward:<br />
I&#8217;m guessing yes.  C++ isn&#8217;t very popular in the Gnome world, and Python&#8217;s performance in non-trivial desktop applications is&#8230;less than desirable.  :-)  The anti-Mono crowd just seems to be a lot more vocal than say: the anti-C++ crowd.  Probably due to having a high profile figurehead like RMS involved.</p>
<p>Full disclosure: I&#8217;m a Python web developer as well as a happy Banshee, F-Spot, and Tomboy user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous coward</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28865</link>
		<dc:creator>anonymous coward</dc:creator>
		<pubDate>Mon, 02 Nov 2009 17:41:24 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28865</guid>
		<description>i wonder: if you were doing this in c++ (or even python for that matter) do you think you would hear half as many comments about your choice of language?</description>
		<content:encoded><![CDATA[<p>i wonder: if you were doing this in c++ (or even python for that matter) do you think you would hear half as many comments about your choice of language?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Søren Hauberg</title>
		<link>http://weblog.savanne.be/183-photo-support-for-taglib#comment-28864</link>
		<dc:creator>Søren Hauberg</dc:creator>
		<pubDate>Mon, 02 Nov 2009 17:00:05 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/183-photo-support-for-taglib#comment-28864</guid>
		<description>Too bad you aren&#039;t doing this in C such that other people can use your work. Ah well, that&#039;s your decision to make.</description>
		<content:encoded><![CDATA[<p>Too bad you aren&#8217;t doing this in C such that other people can use your work. Ah well, that&#8217;s your decision to make.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

