2008 News

2006 News

2005 News

2004 News

2003 News

Upcoming Improvements

Future Plans






I've spent thousands of hours developing Album Shaper. If you enjoy using Album Shaper, please send in a donation to show your support!

SourceForge.net Logo

2006 News

11/27/2006 Reveal 1.2 SUSE Packages
Thanks to Pavel Nemec SUSE SLE 10, 10.0, 10.1, and Factory (10.2) packages for Reveal 1.2 are now available. Enjoy.
10/29/2006 OpenGL Blues
Gotta love upgrade cycles. When I upgraded to Qt4.2 Presenter like totally broke. After playing with it some more tonight I finally got it kidna working again. This and some experiences I've had with Qt at work recently have taught me some lessons regarding layout and emitting signals within paint events. Basically it isn't a good idea. Unfortunately with Presenter I need to do some heavy lifting automaticlaly in response to timer events, but ideally I'd like to still do that in an auxiallary thread. I really need to look into this.

In other news, I'm starting to think this web site is looking a bit confusing and cluttered. It is no longer about just Album Shaper but the layout does not reflect this. Perhaps if I can find some free time I'm work on a better organization as well. A nice Web 2.0 like design using crazy AJAX would be cool but I don't have that much time on my hands. If anyone would like to help out with a project like that please let me know.

10/16/2006 libtiff
It's come to my attention when compiling Reveal 1.2 and dynamically linking against libtiff you can get a slew of linker errrors. My bad. If you edit projects/libraries.pri and add the following line under the libjpeg line things should work out:

contains(CONFIG, libtiff) LIBS += -ltiff

An updated libraries.pri file can be found here. If you're still having trouble compling under Linux let me know

