Technical Report Java Multi User Learning Environment (Jmule)
Total Page:16
File Type:pdf, Size:1020Kb
JMule team 3/8/2004 Technical Report Java Multi User Learning Environment (jMule) Ioannis Baltopoulos Robin Kilpatrick Hannes Ricklefs Neil Saunders [email protected] [email protected] [email protected] [email protected] University of Kent, University of Kent, University of Kent, University of Kent, Computing Laboratory, Computing Laboratory, Computing Laboratory, Computing Laboratory, Canterbury, CT2 7NF Canterbury, CT2 7NF Canterbury, CT2 7NF Canterbury, CT2 7NF ABSTRACT This report provides an overview of the final year project undertaken as part of a BSc (Hons) degree in Computer Science at the University of Kent during the academic year 2003-4. The project involved creating a software application that enables multiple physically isolated individuals to collaborate, learn, and give presentations through virtual meetings. The solution produced was entitled jMule, the Java Multi User Learning Environment. This paper outlines the processes, design rationale, implementation and testing that were conducted during this project and offers an exploration of possible future enhancements. It concludes by offering critical evaluation on the overall success of the project. Keywords Distance Collaboration, Distant Learning, Virtual Presence, Collaboration in Education 1. INTRODUCTION ................................................1 6.2 User Evaluations ..........................................6 1.1 Background .................................................1 6.3 Performance Measures ...................................6 1.2 Aims ..........................................................2 6.4 Known Issues ..............................................7 2. PROJECT PROCESSES ......................................2 7. FUTURE ENHANCEMENTS ................................7 2.1 Project Management ......................................2 7.1 Directory & Calendar Server Integration ............7 2.2 Quality Assurance .........................................3 7.2 Voice over IP (VoIP) .....................................7 2.3 Configuration Management ............................3 7.3 Multicasting ................................................8 3. INCEPTION .......................................................3 8. CONCLUSION ...................................................8 3.1 Approaches ..................................................3 9. ACKNOWLEDGEMENTS ....................................8 3.1.1 Peer to Peer – Client Server ..................3 10. REFERENCES ................................................8 3.1.2 RMI – Sockets ...................................3 1. INTRODUCTION 3.1.3 RTP Multicasting – Multi Unicasting .....4 1.1 Background 3.2 Preliminary Work .........................................4 Since the advent of the Internet, the computing 3.3 Mathematical Analysis ..................................4 communications industry has progressed very rapidly. Today, any user with a desktop computer can access and 4. SYSTEM DESIGN ..............................................4 share multimedia documents with others through the 4.1 Specification ................................................4 Internet and it seems certain that the new future will see almost every person networked and online every hour of 4.2 Top-level Architecture ...................................4 the day. Due to this rapid growth, collaboration 4.3 Server Components .......................................5 technologies have become a big business. At a time when the IT industry has hit a slump, businesses are required to 4.4 Client Components .......................................5 do more with less and, coupled with the every increasing 5. IMPLEMENTATION ...........................................6 cost of air travel, virtual presence is a buzzword that’s making itself known. As a result there has been a surge in 6. TESTING ...........................................................6 both the research being conducted and the amount of 6.1 Approaches ..................................................6 money invested in this area; this is exemplified by Page 1 of 9 JMule team 3/8/2004 Microsoft’s recent $200 million acquisition of PlaceWare, Finally, we aimed to combine these features in to an a leader in the production of collaboration software. [37] application that was Platform independent, Enterprise It is undeniable that the ability to allow a group of people strength, scalable, and intuitive to use [1,2] to interact and collaborate together irrespective of location at virtually no cost is an idea whose time has come. 2. PROJECT PROCESSES In order to successfully achieve all the aims specified and 1.2 Aims to ensure that the project was delivered to high standards, To begin with the team produced a Product Objective clear processes were established for the development of Statement (POS) [1] that loosely defined the scope of the the product. project, which was to create: 2.1 Project Management “A platform independent multimedia collaboration tool The first step in the Project Management process was to enabling people to communicate and learn irrespective of define roles of the team members. As all of the team location.” members had their own personal preferences the following division of roles was decided upon: More specifically, the team aimed to create an application Ioannis Baltopoulos, Software Architect that incorporated the following features: Robin Kilpatrick, Configuration Management Hannes Ricklefs, Project Manager Neil Saunders, Quality Assurance • Textual chat Although the roles assigned were very specific, each team • A shared digital whiteboard member contributed to the overall design and • File sharing implementation of the system; code and document • A facility to communicate through the use of authorship was evenly distributed. Due to the limited size multimedia features including streaming audio of the team and the uncertainty surrounding some and video technical aspects of the project, an appropriate product development lifecycle had to be selected. This basic feature list was derived from a 2 week period The evolutionary development model was chosen as our of research in which we investigated and evaluated several implementation process for the project [3]; this model commercially available collaboration packages. involves developing an initial implementation, exposing In addition to the aforementioned features, we planned to it to users and gathering comments before refining it enhance and develop these ideas in order to provide an through many versions until an adequate system has been innovative and original perspective to the problem, and so developed. The model was chosen because it allows the extended the aims to include the following additional specification to be refined during the development process features: as obstacles were encountered. These were anticipated and allowed for through the use of slack time in the project plan. • The ability for a latecomer of a meeting to receive the current meeting state upon joining, According to literature [3], the main issues known of such as chat history and whiteboard contents using this process model were that resulting systems had a tendency to be poorly structured with poor process • The facility for a presenter to modify the functionality of the connected users’ clients visibility. As a result of this, the project manager during the meeting decided to further refine the evolutionary development model and, in doing so, the process gained extra • A presentation management system that would easily allow the presenter to deliver a structure. presentation to all users The project lifecycle began with the Inception Phase in • Potential to record the contents of a meeting and which the research was conducted. This allowed the make them available online when the meeting progression into the Planning Phase where the project has finished processes were defined. After this the evolutions began, • A queuing system for multimedia to provide an each containing a Design, Implementation and Evaluation intuitive priority queue that the presenter of the phase. meeting can control Initially the team agreed on having three evolutions; • A ‘Question forum’ that would keep track of however, following the first evolution this was cut to two specific questions posed by users during a due to unreasonable initial expectations. meeting, as well as responses given by the host The work activities allocated to individual team members were called Action Items (AI); all of which were noted in the relevant Meeting Minutes and were also entered into Page 2 of 9 JMule team 3/8/2004 the team’s chosen project management tool, ‘DotProject’. semantic checks and ANT integration among other things, Dotproject [4] is an open source tool that allowed the it assisted greatly in coding and the team estimated that it Project Manager to delegate tasks to the rest of the team sped up development time considerably. The team as well as assign tasks to specific individuals. This tool utilized a plethora of the plug-ins available for the allowed the Project Manager to automatically produce program, allowing automatic code formatting (through Gantt charts as well as member specific ‘to-do’ lists. Jalopy [38]) and integration of IRC chat for team communications. 2.2 Quality Assurance Due to both the distributed development of jMule and the 3. INCEPTION high aspirations of the team, it was important that a The inception phase is concerned with deciding the aims process be established early on that ensured that the and requirements of