Home

News

2008 News

2006 News

2005 News

2004 News

2003 News

Upcoming Improvements

Future Plans

Download

Screenshots

Documentation

Feedback

Contribute


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

2004 News

12/10/2004 Windows Support
A few users have brought to my attention Album Shaper 1.0 will not run on Windows 95/98/ME machines. This unfortunate problem involves how user settings and temporary files are stored on these OS's compared to Windows 2000 and XP (where Album Shaper has been tested and does work). Furthermore, there are a few strange versions of Windows out there for international users where the standard folders have changed again. The CVS code has been vastly improved to use standard Windows API calls to determine these locations on your hard drive and theoretically resolve ALL of these issues. In other words, I believe the code in CVS will work on Windows 95/98/ME and international versions of Windows in addition to 2000/XP support that was already known to work. I you'd like to test this theory out for me send me a message so I can hook up with a test binary using the CVS code. Thanks! Ideally I'd like to KNOW that the next version of Album Shaper can run on each of these systems and there is no reason it should not be able to.
12/08/2004 Tilt-Correction / Setting Desktop Wallpaper
Since my last post here I've added to the CVS code the capability to set the desktop wallpaper. As far as I know Album Shaper is the only cross-platform app that can set a users desktop wallpaper on Windows, MacOSX, and KDE/Gnome under Linux. Neat. That said the Gnome code is entirely untested (I don't have access to a Gnome desktop) so if any Gnome users are out there and want the ability to set their desktop wallpaper from a photo in an album with the click of a buttom from within Album Shaper then please check out the CVS code, give it a whirl, and let me know what you find. Support for Window, OSX, and KDE has been fully tested and worked great.

The second bit I've worked on is a new feature I call "tilt-correction." In addition to rotating images by 90 degree increments you can now rotate images just right so they stand up straight with three clicks of a mouse. Simply click the correct-tilt button and then select two points on what should be a vertical or horizontal edge in the image and presto the image is fixed as you can see the example image shown here.

11/15/2004 New Editing Interface Complete
Ok, the rewritten editing interface looks to be finally complete so I'm posting a teaser screen shot. You can check the correctly working again CVS updates page (see link above) to see what all the new editing interface provides, but I'm sure you'll all enjoy it once you use it. Looks pretty doesn't it?
11/13/2004 Red-Eye Reduction
I think I've finally wrapped up the major work regarding the brand new editing interface which features a number of all new image enhancements (color, contrast, red-eye) and manipulations (black and white, sepia, invert, color embossing, oil painting, etc). Today's posting regards the last of the image enhancements, and one I've wanted to work on for a LONG TIME now (over two years)... red-eye reduction. Red-eye is a common problem in photography, and if you don't know already, is exacerbated by modern compact camera design in which the built in flash is closer to the lense where the picture is being captured. Basically, older 35mm cameras with external flash is much less likely to get this problem, and higher end digital cameras still provide an external flash for this and many other reasons.

That said, I have a small compact digital camera (Olympus 3030z) which an integrated flash. I have an external flash connector, but no external flash. (Would I use one if I did? Lugging such more stuff around would be a pain) So my photos taken using flash semi-often have red-eye problems. Getting your subject to stare at your shoulder helps alleviate this problem a bit, but no rule of thumb in this regard is perfect. So what do I do? I've noticed many software packages include a red-eye reduction tool, which require varying amounts of user input and get various results. Usually these tools work pretty well, but sometimes they produce quite hideous results. I've completed a study of various software packages out there and the algorithms they employ (when available), in addition to reading some of the literature on the subject including research publications. Next I experimented with each of these techniques (and my own implementations of each) and used this information to develop my own red-eye reduction tool for Album Shaper!

While some programs let you just click an instant-fix red-eye button, in practice such an approach rarely produces good results. Often others areas of the image are affected like women's lips or other red objects in the room! The approach I've taken is to require the user to give the software a fair chance by identify the region within which the red eyes are found. My algorithm then finds all red objects, finds the red eyes from within this set, and corrects them in a much less brain-dead fashion than the majority of software products out there. Above are three images, an original image with red eye, what happens if you select the entire image and apply iPhoto's red-eye correction tool, and the results when Album Shaper tries to improve the image with the entire image selected. As can see iPhoto does not checking to make sure it's only fixing red eyes. All red regions are clobbered, including the woman's cheeks, a portion of her cheek, and even some of her hair. In contrast, Album Shaper correctly identifies the woman's eyes and only adjusts this region.

In addition to finding the eyes more accurately within a selected region, Album Shaper also employes a much more advanced algorithm for correcting the redness in red-eye regions. Other software packages either convert the area to black-and-white or simply desaturate the red channel using a simple threshold. The result is eyes that often look like they have cataracts, lose their natural color, and have sharp line artifacts at their fringes where often red color bleeds across the red-eye region boundary. My algorithm employes some of the ideas published by Gaubatz and Ultichney in their 2002 paper in order to reduce red-eye artifacts without producing a sharp discontinuity with non-red-eye regions. As you can see in the image on the right, Album Shaper preserves the glint in the center of the eye, produces a better IMHO corrected pupil color, while merging the corrected region in a more seamless fashion than iPhoto's red-eye reduction tool.

In many cases Album Shaper correctly identifies the red-eye regions and reduces them without accurate region selection, but in conditions where eye-detection is more difficult (usually results from the introduction of round red objects or image noise) more exact region selection produces good results.

11/08/2004 Fine Tune Interface
New teaser today. I've put the final touches on a new fine tune interface which you can see on the right. Using this tool you can adjust image brightness, contrast, in addition to adjusting the histogram boundaries, while previewing these adjustments before applying them. You can view one of three images: the original image, the adjusted image, and a split view of both images. Split view is show by default. You can drag the split point to reveal more or less of each image. Histogram boundaries are simply dragged back and forth as well. Regions of the original histogram that are not selected and hence either map to 0 or 255 are drawn in gray. The legend below the histogram also updates to show the current mapping. You can reset all modifications using the reset button, or reset just the brightness or contrast modifications by clicking their icons below their sliders. The interface provides feedback of changes in real time and makes it possible to fix up really messed up images in a few seconds as you can see.

