SmugBackup - Flexbile album backups back to your disk. Freeware
ash
Registered Users Posts: 4 Beginner grinner
Hello friends,
This sunday I wrote a piece of software SmugBackup. It allows simple and flexible downloads of selected albums on the Windows Platform (tested on XP and Vista). Existing solutions were either crashing on me or not working correctly. It was getting very difficult and undeterministic to download my albums back !
Smugbackup is pretty straightforward to use (no help required !) and has some nice features like album splitting, persistent username and download directory across sessions, various progress indicators, sorting of albums according to category and album names and so on.
Its a standalone EXE with no .NET support required. For SSL support it requires two openSSL DLL files. The link for them is given on the homepage.
Its homepage is http://www.cs.northwestern.edu/~agupta/smugbackup/
This is the initial version 0.1.
Any Hugs and bugs are welcome ...I will try to incorporate any suggestions over time, mainly on the weekends.
cheers!
Ashish
Here is a screenshot :-)
0
Comments
This looks great clap
I will give it a run later today.
Cheers,
David
SmugMug API Developer
My Photos
From my personal experience, I have now added an overwrite option. It allows you to skip files if already present on the disk in the specified path. This is a great way to sync pictures from online to disk without downloading all the pictures again.
ok...finally got around to testing this.
firstly from a programming perspective, you are currently calling smugmug.images.get, followed by multiple calls of smugmug.images.getURLs for each image.
You can reduce this to a single call for each album, by adding the heavy option to smugmug.images.get.
eg. method=smugmug.images.get&AlbumID=XXXX&Heavy=1
Secondly, you are currently saving the filename with the default SmugMug extension, it would be nice to have the original filename. The FileName parameter is returned from smugmug.images.get with heavy.
Cheers,
David
SmugMug API Developer
My Photos
Current Album Progress, it would be nice to display the current album title next to it. eg. Current Album Progress: My Favourite Photos
Current Album Progress indicator, it would be nice to see this increment as the file is being downloaded as opposed to once it downloads. Using smugmug.images.get with heavy, it should be possible to know the total number of bytes for the whole album and increment accordingly.
Current request progress, this is a little bit confusing since it has multiple functions...sending requests and downloading images. I think it make more sense that this text changes, for example...
- Retrieving albums
- Retrieving album information
- Downloading image XXXXXX
Indicates current image download progress, personally I remove this and added that info to the Current Album Progress, so it shows...
Current Album Progress: My Favourite Photos (1 of 100)
or something similar, but I would display it in terms of the current image downloading, not downloaded as you currently do.
And I would remove Show last image downloaded and Show current album being downloaded all together
SmugMug API Developer
My Photos
- use MD5 sum (provided from smugmug.images.get with heavy), to determine that the file was downloaded successfully.
- use MD5 sum, to determine if the file on the disk is different to the one on the server and whether you need to overwrite it.
- add a popup login window, so you can streamline your UI a little bit.
- remove popup alert statement on closing regarding log out.
- save the currently downloading image under a different file extension while it is downloading [filename].partial, so that a user can't open it while it's downloading.
SmugMug API Developer
My Photos
- Cancelling the download, the current file continues to download. I believe that it should stop and remove the partially downloaded from the disk.
SmugMug API Developer
My Photos
Thanks a lot for the suggestions David ! These are pretty useful points. The small UI enhancements are easy to do. These should help the progress reporting to be better. I will take a look at these and possibly the MD5 option too.
Cancelling the current file download on Cancel is something I still have to figure out - Currently I just issue a single atomic API HTTP request and it gets the whole file on disk. There should be a way to interrupt it.
cheers,
Ashish