[Blindmath] First attempt at an SWT/SVG based drawing program

Ben Humphreys brh at opticinspiration.org
Tue Aug 30 16:44:20 UTC 2011


Professor Baldwin,

This program is fantastic!

I've read your tutorials on SVG and the Java library you developed 
but of course even with those resources, the effort to produce an 
actual drawing isn't trivial.

But with your SVGDraw1 tool, I'm up to speed with an actual drawing 
-- a see-saw I envisioned.

It took 3 iterations of draw and print to Tiger embosser before I got 
what I pictured in my mind.  Along the way, I discovered a few human 
factor issues:

1.  The coordinate system of 8.5 x 11 leaves a lot to be desired. 
However, I found that if I designed the drawing in landscape 
orientation where x-axis is 11.5 inches and y-axis is 8.5 inches, 
that helped me render more natural drawings.

2.  I truncated the x-axis at 10 inches and the y-axis at 8 inches 
and that really helped simplify my calculations.

3.  printing the .svg file from browser using a Landscape orientation 
worked as designed.  Firefox (6.0 in my case) seems to work much 
better than IE.  IE either won't print anything or pops up with a 
request to install Adobe SVG Viewer, whatever that is.  I can be 
certain I don't want Adobe involved in my SVG efforts though.

4.  When entering data in the input fields, most Windows programs 
highlight the field first so that once you begin typing, the previous 
value is overwritten.  It seems in this Java implementation, the 
default behavior is to insert typed text in front of what is already 
there.  So I had to remember to clear existing data before entering 
new values in input fields.

5.  It would be nice to make use of the Esc key to abandon a 
previously initiated Drawing object.  So for example, if I started a 
line then decided what I really wanted was a rectangle, I could press 
Esc to return to the combo box.

6.  A nicer title for the "Main Window" would be "[Drawing Name ] - SVGDraw1"

I can't wait until this program gets some advanced features like:

1.  Ability to reload an existing drawing

2.  Ability to edit an existing object by name.

3.  Ability to easily specify a "grid" or set of hash marks on the x 
and y axis.

4.  Ability to specify a user-defined coordinate system.  For 
example, x-axis = 10 and y axis = 13.

5.  Ability to specify one coordinate of a new object as an 
intersection with another object.  For example, Draw polyline "Sail" 
whose first point is the topmost endpoint of line "Mast"

Of course, having used AutoCAD when I had sight, I'm ultimately 
envisioning a tool which would allow one to draw amazing things with 
perfect precision.  Until then, this is a wonderful tool!

P.S. Running Win7 + JRE 6 + Java Access Bridge + JAWS 12 + Firefox 6 
+ IE 9 + Tiger Spot Dot Embosser.

Ben

At 10:02 PM 8/29/2011, you wrote:
>For those who may be interested, I have posted my first attempt at putting
>an SWT GUI front end on my SVG graphics library and have posted the
>resulting program in a file named SVGDraw01.jar at the following URL:
>
>  http://www.austincc.edu/baldwin/SWT-SVG/SVGDraw01.jar
>
>I would appreciate it if some of you would download the program, try it, and
>provide feedback in several different areas. You will need the Java virtual
>machine installed on your computer to run the program. On Windows, you can
>run the program either by double-clicking on the jar file, or by opening a
>command prompt in the folder containing the jar file and entering the
>following command at the command prompt:
>
>java -jar SVGDraw01.jar
>
>When the program starts running, you should find yourself in an SWT Combo
>object with an item labeled "User Instructions" highlighted. Pressing the
>Enter key at this point will take you to the beginning of a page containing
>user instructions. A screen reader should tell you to press shift-tab to
>return to the combo box or to press the tab key to continue.
>
>Pressing the tab key will cause the screen reader to begin reading the
>instructions. At the end of the instructions, the screen reader should tell
>you to "Press tab to return to the combo box." (Of course, you can press tab
>at any time. You don't need to wait until the screen reader finishes reading
>the instructions.)
>
>You can navigate up and down the list in the combo box using the arrow keys
>and act on an item by pressing the Enter key when that item is selected. The
>combo box currently contains the following items:
>
>User instructions (which is what you should do first)
>Start a new drawing (which is what you should do next)
>Draw a line
>Draw a rectangle
>Draw a circle
>Draw an ellipse
>Draw a polyline
>Draw a polygon
>Write drawing file (which is what you should do next to last)
>Stop program (which is what you should do last)
>
>When you press the Enter key on the item labeled "Start a new drawing," an
>empty SVG page of a specified size with optional title and description
>attributes will be created in memory.
>
>When you press the Enter key on the item labeled "Write drawing file", that
>SVG page will be written to an output SVG file with a name of your choosing
>and an extension of .svg.
>
>Between starting a new drawing and writing the drawing file, you can add
>elements for any number of any of the six shapes (which are the SVG basic
>shapes) in any order to the SVG page.
>
>When you press the Enter key on a shape item, you will land on a form that
>allows you to enter the most commonly used attributes for that shape. Fill
>in the blanks, check the check boxes (if any), and finally push the button
>labeled "Push to draw ---" to add the shape element to the SVG page. You can
>navigate up and down the the form with the tab key and shift-tab.
>
>I would appreciate receiving feedback in at least the following areas.
>Feedback in other areas not listed below will be appreciated also.
>
>1. Will the program be accessible to a blind student? What could be done to
>improve accessibility?
>
>2. Will the navigation structure of the program be functionally useful to a
>blind student? What could be done to improve the navigational functionality
>and make the program easier to use?
>
>3. Will the "fill-in-the-blanks" concept for creating technical diagrams and
>drawings, such as vector diagrams and free-body diagrams, be useful to a
>blind student? If so, which of the many additional capabilities of SVG, such
>as arcs, paths, etc., would be appropriate as an upgrade to the program.
>(I'm already planning on adding the ability to create text elements. I just
>haven't resolved all the questions regarding fonts yet.)
>
>4. To what extent is the output SVG file compatible with graphics embossers
>that can work with SVG files as input? What could be done to improve that
>compatibility?
>
>Thank you,
>
>Dick Baldwin
>
>--
>Richard G. Baldwin (Dick Baldwin)
>Home of Baldwin's on-line Java Tutorials
>http://www.DickBaldwin.com
>
>Professor of Computer Information Technology
>Austin Community College
>(512) 223-4758
>mailto:Baldwin at DickBaldwin.com
>http://www.austincc.edu/baldwin/
>_______________________________________________
>Blindmath mailing list
>Blindmath at nfbnet.org
>http://www.nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>To unsubscribe, change your list options or get your account info 
>for Blindmath:
>http://www.nfbnet.org/mailman/options/blindmath_nfbnet.org/brh%40opticinspiration.org





More information about the BlindMath mailing list