April 2011
          14 Apr 2011
          15 Apr 2011
          19 Apr 2011
          26 Apr 2011

May 2011
          03 May 2011
          17 May 2011

June 2011
          14 Jun 2011

July 2011
          05 Jul 2011
          12 Jul 2011
          19 Jul 2011
          26 Jul 2011
          29 Jul 2011

August 2011
          02 Aug
          16 Aug

September 2011
          06 Sep 2011
          20 Sep 2011
          27 Sep 2011

October 2011
          11 Oct 2011
          18 Oct 2011
          25 Oct 2011


14 April 2011
Start Time: 17:30
Attendance: Flora,Trésor
Team members pre-project meeting

Meeting Minutes

  • Discussed what was required from us for the project.
  • Started thinking of how to implement the video conferencing system.
  • Decided we needed a chat facility feature, sound, video and text.
  • The system should be able to detect the bandwidth usage on the client side and adapt the corresponding features respectively to suit the current availablebandwidth. Use of a “walkie-talkie” approach where the video or audio channel could only be used by one client to send while others listen or receive the video stream seemed like an appropriate method.Only portray the current speaker and display a static image of them when the bandwidthdrops too low.
  • Discusseduse of TCP/UDP, video compressing and frame rates.

End Meeting: 18:00

=> Go to page top

15 April 2011
Start Time: 17:30
Attendance: Hussein, Flora, Tresor, Zafika,

Meeting Minutes

Brief discussion with the Supervisor on our understanding of the project, turns out we were on the right track.

  • Question and answer to clarify some points about the project
  • Prefetching of static content means topreload all the static content (e.g. presentation) instead of delivering this on real time.
  • About the technology to use
    • It will be up to us to decide (after further reading on the subject)
    • Established that we are not building a web browser, but that our application should be able to work over the network. It will be a standalone client/server application.
    • It should be in real time and not have packets lost or thrown away (advised us not to use UDP). Clarified that we are designing something that will guarantee a good end-user experience with low bandwidth.
    • Include audio, presentations slides so these can back up the video when it is off because of bad network connections.
  • About the feasibility
    • There is going to be a "prototyping phase" where the feasibility will be assed, it's too earlier to deal with this now …
  • Will we need some low level programming?
    • This is unlikely (to be confirmed on the prototyping phase)
    • We will certainly have to learn some libraries dealing with audio-video capture, compression and streaming

Hussein advised us to plan the project ahead carefully in order to allocate adequate time for both the implementation and evaluation stage of our software development.

  • NEXT STEP
  • Literature survey: send a draft by 23 April. For the survey, we should read scientific papers, white pages, and technical documents about existing web meeting solutions.
  • Test some existing solutions like Zoehoe, AdobeConnect Pro8, Dimdim etc. Meet Hussein the next Monday (18 April) to get an account on Adobe Connect
  • Schedule for weekly meetings every Tuesday at 5.30 pm in order to track our progress and determine if we were moving in the right direction, and answer or advise us on any queries or problems encountered.
  • We were to also figure out how to split the project into 3 equal parts so members can work on different sections
  • For the next meeting, we have to hand in
      • A draft of the literature survey
      • Result of testing & reading about existing solutions (open source and commercial)
      • A clear idea of what will be the meeting software

 

End Meeting: 18:30

=> Go to page top

19 April 2011 
Start Time: 13:45
Attendance:Hussein, Flora, Tresor

Meeting Minutes

  • Work subdivision will be done after the Literature Survey
  • The literature survey is an individual work, so we will all likely have different references (even if there should be some few similarities)
  • A good literature survey should be based on around 20 references
  • We should focus on scientific literature for the review
  • Important: carefully read Research Method's instructions on the format and content for the literature review
  • Note: any device or equipment needed for the project will be supplied by the department

End Meeting: 14:05

=> Go to page top

26 April 2011 
Start Time: 17:30
Attendance:Hussein,Flora, Tresor, Zafika

