Hi, sjcbulldog mentioned an interest in user interface ideas ... I have a lot of them. I am a photographer by trade, have done a little light weight programing (don't really like it) - but I really like work flow / user interface challenges, so I would very much like to help it that area. In that programming might change depending on the long range ideas / objectives I thought I would share some of my ideas early on. No hard feelings if any are not appropriate ... if this is too much at one time just tell me and I will break it up into smaller discussion chunks ;-)
Interface thoughts; A pretty interface isn't first about pretty. It is first about workflow, then about ease of use and flexible / intuitive, and then about pretty. I think it is easier to visualize when concentrating on workflows and going from there. In other words, how each user is using the program, the steps they need to accomplish their goal(s), then from that the UI choices that accomplish and streamline that workflow. So in my opinion each user that has UI ideas should identify the goals and steps needed, then ideas on UI to accomplish said goals. Or if they are UI driven, then explain why they like that idea of the UI in terms of goals and steps. I am sorry if this feels like I am repeating myself, but so much commercial software out there obviously doesn't approach the problem this way so I figure it might not be something developers talk about much ...
My need and work flow ...
I have a photo studio, we have 300 to 400 portrait sessions a year that we burn to CD/DVDs of the original image files and CD?DVDs of the final image files using Roxio Creater Classic. I tried using Gear and it crashed my system, the program that comes close to what I need (which I purchased) is Padus DiscJuggler, but it is a juggle to use it even though it has the capability we need. So we are back to Creator Classic, it is slower - but we do other stuff while burning. We have two new identical Sony usb/firewire CD/DVD burners plugged into our comuter we use for archiving.
My goal is to be able to burn to each at the same time with different sets of data - and have it be easy and intuitive. We often have more files than fit on one disc so the program needs to be able to show us how far we got in the list of files so we can start the next disc with the right files without having to check back and forth. We also need to be able to sort by file, name, type, date created, or size so we can easily group the files we need to burn. So, easily add sets of files to burn, burn and verify, we put in new disc., add next set of files, etc. with more than one CD/DVD drive simultaniously.
Ideas for UI:
Tabs - think Firefox - each tab is an instance of any one of the sub-programs. Each tab is created by the user, the user decides which program to assign to the tab, and which defaults to assign to the tab, the tab can be saved, managed and organized. I know that there will be a tendancy to want to make tabs 'projects' that are saved. Projects only make sense when one is revisiting the same files which is often not the case so I would highly reccomend keeping this separate.
Workspaces - program layout settings and tabs (and/or tab groups) can be saved to a workspace, user may have multiple workspaces available, and an option to open the last workspace used when opening the program.
By implementing this kind of strategy, you would accomplish ...
- A user could be burning, and while burning open a tab to prepare the next burn to the same drive, or Rip or whatever - working ahead for the same drive. A way of building a qeue system for the drive.
- Rip from one drive while burning to another - or doing any other possible combination of tasks with mutiple drives.
- Keep all functions of the sub programs available from within the shell program so that it felt like one program. Each sub programs settings would only show (within the tab or the menu/shortcut button area) based on the tab that was active.
I know, the devil is in the details ... but this is an overview of my vision. I hope some of it can be of help :-)
What about the following ....
Each tab is a project. A project is a set of files to be burned to a set of disk. The project is targeted to be burned to a specific kind of media (CD-RW, DVD-R, etc) and if the files selected exceeds the size of a single disk, it is divided into multiple disks (automatically).
At some point along the way, you can "submit" the project and it moves from a tab to a queue that is located on the side of the main window. The queue shows each of the projects in the queue, the # of disks requested and their position in the queue. Within the queue window you can move projects up or down to change their order in the queue, unless they are already burning.
If you have multiple drives, you can select to assign on drive per project, or have then mix and match on the next available drive (that supports the desired media).
Is this what you had in mind? That is very doable and sounds very intriguing.
Also, look in the Feature Request section for a very simple mockup of what I think you are describing.
I really like your idea, and I can see that impementation might be the easiest. But I am thinking your system would require saving of a project - which would create more steps, and add a nother layer of complication. I have added a screen shot (to the feature request secion) of what the general work flow might be for what I am thinking. I am excited to know what you think, and I am really glad you like the ideas no matter how you might implement them.
I did the layout in MS Access since it has prebuilt buttons and tabs and is the quickest for me. I could do pretty buttons in Photoshop down the road if you want, but most of my work is photo retouching and restoration so I am not a super speedy at creating things from scratch (although it would probably go pretty quick once I got started on it).
All of your comments are on the money. I would add that when automaticaly spanning disks, it would be nice if there was an option to a)-keep files sequential or b)-fill the space on the disc most effectively.