ProjectProposal-DavidHoffman
From CS160 User Interfaces Fa06
Problem description: Engineers and architects almost always start out with a basic sketch of their design on paper. The actual object is probably irrelevant, whether it is a new part that needs to be machined or the layout of the house. Paper has the advantage of being really quick to draw on and is a more or less direct way of transferring an idea into a more tangible and shareable form. There are some serious limitations to a paper sketch. The biggest problem, is that it will get sloppy in a hurry. They can be full of eraser marks, lines that have been scratched out, lines which have curve to them but which should be straight and angles which are drawn poorly. The other alternative of a paper sketch is that it is very neat and organized, where a user has used rulers, and protractors, and has put a lot of time and effort into making a detailed and accurate drawing of his idea. Both of these sketches have some value and both are a pain to iterate and improve, without major time digitizing and parameterization of the sketch. Eventually, this sketch will need to be re-encoded into a CAD program, so that it is more manipulable on a computer screen. The real problem is converting a sketch, either disorganized or highly structured into a computer schematic. One way that this might be done now, is that a group of skilled people sit down with paper and pencil and sketch out their idea, and go through a few rough versions on paper before they have a really rough idea of what they are looking for. Then, either one of the people who developed the sketch, or an assistant level technician will convert the sketch into a CAD model. Drafting CAD takes significantly longer than sketching on paper largely because, the current tools for computer drafting can be very cumbersome. The expectation that people will have poor mouse control leads to obnoxious features such as snap-to-grid, and angle stick points when you don’t need them and other features like fusing discrete points when they are truly separate.
Target User Group: This is a problem for people who need to convey layout ideas they have in their heads to paper, and then need to iterate on these ideas. Some places where this may be common on campus are architecture students and people who have engineering experience. While these people may be very competent in reproducing a hand-drawn sketch as a computer parametric model, they may find the experience tedious and time consuming. This problem is serious enough that there are even companies that specialize in drafting. The following website describes the profession of people who used to draft with tools such as compasses and rulers but have now become CAD operators specialized in making sketches that reflect the ideas of the designer.
http://www.bls.gov/oco/ocos111.htm
What these people now do, is make a scale model of the sketch, which incorporates all of the constraints the designer has specified or intended to specify. These constraints might include, straight, parallel or perpendicular lines, curves which are arcs of a circle, symmetry and equal spacing. Someone who does a very careful hand drawn draft has already ensured that these constraints are enforced in the sketch. Other users who prefer quick and dirty sketches may use certain symbols to represent constraints to eventually incorporate in a scale CAD draft of the sketch. One group of people who could discuss some of the difficulties of producing CAD sketches are the architecture students who draw building layouts. They would have experience with mapping out a rough layout on paper and then transcribing it to a computer, in a fashion analogous to writing a paper by hand and then typing it up and printing it out.
Problem Context and Forces: There are really two types of design sketches to consider dealing with. The first type is a draft which is done very carefully and uses tools to produce an accurate scale model, only on paper. The other type of sketch conveys the same information as the other type of sketch except that it shows the information with symbols instead of being well drawn. The well made sketches are less problematic because they are thoroughly considered and should be fairly easier to convert to a digital format. However, the crude hand drawn sketches can be problematic. They may be drawn using pencil and have scratch-marks where there has been erased content. It may have lines that are not fully connected. It may take a high level interpretation to make the sketch coherent, and it may rely on assumptions about objects, such as angles close to perpendicular are probably perpendicular, and certain triangles are more common than others. There may also be notation that differs from one designer to the next. One example might be that one designer obscures mistakes with an x while another nulls it by scribbling over it. It is possible that they will also use exotic tools to make the sketch, such as making a circle by tracing around the rim of a coffee cup, or using a pencil affixed to a compass. The people making these crude sketches are going to be in a hurry and will not want to do anything that will hamper their progress on the project. Their current solution to these problems is to either sit down later and clean up the sketches as they make the model on the computer, or they send the labeled crude sketches to a drafting person who will charge a fee to convert the drawing to CAD. Another more complex aspect of the problem is that some people may want to show a third dimension in the sketch by using a perspective drawing or an orthogonal viewpoint drawing. These are even more difficult to convert to cad files. Probably the most serious aspect of the problem, is that these designers do not want to deal with buggy CAD. They want the CAD models to reflect their ideas and not have problems which are a hassle to deal with.
Solution Sketch: If the sketch were drawn with an Anoto pen on digital paper, many of the intricacies of the sketch design could be captured as they happened. The goal is to make an interface where the sketch becomes CAD directly without an operator to convert it. This could be facilitated by knowing the order in which the sketch was made. If the pen makes a line, stops, and then resumes from the same point, it could be easier to the junction between the lines as a union of the lines as opposed to two lines terminating in a similar location. The goal of the UI is to interpret the strokes the user makes as an attempt to makes some element of a recognizable object. The experience of using this interface would be that the user would make the sketch on the paper and attempt to make it accurate enough that a human could interpret what he/she was trying to show. The capability of the anoto pen to track the time of the movements would be very important in the analysis of the sketch. A steady movement should probably be treated as a single line, and probably straight or fits to a spline function. Two lines which were drawn at different times do not necissarily need to be immediately related to each other. Having the temporal aspect to the data may make the computer interpretation much more robust than scanning in a sketch on a traditional scanner and running a program to interpret it. One aspect of the solution may be that the user will need to identify nodes where lines which may seem ambiguous are clearly joined. It is also possible that we will need to specify a special notation for the drawing so that it is interpretable. In the figure some different notations are shown. Dots show places where lines join or intersect. Squares in corners denote 90 degree angles. Mistakes are obscured with crossing out or scribbling over. One problem with processing nice sketches is that it is unclear how the Anoto pen will function as a drafting tool. It may not fit in a standard compass that an architect could use. A ruler may obscure part of the pattern so that it doesn’t record position correctly. One problem with processing the rough sketches is that it may be very difficult to clump the diagram into lines if the Anoto Pen is not completely continuous. It may have tiny gaps where the ink couldn’t register, or have places where it misreads the paper and there is a jump on the sketch. The interface would need to have some error correction capabilities to be ready for problems such as these and correct them on the final sketch so that there are no artifacts that make it into the final sketch.
One more useful feature that would be useful to have in this software is a basic 3D modeling capability. That way if a person drew the sketch from several different vantage points it could integrate it into a true 3d model. Or maybe it could use the perspective lines to register the sketch as a 3d object as opposed to a series of 2d lines.