Meeting Minutes

  • Discussion and advice from Hussein about drafting the literature survey (referencing, content and format)
  • Discussion on the features that AfriMeet may include. Features retained so far:
  • Video conferencing: should not be LIVE. Update only a few frame per second to accommodate very low bandwidth
  • Live audio conferencing: the audio quality should be good (acceptable for descent communication)
  • Text chat facility: when everything falls, this should be the remaining feature
  • Hand raising method: should be "fair", for example: participants within the same room cannot cut each other
  • White board: where participant can collaboratively write
  • Translation facility for text message
  • Meeting agenda and automatic minute generation
  • Clarification of the project objective: we are trying to show that with some little changes on the architecture, we can get a better and acceptable user experience with poor Internet transmission
  • For the next meeting
  • Decide on features that AfriMeet will support
  • Decide on "who will be doing what" (work subdivision)

 

End Meeting: 18:35

=> Go to page top

3 May 2011 
Start Time: 17:30
Attendance:Hussein, Flora, Tresor, Zafika

Meeting Minutes

  • Discussed the following list of possible features to implement in the system:
    • Framework
      • Use a canvas approach
      • Figure out what features to implement on the framework (participant list, hand raising etc)
      • Handle meeting processes. The server should have the ability to host multiple meetings and ensure data goes to the right participants.
      • Handle participant logging in and out. Pparticipants should be able to clearly contribute (use user id), be able to login to a meeting.
    • Hand raising 
      • Prioritize floor requests (urgent, normal and low)
      • Hand raising (hand up) and how to signal this. Hinted at probably trying to use a maskable interrupt advice to use adobe connect features and see how they work as an example.
    • Attendance list
      • How many users are connected
      • List of participants
      • Notifications when a new participant joins or leaves a meeting
    • Agenda
      • List of topics to cover during the meeting
      • Highlight the topic currently discussed 
    • Presentation slides (PDF and power point)
      • Send the slide number currently presentedthrough the network
      • Convertpdf to jpeg images. 
    • Video conferencing
    • Audio conferencing
    • White board (haven’t yet decided whether to implement this or not)
    • Chat
      • Discussed chat features to express emotions and manage file submissions for the presentations.
    • Other:
  • Discussed the  use of a client-server model, consider firewalls
  • Considered programming in java. 
  • Discussed proposal questions to be expected during presentations:
    • Define what your research questions are.
    • what areyou going to do and how will you evaluate it
    • what happens if someone gets sick (risk management)
  • Divided the work (work division)
    • Stand-alone components.
    • Fair division with an equal amount of work in each section

Flora: -- Framework, Participant list, handraising
Responsible for measuring the work flow and user’s experience in the       
network.
Zafika: -- Chat and Presentations
               Responsible for measuring the user’s experience in the network and
makinglow bandwidth evaluations
Tresor: -- Video and audio.
                 Responsible for measuring the user’s experience in the network and
low bandwidth evaluations       

  • Next Step
    • The proposal
      • Due on 13 May
      • First draft 12 May
      • Second draft 17 May
    • Presentation
      • Presentation dry run: 24 May
      • Proposal presentation: 26 May

End Meeting: 18:30

=> Go to page top

17 May 2011
Start Time: 17:30
// not sure abt time& attendance
Attendance:Hussein,Flora, Tresor, Zafika

  1. Discussed the research questions
  2. Is it possible to build an effective audio-conferencing tool that works with low bandwidth conditions?
  3. Is it possible to build an effective video-conferencing tool that works with low bandwidth conditions?
  4. Is it possible to build an effective text chat tool that can work with minimal bandwidth?
  5. Is the pre-loading of static data feasible with low bandwidth? 
  6. Is it possible to construct a system that manages meeting procedures (floor control, hand-raising etc.) efficiently with low bandwidth?
  7. Discussed how to evaluate the framework as we had notyet found an appropriate method to use to accuratelyevaluate the framework. Found it was difficult to prove the question: Can you build a framework in which different communication modules can perform efficiently in a client server module.
  8. Discussedevaluations to be conducted to answer each of the research questions. Measure network and traffic speed qualitativelyand quantitatively in terms of packets dropped. Handraising; use user presence, subject users to varying meeting conditions, ask users about their experience with presentations.
  9. Discussed risk again, people &technology related risks and preventative actions
  10. Discussed procedures and methods. Decided to use an iterativeapproach/methodology for the software development process. Will have an initial design, implementationand evaluation section. Three iterations to the final prototype. Priority of hand raising over video.