I've also been hard at work on the image editing interface in general. I'm currently changing things up so that original images are NEVER lost. If an image is modified an original copy always lurks in the shadows, ready to be resurrected if you ever want to revert to the images original form. I'll post a teaser of the new editing interface once I'm happy with how it looks. It is very close to that point but still has a few rough edges.

10/25/2004 The Editing Interface Continues to Evolve
The next time I post a teaser of the new editing interface you probably won't recognize a single thing any more. Every inch of this thing is receiving a LOT of attention. All the controls have been laid out different. New features have been added, bugs have been fixed. It's just such a HUGE change from 1.0 that I'm not sure where to start. :)

The photoView class was renamed to the selectionInterface and will likely remain it's own class now that it's grown a bit again. Album Shaper now provides a VERY powerful selection interface. Selection coordinates are stored in image coordinates, which means I can handle resizing the window and resizing the displayed image as well. The interface now supports adjusting the selection by dragging any edge, corner, or the entire selection around. Selection look good but need to be a bit bigger? Control/Command click and drag and watch as it grows or shrinks. Feeling evil? Make it grow and grow until the selection reaches any edge of the image and it will continue to grow by will inch along in the directions as it needs to instead of from it's center to prevent going off the screen while maintaining the selection aspect ratio the entire time. Want to use a preset aspect ratio such as a 5x7 print? Support for preset aspect ratios and cropping to the current display resolution are now supported. Photos can now be rotated in the editing interface, as they should be. Effects (image inversion, converting to b+w, sepia, oil painting, more to come) can be previewed before applied, instantly! A new color balance and a properly working contrast enhancement tool are also easily available through the center of the interface. Of course, now that I've spent so much time on this, I'l have to spent a bit more, to put the final polish on this thing and make it great. I already enjoy using this much more than I do PhotoShop, iPhoto, or Illustrator. :)

10/18/2004 Revamping the Editing Interface
Recently I decided it was finally time to revisit the neglected editing interface. The code was riddled with bugs because it was really a big hack. Lots of redundant operations, horrible variable names, an buggy inefficient transformations made this thing kinda scary to use. I hope it never bit any of you too bad. I effectively have rewritten all of it. All image manipulations are handles by small straight forward transformation methods in the imageTools.cpp file. This means no actual image manipulation takes place in the GUI which is a GOOD thing. GUI code, and only GUI code, should be in the photoView and photoEdit classes. One of the next steps now that these classes have been dramatically simplified will be collapsing these classes into one and providing a zoom slider similar to that found in many other photo programs. I'm finding the fast JPEG resizing and info commands I have added to the backend make improvements all around the program easy and fun and possible! Honestly, it's kinda exciting all the stuff that is now possible. In addition to cleaning and debugging the interface I added a Sepia transformation and now allow the user to modify the current selection by clicking near any corner or edge and adjusting it. This last improvement is REALLY nice. Transformations are much more efficient now (approximately 4x faster) and are semi-instantaneous on my speedy 2.5ghz G5. I'll have to recompile on my 700mhz laptop to see how responsive stuff is over there now.
10/14/2004 Quiet Progress
I'm sorry I haven't posted an update here in a little while. Things have been busy, quite busy, so let me elaborate. In addition to starting work related to my new job, I have decided it is time for Album Shaper development to take a different direction. This project all began when I decided I had had enough of maintaining an annoying perl script that made uneditable web photo albums without any annotations. My goal when starting Album Shaper (then Album Maker), was to replace this annoying tool and allow albums to be annotated and modified. This modification feature was a big requirement for me because, if you have not yet realized, spelling is not my strong point. Well, I achieved that goal and soon started making Album Shaper better and better. Faster, more feature rich, and eventually prettier and simple to use. Well, I've achieved all those goals. The last six months I've fixed small bugs and tacked on random itches or features if you will. This is the open source way right? Well, while it may be, I believe this is an inefficient way to enrich Album Shaper and bring it to the next level. What is needed is a concrete new plan, a reason for why development will concentrate on the features and changes that it will. At the heart of this is a new mission statement, a formal one, and a design document that will plan out the next major revision of Album Shaper, version 2.0.

With this help of college friend Anthony Frasso, slowly such a document is being prepared. The document is available under the documentation section. Currently we are reviewing relevant competitive software on Windows, Linux, and Mac OS X operating systems. The results from this competitive review, along with an analysis of Album Shaper 1.0, will help us develop a plan to make Album Shaper 2.0 as good as the rest if not better. This process will be slow, but our plan is to have this document complete by the first of the year. Until then CVS work will most likely be minimal, but I should point out that I've already begun to clean up the code slightly for the 2.0 incarnation and checked in a new module: albumshaper2.

