1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
5 <title>Booh - The Web-Album of choice for discriminating Linux users</title>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
7 <style type="text/css" media="screen"
9 pre { background-color: #e0e0e0; }
10 tt { background-color: #e0e0e0; }
13 <script type="text/javascript">
16 var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
18 s.type = 'text/javascript';
20 s.src = 'http://api.flattr.com/js/0.5.0/load.js?mode=auto';
22 t.parentNode.insertBefore(s, t);
28 <body bgcolor="#FFFFFF" text="#000000" link="#0000ee" vlink="#551a8b" style="padding: 0em 3em; text-align: justify">
30 <table width="100%" cellspacing="0" cellpadding="0">
32 <td width="25%" align="left" valign="top">
33 <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://booh.org/"></a>
35 <td width="50%" align="center">
36 <img src="images/logo.png" alt="booh logo"/>
38 <td width="25%" align="right" valign="top">
39 <img src="images/en.png" alt="this page is in english"/>
40 <a href="advanced.fr.html"><img src="images/fr.png" alt="cette page en français"/></a>
45 <h1 align="center">Booh</h1>
47 <p align="center">[ <a href="index.html">home</a> |
48 <a href="themes/cardu/">example web-album</a> |
49 <a href="video-demo.html">video demo</a> |
50 <a href="tutorial.html">tutorial</a> |
52 <a href="discuss.html">discuss</a> |
53 <a href="download.html">download</a> ]</p>
55 <a name="performance"><h2>Performance - web-album creation</h2></a>
57 <p>To improve performance when creating thumbnails - a long and
58 painful step when creating web-albums - Booh takes advantage of
59 multi-processor machines.</p>
61 <p>The following figures were obtained on a Pentium-4
62 hyperthreading 2.8 GHz with Linux 2.6.6 SMP 4G (note that this
63 is by no mean a real multi-processor machine) with the same
64 bunch of thumbnails to create:</p>
67 Regular 2:10.81 elapsed
68 --mproc 2 2:01.44 elapsed
71 <p>This is not bad, but clearly shows that an hyperthreading
72 machine is not a real SMP machine by far! Now let's try with a
73 6-way Pentium-3 Cascades 700 MHz:</p>
76 Regular 2:58.07 elapsed
77 --mproc 2 1:32.48 elapsed
78 --mproc 3 1:03.34 elapsed
79 --mproc 4 0:49.12 elapsed
80 --mproc 5 0:40.86 elapsed
81 --mproc 6 0:39.03 elapsed (I should have killed those useless apache processes!)
84 <p>Now this multi-processor support Booh has is not a toy
87 <p>More recent tests (not the same photos), on a Core i5
88 650 (dual core HT) 3.2 GHz with Linux 2.6.33.7 x86_64:</p>
91 Regular 0:48.79 elapsed
92 --mproc 2 0:27.87 elapsed
93 --mproc 3 0:20.38 elapsed
94 --mproc 4 0:16.96 elapsed
99 <a name="classifierperformance"><h2>Performance - <i>booh-classifier</i></h2></a>
102 A test has been conducted on a p4 2.8 GHz with 1G of memory
103 running GTK+ 2.12.9: loading 134 3456x2304 photos coming
104 from a Canon EOS 350D, worth a total of 396 MB. After all
105 the files are in the file system's cache, the time to show
106 a thumbnail for all the photos is measured with
107 <i>booh-classifier</i> against other widely used programs:
111 <li>booh-classifier 0.9.0: 18.9 seconds</li>
112 <li><a href="http://gthumb.sourceforge.net/">gthumb</a> 2.10.8: 22.5 seconds</li>
113 <li><a href="http://www.gnome.org/projects/eog/">eog</a> 2.22.0: 28 seconds</li>
114 <li><a href="http://www.konqueror.org/">konqueror</a> 3.5.9: 1
115 minute and 40 seconds (konqueror is apparently very slow for that
116 large photos, while it's reasonably fast for smaller photos)</li>
120 Notice that also, gthumb and eog don't preload neighbourghood
121 photos (konqueror neither, but that's not applicable anyway); eog
122 is not capable of showing videos; and konqueror don't even show
123 portrait photos (containing the proper EXIF orientation)
124 correctly rotated - though I suspect it might be related to
125 something with the compilation or the configuration which I
126 wasn't able to locate.
134 <p>To reduce disk space usage, web-albums including the original
135 images use hard links between the original image in the source
136 directory and the destination directory. Of course, this requires
137 you use a single disk and partition for the source and destination
138 directories; if this is not the case, the image is simply copied
139 (that's fully transparent to the end-user).</p>
144 <h2>Architecture and data processing</h2>
147 The web-album generating is fully done by a CLI program called
148 <tt>booh-backend</tt>. It generates and/or manipulates an XML
149 file. Editing is done by a graphical front-end (using GTK+) called
150 <tt>booh</tt>. Therefore, one can generate a web-album with no
151 editing (and actually no human input)
152 <a href="tutorial.html#fastest">only with the CLI program</a> if
153 necessary, or opposedly, only use the graphical program if so
154 enclined (which is the easiest and recommended way). The use of
155 the XML file in between allows for easy "scripting" or
156 "extension" with any XML processing tool if needed. The XML file
157 has a straightforward DTD and actually comprises a tree of
158 elements similar to the filesystem tree of the web-album.
165 <p>The web-album generated by Booh makes heavy use of javascript in
166 order to be able to perform clever preloading of next/previous
167 images, and to show all images within a single HTML page (saves a
168 download and prevent from changing your scrolling position in the
169 browser). It should work fine with the broken insecure dominant
170 web-browser, but it has been developed using Galeon. Also, notice
171 that the generated album is perfectly viewable without javascript
172 (specific HTML pages are generated for that matter), hence
173 javascript is not mandatory to browse the albums (a browser with
174 javascript disabled will still be able to browse the albums).</p>
176 <p>The default theme, 'simple', has been written to be simple,
177 slick and could probably look better (submissions welcome). It has
178 several sizes of thumbnails and fullscreens, carefully crafted to
179 fit the most out of 800x600, 1024x748, 1280x1024, 1400x1050 and
180 1600x1200 displays (you can select the list of sizes you want for
181 your web-albums - then, when users browse the albums, a javascript
182 autodetection of the best size to fit the actual browser window
183 size is used). People interested in HTML/CSS are welcome to submit
184 new themes - check out the file THEMES in the tarball for
185 documentation about it.</p>
187 <p>If you want to create a new theme, or make local modifications
188 to a theme, just have them in your <tt>~/.booh-themes</tt>
189 directory (Booh version 0.9.2 and more recent). For example, to
194 # mkdir ~/.booh-themes
195 # cp -a /usr/share/booh/themes/dark ~/.booh-themes/mine
198 <p>Use a different name than original theme names (here I picked
199 the dummy name 'mine', choose a better one).</p>
202 Currently available themes: <a href="http://booh.org/themes/simple/">simple</a> -
203 <a href="http://booh.org/themes/cardu/">cardu</a> -
204 <a href="http://booh.org/themes/dark/">dark</a> -
205 <a href="http://booh.org/themes/sbs/">sbs</a>.
211 <h2>Translations</h2>
214 Booh has full internationalization support. Additionally, Booh
215 can generate web-albums with multi-languages navigation, so
216 that the web-albums automatically adapt to the language of the
217 user who's browsing! If missing, please contribute a
218 translation to your native language! Check the directory 'po'
219 in the download archive.
222 <table cellspacing="0" cellpadding="0">
225 Booh is already available in french, german, japanese and
226 esperanto (beside english, of course).
228 <td align="right" width="1%">
230 <img src="images/en.png" alt="english flag"/>
231 <img src="images/fr.png" alt="french flag"/>
232 <img src="images/de.png" alt="german flag"/>
233 <img src="images/ja.png" alt="japanese flag"/>
234 <img src="images/eo.png" alt="esperanto flag"/>
241 <p align="right"><font size="-1">Wed Jun 1 17:53:58 2011</font></p>