When I added images to the collections in Tellico, portability of the data file was important to me, so I made the decision to change the file format to zip and to include the images in the file itself. Tellico doesn't generate thumbnails ro reduce the images at all. They're saved as is.
Recently, I've gotten some emails from users who have hundreds of images in their collections, and as a result, Tellico is really slowing down. Chalk it up to my lack of forethought, I suppose.So for those people who have huge databases, I apologize. You'll just have to limit the number of images in your collection, or just use smaller ones.
There are a couple quick solutions. One is to use a URL field with a link to the image, preferably on the local disk, and change the XSL templates to show that image. Then, the image would no longer be part of the data file, and Tellico could zip right along. Or, I could change the image loader to load-on-demand, so that while the data file remains large, Tellico would only read the image from the file when it is needed, instead of the current way of loading everything on file-open. (Chalk that one up to my implementing something that just works and not being a real computer hacker.)
In the long term, I suppose I might end up going to a SQLite data file. That would allow me to use the power of a real relational database, and would make queries a bit simpler. The XML export would still be there, of course, and I could even turn that into a DCOP call, I suppose. mCatalog uses SQLite, as do many database programs.
I plan to finish up my polishing and put out a pre-release of Tellico 0.13 this weekend, with z39.50 import. After the release is out for a bit, and I satisfy myself, that will become Tellico 1.0. Then, I can possibly look at reworking the internal data model.