10/13/2006 Reveal 1.2
Reveal 1.2 is now available! I've placed binaries for Windows and Mac OSX on the project page, as well as source tarballs. If people contribute packages for various Linux distributions I'll place them there as well. This version of Reveal adds read support for 10 file formats (PNG, TIFF, ARW, CR2, DNG, NEF, PEF, MRW, SR2, THM). You can view and edit photo descriptions under the summary pane. Auto rotated embedded thumbnails are now visible under the details pane in the proper section. The image zoom feature I added in 1.1 was a little jittery. I think you'll find it silky smooth this time around. Reveal now sports a very professional looking application icon thanks to Johan Basberg, which inspired me to write a new general purpose about dialog dialog for all clay based apps which presents scrolling fading credits in addition to Johan's new icon in its larger form. Reveal is now linked against Qt 4.2 and exiv 0.11. A full list of all the changes in this release is available here.
10/10/2006 Windows and Qt4.2
I havnt' been vocal about it, but a nice update to Reveal is coming down the line. I finally got it all compiling nicey on Windows. Everything appears to be working aside from the image thumbnail which I'll have to work on. Reveal now compiles agains Qt4.2 which sports a number of minor and major improvements, as well as exiv2 0.11 which supports a number of new file formats. I've been working on additional file format support, a new about window, and a few other things. I also took the time to document the steps invovled in compiling Reveal or other Clay projects on Windows using MinGW. I even go through how to compile all the libraries step by step. This is a big deal, at least to me. While I doubt many if any people will try compiling these things on their own on these platforms, it helps me to have a readily accessible set of instructions I can follow to get a new development machine up to snuff. Not that I have one of those. For making Windows binaries I'm still using an ancient 700mhz Dell laptop which no longer even has a battery (no it didn't explode or catch fire). Perhaps I'll take a closer look at the next gen Mac Books and Mac Book Pros when they come out.
8/29/2006 Draggable Widgets
The next version of Presenter will tentatively include three draggable widgets. In addition to the Info widget which shows the date, time, and limited other EXIF data, I'm planning on including a truncated filename widget and a description widget. All three will be togglable and draggable. I just finished writting a DraggableWidget base class that these widgets will now extend. The Info widget and the Filename widget have both been updated and simplified now that all dragging logic is implemented in the base class. This is quite nice, as the Info widget has gotten considerably simpler and concentrates just on Exif stuff. I'll have to fix the Description widget next and actually finish it. Another nice touch is that widget placement is now resolution indepdent, meaning if you copied your preferences over to a new machine or changed your current machines display resolution widget placement will not change. This might also come into handy if using Presenter to show photos on a projector that uses a differnt display resolution that what you're used to using for day to day stuff.
8/11/2006 Reveal Review
I've been so busy recently I havn't been able to do much Clay coding, much less see if anything about AS, Reveal, or Presenter has been written in the press. For the heck of it today I did a Google search and picked up this favorable review of Reveal comparing it to iPhoto's photo info window. It's nice reading stuff like this from time to time. They make a good point though. For the next release I'm going to see if I can add the flash and exposure bias to the exposure pane to the right of the Flash and Sensitivity values.
8/3/2006 Album Shaper EXIF Based Descriptions
As many know Album Shaper 2.1 does not support EXIF. Future versions of Album Shaper certainly will. In fact, Reveal was developed initially to be included in Album Shaper as a photo info window and will be included with Album Shaper in the future. For now if you'd like to create galleries of your photos you've already labeled using other software that stores descriptions in the images metadata section try out this script provided by Andras Horvath. Thanks Andras!
7/21/2006 Presenter 0.9
Presenter 0.9 is now available! Consider this a prerelease that works quite well. There are a slew of features and modifications I'm very interested in seeing implemented yet, in addition to better framerates on older equipment. For now, here is a working list of ideas: (*Updated/Added)
  • Mulithread texture loading*
  • Toggle showing file name* - Complete
  • A timeline widget that moves from from the top and allows you to scroll and skip to any photos in the slideshow
  • A draggable collapsable description widget with scrolling fading effects. Similar to the iTunes about window.
  • Support for jumping to the beginning or end of the slideshow
  • Ken Burns transition
  • Support passing in directory at runtime
  • Support viewing slideshow of photos online via HTTP in combination with a clever caching system for fast back and forth over photos already viewed
  • Support viewing photos described in structure files so Presenter can be used to view smart albums in the next generation Album Shaper
  • Improve framerate on older slower hardware (currently ~10 FPS on a circa 2000 Dell L400 with integrated crappy rage mobility gfx chipset)
  • Actually test on Linux and make changes as necessary
  • Support auto play off CD's so slideshows can be "given to grandma" and just work, cross platform
  • Burning support (CDR and DVDR)? Songbird may be paving the way to supporting such functionality in a cross platform manner.
  • On the fly image processing effects, like blending between full color and sepia coloring using the GPU and Fragment Shaders when available
  • Support for additional file formats (tiff, png, gif, bmp, various RAW formats?)
7/20/2006 Crazy
Sorry I have not posted an update on this site for ages. Life has been crazy. Since my last posting I've gotten married, went on a honeymoon, the startup I'm working at finally secured funding and as a result we've started development at a dizzying pace. Unfortunately that has meant Clay-based development has slowed much more than I would like. My wife and I have been getting a slew of photos from the wedding, which we have been able to view in full screen glory with nice transition effects using the unreleased Presenter. It's time for others to have a chance to enjoy Presenter, even if it is not finished yet. A few days ago I tidied up some loose ends like disabling/hiding some unfinished unstable features, then last night got it all compiling and running on Windows 2000. There is one apparant glitch remaining on Windows before I'm prepared to released version 0.9. I'm not calling it 1.0 because it does not have all the functionality I wanted for 1.0, but it's getting there. My plan is to get 0.9 out as soon as possible, maybe even this weeked, then release a slew of point releases (0.9.1, 0.9.2, etc) until I'm happy with the feature set and stability across all major platforms (OS X, Windows, and Linux), at which point I'll release the big 1.0.
4/30/2006 Reveal 1.1 Suse RPM
Many thanks to Jochen Klaus for providing a Reveal 1.1 Suse 10.0 RPM! More packages are on the way...
4/26/2006 Antialiased Fonts under OpenGL
Feeling pretty good about myself right now. I just put the finishing touches on a new OpenGLFont class for rendering scalable, rotatable, antialiased fonts in OpenGL. Qt's renderText function is a real pain. Qt and most 2D drawing libraries have the y axis point down where as under OpenGL it by defualt points up. This meant all my Presenter code, which is largely OpenGL calls, were using two differnt sets of Y coordinates. One for normal rasterization, and a second for drawing things using renderText. This was ok for a while, but I finally started running into the wall. renderText doesn't let you scale the text, or rotate it for that matter. The text isn't antialised either, even if you turn on multisampling. For some reason code which used to work stopped working on my ancient Windows laptop at some point during the Qt upgrade cycle. Somethings about being unable to generate the necessary display lists? This called for writing my own texture based text rendering system. As you can see in the screenshot the text is antialised. It can also be scaled, rotated, what have you. My code is losely based on Sascha Hlusiak's GLFont class with a few improvements. For systems that can handle it we don't use power of two textures, saving a little texture memory in the process and speeding up rasterization slightly. I also don't allocate 65536 display lists per font up front since only a VERY tiny portion of these will ever be used and simply using two fonts at once caused me to run out of display lists even on my hefty GeForce 6800 ultra. I may take things one step further and allow font reuse across widgets that don't know anything about each other by placing all OpenGLFonts into a QHash, we'll see. The neat thing is that I can already do nifty collapsing effects for the Details widget.
4/21/2006 Presenter Widgets
After several days of work I've finished ripping all the display code out of Presenter's HUD. Now the various user interface elements are impelmented by separate Widgets. I had no idea the HUD would get so complicated but now with the controller, FPS notifier, Details viewer, transition options controlers, and the planned photo selected and photo description viewer the HUD was becoming a mess. The class has exploded to well over 1,200 lines of hard to read code. I've gotten HUD.cpp down to ~160 lines of code which is far easier to follow. A lot of common stuff across widgets is now handled by the widget base class. The next step will be fixing the mouse not to hide while some UI elements are still shown (the controller, photo selector, or transtion options pane). I want to fix up the transition options widget painting code some, remodal the FPS indicator to make it look like a spedometer on a car (easier to track), then get to work implementing the expand/collapse behavior of the Details and Photo Description widgets. You can already drag the Details widget around which is pretty cool.
4/20/2006 Softonic Award
Reveal was awarded 3.5 stars by Softonic, but they seem to think it's just an OSX app. Maybe once they realize Reveal runs on Windows and Linux as well the rating will go up. :-)

Thanks to Barak Koren, Reveal is now partially translated into Hebrew.

4/18/2006 Czech
Many thanks to Karel Sybera for translating Reveal into Czech. This mostly completed translation is now available and Czech users should see it automatically downloaded within a week. Reveal only checks for new translations once a week. If you would like to start using this translation immediately contact me and I can send you instructions. In the future a "check now" button in a new preference system will make this easier.
4/17/2006 Reveal 1.1
Reveal 1.1 is now available. It's a universal binary so it'll run very natively for new Mac folks with Intel processors. It uses Qt4.1.2 so the look and feel has been improved for that reason as well. You can now view CRW files, expand the photo thumbnail, export metadata as text or xml, in Reveal now supports internationalization. Right now only a Spanish translation is available but additional translations should become available soon. Binaries are available for Windows and Mac OSX for now. Packages for Linux will hopefully be available soon as well.
4/7/2006 Presenter
Reveal 1.1 is ready to be released, it just needs to be translated. I sent out an email to translators a while ago, but for some strange reason I havn't heard back from any of them. I'll send out another message today but if I don't hear back from anyone around the middle of next week I'll go ahead and relase Reveal anyways. The new translation system allows translations to be released after applications are actually released anyways.

So while Reveal has been stopped dead in the water the last two weeks I have been keeping busy. I'm moving on to the next Clay based app I'm interested in: Presenter. Presenter will be an OpenGL accelerated slideshow program that suports 9+ nifty transition effects, a slick heads up display (HUD). Things are progressing very nicely. Aside from jumping to the beginning or end of a slideshow things are currently working very well. The basics of the HUD are up and running as well. If you position your mouse at the bottom of the screen you'll see previous, next, play and pause buttons that show pliancy, as well as the current photo # at the top of the screen. One can also change the transition type and delay while in a slideshow, in addition to reverse directions. Presenter is being developed to handle lots and lots of photos at once. So far this has involved developing a constant time directory traverser and a separate worker thread to count the # of photos that are being viewed. I hope in the near future to put all texture loading into one or more worker threads to improve the already decent framerates for older slower machines. A lot of work remains, but something usable already exists. If you're daring try compiling the svn code and see for yourself.

3/8/2006 Clay gets a Translation Manager
Clay has a feature complete translation manager and man is it easy to use. Reveal only required adding two lines of code to fully support internationalization and automatic translation installation and updating. There is absolutely no excuse for any Clay based app not to support i18n out of the box. Reveal development is now winding down. I need to deal with some binary conversion problems that occured with the CVS &rarr SVN transition. I also need to create new source and OSX disk image packagers. Rumor also has it Reveal may get a new application icon.
3/2/2006 Windows Port
I spent the day today getting Reveal compiling and running smoothy under Windows. All looks pretty good. I was able to write a temp file class pretty easily the other day so that issue is taken care of. Some work has been accomplished on translations. I can create .ts files using a bash script, and identify in a created TranslationManager object what modules need tranlsations to be loaded. I need to work on getting the new manager to identify the most update to date valid translations to load, then work on porting over the automatic update/install mechnism. That'll take time, but every time I build one of these general purpose classes designed for all Clay projects to take advantage of it has been so rewarding. I'm really looking forward to seeing it up and running.
2/27/2006 Clay Update
Work with the new Clay repository is going very smoothly. Sourceforge just announced Subversion support and Clay has already been migrated. When it is finally time to release the first Clay-based application I'll update the information on the download page as to how you can check out the bleeding edge code from svn. For now, if you're dying to know what kind of stuff is going on in svn, you can read the changelogs for Reveal and Presenter. I suppose the Presenter changelog doesn't indicate anything yet, so for now this will have to do. Reveal is looking very sharp. I need to develop a temp file class for generating unique temporary filenames and autodeleting them once we're done with them. This is necessary for the code that generates thumbnails for CRW raw images. I'm also in the process of working on translation support. I still intend for Reveal 1.1 to be shipped supporting i18n. I've already developed a script for generating ts files for all relevant modules for a given project. Then next steps will be to a.) magically handle loading relevant translation files when a program starts and b.) port the auto download/update translation magic I have in the old albumshaper2 cvs repository. The former is fairly trivial, while the latter is not although I have a good deal of code already sitting around. Once these two aspects are complete I'm thinking Reveal 1.1 will finally be feature complete and only testing will remain before the actual release.
2/6/2006 Hands on Open Source
For those who might be interested, Dmitri Popov wrote to tell me that his News Forge article about Album Shaper has been reworked and included as a chapter in his book "Hands on Open Source." In other news work on Reveal and Presenter are going well. The UI for Presenter has improved quite a bit. More code from AS2.1 will have to be ported to Clay in order to implement remembering user defaults which I'll probably work on next.
1/27/2006 Clay
While things have appeared quiet I have actually been quite busy. Just about all of the backend Album Shaper code has been ported to a new modular code base. All backend toolsets are now static classes. All such code has been ported to Qt4 and a large chunk of it has had some intial testing performed on it. Various projects (Reveal, Presenter, GalleryGenerator) are now building within this new system. The current projects are all modules that can use any backend modules they want (generalTools, imageTools, xsltTools, etc) and if they do so library dependencies are automatically determined and the build rules automatically updated. Developing modules within this new structure, which I've decided to call "clay," is starting to be a lot of fun. All of Reveal has been ported to this new system and today I finally got Reveal fully functioning again, now under Qt4.1 using exiv0.9, which means Mac users will notice Panther style tabs, other minor GUI improvements, and with these a few minor features such as keyboard shortcuts for toggling editing and switching between tabs. Exiv0.9 supports reading and writing meta data in CRW files. It looks like Reveal handles reading such data, but write support still needs a little work. A lot of this has been made possible because I have a new developer, Oliver, helping out with things. Together we discussed a lot of the new structure and organization, and he will begin taking the lead role in developing the GalleryGenerator module which will be responsible for creating web galleries from within the next Album Shaper, but ones which will be far more flexible in more ways than I care to describe here right now. Meanwhile I'll be getting back to working on Presenter, which is shaping up very quickly into a slick OpenGL based slideshow program with various transition effects. The remaining work on Presenter is for the most part stuff to do with the HUD. Once I get Presenter in better shape, debug Reveal CRW support, and test this stuff on other platforms, I'll probably release a version of those two programs. After that I'm not sure where work will concentrate. The GalleryGenerator is a non-trivial task and will take some time. Writing the new Organizer module will probably be my next task.
1/5/2006 Finish translation, 2006 plans...
Happy new year! To start off 2006 there is a new translation availble, this time for Finnish, thanks to Jarkko and his brother Tuomo Sipilä. Album Shaper has now availble in 14 languages.