09/30/2004 Windows Screenshot
Yngve Svendsen let me know there was a bug in the 1.0 release with regard to certain non-english versions of Windows. Apparently the Norwegian version of windows uses strange directory names for user preferences and application data like "Programdata" instead of "Application Data" and so on. Weird! I've fixed the code so it uses Windows API calls to determine these directory names and even support Windows 95/98 which don't even use a "Local Settings" directory. In order to test this out I took the time to get the CVS code up and running on Windows which meant getting the libjpeg stuff up and running as well. After quite a bit of pain (resulting from mismatched struct sizes because booleans were being typedefed as unsigned char's instead of int's) I got it all working and polished the custom recent album paint code. I think it looks pretty good. Here's a teaser. Unfortunately this custom paint code is not support under OSX so smaller album icons are provided. If anybody knows what OSX API calls could be used to get around this please let me know.
09/23/2004 Recent Albums
Just finished up adding support for loading recent albums easily from a recent albums list under the file menu, in addition to a revert to last saved option to quickly undo all changes to the current album.
09/22/2004 Recent Albums
Kinda spur of the moment, but I thought I'd add a listing of "recent albums" under the file menu. Today I coded up almost the entire thing. The menu is there and is maintained properly from session to session and reacts to loads and saves, as well as supporting clearing the listing. The final step will be linking menu listings to actually loading the said albums. Finishing this up will let me quickly add a "revert to saved album" feature I've already added a menu entry for. These are ideas from playing with software included with my G5, as well as from a GUI design book I've been reading.
09/15/2004 Fixn's for Qt3.3
So I spent the entire afternoon yesterday trying to figure out how the collection icons were being displayed all wrong when I compiled the latest code on my new G5. After hitting my head against it for a while (and doing many diff's with the 1.0 code) it suddenly hit me: what if I didn't make the change that caused stuff to break! Sure enough, I've updated to Qt 3.3 since the 1.0 release and something in the Qt code-base gunked stuff up. I'm still not entirely sure what was going on but I've modified my code to do it the Qt way and gotten things under control again now. I remove the click to advance feature in slideshow mode since it was quite unintuitive (you'd accidentally click in sometimes and advance and think slideshow was actived when in fact things were paused, eh!). I also added a key-binding for slide shows. My plan is to release a 1.1 version of Album Shaper that provides basic slide show support and add theme-able support later. So the next step is handling the half baked references to the custom borders for the slideshow photo descriptions and making photo descriptions scroll if they are too large to fit on the screen at once.
09/13/2004 With XCode I can...
I've finally got Album Shaper up and really running on my new G5. I've created an XCode project and set it up to automatically copy frameworks for libxml and libxslt and resources into the bundle. What this means is that I can do a full build, within XCode, and produce a working bundle. This is a big deal. I think development with XCode should be faster then it was before now that I have a slew of new performance tools and simpler stuff like code completion I didn't have available to me previously. I've checked the XCode project into CVS in case anybody out there wants to try building Album Shaper on a Mac themselves. :) Next up I'll fix a small bug I've noticed in the width of the collections listing, then move on to working on the slideshow work I left a long time ago!
09/10/2004 With my new G5 development rolls on!
I've moved down to NJ and my G5 has finally arrived! I'm still waiting on a 6800ultra DDL, but that won't stop me from getting work done. In between unpacking, reading books for a new job, and moving all my data from various old computers to this new beast. I poked a little at Album Shaper. I have the latest code up and running now on OS X (changes in the build process were necessary since I use libjpeg now for fast image resizing). The new slideshow feature worked, but the Dock and Apple menu-bar at the top of the screen obscured it a bit. After some prodding on Google and the ADC I've figured out how to nicely hide these visual cues during slideshows. Well, time to do some more reading, but as you can see I'm picking up speed again finally.
09/04/2004 Mandrake RPM
Thanks to Vern Rolton, you can now download Album Shaper 1.0 in RPM format for Mandrake 10. I just got back from my mini-vacation and am in the process of packing up my stuff to move to NJ next week. A week after I get there I should get my new G5 and will begin development again. I'd really like to get a new version out with the new improvements I've incorporated, but first I must finish up the slide show work.
07/16/2004 Spanish Translation
¿Habla español? If so you may be interested in the new spanish translation I've added to the translations page thanks to Quique. I've just defended my masters and am wrapping up getting my thesis all approved, printed, and bound, so don't expect a lot of news any time soon. I've bought and am eagering awaiting the delivery of a new G5 computer, so when it arrives you'll probably see quite a bit more activity up here. :)
07/06/2004 Album Shaper Best Ported Qt Application
While away last week I learned Album Shaper has won Trolltech's Qt/Mac contest being the "Best Ported Qt Application." Winning the contest definitely rocks. While Album Shaper didn't win overall, and as a result I didn't get a nice shiny G5 for free, I still got a nice iPod out of the deal. :)

While away for the week I demoed the new presentation stuff I described last time. The new feature definitely went over well. The next step will be to spell out the language for laying out and transitioning between photos and album/collection cover-pages. Then the fun part will be creating a few themes that give the varying looks and feels I'm aiming for.

Alexander Shiyan sent me a Russian translation of Album Shaper while I was away. It's online and I hope to get a screenshot of the program running in Russian up soon as well. I also have been in contact with a few theme developers and hope to get a few of those themes up online soon as well. Currently I'm finishing up my masters degree at Cornell's Program for Computer Graphics. I plan on moving down to New Jersey in late August and am looking for a job in the Jersey/NYC area. If you have any ideas or opportunities for me please give me a hollar. I'd love to work with Qt but I'm pretty open to any interesting coding job in the area.

