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 Code | New Code |
Adding 9 photos totally 5.9 megs: |
36 secs | 8 secs |
Rotating those 9 photos: |
29 secs | 12 secs |
Flipping those 9 photos: |
26 secs | 11 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:
- Recall how to make bundles again
- 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:
- Update handbook to reflect new user interface and added features
- Fix settings window so that it does not resize when you select different setting groups
- 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!
- Get the damn thing compiled on Mac OS X and test out platform specific locations for
preferences and temp directory.
- 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. :(
- 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..
|