I'll make the rest of this update short but sweet. While I havn't posted anything in a while, I have been busy. I've been developing another separate project that will in the future be part of Album Shaper, much like Reveal. This time it's a full screen OpenGL based slideshow program with various transition effects. While on the train back to NJ yesterday I ported it to Qt4.1. It has a lot of work left, but it's coming along very nicely. If you can't spot the trend, here is it. My free time in 2006 will be spent morphing Album Shaper from a monolothic project into a very modular one, where modules can often be built as separate programs (Reveal, Presenter, etc). This is very similar to the Mozilla, Firefox, Thunderbird maddness, except I intend to pick project names that describe the actual functions of the programs, and not just bird names or something. There are many reasons to be doing this now:

  • The Album Shaper codebase was orginally designed to be a web gallery creator and updator. Not an image editor, EXIF metadata viewer and editor, slide show viewer, calendar creator, archiver, massive library manager, etc. etc. Heck, the web galleries themselves were not intended to be nearly as flexible as they have become and will become. Working with the original project organization is becoming burdensome.
  • Trolltech has released Qt4.1, the second of the Qt4 series. Qt3 is now not being actively updated, just maintained. Qt4 is very exciting for a number of reasons (build in double buffering, advanced painting facilities, faster and smaller code, better OSX support, etc etc) and now truely is ready for use.
  • Sourceforge has announced it will support Subversion in the not too distant future.
  • I'm starting to see interest in the open source community in helping me actually develop Album Shaper.
Porting the entire application to Qt4 all at once is a nightmere, even if you use the qt3to4 tool which I don't trust. The app already needs a new modular redesign, and a modular design that would allow parallel development of modules would be a big plus. Subversion support will make moving around files within the repository feasible. So there you have it. Album Shaper will be iteratively rebuilt in a modular fashion and in fact this process started when I started building Reveal which already compiles standalone and integrated into Album Shaper in CVS. Over the comming weeks we'll get an initial new directory structure hammered out and will start working on some of the new modules in a new CVS or Subversion module. The first modules that will be worked on are Reveal, Presenter, and a web gallery generator. This will be followed by a new photo library manager (Organizer) that probably will be based on OpenGL and will by multithreaded. Modules that will come later are the image editor, a new Exporter, Importer, and much more. Basically all these changes will facilitate far more flexibility, cleaner and less buggy code, a slew of spin off projects, and will facilitate drawing in new developers to help with the Album Shaper project. 2006 will be an exciting year for sure.

2005 News...

Copyright © 2003-2005 Will Stokes