06/23/2004 Presentation Teaser
Today I think I've finally finished the base code for presentations within Album Shaper. The next step will be writing a smart text-scrolling widget like object which will not only better handle photo descriptions but will also be of use for album and collection layout pages which will be coming up next. I've posted a teaser shot here so you all can see what this is shaping up to look like. In this case photo 80 of 86 in a particular collection is being shown. The photos description is displayed at the bottom left. The presentation has just begun so the central button is a pause button. This button interface appears when you move the mouse and disappears (along with the mouse) if you stop moving the mouse for 5 seconds. In this case the presentation is running at the default "turtle" speed as you can see on the bottom right. The currently used delay is displayed with an animal when starting to play a presentation and just after changing the speed until the next photo is loaded. The speeds allowable are "snail" (8 sec. delay between photos), "turtle" (4 secs), "rabbit" (2 secs) and "cheetah" (1 sec). I've right clicked on the screen so the context menu is shown. All navigation and control can be done using keyboard shortcuts as shown, and also accessed using the context menu and on-screen buttons. Advancing to the next photo can also be accomplished by clicking the mouse button off any on screen interface or context menu. I hope this wets some of your appetites. This screenshot doesn't even show the sliding transitions that are used between photos and collections.
06/18/2004 Cleanups/Improvements with Slideshows
I spent the day simplifying/improving the slideshow code. Photo descriptions are now displayed on a white background using a rounded pipes border from the Slick theme. When I'm done the border and background for phot descriptions will be themeable. I've added auto-play in which the photos are automatically advanced after a preset amount of time which is adjustable using the + and - keys. The next step will be handling lengthy photo descriptions. I'm thinking of using a scrolling techinque similar to that used in WinAmp/XMMS for tracknames. After that is going I'll move on (finally!) to programmable album and collection pages. Eventually the entire slideshow will be programmable using a new xml syntax I have yet to finalize but have thought a lot about. :)
06/07/2004 Slideshows within the program
Tonight I worked on getting slideshows within Album Shaper working. The new resizing code works very nicely and even without preloading I got usable slideshows up and running very quickly. Next I plan on adding snazzy transitions. :)
06/05/2004 Nice speedups
Threatening weather today, so instead of being tempted to bike I worked on coding some more instead. I finally got to the point where all changes that I thought were necessary I had in there. I then got the stuff compiled, fixed one small bug and wham! It appears to all be working! I have to do quite a bit more testing, but if you are adventurious the code is now in CVS. Phew! I'd had a lot of open code for a long time now only on my machine which I find scary. Now for the results, I'm seeing some serious speed improvements! Let's break it down:
Old CodeNew Code
Adding 9 photos totally 5.9 megs: 36 secs8 secs
Rotating those 9 photos: 29 secs12 secs
Flipping those 9 photos: 26 secs11 secs
Setting an album's rep image: 2 secs< sec
All timings were taken on my 700Mhz laptop. In summary, adding photos is 4.5 times faster, applying batch rotations or flipping is 2.5 times faster (and is now lossless), and setting the album's representative image is now nearly instantanious. I've noticed a few minor other improvements I'll also encorporate soon which will make saving changes to albums faser. Once more testing is complete I'll now move onto in program slideshows now that fast scaling is now possible!
06/03/2004 Integration
Starting yesterday and continuing tonight I've been integrating the new faster resizing and trasformation code into the main code respository. In the process I've completely overhauled Photo.cpp and Photo.h. The former file was once about 900 lines of code, and has since been reduced to about 450 lines. It's more modular, and no more copy pasted code exists. When all is completed it won't only be faster but a bug I think may have existed should be fixed. While I have my work cut out for me since I've broken a few connections by changing function names and argument types, the new interfaces I've made for applying scaling and transformations are very nice to work with. :)
06/01/2004 Code cleanups
This weekend I took the test code I had been working on and cleaned it up, commented it, and organized it into a structure so it can be dropped right into Album Shaper. I also rewrote the functions Album Shaper uses to create slideshow and thumbnail images to take advantage of this code so once they stuff is dropped in Album Shaper will see some serious speedups. I also bulletproofed the scaling code to handle images that are smaller than the intended size. During in program slideshows images will never be scaled more than twice their original resoulution to avoid serious pixelation. I've changed the way things are done a bit by avoiding allocation images on the heap with news/malloc's and thus a bit will have to change in Album Shaper's code to merge these changes. Previously new images thumbnails were not saved to disk but kept in memory until the first save of the album (or its changes) takes place. Using the new code genereated thumbnail images will be saved to disk along with slideshow images and thus the theoretical upper bound of new images that can be added before one saves an album has been increased substantially. Album Shaper will also hog less memory this way, and finally the first save should be a bit faster. Once this code is folded in I'll fold in the slideshow test program I put together and snaz it up to use photo descriptions, collection transitions, and photo transitions as well. I'm invisioning themes will be extended to encompass the entire look and feel of an album now matter how it is viewed (aka traditional html output, a new smaller web gallery format, and in program slide shows). One day I may even extend this idea to a DVD format (ever want to publish your photos to a DVD you can stick in any old DVD player?) but that won't be for a while.
05/28/2004 Fast resizing, batch operations, and more...
Image resizing will soon be five times faster, while batch image operations (rotationgs and flipping) will not only be lossless, but four times faster as well! All this thanks to the guys at the IJG. :) Before I integrate the test code I whipped up into Album Shaper, I believe I will first work on trying to determine the image quality setting used when saving JPEG's out previously by comparing quantization matrices. Album Shaper is about to get a lot faster, and the new scaling fix will enable in program slideshows to be start working VERY soon since the interface code has already been prototyped. :)
05/24/2004 What's coming down the road...
No new release will be coming out any time soon, but I figured some of you might like to know what crazy features/improvements will be in the next version of Album Shaper. I've recently been hacking a lot with IJG JPEG code for a number of reasons. I want to make resizing images fast. I want initial imports of photos to albums to be fast, and that means fast resizing. I also want to have in-program slideshows and that needs fast resizing as well. Finally, IJG supports lossless rotations and flipping of images. Not only does this mean batch opertions might get a lot faster, but applying them over and over again does not need to result in lower image quality over time. All this requires some low level dirty JPEG coding and understanding of IJG code which has all but non existant documentation but semi-decent commenting. Basically, the next version of Album Shaper will definatley have some wicked new features, but it will take some time before it's all ready. That said I have prototype code for doing slideshow and fast resizing already, but it's all external, has lots of timing tests inside it right now, and will need to be rewritten a bit to integrate with the actual program. :) Maybe I'm weird but I love this part of the development cycle. No looming deadlines and utter freedom to explore anything you want!
05/21/2004 Blue Shifted 1.1
The quotes but that was fixed in 1.0 required themes to be updated. While Slick and Classic were updated, Blue Shifted was not. Now it has, enjoy v1.1.
05/20/2004 Updates
My two year stint as a graduate student is coming to an end and that means things around here will be a bit quieter as I finish my thesis, prepare for a conference presentation, and find a job. I'll still be working on Album Shaper, and you can following my progress either here or via the upcoming features tab in your Album Shaper about window. I'll be busy though, so updates to this page will be less frequent for a little while even if I am coding. My current projects are faster image resizing and in program slideshows.
05/10/2004 Album Shaper 1.0 Released!
Album Shaper 1.0 has been released! Album Shaper has finally hit 1.0 after over a year and a half of development! Album Shaper now supports an initial core set of functionality, has a stable backbone, a clean user interface, and good documentation, in addition to supporting all major platforms (Windows, Mac OS X, Linux, Free BSD). This release fixes a number of small glitches found in earlier releases, in addition to adding keybindings for manipulating and annotating photos. See the changelog or the history tab under the About window for details.
05/06/2004 1.0 Will be released on Monday
The last few days I put the final polishing touches on 1.0 and submitted a version to the Trolltech QT Mac contest. Here's hoping at the end of June I'll win me a shiny G5. :) All the packages have been built (using the new automated scripts I just added) and will be uploaded on Monday.
05/03/2004 1.0 This Week?
Found another minor issue with 1.0b1 regarding carrage returns and new lines in text fields that messed thigns up a bit, minor stuff and now fixed. I've also been automating the packaging process which bring a bit of sanity back to my life. I hope to have 1.0 out this week, we'll see.
04/24/2004 Uggg
This entire past week I have been sick. UGGG! Horrible timing too, but now I'm better. The crash bug when checking for updates in Windows has been fixed in CVS. I've also added a slew of keybindings which makes working with your albums a bit nicer. Especially since control-A now selects all the text in the text area of photo descriptions. Yes! Luckily 1.0b1 seems fairly rock solid, which given the lack of time before the Qt competition deadline and my recent sickness is a good thing. I know of a problem with quotes that I plan on nixing, but that may be about it before the final 1.0 release. Oh yeah, a nice appliaction icon coming own the pipe which will make it look much more profesional under Mac OS X. I don't think there will need to be another beta before then. In the feedback I got from the beta I got a LOT of good ideas from people that I'm psyced to start encorporating into the program. Keep em coming. :)
04/14/2004 Response?
So far the response to the 1.0b1 release has been very positive. I can count about 100 downloads through kde-apps.org. Tommorow morning I'll advertise through freshmeat which should attract a lot more attention. Still more downloads could be occuring right now through the Sourceforge download page but the statistics I have from there are delayed by 8 days so right know I'm in the dark. It appears there is a little confusion how you set collection or album representative images. You must drag a photo up to the top of the entire window and drop it on the album or collection frame, NOT onto a collection icon on the left, that's how you move photos from one collection to another. I'll have to clear that up in the handbook. It has been discovered that without a functioning network connection a crash can occur when opening up the About window under Windows. This is very strange and not entirely understood (although the exact line of code which causes this crash has been identified). The short term fix is to disable software update checking under the settings interface before opening the about window. A fix for this bug will come in 1.0b2. Please vote for Album Shaper over at kde-apps.org. The more votes the program gets the more attention it will get. The more attention it gets the more likely any glitches that may exist will be found right away and I'll be able to fix them before 1.0 if you let me know about them.
04/14/2004 Album Shaper 1.0b1 Released!
Album Shaper 1.0b1 is now available! Album Shaper 1.0b1 sports a completely overhauled user interface. Not only does this design aim to look better, UI changes also focus on making the program more intuitive to interact with. Far fewer mouse movements and clicks are necessary to accomplish the same tasks as before. Stability issues have also been addressed with this release. Extensive testing and debugging has rooted out many bugs that occured in previous versions when performing multiple complicated organizational tasks. User settings have been added, which provides the backbone for other nicities such as remembering application window placement and size and last used directories for loading/saving and adding new photos.
04/13/2004 Release VERY Soon
The next release of Album Shaper will come out tommrow most likley. 1.0b1 is a massive update over the 1.0 alphas. Source downloads and Linux and Free BSD static binaries have already been prepared. Once the Windows installer and Mac OS X disk image are finished 1.0b1 will be released. The online handbook and screenshots pages have already been updated if you havn't noticed.
04/09/2004 Improvements
I successfully adapted some of IJG's code to provide me with jpeg image resolution information without having to load an entire image from disk. Using this I was able to construct zoomed in images for the new photo description animation UI by computing the actual slideshow image size without padding and subsequently using that portion of the slide show image to construct a zoomed in image. What this means is I now create the zoomed in image by scaling DOWN a larger image, instead of scaling up (and getting pixelation) a smaller image. Now you actually see a blown up (and higher resolution) image when you edit photo descriptions which is really nice. I also improved the hover-over I icon code so it acts exactly as one would expect when exiting from the description editing interface. This has been a very rewarding day! :)
04/08/2004 What's Up
I intended to have a release out by now. :( Unfortunately I've run into a stumbling block in Mac OS X. Some widgets are not being drawn properly and I believe it's a bug in Qt. I'd like to get it resolved before releasing 1.0b1. In my mind all beta's are like release candidates for 1.0, so if I know of a serious flaw I'd like to fix it before I release a beta. Things look great otherwise on Mac OS X and flawless on X11 and Windows. :) So I'm not twiddling my thumbs. I found a way to make saving a new copy of an album 50-80 times faster. I'm now looking into avoiding the pixelation that occurs with the new zoom effect when editing photo descriptions. This improvment will take a bit more code and while I have a protytpe implementation quasi-working I'm not promising it will get into 1.0b1. We'll see how tommorow goes, and see when I hear back from the Trolls (or anybody for that matter) about this widget size issue on Mac OS X.
04/05/2004 Last Straws
Getting down to the wire.... I still need to:
  1. Recall how to make bundles again
  2. Fix widgets so they get enough space in Mac os X (weird qt issue?)
04/04/2004 Beta coming real soon
In case you havn't figured out, that last post with Clippy was an April fools. :) Now, on to important matters. I just finished reading this. Wow, this could not be better put. User interfaces on 99% of open source software does suck. It sucks royally bad. Was was very very inspiring reading this article is that I think I am not making the mistakes ESR and other make regarding UI's. I acknowldge that good UI design and implementation take time, a LOT of time. It's been about 7 months since the last Album Shaper release, and the vast majority of the work I've been doing is on the user interface. Honestly I am embarassed by how the program looked and preformed before. Partly I was new to Qt, partly I was new to UI stuff in general, and mostly I just had not gotten around to it just yet. There was a lot of functionality issues I wanted to get working first, and work on the polishing second. In the end I think things have worked out very well. 1.0b1 looks beautiful IMHO and is SO much more fun to use. I find myself opening up albums and annotating photos etc that I had put off before because now it is FUN and enjoyable. I look forward to others having that experience as well. Now, some of you might be wondering what is left. Techincally I have already even made a windows installer of a test build, but I won't release this thing until the basics are finished like updating the Handbook to reflect all the UI changes that have taken place. So, what is left:
  1. Update handbook to reflect new user interface and added features
  2. Fix settings window so that it does not resize when you select different setting groups
  3. The right location in top right and bottom right window alignment modes does not seem to work exactly right on Windows, but does on Linux, weird!
  4. Get the damn thing compiled on Mac OS X and test out platform specific locations for preferences and temp directory.
  5. Figure out what the heck an internet enabled bundle is and how I can make one, better yet, how I can make bundles again. I forgot. :(
  6. Fix drop shadow issue on WinXP and potentially OS X for zooming effect when editing photo descriptions.
So far today I have updated all the images in the handbook and have started updating the text. My promise: to have a release out some time this week!
04/01/2004 Help
In contrast with popular belief, help agents like Microsoft's Clippy have been found to improve user performance in many usability studies. Because Album Shaper aims to provide a very intuitive interface, adding a helper agent was eventually necessary. I stayed up very late last night and got a Clippy look-a-like coded up as you can see here. For now all he does is offer help when you start out making an Album, but I have a lot of ideas planned. If you have a good idea for a name for this fellow, or you think there is a particular portion of the user interface he could clearer, please contact me.
03/31/2004 Expect 1.0b1 soon...
The last few days a lot of my time has been spent working on fixing bugs and making the application stable. I still need to update the handbook and implement the new tmp directory effeciency improvement, but aside from those two projects I intend to spend the next week or so nailing all the little glitches before the 1.0b1 release. My plan is to release a series of beta releases over the next month in preparation for 1.0. Album Shaper 1.0 has been in the works for well over a year now, and while there are many pie in the sky features I dream about, I think the core feature-set is now there, and the user interface has finally caught up as well. During the beta period I don't plan on changing anything that will effect translations. I hope to get translations started up early on so I can have a maximal set available for the 1.0 release. Stay tuned for details...
03/29/2004 Photo Description Animation
The photo description editing interface is almost complete now, and is fully functional. I've put up a few screenshots you can see here (One, Two,Three). I still want to put a blue border around the image and have the text area morph out from the side. While showing screenshots of an animation is not ideal, maybe whoever is reading this will have a better idea what I'm working on. :)
03/27/2004 Photo Description Editing Interface
The last week or so I've been working on the photo painting and now description editing interface. All I can say rigth now is that I've come up with some very nifty ways to incorporate animation which are NOT eye candy effects, rather they help link concepts and ideas so users won't be confused when a window pops up and stuff. I just finished working out some layout details with my girlfriend for the past hour. Good user interface design takes time, and a lot of it. Anybody who thinks this stuff is easy is misinformed. Implementing ideas takes a little time, coming up with a good design can take a lot longer. While all I did for the past hour was work on a white board, I really feel like I have accomplished a lot. I can't wait to see these designs become a reality.
03/16/2004 Default Theme
Today was hellish and I didn't get home until 10:30. Despite the lack of energy or time, I managed to skip the daunting task of finishing up the photo painting code and quickly tackled one of the 15 remaining items on my to-do list: default themes. The setting has been there for a bit, but only now is hooked up. You can set the default behavior for new albums to use a particular theme or the last theme you ever used on the system. Resaving (using save-as) previously saved albums auto-selects the last used theme when saving that album as expected. If you'd like to see what is on the list of things that remain send me a message. I'm starting to look for a job for when I graduate from my masters program in late July so if anybody out there is hiring in the New York or New Jersey areas by all means give me a hollar!
03/14/2004 Photos
The last few days I worked on a lot of easier but just as important improvements. but alast it is finally time to attack the next huge improvement: photo painting. I began working on revampling the photo thumbnail draw code today. Drop shadows, nice colors (no more red selection rectangles), and various other improvements are in there. I'm attempting to use the same cliping code I used for the subalbum entries, but that only appears to be going so so. The text is clipped, but the trailing periods don't seem to be showing up. The whole setting text part will need a complete reimplementation because I wan't to NOT use the horrible Qt implementation, rather, I'd like to mimick the behavior one sees in iCal. I'm not entirely sure what I want it to look like though because iCal's text area entry stuff draws drop shadows and the photo thumbnail thingy already draws a dropshadow. Anyways, the march continues. :)
03/08/2004 Teaser 2
Ok, here is a second teaser of the upcoming improvements. You can see the new subalbum drawing code, plus the light background image in the photo area. The photo drawing code still needs to be worked on so nothing new there....yet. :)
03/07/2004 Subalbum Slickness
I'll keep this short and sweet, mainly because I havn't eatne since breakfast and suddenly it's 9:31pm! This weekend I spent a LARGE amount of time writing new subalbum painting code. The subalbum icons are now a LOT nicer looking, and include mouse over effects like in the settings interface, as well as rounded corners, anti-aliased edges, and more. That work is, FINALLY, almost done. Next I'll move on to snazzing up the way photos are drawn. Once that work is done I'll put up a screenshot. It's really going to look sweet. :)
03/04/2004 Update
Interesting news today. I've added more hidden settings. Album Shaper now remembers the last location you loaded/saved an album and uses that directory by default the next time you try to load/save a new album. The program also remembers the alst directory you added images from. I've added a right-click context menu. The new interface allows you to drop a photo on the album/subalbum description area to set the album/subalbum representative image, but that might be a little hard fro people to find. Alternatively you can now right click on a photo and select the menu entry for setting the album/subalbum image. I cleaned up the images directory and organized all resources images into collections like buttonIcons and menuIcons, etc. This makes maintainence a little easier. Menu's now have menu icons which makes the program look even more polished. When mucking around with last used directories I noticed save-as is complaining on my machine right now. Weird. I'll have to look into that. Regarding settings the last ones I need to work on are the tmp directory to use by default when creating new albums (and adding an effeciency improvement by creating and tmp directory within a saved album when making further modifications, thus guaranteeing that any move operations on save will be instantanious whereas right now they can be expensive if your home directory is on a differnt disk/partition from your save directory). I also need to work on default image sizes which are now settings but are not actually used just yet. I'm more anxious to work on visual improvements though so after working on tmp directory stuff (or even before) I'm planning on polishing up the subalbum and photo paint methods. I think this will have a huge impact on the look of the program. :) Finally, I got an email from a photography magazine that is interested featuring Album Shaper in an article they are writing. Can beat that for exposure!
03/01/2004 More settings work
Most settings have now been fully connected up. Software update notifications can be disabled. Desctructive alerts can be disabled. Checking for photo modifications can be disabled (and is by default since this rarely is necessary and dramatically speeds up loading albums). Default window placement and size settings I finished earlier. The final straw will be hooking up all the loading/saving settings that remain, that is, default image sizes, default themes, and the temp directory to be used. The way things are going I'll be done with this settings work very soon (!) and can go back to interface cleanups. I want to totally rework how photos and subalums are painted by subclassing qiconviewitem and writing my own custom paint methods. This should be very straightforward since I used the same technique for the settings widget. It took me some time, and for that I didn't really need a qiconview (since drag-n-drop was not required) but now applying the same techinques I learned previously to these new items should be relatively trivial. :)
02/29/2004 Window Placement and Size
Today I hooked up window placement and size to the new settings interface. A user can select to have Album Shaper simply remember the applications position and size (this is the default behavior), or alternatively use a default size which is a percentage of the screen size, in addition to one of five default placements (corners and center of screen). This involved storing a few hidden setting values (last window position and size), in addition to finally USING the new settings. I am quite pleased that I was able to do all this in a matter of an hour or so, in addition to a few small code cleanups. The rest of the settings should start getting hooked up (aka being used) very quickly I hope. :)
02/29/2004 Settings backend hooked up
Yesterday and today I spent hooking up the settings interface to the xml loading/saving backend I wrote. All savings are now being loaded and saved. :) A few minor things need to be taken care of but the next major step now will be actually using these settings in the program. Most will be easy but how I use default image sizes that change I'm not really sure. I might work on using the jpegtran to much faster preform lossess image manipulations and scaling effects which is badly needed.
02/26/2004 Polish on Setings Interface
I saw Bill Gates speak today about how human user interfaces have a lot of room for improvement, then went home and finished polishing the settings interface. :) I spent quite a bit of time getting a nice pixel spacing between the selection border and the settings icons etc. Everything is finally lined up just right. Very professional looking if you ask me. :) It's only rival is FireFox's settings, whihc are buggy, and use a lot of screen realestate.

