Tuesday, February 27, 2007

Meeting Notes

Had a meeting today, so I'm posting my notes here so I can freely access them.

** Meeting Notes **

Capability of encouraging exploration. Discussed topics ready at hand. (The trigger for a desired action that distracts the user is not ready at hand. For example bolding a phrase is ready at hand if you press Ctrl+B. It is not* ready at hand when you trigger it by: Tools --> Fonts --> Bold --> OK.)

Professor mentioned someone else said the greatest tool for exploration is Undo. (You go Alex! You weren't alone in your intuition for Undo)

When I take a rough sketch and formalize it for distribution, what do I lose? Should I be able to return to the crude sketch from the formal presentation?

More on my side: When I sketch ideas, I have an affinity for what I draw. The affinity becomes more important when I am extending a *formal* document. For example, when I'm appending to a formal design (formal as in pretty and easy to read), I feel more inclined to explore my own ideas.


~~ Works to Reference ~~
Mark Gross
Ellen Do
--- Drawing on the Back of an Envelope


VKB Shipman
--- Visual hypertext


Terry Winograd
--- Computer and Cognition (check out chapter on ready at hand)

Paul Dourish
--- Where the Action Is: The Foundations of Embodied Interaction


Haowei Hsieh
--- Nothing

Michael Terry
--- work on evaluating alternatives (in ACM Chi conference)

  1. Schön, D. The Reflective Practitioner: How Professionals Think in Action, Basic Books, 1983, Chapter 2, pp. 21-69.

Brenda Laurels’ latest stuff on poetics? Maybe for the future.

Cognitive walkthrough for evaluation?
--- Maybe this??

Saturday, February 24, 2007

Shoving objects to the side of the board

This new feature extends the metaphor of a desk. Imagine now, you're sitting at your desk. Now imagine you have several desks around you, and at any time you can swivel between them with your fancy leather padded chair (I program in high class ;). That has been the inspiration of the buckets at the bottom of the screen as they are currently implemented.

Now imagine the metaphor that as you're piecing together your design, you suddenly have a piece of it that you don't want to see right now, so you shove it off to the side of your desk. At any time, you can reach over to it, but literally it's off to the side. This is the inspiration behind the new feature.

The "off to the side" buckets will exist on the right hand side of the screen. At any time, you can highlight a group of objects, then drag them to a "bucket" on the right hand side of the screen. The selected objects will be cut from your current diagram, and you'll see a tiny little preview of it in the "off the side" bucket on the right hand side. You can drag these back on at any time to your current work space.

Here's a snippet of Alex's interpretation: *one* direction, of many, you could go with this is that you are at a desk, and in the top left corner are objects, like a pen holder, and a little ticker tape (either as icons, or as part of an actual good-looking background image) that when you mouse over, expand into concepts and undos respectively, and on the right are little drawers that are closed, like into the side of the desk which is offscreeen, so all you see are little handles and drawer-fronts, and when you mouse over them, they open and have design parts inside, and the bottom of the screen, metaphorically enough, represents pushing away from the desk and going to another one (though presumably all your tools would come with you, undos and such) so the metaphor breaks a little there.

There are a few problems, like links drawn between objects that are taken out. I can just assume all links to the object that was cut out are removed. That would be simple, I'll have to do some practical tests to see if it works.

Friday, February 23, 2007

New Component Hiding Feature

The time for me to appear mature is quickly coming. Not that I will become mature, but it's one more mask I have need to forge to succeed in my upcoming endeavors. Specifically, grad student!

More to the point, it's time to distill the ideas floating around my mind, and materialize them in to tangible arguments. To the lovely friends who have subscribed because of my crazy ramblings, you might find yourself a bit bored with my developing theories, and for that I apologize ahead of time!

Note: I use designer and user interchangeably since my intended users are software designers :)

My current thought is with regard to the project I'm currently working on: VBoard. A good friend pointed out that, as the project is evolving, it's losing the simplistic charm it originally had. The cluster of components is creeping on the user, making it seem like any other bloated tool. He makes good sense, and there is psychology behind the explanation too. The solution? Hide the components, but make them easily accessible.

Psychologically, presenting too much information at one time can limit the designer's imagination. The average human brain can hold, on average 7 or smaller thought chunks (where each chunk is a concept like a car, reasonable number, etc). [Note to self: Look in to papers that analyze the effectiveness in clustering design ideas in to chunks, possible quantitative analysis or other studies] This means, if the designer consciously occupies his mind with the design environment at any point, a chunk of memory devoted to his current task is bumped out of his mind. The environment can invade the working memory through 2 different scenarios: 1) The user must "hunt" through the program to find the trigger for their desired action, and 2) Information not immediately relevant to their current task occupies the workspace and unintentionally attracts the designer's attention.

In order to combat the first scenario, action triggers must have a logical access path, and the amount of effort required must be small. For example, if I want to make a string of text bold, I can simple highlight it and press Ctrl+B. Likewise I can high light it and click the bold button on a tool bar immediately visible in my environment. The interaction for bolding a set of text works wonderfully, I can bold a set of words without much interruption in expressing my thought. A contrasting example would be if I wanted to insert a bit of clip art: I would have to pull the menu down, search for the clip art, and finally insert it. Whatever was in my working memory at that point is obliterated. Talk about working against yourself! Of course, any action done the first time will occupy conscious memory, but as I become accustomed to pressing Ctrl+B for bolding my phrases, the component of the brain responsible for this action shifts and we can now perform the same action with more working memory. It's like a free RAM upgrade for brain since you don't need to page file a thought to complete that action! (I appologize for that crummy joke ). In the case of my project, I'm going to attempt to make all actions 1 or 2 strokes of the pen away at all times. This may not be possible once it reaches a certain amount of features, but it's a thought I'll keep in mind as the project progresses.

If the information presented to the user is not relevant for their current task, it should not capture their attention. In an extreme example, a user is attempting to think up as many words that rhyme with purple as possible (impossible I know ), but at the same time the task manager is visible on screen reporting the CPU usage. While that's a nice thing to know, the user involuntarily has one of the chunks in his working memory occupied by this information. [Note to self: email professors about references for involuntary semantic processing, where a person involuntarily interprets a written word. Specifically D'Zmura.] In my case, the designer may be working on a specific portion of an architecture, but an accidental glance at the concern list may remind him of another idea they had in their mind. This may or may not be good for design exploration, I don't have authority to say one way or another, but my intuition says this information is better hidden. On the other hand, they may be actively working with a concern, so seeing it open may be useful as well. Either way, I want this data to be immediately accessible, but not imposing. In order to accomplish this task, the concerns will be hidden, but the colored circles for those concerns will be visible. Clicking the colored circle will reveal the concern until they choose to hide it. This way the user can decide which is most comfortable.

Ooo boy, I can't wait to get to implementing features that address these concerns. Too bad I have about 7 bugs I must muck through before I can get to this :(.

Test

Blog test!