John’s Background Switcher 4.0 Release Notes

Version 4 of John’s Background Switcher sports a completely redesigned user interface (where all the photo sets are shown in the same place) along with a host of cool new features and myriad bug fixes and tweaks. Everything’s where you’d expect it to be, the initial user experience should be less confusing and you should find it a lot faster and easier to find things in. There are improvements to almost every aspect of JBS, not to mention new photo sources like Webshots, Google and Bing image searches. There’s simplified authorisation, transition effects (on Vista and above), smart sizing and… Well you can see the full list below!

New Features

3639: Unify the settings dialog so all photo sets appear in a single list – and just make it easier to use dag namit!
FEATURE: The settings dialog has been completely redesigned and made a whole lot simpler and intuitive. You add photo sets from as many sources as you like to one big list (instead of flicking between modes) and photos are chosen at random while switching the background from all photo sets.

You also specify the display mode (centre, scale, mosaic, montage, etc) in one place on the settings dialog and there’s a preview thumbnail so you know what it’s doing. Authorisation settings for sites that support authorisation is also held in one place (a button on the settings dialog).

The new settings dialog should help novices and experienced users alike understand how to use JBS and how to get the best of out it. And about time too!

639: Implement OSX-style fading from background to background
FEATURE: If you’re running Windows Vista or newer you can now choose to use a fade effect when changing backgrounds – woo hoo! You’ll find this option on the ‘General’ section of ‘More Settings’. Note that you’ll need to have the glass-like ‘Windows Aero’ display option turned on.

3730: Support http compression to massively speed up JBS when using photos from the web
FEATURE: One of the top complaints with JBS was that it was slow to switch backgrounds when you were using pictures from the internet and one of the montage modes. Now JBS fully supports compression over the web (which it really should have done from the start but that’s another story) which will drastically cut down how long it takes to switch backgrounds.

819: Add support for Flickr collections
FEATURE: You can now choose photos from Flickr collections in JBS. You can do this for a specific user or from your own photos. Collections are groups of photo sets that you can set up in Flickr.

3373: Implement Google Image Search
FEATURE: You can now choose pictures from any Google Image search natively in JBS. You can optionally choose photos of any exact size (to make sure you only get pictures that perfectly fit your monitor) and any colour you like. So if you only want to see pictures of black cats that are 1680×1050 pixels on your background then Google Image Search is the one for you!

3825: Ensure that RSS feed that contain image enclosures are supported
FEATURE: If you add an RSS feed that contains image enclosures then JBS will now attempt to use them.

3726: Make the photo info text drawn on the desktop easier to read and smoother
FEATURE: The photo information text shown in the top-right of the desktop was a bit blocky and difficult to see under certain circumstances. The text is now much easier to read and uses ClearType text rendering (if it’s switched on).

3958: Add the option to space the snapshots out more
FEATURE: There’s now an ‘Additional spacing between snapshots’ option on the ‘Montages’ section of ‘More Settings’. This lets you set a number of pixels to add to the spacing of each snapshot when a snapshots scrapbook is generated.

3334: Support the Pheed RSS photo spec to handle sites like
FEATURE: You can now use any RSS photo feed that supports the ‘Pheed’ specification in JBS for your background. Basically this means if you want to grab pictures from a photo feed it’s a lot more likely that you’ll be able to since the ‘Pheed’ extensions to RSS are becoming more and more popular.

3687: Add support for Phanfare 3.0 site authentication
FEATURE: Phanfare now supports the ability to see photos from other user’s sites and now JBS can do the same. This means you can now enter a Phanfare user’s screen name and choose from their (visible) photos as well as from your friends and family.

You can also decide if you want to authenticate to Phanfare with your credentials (and can therefore choose from your friends, etc.) or login anonymously.

3627: Implement ‘Shuffle’ option in ‘Pictures’ mode
FEATURE: A shuffle option is now used by default for ‘Pictures’ and ‘Folders’ added for switching. This means that instead of seeing the same pictures over and over again (when using a single picture per background) the pictures will be shuffled and you’ll only see the same one again once all the others have been chosen first.

