Here is our first result... Gonzalo wrote the Java code to produce the GUI based on the Shapes. It's a very nice start for us.
domingo, 25 de mayo de 2008
Feedback in sketch recognition
Early on our research, we noticed that there was a slight shock for a new user when the sketch recognition system translates the pixel data into the recognized shape. A better explanation would come from a simple example:
- If you draw a rectangle, meaning to sketch a window. The system is taught to recognized rectangles as Windows. What happens next, is the visual change of your (awfully) drawn rectangle into a pretty Window. Maybe this doesn't sound really bad, but it is a bit of shock...
We have thought of a couple of ways to solve this. An interesting solution would be to have a smooth transition (morphing) from the original sketch to the desired image. Although we don't think this is desirable in all cases.
Another solution which seems to us more appropriate, is to provide near foolproof methods of feedback.
- Our current approach involves the use of color:
- Unrecognized lines appear in blue.
- Basic shapes (rectangles, circles, Xs, checks) are colored magenta.
- Finally complex (and interesting) shapes show up in black. This signals a final state of the shape.
- We've thought, although are far from implementing, about using a "virtual assistant". Much like those found in a certain popular Office suite. Our assistant would shout (in a very quite sort of way) the item that was recognized.
- Say you drew a button, the assistant will show a button drawn inside its dialog balloon. Similarly for the rest of the building blocks.
- Most consider assistants to be generally useless. We think that in this particular case, it would prove to be an extremely useful tool to provide feedback. Specially since efficient feedback, in particular, is one of the yet to be solved problems while sketching.
- If you draw a rectangle, meaning to sketch a window. The system is taught to recognized rectangles as Windows. What happens next, is the visual change of your (awfully) drawn rectangle into a pretty Window. Maybe this doesn't sound really bad, but it is a bit of shock...
We have thought of a couple of ways to solve this. An interesting solution would be to have a smooth transition (morphing) from the original sketch to the desired image. Although we don't think this is desirable in all cases.
Another solution which seems to us more appropriate, is to provide near foolproof methods of feedback.
- Our current approach involves the use of color:
- Unrecognized lines appear in blue.
- Basic shapes (rectangles, circles, Xs, checks) are colored magenta.
- Finally complex (and interesting) shapes show up in black. This signals a final state of the shape.
- We've thought, although are far from implementing, about using a "virtual assistant". Much like those found in a certain popular Office suite. Our assistant would shout (in a very quite sort of way) the item that was recognized.
- Say you drew a button, the assistant will show a button drawn inside its dialog balloon. Similarly for the rest of the building blocks.
- Most consider assistants to be generally useless. We think that in this particular case, it would prove to be an extremely useful tool to provide feedback. Specially since efficient feedback, in particular, is one of the yet to be solved problems while sketching.
First Steps
We are currently in the research and learning phase of our project.
Our first "milestone" will be an exposition of our ideas and a rough prototype of the tool, at the present term HCI class, taught by Dr. Katherine Chiluiza. Dr. Chiluiza is one of our main advisors :), she also proposed the idea for our project.
While researching about sketch recognition we stumbled upon LADDER. LADDER is a multi-domain sketch recognition framework. Actually, LADDER is a sketch description language. The framework takes the description file and generates a recognizer for the figure. It has been very interesting and we've learned a lot while learning to use it. Using the language, we have been able to write recognizers for the main building blocks for the GUI prototyping domain. Following is the short description of the building blocks and (although roughly) how they were described:
Window
- HorizontalRectangle
- horizontal Line
OKButton (in window)
- HorizontalRectangle
- contained Check
CancelButton (in window)
- HorizontalRectangle
- contained X
TextArea (in window)
- HorizontalRectangle
- contained T
ComboBox (in window)
- HorizontalRectangle
- contained Triangle
CheckBox (in window)
- Square
- Check
- Label (to the right)
RadioButton (in window)
- Ellipse
- Label (to the right)
ListBox (in window)
- HorizontalRectangle
- 3 horizontal Lines
Spinner (in window)
- ComboBox
- contained Square
- contained Triangle
- Square contains Triangles
Slider (in window)
- Line
- Triangle
- Line intersects Triangle
TabbedPane (in window)
- 2 HorizontalRectangles
- coincident h1.bottomLeft h2.topLeft
We are very enthusiastic about what we have achieved in this short time. We have several steps to go, but it seems that we are on the right track for now.
Our first "milestone" will be an exposition of our ideas and a rough prototype of the tool, at the present term HCI class, taught by Dr. Katherine Chiluiza. Dr. Chiluiza is one of our main advisors :), she also proposed the idea for our project.
While researching about sketch recognition we stumbled upon LADDER. LADDER is a multi-domain sketch recognition framework. Actually, LADDER is a sketch description language. The framework takes the description file and generates a recognizer for the figure. It has been very interesting and we've learned a lot while learning to use it. Using the language, we have been able to write recognizers for the main building blocks for the GUI prototyping domain. Following is the short description of the building blocks and (although roughly) how they were described:
Window
- HorizontalRectangle
- horizontal Line
OKButton (in window)
- HorizontalRectangle
- contained Check
CancelButton (in window)
- HorizontalRectangle
- contained X
TextArea (in window)
- HorizontalRectangle
- contained T
ComboBox (in window)
- HorizontalRectangle
- contained Triangle
CheckBox (in window)
- Square
- Check
- Label (to the right)
RadioButton (in window)
- Ellipse
- Label (to the right)
ListBox (in window)
- HorizontalRectangle
- 3 horizontal Lines
Spinner (in window)
- ComboBox
- contained Square
- contained Triangle
- Square contains Triangles
Slider (in window)
- Line
- Triangle
- Line intersects Triangle
TabbedPane (in window)
- 2 HorizontalRectangles
- coincident h1.bottomLeft h2.topLeft
We are very enthusiastic about what we have achieved in this short time. We have several steps to go, but it seems that we are on the right track for now.
Introduction
The current developers of the Penguin Prototyper are:
- Gonzalo Gabriel Méndez
- Javier Tibau
Penguin Prototyper stands for Pen-based GUI Prototyping Tool. It is to be the product of our under-graduate thesis project.
Also important to mention now is that our thesis director is Xavier Ochoa.
- Gonzalo Gabriel Méndez
- Javier Tibau
Penguin Prototyper stands for Pen-based GUI Prototyping Tool. It is to be the product of our under-graduate thesis project.
Also important to mention now is that our thesis director is Xavier Ochoa.
Suscribirse a:
Comentarios (Atom)