End Meeting:18:30

=> Go to page top

14 June 2011 
Start Time: 12:20 
Attendance:Hussein, Flora, Tresor, Zafika

Meting Minutes

  1. We will be meeting once a week (Tuesday at 12 am) during the vacation
  2. Prototype Tresor
    1. Build a video conferencing prototype : 1 server and 2 clients
    2. Look at HTTP streaming
    3. Install the webcam on Linux
    4. Focus on stream buffering
  3. Prototype Flora
    1. Develop the desktop sharing module 
  4. Prototype Zafika
    1. Develop a prototype for the presentation module

 

End Meeting:13:20

=> Go to page top

Tuesday 5 July 2011 
Start Time: 12:00 
Attendance: Hussein, Flora,Tresor

FLORA PROGRESS
Demo of screen sharing

  • 1 server + 3 clients (one client hosting the meeting and 2 participants)
  • Demo ran on Linux (can work on Windows as well)
  • The client hosting the meeting capture screens at 1 frame per second, sends images to the server which broadcast to the rest of participants
  • The demo sent well, all the participant received and displayed the screen of the client hosting the meeting

NEXT STEPS

  • Use http for transmission over port 80 instead of standard TCP/IP sockets
  • Work on image compression before transmission
    • Use for example the GIF format (suitable for images with large empty spaces)
  • Study how to use image differentiation in order to transmit only the changes in the desktop image across the network

TRESOR PROGRESS

  • Can capture both video and audio stream using Java Media Framework
  • Can compress the stream by selection and personalization of codecs and compression schemes
  • Can stream the audio on a network using Real Time Protocol sessions
  • drivers installed and webcam tested on Linux  (it works well),
  • Testing a VJCJ API (can support http streaming )

Difficulties

  • Unable to stream over http with jmf API;
  • Can't capture the webcam stream with vlcj API;
  • JMF is not recognizing the video device on Linux;
  • Still looking for suitable libraries and API which can capture both audio and video and stream over http, usable on both Linux and Windows

Advices

  • Do not focus on searching a framework which will achieve everything (capture, record, compression, transmission on both Linux and Windows)
  • Instead, use a simple API just for audio and video recording, then code the rest of the process (compression, transmission, etc.)
  • Rather use separate API for audio and video capture in Linux and Windows
  • Capture and record small pieces of audio (e.g. 1 sec) and images from the web cam (e.g. 1 image per second)
  • Manage to send those records across the network, buffer them on the server and participant sides

End Meeting: 13:00

=> Go to page top


Tuesday 12 July 2011 
Start Time: 12:00 
Attendance: Hussein, Flora and Tresor

Tresor progress

  • Use of java sound to capture and record audio, advantage: it's a java standard API working in several platform
  • Recording sound packets into small file, sending files across the network, reading file and play back the audio
  • Capturing images into JPG files, sending files across the network and display at other participant sides

Difficulties

  • Audio playback has lots of cuts, with a delay of around 7 second

Advice

  • Use memory buffer instead files which introduce a lot of delay (writing, transmission and reading)

Flora progress

  • Working on obtaining image differences for the screen sharing application. Reading on HTTP, HTTPClient and Servlet technology and trying to find a way of transferring image packets across the network

Difficulties

  • Obtaining the image differences was proving to be a bit tricky. 


Advices

  • Use the ImageMajicklibrary for image manipulations and do not try to code the subtractions yourself. Manually coding the differences introduces overheads in the program which other libraries have tried to deal with and we are trying to avoid unnecessary overheads. It’s possible to manually code it but your program will take longer to run or execute.