3695: Improve the first-time user experience so people can understand how to use JBS and get going
FEATURE: A common complaint with JBS was starting it for the first time and then not having a clue how to use it. Now there’s a welcome page shown when you first start it (or when there are no photo sets) explaining how to use JBS with a picture of the notification icon (which a lot of people miss). There’s also a button to set up some default and combined with the new, easier-to-use settings dialog, it should make JBS simpler to understand. Fingers crossed!

3697: Make Yahoo! searches and pictures lists support montage options (mosaics and snapshot scrapbooks)
FEATURE: Previously ‘Pictures’ and ‘Yahoo!’ modes didn’t support the various montage background styles – now they do! Although ‘Pictures’ mode no longer supports the setting of individual picture sizing, they’ll all pick up the global display mode. You can’t have it all!

3705: Make it easier find the original picture in a montage (like a snapshot scrapbook)
FEATURE: Say you’ve got a snapshot scrapbook on your desktop and you see a photo you love, but you’ve no idea where it is. Previously you’d have to bring up the ‘Picture’ browser, click ‘Current background tiles’ and look for it there, double-click it and you’ll see the original.

Now you can just click ‘View current picture’ from the notification icon menu and a dialog will pop up containing all the pictures used in the current background. Double-click the one you like and you’ll go to the original (hold down Shift to copy the location to the clipboard).

3741: Add the option to remove the notification icon completely
FEATURE: There is now an option in ‘More Settings’ called ‘Show the notification icon down by the clock that controls JBS’. If you uncheck this checkbox then you’ll no longer see the notification icon to control JBS (maybe you don’t like them). Once removed you can bring up the settings by launching JBS again from a shortcut and you’ll be asked if you’d like to see the settings.

2967: Make the montage modes much easier to find
FEATURE: A lot of people completely missed that JBS supported montage options like ‘Snapshot Scrapbook’. Now the settings dialog has a single, easy-to-find ‘Picture mode’ drop down list on the settings dialog that contains all the background options along with little pictures so you can see what they look like.

3881: Add the option to ignore folders of photos based on a wildcard search
FEATURE: You can ignore pictures that are included in folders you’ve added to JBS by specifying a regular expression. This option is available in the ‘Picture Sources’ section of ‘More Settings’ and I recommend you read up on regular expressions before using this option.

3892: Add the option to choose from your Flickr contacts public-only photos
FEATURE: You can now choose public-only contacts photos in Flickr mode by selecting the option from the ‘My Flickr Photos’ section of the Flickr dialog. So no more dodgy pictures appearing on your background from your friends and family!

3515: Choose random photos of all friends in Facebook mode
FEATURE: You can now choose to see only pictures of your friends in Facebook mode. I don’t know about you but whenever I chose photos from my friends I’d very rarely see anybody I know, now I’ll always see pictures of my friends!

2878: Add smart size option so that photos are centred or scaled based on the size and screen resolution
FEATURE: If you opt to use a single picture per monitor and scale it to fit the screen, then you can now set a threshold under which pictures that are too small will be automatically centred.

So, for example, if a picture was 30% of the width or height of the screen then scaling it would result in a pretty blurry, pixelated desktop. In this case the picture would be automatically centred instead.

You can enable this option from the ‘Picture Handling’ section of ‘More Settings.

2888: Add an option to use the ‘Original’ pictures in smugmug mode
FEATURE: You can now choose to ‘Always use Original SmugMug photos for full screen pictures’ on the ‘Picture Sources’ of ‘More Settings’. So if you have a large monitor and want to use the biggest possible pictures from SmugMug, then this is the option for you.

3970: Lower the minimum switching interval to 30 seconds and simplify the interval options
FEATURE: I’ve lowered the minimum switching time and changed the free-form text field to be a pre-defined list of switching intervals from 30 seconds to 7 days.

2866: Allow mult-select on the ‘Never Show Again’ dialogs
FEATURE: Now when you choose ‘Never Show Again’ from the notification icon menu and you’re either using one of the montage modes, or are using multiple monitors with different backgrounds on each or both, then when you’re presented with a dialog to choose which picture to ignore, you can now select as many of the pictures as you like. Just shift or ctrl+click to multi-select the pictures in the normal way.

