Why I started Image Upload Manager

I used to use ImageBot to upload my images to ImageShack. But it has been at least a year since I last succeeded in logging in using ImageBot. So I looked through the ImageShack website for an alternative. They didn't have one that could do what ImageBot did. That is, more than just upload the image. ImageBot can do all the following, when it works:

Since ImageShack has a public API, I figured I could write a utility to replace ImageBot in my needs. I also figured that other sites like ImageBot had similar APIs. So the new program could be made extensible to support those other sites.

Why .NET?

Mostly, because I expected to do most of the coding myself. .NET is the most modern platform that I know how to develop for. Other platforms would have required a steep learning curve before I could write a single line.

What versions of .NET and Windows will be supported?

Without someone who has Windows 7 or a 32-bit Windows, testing will be limited to .NET 4.0 and Windows Vista 64-bit. As for XP or older versions of .NET, those will only be supported if it works out that the final program runs there. If they don't, oh well.

Why Windows Forms rather than Windows Presentation Framework (WPF)?

See above. I don't understand WPF yet.

How will Image Upload Manager be extensible?

How come I don't see any preferences windows in the screenshots?

Because they haven't been written. I am holding of on even coming up with preferences because the rest of the program is in flux. I don't know what preferences will be needed. I don't want to have to rearrange those windows any more than I have to. But if I code them now, I would be adding preferences like crazy at this point. So it makes sense to hold off.

Will there be themes?

Probably not for a while. I don't consider them to be a priority. They could require a lot of code. So I am skipping them for now.

How will data be stored?

Entirely as XML. The only binary storage will be for the thumbnails as they will need a cache somewhere.

Will the program be portable? Or will it need to be installed?

Take your pick. The code I have can already go either way. If there is a file in the program directory named “data location flag file.txt” with the contents “portable", the program will look to sub-directories of the path containing the executable for the profile data. Otherwise, the program will look to "%appdata%\Will Pittenger\Image Upload Manager” for profile data. If the program is portable, the same folder with the profile will be checked for extensions and providers. Otherwise, it will check the "%appdata%\Will Pittenger\Image Upload Manager” followed by "%programdata%\Will Pittenger\Image Upload Manager” for those. (I do want to allow users to disable global extensions and providers.)

What about PortableApps.com support?

I won't rule that out. However, Chris Morgan of PortableApps.com told me that they currently don't bother with .NET applications. So no code will be added for now.

What would happen if files or folders are missing?

Except for the executable and DLLs, the program will simply create them.

What preferences are planned at this point?

As previously noted, that is in flux. But I do want these:

In addition to those preferences, extensions and providers might have their own options. The preference system needs to be able to provide access to those. The import wizards also offer a favorites pane with access to commonly used folders. That is mostly coded along with code to store the favorites list. Also coded is the ability to show or hide file types and add new ones. Those changes are also saved.

How will thumbnails be cached?

There are several different systems. I would like to allow each as none are truly superior to the others.

What is meant by importing?

Importing is the process of telling Image Upload Manager about your images. There are two types of importation. When you import individual files, that is all you are importing. You can import them into any “virtual folder.” A virtual folder is one that exists as far as Image Upload Manager is concerned, but doesn't actually exist on the local drive. If you import a real folder, you are implicitly importing all of its contents (subject to filters). You can't move the contents of an imported folder. Nor can you import anything into such a folder. However, you can hide its subfolders and contents.

What do I need to compile the project?

Will Image Upload Manager spawn any subprojects?

There are several DLLs that I hope will become their open projects here on SourceForge. But for the time being, they will remain as part of Image Upload Manager.

I haven't thought up any yet. But I am open to suggestions. Please post them in the developer forum. All submissions become the property of Will Pittenger and subject to the license listed in the footer.

Do you have any screenshots?

Yes. Go to the screenshots portion of our gallery.

Is “Image Upload Manager” the final name?

Definitely not. I am hoping to come up with a better, more unique, catchier name. The current name is a place holder. However, the name used in the code will remain unchanged. I won't change the project's Unix name on SourceForge unless I am certain that it won't break your bookmarks to our site.

What page should I link to?

This page please. Please let us know about any links by posting in the guestbook.