End Meeting: 13:00

=> Go to page top

Tuesday 19 July 2011  
Start Time: 12:15 
Attendance: Hussein, Flora,Tresor

Tresor progress
Audio stream now fluent
Using memory buffer instead of files for audio recording
Streaming with a 3 sec delay

Difficulty
Can't serialize the video stream and play it back (still working on that)

Todo
Reduce the audio delay (try to get around 1 sec of delay)

Flora progress
                Understanding HTTP and Servlet technology.Played around with ImageMagick.

Difficulties
Still unable to obtain perfect reconstructions for the images.
Move work to the participant list and handraising, then will come back to the image differences.

End Meeting:  12:30

=> Go to page top

 

Tuesday 26 July 2011 
Start Time: 17:30
 Attendance: Hussein, Flora, Tresor, Zafika
  
Tresor progress:

  1. The sound delay reduced to around 1,5 sec (from 3 sec)
  2. Image streaming working (at 1 frame per second)

Advices:

  1. Get the system works on Linux (audio/video recording, stream and playback)
  2. Work on http: write servlets for audio and video responsible of receiving audio/video stream and sending to other participants
  3. Work o image differentiation to get a better video compression (instead of compressing and sending each image individually)
  4. Test everything on an actual network

Todo:
Write to Antoine Bagula to schedule the demo

Flora progress:

  1. List of participants working out though not yet ready for the demo.

Advice:

  1. Need to consider polling and rearranging the list when a user raises their hands
  2. Those who have raisedtheir hands appearing at the top of the list

ABOUT THE WRITE UP
Background chapter:  for now, let's focus on the prototype and will come back to this later on

Implementation chapter:  we'll write it when implementing the software (right after the prototype is complete)

End Meeting:  18:30

=> Go to page top

Friday 29 July 2011 (Demo of the first prototype) 
Start Time: 14:00
 Attendance: Antoine Bagula, Hussein, Flora, Tresor,Zafika

Zafika

  • Demo of the chat module, supporting:
    • Multiple meeting
    • Private and public messages
    • Management of a participant list
  • Presentation module in progress, supporting so far:
    • Conversion of PDF into images
  • Todo:
    • Presentation: preload of all slides images onto participant post and slide display
    • Both chat and presentation: use http streaming instead TCP/IP sockets
    • Compressions

 

Tresor

  • Demo of audio and video communication module, supporting:
    • Sound capture, compression, streaming and playback
    • Image capture from the web cam, compression, streaming and playback
  • Todo
    • Get the video to work on Linux
    • Use htttp streaming instead TCP/IP sockets
    • Use image differentiation technique to further compress the video stream

Flora

  • Demo of screen sharing, supporting
    • Screen capture, stream on the network and playback
    • Works on both Windows and Linux
  • Participant list and floor control on progress
  • Todo:
    • Use differentiation technique and compress the screens to reduce bandwidth requirement
    • Use http streaming for transmission instead of TCP/IP sockets
    • Complete the participant list and floor control module

Other:

  • Advised use of camera on Linux and all of us should make use of HTTP Client
  • Prototypes must work on different computers

End Meeting:15:00

=> Go to page top

Tuesday 02 August 2011
Start Time: 12:00
Attendance: Hussein, Flora, Tresor, Zafika

Tresor:
            Worked with Hussein to install the Driver and Java API to get the webcam works on Linux
Flora:
The participant list works. The clientalways polls the server for new information,if any change is registered at the Server then the client receives these updates.

Advice:
Use long-lived connections instead of polling because polling congests the network with redundant requests. Long-lived connections keep the client connection open so that polling is not necessary and data is transmitted based on events occurring or triggered at the sever. Look also at comet for more of an event driven programming.  Look also at Server push technology.

Meeting: 13:00

Tuesday 16 August 2011
Start Time: 12:00
Attendance: Hussein, Flora, Tresor and Zafika

