Web Usability

Tuesday, November 22, 2005

Just got this cool application called Journler. It's great! Check it out here http://journler.phildow.net/

Tuesday, September 06, 2005

mouseDown

Yes, I've finally captured mouss clicks. Ended up using the overlay view on top of the WebView. Now what I need to do is to pass all the other mouse events to be handled by the WebView.

I was able to get around to capturing the mouse click by removing the overlay view, and using the hitTest method (to get to the deepest subview of the WebView), I was able to get to the right class to pass the NSEvent to. After the event has been handled the overlay view is put back on top.

Sunday, August 21, 2005

Capture view

Tried using another view over the top of the WebView to capture mouse events. Not as straight forward as I thought. Sure the mouse events worked, but I was not able to pass the mouse events down to the WebView.

The classes were arranged as follows:
WebView -> HawkView -> HawkCaptureView

From HawkCaptureView I had:

- (void)mouseDown:(NSEvent *)theEvent
{
NSLog(@"mouseDown");
[super mouseDown:theEvent];
}

The mousedown is detected and then passes it to HawkView which is the super class. However I just realised that I need to be passing it to the view which renders the HTML.

Friday, August 19, 2005

First outputs

Here's some sample output from Hawk (my browser):

page request made
load complete
mouseover

Still need to add timestamps and descriptions.

Tuesday, August 16, 2005

Morae review

What:
Morae is a software package written for the Windows platform. It’s main objective is to provide an environment which is similar to a usability test lab. The software consists of Morae Recorder, Morae Remote Viewer and Morae Manager.

Why:
- Eliminating the barriers of lab-based research.
- Perform user testing anywhere, anytime.
- Easily capture user experience.
- Easily observer and log test sessions.
- Quickly analyse user tests.
- Easily communicate user needs.
- Cheaper to run than having a usability lab.
- Reduces the intimidating environment of a usability lab.
- Having a real time recording allows for remote testing (even across the globe).

How:

Recorder:
- Records everything done by the user and stored to a file.
- Unobtrusive
- How a website is navigated, click of the mouse, keystrokes, text on the screen, and windows and dialogues user interacts with.
- Robust file recovery to protect critical data.
- Markers, turn on specific elements to record
- Specify when to start and stop
- Built-in COM server, control recorder remotely

Remote Viewer:
- People from all over the world can see the test being done live.
- Comments can also be made as the test is conducted.

Analyzer/Manager:
- Markers are shown at points where comments were made.
- Each marker is also linked to the time in video it was made.
- Mouse click are kept and viewing it gives u the picture, showing the position of where the mouse click occurred.

Morae is doing pretty much what I've been trying to do.
For more info check out their website: http://www.techsmith.com/products/morae/default.asp

Monday, August 15, 2005

Output info

Met up with Wim (doing database backend) today and discussed what kind of data we would need to consider for usability tests. As a rough guide the most crucial things we would need would be:
- Project ID (to distiguish between different projects we are testing)
- Test ID (to distinguish between the different test subjects)
- Timestamps (start and end of the test and also for every action)
- Action (click, right-click, button press, page load, etc.)

From these we should be able to query things like:
- How many clicks were used on a specific test?
- How many times was a particular page loaded?
- How long did it take to do the tasks?
- etc.

We've decided to meet more often now, just so that we can get more done, and help each other along. So I should be updating this blog more often from now on, hopefully.

Saturday, July 30, 2005

poseAsClass

Using poseAsClass; when using poseAsClass to pose as another class, the posing class must be a subclass of the posed class.

eg. Class A and Class B
if B wants to pose as A,
then B needs to be a subclass of A for it to work

Now that I've got poseAsClass sorted out, all that is left is to figure out which class am I supposed to pose as exactly. Since WebFrameView is apparently not the right one. Just read a posting on cocoa-dev and WebHTMLView could be what I'm after.