In addition to putting up a screenshot of the settings interface, I also took some screenshots of the revamped UI design in general. You can see the new color sceme, moved subalbum prefferences, removal of unset and set buttons for rep images, the new hover over x's which appear to remove a rep image, and much more. A lot more is planned, but I figured somebody out there might like to see a work in progress shot. :) As you can see Album Shaper is getting a BIG face lift for 1.0b1! Next task will be hooking up loading/saving settings backend I already wrote and tested.

02/25/2004 Painting
After reading a bit of my new Qt book, a lot of the Qt docs, and even more of Qt source code, I've started to understand the drawing loop of the QIconView and QIconViewItem classes MUCH better. Result: I've fixed the annoying display problems associated with the settings dialog. There are a few prettying up things left, after which I'll begin hooking up the loading/save mechanism I wrote up ages ago. The new animation effects and cleaned up look of the interface are getting very good responses by those around me. I may put up a screen shot at some point if somebody requests it. :)
02/14/2004 More Polish
I polished the new interface a bit more tonight. Added borders to separate the album and subalbum annotations. Seting a representative image brings up a busy pointer while the action takes place, a bit of nice feedback. In order to prevent accidental clicks which remove rep images users must now click directly over X image. Finally I fixed the X hover-over images to never be painted outside image (and hense linger around when move moves off image) by resizing it to fit within image if image is very small. Basically the interface it getting that fine detail attention it really needed. I plan on additing animation for reorganizing photos and subalbums next. I need to figure out how to handle painting for iconviewitems to fix up config dialog and also to fix up subalbum listing. I guess I should go back and read my new Qt book again. :) My thesis advisor is breathing down my neck to get the previous work chapter of my thesis to him ASAP so I might have to take a short break from coding for a short while, but no longer than a week I should hope. :(
02/10/2004 Animation Progress
The animation integration is now complete and all the bugs that were plaguing me have been fixed. Various crashes and other strange behavior has been fixed. All in all I think the new interface is a lot cleaner and the next release will be a huge step forward. Next I'm going to work on a fade transition effect for the animated images so the animations don't get annoying when switching between albums which have representative images.
02/05/2004 Animation + Layout
I've been quiet, but not dormant. I'm in the middle of doing a huge facelift on Album Shaper. A much more streamlined interface, new color scheme, and trippy animations similar to what one might see in OS X are being worked on. The majority of these changes are done but I started running into crashes. I think (hope) all the bugs have to do with the animation stuff I've put in when subclassing QLabel. I have been experimenting with Mutex's and think I have completely fixed all the problems. I just messed around with the code and was unable to get it to crash again, although right now it is leaking memory like crazy. I have to code up a deep pixmap copy or change the way in which images are being passed into a function. Shallow copies can really mess you up! :) I've decided not to release another version for a little while. For the most part the last release is very solid. There are a few minor glitches, mainly to do with foreign characters, but that's it. I see more and more people are using the program by doing Google searches. I just ordered the latest Qt book Trolltech published and look forward to getting that so I can get better at using Qt and make Album Shaper that much better. That is the second book I've purchased for develping Album Shaper, bringing my total costs of development up to about $70. So far I have yet to receive a single donation in any shape or form. If people don't donate anything as one might expect the features you'll see being developed will be mostly what I'm interested in. Something really bug you about Album Shaper? Help an open source developer out. :)
01/27/2004 Settings UI
Work on the settings UI is coming along well. I'm very glad that I split it off into it's own folder in the source tree. It's quite a bit more complicated then I thought it would be. I'm trying to adpot the good parts of Mozilla Firebird and KDE's settings dialogs. Namely, I'm using the selected and hovered over background and rectangle colors from Firebird, and icon liston the left, and other features from KDE dialogs. I don't want too many settings so don't worry, it won't get too complicated. If you'd like to see a very rough screenshot click here.
01/26/2004 Upcoming Features
I redid the configuration code to make it simpler and a bit more structured. I also got it all compiled and tested and am amble to load and save configuration settings, which are now grouped by category, to and from XML. I began working on the user interface but have not connected it to the backend just yet. I finally figured out how to remove those pesky text selection borders on the subalbums and photos. I also added an upcoming features section to the web site. Look under news or use the link on the main page. This file is maintined through CVS and checked out to the web site via a cron job every morning. This is also readable through Album Shaper in the about window in the next version. Tonight I'll try and finish the configurations dialog and connect it to the back end. Once that's all done I'll start using such settings throughout the program.
01/22/2004 User Preferences
Tonight I hacked up the backend to the soon to be included user preferences. This consists of 537 lines of code for a genric configuration class. I'm fairly proud of this code. It will load and save any set of settings you throw at it, and handles upgrading old setings files very nicely. The only Album Shaper specific code to the class will be in the constructor and if I subclass it nothing will need to be changed. Of course I have only compiled the code, not tested it, but it is fairly simple and straight forward so I'm optimistic I"ll have user prefernces working very soon. :)
01/21/2004 What features do you want to see in the next version?
I've finished my paper and submitted it to SIGGRAPH! Now to see if it gets accepted. Actually, that will probably not be for quite some time, and until then I plan on working on Album Shaper! Want to see a particular feature in the next version of Album Shaper? Now is your best chance to contact me. My first work tonight I think will be on some sort of configuration dialog and various user settings. I've had requests for variable thumbnail and slideshow sizes, and I was planning on putting some configurations on the notification of Album Shaper being not up to date. What other configurations would you like to see? Also, I'm really strugglying trying to come up with a more polished look of the program when editing albums/subalbums. I want to get rid of the set button for setting representative images and find it a little confusuing having two regions where name/desc and image are being displayed. I'm thinking of putting it all up at the very top with album info on the left and subalbum info right justified on the right. I need ideas. If you have some please send me a message. Best yet sketch out a few possibilities and let get a hold of them. :)
01/14/2004 Album Shaper vs iPhoto
I read a recent Slashdotted article (text ripped from google cache) by Bruce 'Tog' Tognazzini, the founder of Apple's Human Interface Group years ago. What caught my eye were his comments on some of the new iLife software products, like iPhoto:

