summaryrefslogtreecommitdiff
path: root/dimbola.com
diff options
context:
space:
mode:
Diffstat (limited to 'dimbola.com')
-rw-r--r--dimbola.com/.bzrignore1
-rw-r--r--dimbola.com/branches.mdwn8
-rw-r--r--dimbola.com/dimbola-0.0.2.jpgbin0 -> 46038 bytes
-rw-r--r--dimbola.com/index.mdwn72
-rw-r--r--dimbola.com/local.css1
-rw-r--r--dimbola.com/problems.mdwn71
-rw-r--r--dimbola.com/releasing.mdwn32
-rw-r--r--dimbola.com/roadmap.mdwn56
-rw-r--r--dimbola.com/testing.mdwn95
-rw-r--r--dimbola.com/wishlist.mdwn153
10 files changed, 489 insertions, 0 deletions
diff --git a/dimbola.com/.bzrignore b/dimbola.com/.bzrignore
new file mode 100644
index 0000000..edd4856
--- /dev/null
+++ b/dimbola.com/.bzrignore
@@ -0,0 +1 @@
+.ikiwiki
diff --git a/dimbola.com/branches.mdwn b/dimbola.com/branches.mdwn
new file mode 100644
index 0000000..c6e92a8
--- /dev/null
+++ b/dimbola.com/branches.mdwn
@@ -0,0 +1,8 @@
+These are the publically announced [bzr](http://bazaar.canonical.com/en/)
+branches for Dimbola. To check out the code, run this command:
+
+ bzr get http://code.liw.fi/dimbola/bzr/trunk/
+
+(replace the URL with whatever branch you want, of course).
+
+* [liw trunk](http://code.liw.fi/dimbola/bzr/trunk/)
diff --git a/dimbola.com/dimbola-0.0.2.jpg b/dimbola.com/dimbola-0.0.2.jpg
new file mode 100644
index 0000000..80ccf2b
--- /dev/null
+++ b/dimbola.com/dimbola-0.0.2.jpg
Binary files differ
diff --git a/dimbola.com/index.mdwn b/dimbola.com/index.mdwn
new file mode 100644
index 0000000..7d90fc7
--- /dev/null
+++ b/dimbola.com/index.mdwn
@@ -0,0 +1,72 @@
+[[!meta title="Dimbola photo manager"]]
+
+Helping Linux-using photographers be awesome at finding their photos.
+
+Dimbola
+-------
+
+Dimbola is, or will be, a free Linux/GNOME application for
+**managing digital photographs.** It is aimed at serious
+photographers. It is currently **nearing alpha state**,
+some basic functionality is there and works, but lots is
+still missing.
+
+This page is a placeholder for until there is some real
+content. (Help wanted! This is a wiki, just fix things
+if you see something broken.)
+
+See the [[roadmap]] for what will hopefully happen in
+the future.
+
+
+[[dimbola-0.0.2.jpg]]
+
+
+Download
+--------
+
+The **current version is 0.0.3.**
+
+To hear about new releases, subscribe to the announcement mailing list by
+sending e-mail to `announce-subscribe@dimbola.org` (you will get further
+instructions in reply).
+
+See [NEWS file](http://bazaar.launchpad.net/%7Edimbola-team/dimbola/trunk/annotate/head%3A/NEWS)
+for what's new in each release. It is also available as Help/News in the program.
+
+See [[branches]] for version control branches.
+
+The program is developed under Ubuntu 9.04 (jaunty) and
+9.10 (karmic), but should work elsewhere with Python 2.6,
+PyGTK, dcraw, pyexiv2, and netpbm.
+
+Dimbola is licensed under the GNU General Public License,
+version 3 or later.
+
+
+Releasing
+---------
+
+See [[testing]] for a manual test manuscript, and
+[[releasing]] for a release checklist.
+
+
+Problems and stuff to improve
+-----------------------------
+
+See [[problems]] page for a list of problems (things
+that are done, but work badly) and the [[wishlist]]
+page for new things that would be nice to add.
+
+
+Authors
+-------
+
+Currently being developed by Lars Wirzenius (liw@liw.fi).
+Help is quite welcome.
+
+
+See also
+--------
+
+Lars's [blog entries](http://blog.liw.fi/tag/dimbola/) about Dimbola.
diff --git a/dimbola.com/local.css b/dimbola.com/local.css
new file mode 100644
index 0000000..79a8bf6
--- /dev/null
+++ b/dimbola.com/local.css
@@ -0,0 +1 @@
+@import "http://files.liw.fi/ikiwiki-theme/local.css";
diff --git a/dimbola.com/problems.mdwn b/dimbola.com/problems.mdwn
new file mode 100644
index 0000000..f796cff
--- /dev/null
+++ b/dimbola.com/problems.mdwn
@@ -0,0 +1,71 @@
+This page lists **problems** (or bugs): things that go wrong,
+in the parts that have been implemented already. For example,
+a failure to rotate an image would belong on this page.
+See also [[wishlist]] page.
+
+Things that must be fixed before the next release
+-------------------------------------------------
+
+* Nothing right now.
+
+Fixed in bzr, but not yet in a release
+--------------------------------------
+
+* dimbola-gtk needs a manual page.
+* Drag-and-dropping tags from tree should be possible from tag name,
+ currently it just starts editing immediately.
+* If dcraw is not installed, the error message is quite mysterious,
+ and should instead say something sensible like dcraw not being
+ installed. Requiring it to be installed is perhaps not entirely
+ warranted, in case people only want to use JPEGs or PNGs or
+ other formats that GdkPixbuf supports natively.
+ - catch OSError when running external programs with subprocess
+ and report error to user in a clear fashion
+ - demote dcraw dependency in .deb to a recommendation
+ - have dcraw type caching silently handle the case of there not
+ being dcraw installed by return "does not support" for everything
+* Folders are not sorted by name in the folder tree.
+* Photo's tags not sorted case-insensitively.
+
+Current
+-------
+
+* Does not build a working .deb under Debian (works under Ubuntu).
+ **Help needed.**
+* Cannot drag-and-drop tags to image preview.
+* Can't enter รค into tag name. This is perhaps an indication that unicode
+ is not enforced properly in the database layer.
+* When changing folder, selection should be reset in grid, and
+ photo's info should be updated accordingly.
+* Grid's scrollbar does not seem to be set correctly when
+ changing to a folder.
+* Is not internationalized (i18n) and therefore not localized (l10n).
+ **Help needed.**
+* Database schema should be more systematic about how tables are named.
+ photos and folders are main tables, but tags just references two other
+ tables. (Suggested by jiivonen)
+* Database should build indexes for things to keep things speed. Exactly
+ what needs indexing should be determined by benchmarks. (Suggested by
+ jiivonen)
+
+
+Bugs in other people's code that Dimbola users may hit upon
+-----------------------------------------------------------
+
+* When exporting, can't select the directory that opens as default.
+ See <https://bugzilla.gnome.org/show_bug.cgi?id=557689>.
+ Workaround: go to parent directly, and select the desired directory
+ there.
+
+
+Stuff to fix some time later in the future
+-------------------------------------------
+
+* Database schema should use FOREIGN KEYs. Can't be fixed yet, since
+ it requires Sqlite 3.6.19 and Ubuntu karmic only has 3.6.16.
+ (Suggested by jiivonen)
+
+Help for Dimbola:
+-------------------------------------------
+* [Overview of dimbola](https://launchpad.net/dimbola)
+* [Bazaar branches of dimbola](https://code.launchpad.net/dimbola)
diff --git a/dimbola.com/releasing.mdwn b/dimbola.com/releasing.mdwn
new file mode 100644
index 0000000..3766355
--- /dev/null
+++ b/dimbola.com/releasing.mdwn
@@ -0,0 +1,32 @@
+This is a checklist of making a Dimbola release.
+
+1. Branch trunk into a temporary branch for making
+ release preparations:
+
+ bzr branch trunk release-prep
+1. Make sure `make clean check` passes.
+1. Update `NEWS`.
+1. Update `debian/changelog`.
+1. Run through the [[testing]] manuscript. If there
+ are any serious bugs, abort release process.
+1. Increase version number in `dimbola/__init__.py`.
+1. Build `.deb` package, install it, and test it.
+
+ rm -rf ../build-area && bzr bd
+ sudo dpkg -i ../build-area/*.deb
+1. Make sure Help/News is up to date when
+ running the newly installed package.
+1. Upload `.deb` package to main upload target.
+1. Merge temporary branch to trunk.
+1. Tag:
+
+ bzr tag version_x_y_z
+1. Push changes to trunk to master location.
+1. For each other Debian-like upload target,
+ make a new temporary branch, update
+ debian/changelog with a very short entry
+ marked for the upload target, build package,
+ and upload. (You may have to fix building
+ on anything than Ubuntu first, though.)
+1. Make a new screenshot and put it on the
+ front page.
diff --git a/dimbola.com/roadmap.mdwn b/dimbola.com/roadmap.mdwn
new file mode 100644
index 0000000..e06944f
--- /dev/null
+++ b/dimbola.com/roadmap.mdwn
@@ -0,0 +1,56 @@
+Roadmap for Dimbola
+===================
+
+
+Dimbola 1.0
+-----------
+
+This is the feature set that 1.0 will hopefully have.
+Since Dimbola is a hobby project, changes are always
+possible.
+
+* Copy photos from camera/memory card to hard disk. (dimbola-copy is
+ a command line program that most of this, but needs to be
+ integrated into the GUI.)
+ * Optionally rename files.
+ * Optionally copy files to two locations.
+ * Also add to currently open database.
+* Add photos to database from hard disk.
+ * Individual, hand-picked images. **Done.**
+ * Recursively for a whole directory tree.
+* Tag, rate, rotate photos efficiently.
+ * Tags can be created. **Done.**
+ * Tags can be arranged in a hierarchy. **Done.**
+ * One or more tags can be added to one or more photos in one operation.
+ * Tags can be added to photos when they're exported.
+ * Tag lists can be exported and imported (merged to current list),
+ so people can share them.
+ * Tags have flags for controlling export to photos, sharing.
+* Import and display EXIF fields.
+ * Display all fields.
+ * Display user-specified selection of fields.
+ * Display a basic, pre-configured set of fields. **Done.**
+* Display/edit all IPTC fields.
+ * Display all fields.
+ * Display user-specified selection of fields.
+ * Display a basic, pre-configured set of fields.
+* Search photos based on various criteria.
+ * Which folder they're in. **Done.**
+ * Tags they have. **Done.**
+ * Rating. **Done.**
+ * EXIF fields.
+ * IPTC fields.
+ * Searches can be saved.
+ * Search results (saved or not) are updated automatically when something changes.
+* Virtual folders ("collections" in Lightroom).
+* View photos in another window, which can be made fullscreen (perhaps on
+ a second monitor). **Done.**
+* Export original or JPEG versions of photos. **Done.**
+ * Exported files contain or are accompanied by metadata.
+* Generate a simple HTML gallery from selected photos.
+* Databases can be synchronized between different computers.
+ * For example, between desktop and laptop (sync everything), or
+ two collaborating people (sync just some stuff).
+ * Two-way synchronization: changes to either end will be combined to
+ the other, without overwriting the other's changes.
+* Everything that sensibly can, can be done with only mouse or keyboard.
diff --git a/dimbola.com/testing.mdwn b/dimbola.com/testing.mdwn
new file mode 100644
index 0000000..811f728
--- /dev/null
+++ b/dimbola.com/testing.mdwn
@@ -0,0 +1,95 @@
+Manual testing of Dimbola
+=========================
+
+**Note: This version is for the upcoming 0.0.2 release.**
+
+Dimbola has an automatic unit test suite with decent coverage. It does
+not test everything, however, and particularly the UI parts of the code
+are untested. Thus, for a Dimbola release, the following manual test
+manuscript is supposed to be followed. It also does not cover everything,
+but ensures at least that the basics work. As Dimbola evolves, this test
+manuscript will evolve with it, to match the new or changed stuff in a
+new release.
+
+
+Update test manuscript for new release
+--------------------------------------
+
+If you are testing in preparation for a new release, first update
+this test manuscript to match the upcoming release.
+
+
+Setup
+-----
+
+Get the Dimbola test images from
+<http://files.liw.fi/dimbola-test-images.tar> and unpack them
+in a location that is suitable for you.
+
+If you have a default.dimbola file, please rename it for the
+duration of this test manuscript, or run dimbola with
+a filename for a new database file.
+
+Start Dimbola, either from the command line or the GNOME menus.
+Verify that there are no folders and no tags.
+
+
+Importing
+---------
+
+Import all photos in dimbola-test-images (which you unpacked
+in the setup section).
+
+Verify that all folders exist and images have a thumbnail, and can
+be viewed in full size.
+
+
+Browsing
+--------
+
+Select some photos. Verify that they have relevant EXIF data
+which looks correct or at least does not not look obviously
+incorrect.
+
+
+Exporting
+---------
+
+Select some photos and export them twice: once as the original
+files, and once as JPEGs. Export each to a different (preferably
+new) folder.
+
+Verify that the exported files look correct by opening them in
+a suitable image viewer.
+
+
+Tagging
+-------
+
+Create some tags. Arrange them in a hierarchy by dragging and dropping
+them.
+
+Add tags to photos by dragging and dropping to them, and to the
+currently selected photos' tag list. Select several tags, and
+several photos, and drag the tags to the photos. Verify all
+photos got all tags.
+
+Remove tags from the photos' tag list using the popup menu.
+
+Remove tags from the global list. Also remove a tag that apply to
+some photos, and verify they get removed from the photos as well.
+
+
+Rating
+------
+
+Select photos and add ratings to them. Then change the ratings.
+Verify that they ratings stick if you select some other photo and
+then go back.
+
+
+Searching
+---------
+
+With some photos and tags and ratings in the database, search for
+them with various criteria. Verify that you find the right ones.
diff --git a/dimbola.com/wishlist.mdwn b/dimbola.com/wishlist.mdwn
new file mode 100644
index 0000000..7567480
--- /dev/null
+++ b/dimbola.com/wishlist.mdwn
@@ -0,0 +1,153 @@
+[[!meta title="wishlist for Dimbola"]]
+
+This page lists wishes for new stuff to add to Dimbola.
+See also [[problems]] page.
+
+Done in bzr, but not in a release yet
+-------------------------------------
+
+* Allow user to remove photos from database and optionally from disk as well.
+
+
+Planned for the next release
+----------------------------
+
+* Dimbola should write (and rotate) a log file that could be added
+ to bug reports easily.
+* Add date of import. This could be used for an iPhoto-like "list of
+ imports" view. Perhaps a "import id" as well?
+
+
+Website
+-------
+
+* Website wants to be loved by a web designer. **Help needed.**
+* Make a feedback form for each release, using ikiwiki polling features.
+
+
+Importing photos
+----------------
+
+* Importing should detect duplicate photos and optionally not add them.
+* Maybe importing should add photos really fast, and then add thumbnails,
+ previews in the background?
+* When importing images to database, the folders with the new images
+ should perhaps be selected so the images are visible immediately.
+* Import should optionally be recursive: everything in subdirectories
+ should be imported as well.
+* Add all exif fields into database, not just selected ones. Let user see a predefined set,
+ all of them, or a user-defined set (multiple user-defined sets?). Add
+ way for user to re-scan all files for Exif headers (useful for then (py)exiv2
+ gets new features?).
+
+Thumbnail grid
+--------------
+
+* Thumbnails should have some basic metadata displayed: stars for ratings,
+ at the very least.
+* Thumbnail grid should allow selecting by painting with the mouse.
+* Thumbnail grid shows images in semi-random order (photoid). Order by mtime, if nothing else.
+ Ideally user should be able to choose from different orderings, such as
+ Exif timestamp, camera photo serial number, or file mtime.
+
+Tag and tag management
+----------------------
+
+* Tag tree should allow showing all tags (expand all trees), only top level
+ tags (close all trees), or close everything except a single tree.
+* Photo's tag list: should let user select whether to show only tags
+ explicitly added, or also their parents (and aliases if those are added).
+* Should be able to add add multiple tags to multiple photos at a time with drag-and-drop.
+
+Exporting photos
+----------------
+
+* Add tags, exif to exported photos (jpegs, originals).
+
+Editing with the GIMP
+---------------------
+
+* When editing with gimp, can we export a .xcf? Or have gimp do raw conversion?
+
+Code reactoring
+---------------
+
+* When grid.photoids gets set, it should automatically trigger loading of thumbnails
+ from database, and also shouldn't forget thumbnails that are in the new value of
+ photoids.
+* remove_from_menu should be accompanied by method that just removes all menu entries
+ added by that plugin.
+
+New features
+------------
+
+* Preview sizes should perhaps be user-configurable.
+* Searching based on Exif headers would be good. ("Find all photos taken
+ with this camera and that lense on this time of day.")
+* It should be easy to copy tags from one photo to another.
+* Folders, tags (in tag tree), and grid should display photo counts.
+* Remember some settings across restarts, such as size of thumbnails.
+* Undo/redo: adding, renaming, removing tags in tag tree; adding, removing
+ tags to photos; rotate; ratings; ...
+* Tags should perhaps have aliases, flags (export with photo, export when
+ sharing tag lists). See also <http://blog.liw.fi/posts/dimbola-tag-system/>.
+* Search tags in tag tree. Add a search box at the top.
+* Should handle the case when photos move in the filesystem: have a way to
+ search for and reconnect with photos after they've moved. (Might happen
+ 'cause they're on an external disk and the mount point changes.) Store
+ checksum, size of original files and use that to find the photos if they
+ move.
+* Would be nice to handle offline images properly: indicate when they're
+ not there, and warn (not crash) when doing things that would require
+ them.
+* Would be nice to have an icon for Dimbola. **Help wanted.**
+* Add the functionality of dimbola-copy to dimbola-gtk.
+* A performance stress tester for the database would be good, so we know
+ how big a photo set it can handle.
+* Support IPTC tags.
+* Make it possible to have "presets" of tags and other metadata that get
+ added to images when they're imported, or later.
+* Background jobs should estimate remaining time.
+* Smart collections or saved searches, a la Lightroom.
+* Collections or manually created virtual folders, a la Lightroom.
+* Should use unicode only in the database, and not allow any other kind
+ of text.
+* Synchronization between Dimbola databases would be really cool.
+* Add support for arbitrary key/value pairs as metadata?
+* Dimbola should have File/New, File/Open, File/Close. Not File/Save, since
+ all changes are saved immediately and implicitly, but perhaps
+ File/Save as.
+* Need to add i18n and l10n.
+* .dimbola files need a MIME type of their own, so double-clicking on them
+ will open them up in Dimbola without hassle. But not all Sqlite files!
+* Verify checksums of photos, at opportune moments. Also, a background job to
+ verify checksums of selected photos, or all photos.
+* Export metadata to photos (not doable for RAW images, mostly) or XMP files.
+ Either manually, or automatically for each change.
+* Large thumbnail or small preview of the selected photo, a la Lightroom.
+* Film strip to show all photos on the grid, for non-grid views to show context.
+* View two photos at a time to compare them.
+* Survey mode: show all selected photos, then allow user to deselect
+ and make the remaining thumbs bigger (as big as they can be while
+ showing everything). does this emphasize "find faults" rather than "find good stuff"?
+ (see [Carl Weese on editing](http://theonlinephotographer.typepad.com/the_online_photographer/2009/10/editing-a-large-set-of-digital-captures.html)
+ and [followup](http://theonlinephotographer.typepad.com/the_online_photographer/2009/10/zen-slap.html),
+ both at [The Online Photographer blog](http://theonlinephotographer.com/))
+* Make a PDF, video file, and web slideshow of selected photos.
+* A "previous import" collection, or perhaps a way to show all imports as folders.
+* When no photo is selected, say so in the photo info and other sidebar sections, rather
+ than just making them insensitive. This would provide a hint to the user what the
+ reason for the insensitivity is.
+* Do some database stress testing: add logging of what requests are done to the db.py module,
+ then make a dummy database that is very large, and do the requests on that many times.
+ Does it work? What's slow? Memory usage?
+
+Definitely not until after 1.0
+------------------------------
+
+* Some RAW processing support would be good. (Set parameters for dcraw
+ when it is run.)
+* Support geo stuff: add location tags from GPS traces (match on timestamps),
+ find by location, perhaps show and search on maps.
+* A plugin to export selected photos as a PDF formatted for printing as a
+ book would be nice.