2301: Add textured background option to snapshot scrapbooks
FEATURE: You can now optionally have snapshot scrapbook images with a wood panelled background effect or a cork board. It’s pretty cool and retro and you’ll find them on the ‘Montages’ section of ‘More Settings’. It’s like having your photos stuck on a real notice board!

3708: Support Bing image searches
FEATURE: You can use Bing image searche results as your background images and can specify exact picture sizes to use along with the search queries of your choice.

1451: Extend flickr user search to include user ID
FEATURE: When choosing photos from a particular Flickr user you can now use their user ID in addition to their user name or email address to find them. This makes life easier when you’re struggling to figure out the user name from their real name!

1462: Make the size of the text on snapshot scrapbook photos dynamic
FEATURE: Previously if you were using the polaroid snapshot scrapbook option and the title of the picture was too long to fit onto the polaroid it was cut off. Now the text is shrunk to make sure it fits in its entirety.

2360: Add an option to pick a random display mode (i.e. postcard pile, scale, mosaic, etc)
FEATURE: You can now have JBS pick a random display mode for you every time the background changes. So you might have a postcard pile, a thumbnail mosaic background, or even – gasp – a single picture on your background. You won’t know what’s coming next! Just choose the random display mode option from the settings dialog (it’s the one with the rolling dice).

1774: Add the option to define borders on the screen to not draw the background (like under a sidebar or the taskbar)
FEATURE: You can now define ‘no draw zones’ where the background won’t be drawn. You can use this to ensure you can always see your desktop icons and can find it on the ‘No Draw Zone’ section of ‘More Settings’.

1753: Integrate Webshots photos with JBS
FEATURE: You can now choose your Webshots photos for your background. Just enter your user name and password and you’ll be able to pick random photos or photos from your specific albums.

2169: Add the ability to exclude certain folders in ‘Folders’ mode
FEATURE: You can now optionally exclude folders of photos from selection when you’ve added one or more folders of photos. You can add exclusion folders from the ‘Picture Sources’ section of the ‘More Settings’ dialog.

2129: Add integration to JBS
FEATURE: You can now add an RSS photo feed from any photo album to JBS and it will let you choose photos from that album. When on an album page just click the ‘More’ link at the top, then ‘RSS Feed’ and copy the URL from your address bar, paste that into the ‘Add’ > ‘RSS photo feed’ section of the settings dialog in JBS and you’re done!

2143: Add the option to search for Flickr tags using “all” as well as “any” (which is the default)
FEATURE: When you choose photos from Flickr by tag(s) you can now decide if you want to search for ALL tags or ANY tags from those you provide. Previously JBS would always search for ANY tags, now you can decide!

2069: Add ‘show pictures with [person’s name] in them’ to Facebook
FEATURE: You can now choose to see photos of any particular one of your Facebook friends (as well as photos of yourself of course).

1806: Add captions to snapshot scrapbook postcard mode
FEATURE: You can now choose to see captions drawn on postcards when using that montage option. You can choose to turn this on from the ‘Montages’ section of ‘More Settings’.

1219: Allow someone else’s private Picasa albums to be chosen from using a private URL
FEATURE: If a friend sends you a private URL to access their Picasa Web Album then you can now paste that into the ‘Add / Edit Picasa Photos’ dialog and use those photos for your backgrounds.

1269: Use a drop-shadow effect on image thumbnails in the Cached Picture Browser dialog and anywhere else it’s used
FEATURE: I thought I might as well make the image thumbnails shown throughout the system (including the ‘Cached Picture Browser’) look a bit nicer. Since Vista shows drop shadows, I thought I’d make JBS do the same – just so long as you have themes enabled in Windows.

614: Add the option to show the dates pictures were taken on in the picture info
FEATURE: If the date a picture was taken is available, it will now be shown along with the title (if available) and the owner of the picture (again, if that information is available). You can of course turn this option off from ‘More Settings’.