Tresor:
            Video recording and streaming (via Socket) completed for Linux
            Still working on Http Streaming (having problem to stream binary)
Flora:
Finishing off the participant list

End Meeting: 13:00

=> Go to page top

Tuesday 06 September 2011
Start Time: 12:00
Attendance: Hussein, Flora, Tresor and Zafika

Flora
            The participant list works
            Next step: work on screen sharing

Tresor
            Can stream binary over Http using Servlets
            Next Step: Implement new features for the second iteration

Zafika
            Chat almost done
            Next step: work on slide pre-loading and displaying

Group plan
            By the first week of October: finish all coding
            By 21th of October: hand the first draft of the final report
            Note: Apply for the Ethical Clearance ASAP

End Meeting: 13:00

=> Go to page top

Tuesday 20 September 2011
Start Time: 12:00 
Attendance: Hussein, Flora, Tresor and Zafika

Tresor

    1. Demo of new features implemented (Buffering, Congestion detection, auto stream adjustment for efficient bandwidth use, frame rate setting, etc.)

Next step:

    1. have some users (2 to 4) test this second iteration and collect feedback for the final iteration implementation;
    2. Start the write up for Design/Implementation and Background chapter

Zafika
            Chat module over Http completed
            Working Presentation pre-fetching through Http

Flora
            Participant list completed, Screen sharing over HTTP accomplished
            Working on image difference and compressions for the screen images

Note:
            Got the Ethical Clearance from Student Affairs Director

End Meeting:  13:00

=> Go to page top

27 September 2011
START MEETING: 17:30
Attendance: Hussein, Flora, Tresor and Zafika

Discussed final testing:

  1. We not testing usability but responsiveness of the system with users.
  2. Analysis, simulation, implementation, immersion.
  3. We will focus on doing additional individualbandwidth tests by getting the amount of data sent within a certain time limit.
  4. Get a list of the typical actions to perform. No need to simulate low bandwidth with users due to time.
  5. Will carry out our own controlled experiments to determine how well the system works with low bandwidth.
  6. Tresormentioned the "Charles" software for bandwidth simulations.

End Meeting: 18:30

=> Go to page top

11 October 2011
Start Time 12:30
Attendance: Hussein, Flora, Tresor and Zafika
Discussed how far every team member was and where every team member had to be.
Tresor
Was done with the third iteration design and was finishing the write up on the design and implementation chapter.
Flora
Done with second iteration and done with the user testing involving 8 users.
Finishing off the third iteration and testing.
Zafika
Done with the second iteration and was setting up the user testing for the second iteration.
Next Meeting:

  • Do research based on how the applications had to be evaluated.

End Meeting: 13:30

=> Go to page top

18 October 2011
Start Time 17:00
Attendance: Hussein, Flora, Tresor and Zafika
All team members had finished the user testing for the third iteration design and were doing the write up of the design and implementation. The aim of this meeting was to discuss different ways in which we could evaluate the applications. Below is a list of the different ways discussed.

  1. To use a software tool which simulates  low bandwidth and try and use the applications
  2. To use a network with a modern dial up connection with less bandwidth.
  3. To cause traffic on the network. This means try to download a lot of videos and then use the application.
  4. To do some analysis calculations based on measuring how many bytes of data is being sent at a specific time period.
  5. To make some assumptions that one send 1 byte of data in 1 second.
  6. Have println statements in the code which writes the time in seconds that it take to send data and the size of the data in bytes to a log file and then draw graphs of amount of data over time.
  7. The total bandwidth had to be given by the average of total bandwidth usage of all clients.


End Meeting: 18:00

=> Go to page top

25 October 2011
Start Time 12:30
Attendance: Hussein, Flora, Tresor and Zafika
Resolved a number of confusing issues.
The issues were mainly:

  • The way the applications had to be evaluated .It was unclear on what to do with the data that was in the log file.
  • The write up of the design and implementation chapter was also discussed. The content and structure of the chapter.


End Meeting: 13:30

=> Go to page top

 
Hussein Suleman
Antoine Bagula