Apache OpenMeetings conferences do not provide a way for adjusting of audio settings in runtime. These settings are microphone gain of own audio stream and volume of other ones.
In the current implementation audio stream volume is persistent (can not be adjusted at all). And the microphone gain can be adjusted just using special Flash Player settings that are useless for non-advanced users. Also, these Flash Player settings are often unavailable on some Linux systems.
But conference participants always have different microphones (with a good or bad quality), therefore it is very useful thing to have the opportunity of adjusting of some settings in runtime.
We decided that the best solution for this functionality is a traditional volume slider. In OpenMeetings conferences we have local and remote audio/video streams and the corresponding video pods. So, is is very simple and graphically to create a new control button on the video pod.
A click on the button performs showing the slider. If it is the button on the video pod for local stream then the slider adjusts the microphone gain. But if is on the remote video pod then it adjusts the stream volume. Very simple.
The first step was to check that Flash Player allows to adjust volumes of different audio streams. It was successfully checked with a simple test created over the OpenMeetings Flash application.
And the second step was to create the pretty designed slider which will be suitable for the current interface and will increase the usability level.
During the working on the issue there were created several implementations of this functionality.
1) The first implementation was created with the standard OpenLaszlo <slider> class. The problem was that this class provides only horizontal sliders. So, the UI was not beautiful:
2) The second implementation used external slider class <vslider> which is embedded into OpenMeetings code. The simple reusing of code parts from other OpenMeetings features did not lead to a very beautiful design too. But anyway, it was better then the first one:
This slider is very big. It is not compatible with other design.
3) And we realized that it is much better to make this functionality with a small design. The slider could be small and without any excess things. Also, the button icon could be smaller too and could be implemented with the good metaphor.
So, this is the final version of the slider:
There are some plans for the next improving of video pods usability:
1) Video pods for local streams show green ball for indicating the microphone's activity. Also, they show the level line for this setting. Showing the ball is useless. It should be disabled for the local stream.
2) Microphone's activity line grows from up to down when you tell louder. The correct way is to increase the line from down to up, because users got used to such way.