1524: Add the option to detect monitor orientation and select pictures that fit
FEATURE: If you have multiple monitors and one is landscape while the other is portrait, then you can now choose ‘Try to match pictures to monitor orientation’ on the ‘Picture Handling’ section of ‘More Settings’. This will ensure that if you use a single picture per monitor then pictures will be chosen according to the orientation of that screen.

In short, with this option selected JBS will try to use landscape pictures on landscape-orientated monitors and portrait pictures on portrait-orientated monitors.

767: Add more hotkeys for commonly used commands
FEATURE: You can now set shortcuts to clear the background, show the settings dialog and view the current picture(s). These can be configured on the ‘More Settings’ dialog. So if you quickly want to clear your desktop, just hit Ctrl+Alt+C or you want the settings up hit Ctrl+Alt+S. These are both particularly useful if you’ve opted to hid the notification icon and still want to control JBS.

1608: Add a preview thumbnail to the friends list in the Facebook dialog when you click on their name
FEATURE: When you choose photos from one of your Facebook friends, you’ll see their profile picture next to their name in the Facebook dialog – that way you can make sure you’ve picked the right John Smith!

3732: Allow individual montage pictures to be bookmarked with delicious
FEATURE: If a montage picture is currently showing and you want to bookmark one of them on delicious (and the pictures displayed were downloaded from the web) then you’ll now be shown all the pictures and can choose the one you’re interested in.

2780: Add the option to download full-sized pictures for all modes as well as Flickr
FEATURE: There is now an option to save all full-sized downloaded files to a specified folder, previously this was only an option in Flickr mode. This option will still only work for full-size pictures and not any of the montage options (those pictures are cached and available via ‘Cached Picture Browser’ on the notification icon menu).

You can access this new functionality from the ‘Picture Sources’ section of the ‘More Settings’ dialog.

1415: Put options into the ‘More Settings’ dialog to control the cache settings
FEATURE: You can now set the length of time you’d like to cache montage pictures and picture lists in the new ‘Picture Handling’ section of ‘More Settings’. If the montage cache is long then more space will be taken up with downloaded pictures, but if you set it short then a lot less space will be used. If you change your background frequently and have lots of drive space, keep the number high!

The photo list timeout on the other hand is how long, for example, a call to Flickr to get your photos is cached for. So if you change your photos frequently, keep the duration short, if you’re not so bothered and want to cut down on calls to the internet from JBS, keep it long!

Enhancements / Bug Fixes

3929: JBS tiles the background when running on very high resolution Vista machines
FIXED: This one had me stumped for quite a while as JBS wasn’t reading the correct monitor size from Windows, however this has now been fixed and you won’t come across this problem again!

1448: Speed up the thumbnail generation in the cached picture browser
CHANGED: The ‘Cached Picture Browser’ dialog is a useful place to see cached pictures used for recent montages, but it was very slow to populate if you had a lot of pictures. Now it’s almost instantaneous and will load thumbnails in the background as you scroll through the pictures.

3715: When importing settings, run the upgrader over the settings
FIXED: If you imported an older version of your exported settings from a previous version of JBS, then the upgrade tasks (that would ensure the settings were correctly imported) wasn’t run against the imported settings. This could result in some options being forgotten. Now JBS deals with imported settings the same way as if you were upgrading JBS – it makes sure all your options are preserved.

3794: Simplify the cached picture browser
CHANGED: The ‘Cached Picture Browser’ dialog was getting a bit large and cluttered with more buttons than was necessary. Now it’s been greatly simplified. You pick the picture cache you want to view from a drop-down list, then you view them. Easy!

3712: Change references to ‘tray icon’ to the correct ‘notification icon’
CHANGED: Like many people I always refer to the little area down by the clock as the ‘system tray’ and the icons as ‘tray icons’. This is incorrect so from now on I’ve changed all references in JBS to talk about the ‘notification icon’ that controls JBS, instead of the ‘tray icon’. Hopefully that will cut down on some confusion!

3733: Ignore the minimum size limit for snapshot scrapbooks
CHANGED: When using a snapshot scrapbook as a background, the minimum picture size would come into play. Since the snapshots don’t need to be large this didn’t make sense so the limit is no longer applied.