"Apple is asking people to make a real leap of faith in moving their information into Apple-proprietary applications. In many cases, users are expected to do so with no way to move that data back out without losing all organization. For example, if you use iPhoto, the organization of your photos is in iPhoto. I'm sticking with Canon ImageBrowser. It's not as nice, but ImageBrowser is a view onto the Finder. Your pictures are organized in a series of Finder folders, rather than being in a non-exportable proprietary format. The same problem is plaguing the Safari browser. You can't elect to import bookmarks into Safari, and there's no way to get them back out. No corporation would support a single-source supplier, and no individual should either."

Wow. I don't own a Mac, and while I have used one on occasion just long enough to get Album Shaper compiled and packaged up for people to use, I did not realize iPhoto was well, so, mean. I guess this is an area where Album Shaper is way ahead, not only are your photos stored in directories (and organized by directories I might add), but all annotation is stored in a easily parsed XML file. Another reason you should switch (cough, cough, silly play on Apple advertising campaign). :)

01/12/2004 Aging Icons
Put in aging Album Shaper log in main window tonight. Very non-intrusive. I also add a tooltip if the program is outdated so you can move over the logo and it will inform you to find out what's in the new version in the about dialog.

On another front I've noticed Trolltech is hosting a MacOSX Qt application contest. I have a bit of work to do if I plan on having a chance of winning. The most important work will be stability and functionality improvments, some changes in UI layout I've been thinking about for months, but there is quite a bit of polishing touches I'm interested in doing as well. If you'd like to see Album Shaper looks prettier and have some icons you think would help spruce up the toolbar's, menu's, etc, please let me know.

