Monday 26 November 2007

Ditching Karrigell

Karrigell is too complex for my needs. I'm going with mod_python for the web service backend and PHP/JavaScript for the frontend.

Going with PHP for the backend would make it easier to move to an external server that might not have Python, but starting with Python allows a quick start and giving some KPA-MySQL access code back.

The Publisher mod_python handler is excellent, exposes functions with their parameters. Extremely easy for web services. Combined with JSON for transfer of data, the web service side of it is pretty much taken care of.

The trick now is the right division of labor between PHP and Javascript. Unfortunately, there's not a lot of obvious tutorial for Prototype.

Saturday 24 November 2007

Setting up Karrigell according to http://karrigell.sourceforge.net/en/apache.htm (second version)

Moved autostart script to /usr/lib/cgi-bin

Enabled rewrite module.

Added handler for .cgi.

Still no worky:(

Notes on Taggart

Taggart is the code name for my newest crazy idea for a tagging system.

Put up mysql server with the usual password. Created db kpa, user taggart, as per in script in /usr/local/src/KPhotoAlbum-src/kphotoalbum/script/KPhotoAlbum

Ran script transferring all data from index.xml into MySQL. Created test script for getting out data, it seems to work.

Karrigell seems to be the nicer way to embed python in HTML, installed.

Next step: get list of images from a given folder and present them in HTML together with their tags. This requires some access methods -- they will be written as needed. Also need to interface with dcraw to get thumbnails - -c option is perty fast, but it needs downscaling too, and convert is slow. Using a faster resizer like point speeds it up a bit. Obviously need to cache these.

Note: filename and dirId are separate in the media db.

Friday 2 November 2007

Keywording assistant

Ideas for a "keywording assistant" type application: Use keywords of other images not just as completions, but as suggestions.

Screen should contain either several lines of keywords from various input strategies (see below) or one big cloud with combined keywords, emphasizing the ones that are repeated from several strategies.

The user can click to pick, after which that keyword disappears and new ones arrive. Issue: How to avoid that the user clicks just as keywords change? Maybe fade in/fade out, maybe have slow movement from the edge, maybe keywords close to the mouse don't change. It's important that there is no interruption, the user should be able to click on several keywords quickly.

To lessen mouse straing, maybe have the top N keywords have letters or numbers assigned.

There are many possible strategies for selecting relevant keywords. Essentially, they find other pictures and add their keywords. It may be useful to have a way to push keywords out that don't apply, to avoid cluttering.

Strategies:

- number of shared keywords
- MPEG-7 image similarity
- image name similarity (e.g. numbering ranges close to the image in question) Only relevant for user's own pictures
- image time similarity
- image geo-tag similarity
- thesaurus similarity (this doesn't pick pictures, but individual keywords)