3297: Transparent images are rendered with black blocks
FIXED: If you were using a single image per monitor and chose a transparent PNG as a background, then it could be rendered with annoying black blocks where the transparency should be. This has now been fixed.

3290: Change ‘only show pictures larger than __ pixels’ to look at the smallest dimension
CHANGED: It was always a bit confusing that this option would look at the largest dimension of a picture before rejecting it as being too small, but now it looks at the smallest dimension.

3973: Rename ‘Scale pictures to FULL screen’ to ‘Scale and crop to FULL screen’ so it’s less confusing
CHANGED: This option always caused confusion, so hopefully a more clear name will reduce that being the case!

3683: If a photo isn’t available (such as those from a Google image search) then don’t fail and pop up an error, just try another
FIXED: The only thing more annoying than a picture not being available from the web (such as from Google, Yahoo! or RSS Feeds) when you’re switching your background is JBS popping up a message telling you so instead of it just trying to use another one. Now it will do exactly that and not annoy you, unless the reason it couldn’t get the picture was that your internet connection is down – in that case it’ll still pop up the error.

3706: Rename ‘Picture Browser’ to ‘Cached Picture Browser’
CHANGED: I’ve renamed the ‘Picture Browser’ to be the ‘Cached Picture Browser’. Since it now exclusively shows you the contents of each photo source’s cache folders, I thought it made sense to give it a more specific name.

3717: Clear up the confusion about the ‘General’ background effect and the montage background effect
CHANGED: Since you can apply an effect (like grayscale) the background of a snapshot scrapbook image, and also apply an effect to the background as a whole, it was rather confusing to see two drop down lists in two different places for the effect to apply. Now I’m using an image drop down list for each that shows a thumbnail of what you’ll be getting – so for the snapshot scrapbook background option you can see that the snapshots themselves remain the same but the background changes, and the overall background effect drop down list shows that everything changes. When you see it you’ll understand what’s going on!

2863: Get picture size information from Flickr by passing o_dims in as an extras parameter
CHANGED: To cut down on the number of calls to Flickr, it’s possible when getting a photo list to ask for the dimensions of photos up front. So where possible JBS now does this meaning it doesn’t need to query for each individual picture’s dimensions. The bottom line is it’ll cut down on network calls and speed up Flickr mode in JBS!

3349: Remove Phanfare 1.0 from the GUI completely, it’s dead
FIXED: Phanfare 1.0 was deprecated some time ago so JBS no longer supports its functionality – long live Phanfare 2.0 (which of course JBS does still support)!

3846: If you ‘centre’ a picture and it’s far too big for the screen, then scale it to fit instead of only seeing a small part of it
CHANGED: If you chose to ‘Centre’ a picture on screen and the picture itself is way larger that the screen, then you’d end up just seeing the small portion of the picture that fits. Now JBS will automatically scale the picture to completely fit the screen instead.

1478: ‘Only show pictures larger than…’ is ignored in montage modes and shouldn’t be
FIXED: Snapshot scrapbook and 4-picture montages now respect the minimum picture size you’ve set in ‘More Settings’ so that smaller pictures are no longer used.

2557: Show picture information in ‘Folders’ mode
FIXED: Photo information is now shown on the screen in ‘Pictures’ and ‘Folders’ mode if that option is enabled in ‘More Settings’. This makes it consistent with all other photo sources.

3384: Don’t auto-prune folders that don’t exist, they may just be on a disconnected drive
CHANGED: JBS used to remove folders from its list when you brought up the settings dialog of it found the folders were no longer there. This was annoying if your pictures were on a disconnected network drive and would be available again later so now JBS just leaves the folders on the list, even if they’re not there. When it comes time to switch JBS will simply ignore any folders that are no longer present.

3099: Allow the mosaic tile size to be set exactly (i.e. don’t step the sizes by 10 pixels)
CHANGED: You can now choose the exact mosaic tile size from the ‘Montages’ section of ‘More Settings’. So if you want to choose the mosaics precisely so they exactly fit your screen, then now you can!

1609: Facebook mode ignores the portrait / landscape-only options and it shouldn’t
FIXED: Photos from Facebook photos will now respect the portait-only or landscape-only options that you’ve set in ‘More Settings’.

