Sunday, March 27, 2011

The First Step Towards Success..!!


Last Wednesday, March 23rd 2011 we did our first concept test using the prototype system we build as a social networking application. For the phase 1, registration, login, friend operations, status updates, comments on status and messages are included. Limited number or features are introduced at the beginning in order to keep the application more simpler.

As mentioned in the topic our concept is "2 Dimensional Audio Environment for Visually Impaired". All the output procedures are based on audio files with sound positioning and input methods are done through the key board.

Although we had some issues with front and rear sound positioning with openAL, we could managed to solve them because of an external sound card which was given by one of our colleague.

First of all we decided to test our concept with a normal computer user, thus Vindya (one of our batch mates) was invited to use the prototype system.

Before we start the experiment, Kanishka has explained the concept and instructions were given.

For this test first we asked her to feel the system features and related sound positioning on the starting menu. Then 2 dimensional environment was drawn by her for the start menu.

Surprisingly she could have identified all the correct positions of the menu items on the very first time.

Then she has given some opinions to enhance our application, which is very useful as a feedback. Some of them are the position could be clockwise, can use tab key for go inside and come out form text fields and top to bottom reading would be more appropriate on comments.

Finally she said it is not very difficult or complex to use our application even though it doesn't have a GUI.

Wednesday, March 23, 2011

Prelude to the real world exposure - Pilot Evaluation

It is today that we tried to practise to test our system with a user for the first time. We thought it would be better to get a sense of evaluating through using one of our own colleague who is not blind at all.

Date: Wednesday - 23.11.2011
Location: 3rd year Lab
Started time: 2.45 pm.
Ended time: 3.30 pm.
No of participants: 01

First the environment needed to be settled and system to be configured to the level which we could expose it to an external person. This procedure took about an 1 hour and 45 minutes (from 1.00 pm to 2.45 pm). Sound card had to be borrowed from a friend as our existing hardware were unable to handle the system properly. And we used four speakers to get the surround effect.

We have decided directly to give an opportunity for the user to get hold of the system while explaining the functionality overriding the agreed procedure. This task was handled by Kanishka while record keeping was handled by my self and Malshika took care of the photographing stuff.

Then the user was asked to make a sketch of the homepage which she done with high accuracy as well. Afterward the user was introduced to the registration part by Kanishka which then accomplished by the user solely without the assistance.

Anyway we were unable to stick to our pre defined procedure as this is an initial experiment. Nevertheless the feedback was far more encouraging.

And there were some very important points as well;
  • Proper placing of the buttons (Logout should be in the top left).
  • It is better to use "Tab" key to traverse in forms.
  • Don't use "Esc" key to focus out as it will incur an additional step in the process.
  • Make the movements clockwise than in unfamiliar patterns.

My thoughts;
  • It is important to stick with the predefined procedures in the next evaluations as it will standardise the whole evaluation effort.
  • The group members should strictly follow the guidelines given.
  • All the details should be documented properly.
  • Users should be given prior understanding of the system.
  • We can't depend on the feedback given as it is from only one person still.

Our first testing with an external entity

After installing and configuring openAL-soft we were confident that the application would work almost anywhere, but unfortunatly as we understood, that is not the case. The sound card or the sound card drivers in Malshika's (2007ICT) lap top did not support 4 channels of audio, neither did it give good performance with openAL. Finding updated drivers to the device failed as well.
The alternative was to find a suitable sound card which could be used with the lap top. Gihan Lakmal (2007CS), had a satisfactory device: creative XFI, external usb sound card. The above testing was handled yesterday(22-3-2011).
After installing the external sound card on the lap top results were much more satisfactory. The location of the experiment was the third year lab. Since time of the real subjects at University of Sri Jayawardhanapura is precious, out intention was to perform a practice test on non blind subjects. The test subject(Vindya Dilhari 2007ICT), hadn't a faintest idea of the structure and project concepts.

