If you create programs for CAD operators, AutoCAD or Inventor to name just two for example, it is important to get the interface correct. It is tempting to think that you know what is best, but unless you involve the user in the design you will almost certainly make something which annoys/irritates/angers/misleads them.
Whether you use C++ or C# or Python or whatever language the following tips apply.
Tip 1: Get to know what physically your program will result in.
For example if your program will create a new electric motor then understand, at least at a simple level, what the components do. Without that knowledge you are isolated from the actual work which the program should perform. If you conceive of the job as just a list of input numbers and strings you will have no idea of the relative importance of the inputs, what they represent physically.
If you conceive of the job as just a list of input numbers and strings you will not understand what physical limits there are on these numbers (maxes and mins for example) and strings (component part numbers for example).
Tip 2: Give visual feedback in the user interface.
Have a preview of the component the software will create when the user clicks on the OK button. When a slider is dragged then the user should see the model change. It may not be practical to show the whole model, but a simple preview could give real time feedback as the slider is changed.
A preview can also show obvious errors in the choices of the user. With just numbers (parameters) errors may not be immediately visible.
It is also nice for the user to be able to rotate and zoom the simplified preview.
Tip 3: Make the preview measurable in a CAD system.
(This trick I have found very useful, more for the developer than the user.) I'll explain: My 3D previews of components and assemblies are actually 3D skeletal DXF files. These files are to scale. I have a method which shows the preview DXF in the form/dialog.
I create the DXF in memory, but have a button on the dialog which says "Save DXF..." This means you can actually open the preview in (for example) AutoCAD to check the measurements of the component.
As I said, this is more for the software designer than the user, but it has saved me much time and allowed me to find and correct dimension bugs much quicker.
(The images below are very simple invented parts, I cannot show real complicated parts for NDA reasons.)


No comments:
Post a Comment