3036: Crash when culling expired downloaded pictures
FIXED: It was possible if a virus scanner or the file system locked a temporary downloaded file while it was being deleted (when the cache had expired). This is no longer the case.

2892: Crash when creating a snapshot scrapbook background
FIXED: If one of the cached images used to generate a snapshot scrapbook is deleted at an inopportune time, JBS would crash. Now it check and removes any pictures that don’t exist prior to generating the scrapbook.

2961: Crash when a popup notification window appears
FIXED: It was possible under rare conditions for the popup notifier in JBS to crash JBS. Clearly this was less than ideal so it will no longer happen.

2883: Crash when the crash handler comes up
FIXED: So JBS has crashed, that’s not good news. But when the crash dialog comes up to let you report the crash and that crashes too, then you’re in a world of hurt! Fortunately the crash handler should no longer crash as a result of the fix for this bug. How embarrassing!

3901: Crash when getting a Facebook user’s information when they don’t have a surname
FIXED: If you attempted to select from a list of Facebook users and one of the users didn’t have a surname then JBS would fall over. This has now been corrected.

3042: Crash when generating a snapshot scrapbook using corrupt images
FIXED: If there were corrupt images used when generating a snapshot scrapbook then JBS could crash. This problem has now been corrected.

3848: Crash when attempting to download pictures from a URL that isn’t a valid URL
FIXED: If an invalid URL (in that it’s not a URL at all) was found in an RSS feed (for example) and JBS tried to download a picture from it, then JBS would crash. This is no longer the case.

3132: Crash when downloading a picture and a virus scanner decides to lock the temporary file created
FIXED: Oh how I hate virus scanners. They’re supposed to protect you from viruses but as a developer they just pop up and do unpredictable things at unpredictable times. Anyway, as the description says, in this case JBS would crash, now it doesn’t. Hooray!

3273: Crash when getting photos from Facebook and some photo information is missing
FIXED: On very rare occasions Facebook wouldn’t return complete photo information and this would cause JBS to fall over. Now it deals gracefully with this happening.

3550: RSS Feeds mode ‘Never Show Again’ doesn’t seem to work in montage modes
FIXED: ‘Never Show Again’ did work in RSS Feeds mode, but wouldn’t take effect until the photo cache was cleared. Now it works properly every time.

3714: “Input string was not in correct format” error in Flickr mode
FIXED: Some Flickr searches that returned no results would case this error due to a bug parsing the XML Flickr returns. This has now been corrected.

3331: Refresh background on startup not working
FIXED: The option to refresh the background when JBS start was broken in version 3.6 and has now been fixed.

2849: Use a single background colour when using one picture across multiple monitors
FIXED: If you were stretching one picture across all monitors (and weren’t making them fit the full screen) then multiple colours would be used (one for each monitor) instead of just the one automatically determined one. This has now been corrected.

2048: Cut off pictures sometimes show up in snapshot scrapbook mode
FIXED: Sometimes snapshot scrapbook images would be half cut off, as though they were corrupted during download. Now, in the event that this happens the picture will be deleted and not shown.

3033: Crash when opening the Picasa authentication dialog
FIXED: In rare cases it was possible to crash JBS when opening the Picasa authentication dialog – this problem has now been corrected.

4016: Stop the picture information from appearing under the taskbar if it’s docked to the right of the screen
FIXED: If you docked your taskbar on the right of the screen then the picture information would be hidden underneath. Now it is correctly indented so you can always see it (like the calendar does).

4056: Auto-start, switch and exit option creates an invalid registry key and fails to auto-start
FIXED: If you opted to auto-start JBS and exit, then the registry key created to do the auto-starting would have too many quote characters in the path to run. This was fine on some machines and failed to work on others and has now been corrected.

4074: Make the day label on the calendar better in non-English languages
FIXED: The day header on the calendar was the first letter of the day in the local language, which was fine in English – M T W T F S S, but didn’t work very well in languages like Chinese. So instead JBS uses the standard shortened day format for the given language on your system, like Mon Tue Wed… in English.

Go and download John’s Background Switcher now!