Oh, and for kicks I put in a link to ViewCVS so you can easily browse the latest code I'm checking into CVS. It's in the download section, along with notes on how to check the code out of CVS anonymously. Enjoy.

01/10/2004 Cron is Cool
This morning, after doing some much needed cleaning around the house, I pulled out my trusty laptop and started coding again. I've completed the work I mentioned by putting up a shell script and cron job on SourceForge that will automatially grab the latest copy of the releases.xml and version.xml file, as well as the other html files necessary for the about box. What this means is that I can easily handle everything from CVS and these files will be updated automatically. In theory if I keep going in this direction in the future I can release a new version of Album Shaper through cvs and all users will be notified automatically. I love automated systems. :)
01/09/2004 :) Another Night of Coding :)
I've missed working on this program, I really have. So tonight I worked on it again for several hours. I've almost finished up the modifications to the about window. Album Shaper now detects if it's outdated and ages the icon in the About window. I plan on doing the same in the main window. In addition it adds a new tab which outlines all the new features in all the new releases that are available. Finally, any updates in CVS are also listed in a new tab. Of course if anything goes wrong getting any of this information over the network the program quietly gives up and doesn't bother you. Personally I really like it, very unobtrusive yet is reminds you sorta with that aged icon. The first time Album Shaper detects it is out of date I think I'll have it pop up a dialog explaing this, and possibly putting a tooltip on the aged icons also elluding to this. That means user preferences might be around the corner. :)
01/08/2004 Happy Belated New Year
Sorry I've been quiet, things have been hectic. I've been very busy trying to finish up a paper to be submitted on the 20th. After that I'll have quite a bit more free time and progress on Album Shaper will pick up again. After posting Album Shaper to KDE-apps.org I got quite a few downloads and quite a few emails. A few problems were found but mainly stuff that was already known and fixed in cvs. I did a little work last night on the about window. The next version of Album Shaper will let you see what new features/fixes are in CVS from within the program. I'm also planning on making the logo looked "aged" so you'll know a new version is available if yours is outdated but the program won't annoy you like Windows/Mozilla/Java/Etc do. I recently heard that with service pack 2 of Windows XP it will continue to remind you to reboot until you actually do after some patches, like every 15-30 minutes. How annoying is that?! I promise Album Shaper will never become an evil piece of software like that. :) Other items of interest? I'm very interested in finding someone who is a decent graphic artist to help make various little buttons and menu/tab icons for the program. I think with some work on that front the program will look much more polished, but my abilities as a graphic artist are meager at best. If you're interested in helping out please contact me..

2003 News...

Copyright © 2003-2005 Will Stokes