With over 130 new features, enhancements and bug fixes, John's Background Switcher 3 is a big step forward in the world of background switching! Ok, that's a bit OTT, but it's got lots of cool new stuff in it all the same.
Big things include moving to .NET 2 which brings improved performance and stability. You can choose photos from Phanfare and Yahoo! image search along with being able to select from multiple Flickr users, sets, etc. I've added a new 4-picture montage mode that uses 4 photos per background. Oh, enough of that, here's the complete list:
New Features
455: Add option to show different backgrounds on each screen when using multiple monitors
There is now an option on the 'Multiple monitors' drop down list on the 'Settings dialog' to 'Use different pictures on each monitor'. When you select this option then whatever switching mode you're using will attempt to use different pictures on each of your screens. A much-requested feature that gives you more variety if you're lucky enough to have dual or more monitors!
766: Background Switcher for Phanfare
You can now choose to use Phanfare as a source for your backgrounds. If you have friends with Phanfare accounts you can also select from theirs too!
744: Support JBS/Flickr authorisation on different computers
Flickr have made a change to their system that meant you could only authorise John's Background Switcher to view your own private photos on one machine at a time.
To get around this problem you can now export your authentication token from one machine (once you've authorised it) and import the token onto another machine. The import and export buttons are located on the 'Authorisation' dialog you can access from the settings dialog (when in Flickr mode and the 'My Flickr Photos' option is selected).
763: Digitally sign the installer so there are no more "Unknown Publisher" warnings
Previously, if you ran the installer on Windows XP or above you'd get a warning telling you that the software was from an unknown publisher. Now it will inform you that it has been verified as coming from "John Conners" and if someone has tampered with it, you'll be alerted to that fact.
Should give peace of mind that it's come directly from me and there won't be any spyware or something dodgy included with it.
761: Add the option to switch the current pictures between monitors
If you're running multiple monitors and have them set to show different pictures, then you can swap the pictures between monitors by selecting 'Shuffle Backgrounds' from the popup menu.
815: Make the settings dialog resizable
The settings dialog is now re-sizable for your convenience. And it remembers the size you set it to. That's about it really!
793: Allow photos to be chosen from your Flickr contact list
When choosing from 'My Photos' in Flickr mode you can now select photos from your contacts. Just pick the option from the list and your backgrounds will be selected from the most recent 50 photos uploaded by your contacts!
695: Wait for X minutes to change after boot
There is now an option on the 'More Settings' dialog to wait a period of time to start switching when the application starts. This stops it hogging all the system resources when you reboot your computer.
702: Make mosaic mode generate different images for multiple monitors
Mosaic mode now works better on multiple monitor systems. Instead of creating one mosaic and scaling it to fit all screens, a unique mosaic picture is created for each screen with the thumbnails distributed randomly. Although the same set of thumbnails are used for each screen.
706: Add picture sets to 'Select Pictures' mode
You can now create multiple picture lists in 'Select Pictures' mode. This means you can create different lists of picture (such as one for cats and another for dogs) and choose which list to have active.
655: Reduce the amount of memory the software uses
I've put in some more aggressive code to reduce the amount of memory JBS uses in normal operation. I've also moved to the new Microsoft .NET Framework 2.0 which boasts some memory usage improvements. It'll never get near the footprint of a native C++ application but it's about as good as it can get under .NET.
(If none of that makes sense, don't worry, it just means it'll make much less of an impact on your machine when it's running).
643: Add mosaic mode to 'Monitor Folders' mode
There is now an option in 'Monitor Folders' mode to create a mosaic image, this has been added to the picture display mode drop down list. This will take a random sampling of pictures from your monitored folders and produce a mosaic of small thumbnails to set as your background. It may take a couple of minutes to generate the mosaic image but it's well worth the wait!
434: Allow switching to be cancelled mid way through
When JBS is switching, the tray icon now goes green. When it's in this state you can right-click the icon and select 'Cancel' from the menu to cancel the current switching operation. This means that if your internet connection is slow and you think it's taking too long, you can cancel at any time.
479: Implement Yahoo image search mode
There is now a new mode called 'Yahoo! Image Search' that lets you enter a search query and choose your background from the results of that search. Neat!
486: Add the ability to stop switching when certain programs are running
There is now an 'Exclusions' tab on the 'More Settings' dialog that lets you specify a list of programs that, when running, will stop JBS from switching. For example, if you play a game in full-screen mode you won't want JBS switching. Simply add that game to the list!
504: Add the option to choose from multiple Flickr users, groups, etc.
You can now choose photos from as many different groups / sets / people / etc on Flickr as you like. When switching, JBS will pick one of these sources at random and download photos for your background. You really never know what's coming next!
582: Add a mini browser so you can go from downloaded Flickr photos to their web pages
There is now a 'Browse All Pictures' dialog that you can access from the tray menu. This lets you view all photos downloaded from Flickror used in a mosaic picture and with the click of a mouse you can go directly to the original.
632: Add a four picture montage option
There is a new sizing option to 'Create a four picture montage'. This will use four photos to create a montage for each monitor (oddly enough) and use different pictures on each if it can. To go to each individual photo use the 'Browse All Pictures' menu item from the tray icon.
680: Implement transparent desktop icon backgrounds on Windows 2000 and below
There is now an option on the 'Advanced' page of the 'More Settings' dialog to make the desktop icon text transparent. This only applies to Windows 2000 and below (as Windows XP and above have transparent icon text automatically).
Enhancements / Bug Fixes:
772: 'hotkeysink' dialog appearing when running John's Background Switcher
The long-standing problem where a button named 'Hotkeysinkdialog' would sometimes appear in your taskbar has finally been fixed. As with all problems like this, it's usually a one-line fix, the trick is figuring out where to put the line!
645: Crash when starting the switcher and anti-virus software locks the temporary background picture
As the description says, if you're unlucky then on starting the switcher, when the background is refreshed and an anti-virus product happens to lock a particular file, it could crash. This has now been corrected.
746: Add support for the 'jpeg' extension
Since files with the extension 'jpg' and 'jpeg' are in fact the same, files with either extension are now supported by John's Background Switcher. Previously only the former were.
758: 'View Current Image' doesn't work in mosaic mode
If you're in mosaic mode, then selecting 'View Current Image' from the tray menu brought up an error. Now the menu item is removed in this case, you can instead see the mosaic tiles and going to the originals by selecting 'Browse All Pictures' and choosing 'Current Mosaic Tiles'.
712: Disable the tray control when the settings dialog is up
If you had the settings dialog showing, the tray control would appear normal but switching will have stopped. To remove any confusion, the tray control is now disabled whenever the settings dialog is showing.
741: Add option to disable shortcuts altogether
There is now a checkbox in the 'More Settings' dialog to completely disable shortcut keys. You'll need to exit and re-start John's Background Switcher for this to take effect.
717: Adding multiple pictures at once in 'Select Pictures' mode is slow
If you added multiple pictures at once in 'Select Pictures' mode, it took an unnecessarily long amount of time - now it should add them in a flash!
719: Get the cancel button working on the more settings dialog
Okay, so now the Esc and Enter keys cancel and apply the settings in the 'More Settings' dialog as they should.
843: Add 'shuffle backgrounds' to the command line options
There is now a '/shuffle' command line option that shuffles your background pictures if you have multiple monitors.
844: Add 'view current image' to the command line options
There is now a '/gotocurrent' command line option that browses to the currently displayed background. If you are running multiple monitors it'll show the background selector dialog to let you choose.
694: Sometimes mosaic mode would fail to create a mosaic
Sometimes, when in mosaic mode, you'd get an error message giving you the name of a picture and the background wouldn't change. This was caused by a bug in the caching of thumbnails that has now been fixed.
696: When choosing photos from the last 7 days, the 'Choose from the top' number is ignored
If you choose from the top 1000 photos over the last 7 days from Flickr, then that's exactly what will happen. Previously it was hard-wired to only look at the top 140 most interesting pictures from the last 7 days. Kind of stupid now I think of it... Anyway, all is well now!
697: Move the web connection settings to the 'More Settings' dialog
To make things more logical I've moved the web connection settings to the 'More Settings' dialog. Since they apply to more than just Flickr mode it makes sense to have them somewhere central and easy to find.
698: Make the 'More Settings' button more discoverable
Since the 'More Settings' button was difficult to find (it was the green plus button in case you couldn't find it) I've made it more obvious. It's now a big button on the settings dialog that says 'More Settings'! :)
699: Hitting the 'Enter' or 'Esc' keys in the More Settings dialog doesn't do anything
Now, when in the 'More Settings' dialog, if you hit the Enter key the Ok button is pressed and the Esc key dismisses the dialog. This is the behaviour that all dialogs should have!
704: Get the installer to kill off JBS when you run it to save the user doing it
You no longer need to close John's Background Switcher when you install a new version. The installer now automatically closes JBS if it's already running for you.
708: When an update is available, change the popup menu item to 'Download New Version'
When a new version is available, you can download it straight from the tray menu instead of having to do another 'Check for Updates', clicking on a link and then getting to the download page.
715: Improve the quality of the thumbnails in 'Select Pictures' mode
Since the thumbnails on 'Select Pictures' mode were a bit grainy I thought I'd use the same thumbnail generation code I use for mosaic mode to produce better quality thumbnails. Nice.
669: Use sensible product version numbers
The version numbers of John's Background Switcher now follow the industry standard of Major.Minor.ReallyMinor.Build, such as 3.0.0.123 which would be the 123rd build of version 3.0. Sort of makes more sense.
685: 'Save Picture As' fails when invalid path characters are present in the file name
You can now save pictures with invalid characters, such as '/' in their name without an error message popping up. The invalid characters are removed and you're presented with a standard 'Save' dialog.
686: Add a context menu to the folder mode list box
You can now right-click on the folder mode list box and choose to delete the selected folder. Nice if you like context menus!
642: Make mosaic mode less confusing
You're no longer asked how many 'Thumbnails per picture' you want to use in mosaic mode. This option was causing too much confusion so to make life simpler, JBS now works out how many thumbnails it needs to create a mosaic without repetition on your screen for you. The mosaic mode option is now on the picture display drop down list box in the 'Photo Options' section.
Why I didn't write it like that in the first place I'll never know...
650: Error popup when launching JBS - access is denied to the temporary background file
Sometimes you'd get an error telling you access was denied to a temporary file. You probably couldn't care less (after all, since there's nothing you can do about it, why bother telling you!). Anyway, the problem that was causing this message has now been corrected.
651: Update the calendar at the start of each day
If you have the calendar enabled it will now automatically refresh itself at the start of each day - stops you getting confused about what day it is!
666: Make the uninstaller close JBS when it launches
Previously you had to close John's Background Switcher when you ran the uninstaller, which could be a bit confusing. Now, as soon as you launch the uninstaller from 'Add/Remove Programs' in the Control Panel, John's Background Switcher will exit so you don't have to muck about closing it and waiting!
718: Make the 'About' information easier to find
To make it easier to figure out the exact version of JBS you're running I've moved the 'About' box to the 'More Settings' dialog.
476: Move the main code into a separate assembly to aid testing
To improve code quality I've split John's Background Switcher into an exe and a separate dll so that I can perform unit testing on the core code. This will have no effect on the running of the application but will mean that it's more thoroughly tested in the future!
677: Get rid of those flaky balloon tips and use something better to notify of errors / updates
Systems older than Windows 2000 don't support balloon tips so if anything went wrong or there were any problems, JBS wouldn't be able to tell you about it. Also, balloon tips were a bit unreliable on Windows 2003 so I've thrown them out and implemented one of those more standard popup messages that appears in the bottom-right of the screen. You can of course disable it from the 'Advanced' tab of the 'More Settings' dialog.
623: Bring back the guinea pigs in the About page!
I've done better than guinea pigs - the about page now shows a random picture including chickens...
652: Add 'week starts on monday' option to the calendar
There is now an option on the 'General' tab of the 'More Settings' dialog to determine if the week on the calendar starts on Monday or Sunday. The default is now Monday (it used to be Sunday) as it's the more common format.
625: Make the mode buttons look more like buttons than menu items
I've changed the mode buttons to make them look like actual buttons if you have themes enabled (on Windows XP and above - you know, the cutesy 3D buttons). You don't really gain anything but they do look a bit better in my humble opinion!
638: Send to email / delicious should be disabled for mosaic images
The 'Send To' menu item is no longer available when a mosaic image is the current background. Since the mosaic image is generated locally, you can't send a link to it anywhere so the menu item didn't make sense.
316: Multi-selection gets confused sometimes
If you selected a particular picture in the list by clicking on it then add a new one, the selection shifts to that new item. If you then shift-clicked another picture then you would expect the selection to span the newly added item to the one you just shift-clicked - this wasn't the case, the selection would span the original item to the currently clicked one. This behaviour has now been corrected.
740: Crash when starting John's Background Switcher
Under certain rare cicrumstances the application would be unable to start. This was caused by a bug in the .NET framework that has now been corrected (thanks Microsoft!).
736: "Unknown Error (-1)" on starting John's Background Switcher
I've fixed a crash where you'd get a very (un)helpful "Unknown Error (-1)" message on starting JBS. I didn't have much to go on but managed to figure it out and fix it! Yay!
757: Crash when starting JBS and the .NET Framework hasn't finished initialising
When starting your PC, if John's Background Switcher is set to auto-run, then under certain conditions it could crash as the .NET framework hadn't initialised properly. Now this case is detected and JBS waits until this initialisation has been completed.
667: The 'My Flickr Photos' photoset button doesn't line up!
Oh disaster! Thankfully this problem has been fixed and the world can continue revolving!