The subject was requested to listen to the main interface many times(menu) (note: we could have noted down the number of replays of the interface). She repeatedly played the interface and sketched the overview visualization of the interface, she perceived. Since she drew the interface exactly as it is, we could say that sound positioning technique used in the implementation is successful, at least in technical sense. When traversing the interface objects, after using the auto playback to glimpse, she pointed out that play back should happen clockwise, to make it more natural to the user, and use of filling forms from bottom to top was criticized as well. It is most important to update the prototype to correct these issues. Overall response from the subject is positive. She agreed that positioning gives more support in remembering the interface. After assisting on the usage the subject masted the positioning and traversing with the arrow keys. She used the arrow keys to traverse across the boundary cells. This gives an implication that the environment was perceived accurately. And she inquired if the environment depicts an array of cells 3x3, which is the exact definition we had on our interface. These imply that the perception of the interface was in an accepted level.
It seemed the positioning of the center horizontal line was more biased towards the front, but it may be due to the difference of height in front and rear speaker placement. All four speakers should be in the same elevation, next time we do any testing.

Thursday, March 17, 2011

OpenAL and OpenAL-Soft

OpenAL soft is an implementation of openAL API, which extends the capabilities of OpenAL by introducing additional devices to the existing collection. The standard implementation of OpenAL usually has three devices (according to my knowledge.). The native device which handles the native creative sound cards. Only native creative sound cards support it. The SoundBlaster Xfi series sound cards. You can download OpenAL-soft from http://kcat.strangesoft.net/openal.html
Sound Blaster audigy is supposed to have native support as well, but only the most expensive cards support the native device it seems. The card we used "Sound Blaster Audigy value", seems to lack the native device support. The other OpenAL devices are
. Generic Hardware
. Generic Software
Usually all other creative sound cards support Generic hardware, and so our sound card did fall under this category. Any non creative on board sound card will only support the generic software device. Generic software devices only support stereo sound, not four channel sound. This problem was unknown for a long time. :(. Any creative sound card will have generic hardware support so the objects could be placed on any position in space and sound emission would be handled by any number of channels (we only tested with 4 channels).
After moving to the creative sound card and correcting some logical errors as pointed by the OpenAL mail list (openal@opensource.creative.com). the problem with front and rear channels duplication (rear duplicating the front), was solved.
OpenAL-soft has a broader scope in mind in its implementation. It is supposed to emulate a device other than the generic hardware and generic software. " DirectSound Default", is the device emulated by the openAL-soft. This device should generate 4 channel sound even without a creative sound card. This claim we did not test yet. But when the device was tested on the creative sound card it almost had the same sound position quality as the generic hardware. Selection of the Device should happen from the ALC

   ALC alc;
AL al;
alc = ALFactory.getALC();
al = ALFactory.getAL();

ALCdevice device;
ALCcontext context;
String deviceSpecifier;

// Get handle to default device.
device = alc.alcOpenDevice("DirectSound Default");
if (device == null) {
throw new ALException("Error opening default OpenAL device");
}
// Get the device specifier.
deviceSpecifier = alc.alcGetString(device, ALC.ALC_DEVICE_SPECIFIER);
if (deviceSpecifier == null) {
throw new ALException("Error getting specifier for default OpenAL device");
}
System.out.println("Using device " + deviceSpecifier);
// Create audio context.
context = alc.alcCreateContext(device, null);
if (context == null) {
throw new ALException("Error creating OpenAL context");
}
// Set active context.
alc.alcMakeContextCurrent(context);

// Check for an error.
if (alc.alcGetError(device) != ALC.ALC_NO_ERROR) {
throw new ALException("Error making OpenAL context current");
}

This would be the initialization of the openAL The red color line presents the selection of device. If null were passed the selection would be the bast the openAL router thinks is. In our case it would be the generic hardware, in a creative xfi sound card this would be native.
The support of openAL soft on non creative sound cards is yet to be tested.