ChaRLeS: An Open-Source Chat Room
Transcript
ChaRLeS: An Open-Source Chat Room
ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino ChaRLeS: An Open-Source Chat Room Learning System Edoardo Bontà, Giovanni Torrisi, Marco Bernardo Università di Urbino [email protected] edoardo bontà dipartimento di scienze pure e applicate 1/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino Who’s ChaRLeS? • ChaRLeS is a – virtual classroom that recreates an environment of a physical university classroom – multi-channel layered textual chat – LTI provider for Moodle and other learning management systems – real-time web application – open-source software edoardo bontà dipartimento di scienze pure e applicate 2/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino Why ChaRLeS? • ChaRLeS is an acronym for Chat Room Learning System. • We developed it to overcome the weaknesses of other textual chat rooms (as the Moodle one) by taking care of: – functionality: multi-channel text chat features and filtered history log (see later) – efficiency: recent technologies, like HTML5 WebSockets, have been employed for sending/receiving messages with very low latency and reduced bandwidth consumption – usability: simple, intuitive, mobile-first, responsive, and user-friendly interfaces. No single-lined text area, no forced scroll every 3 seconds, no fragmented chat sessions / history logs – portability: any device (PC, smartphone, tablet) with an updated browser enabling JavaScript is enough at the client side. Major operating systems, i.e. Windows / Linux / MacOSX, can host the application at the server side – … but also reliability and maintainability, of course! edoardo bontà dipartimento di scienze pure e applicate 3/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino The underlying chat model • The underlying model of ChaRLeS addresses some common text chat room inefficiencies (Vronay, 1999) including: – – – – • 4-channel layered interaction system: – – – – • Lack of intention indicators (difficulty to understand who a message is addressed to) Low signal-to-noise ratio (didactic info mixed up with socialization or service messages) Uselessness of chat history (lack of thread coherence, fragmentation, interruptions) … and other functional issues Lecture channel: used by the instructor, it can also be enabled for students Question channel: used by students, questions are submitted by the instructor Service channel: used by all for greetings and organizational messages Private channel: used by all for sending private messages to selected users [recorded] [recorded] A similar model has been successfully applied to the chat room of Land of Learning (LoL), an old proprietary LMS using Java applets for asynchronous messaging [Mec Informatica (www.mecinformatica.it), Roma, & University of Urbino (www.uniurb.it)] edoardo bontà dipartimento di scienze pure e applicate 4/10 ChaRLeS: An Open-Source Chat Room Learning System informatica applicata università di urbino EMEMITALIA - Modena 7, 8, 9 settembre 2016 Architecture of the web application ChaRLeS Unified path https://mydomain.com/charles/... https://mydomain.com/charles/signalr/... https://mydomain.com/charles/api/... https://mydomain.com/<other apps/services> Hosting support (server) Self-hosting: ASP.NET Core for Windows, Linux, MacOSX Client application Real-time web application written in pure HTML + JavaScript relative references Real-time JS library Other useful JS libs SignalR.js JQuery, Bootstrap HTTP Application path http://localhost:[port]/charles/... Reverse Proxy (Nginx) HTTPS + WebSocket Service Custom services HTTP + WebSocket written in C# Service paths Real-time support Web service support SignalR web API http://localhost:[port]/charles/signalr/... http://localhost:[port]/charles/api/... Other apps/services edoardo bontà dipartimento di scienze pure e applicate 5/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino The chat room instance page of ChaRLeS edoardo bontà dipartimento di scienze pure e applicate 6/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino … and the points of view of Steve and Leo edoardo bontà dipartimento di scienze pure e applicate 7/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino The chat room session log • The history log of the chat room session is as follows: Programming Languages - A.A. 2015/2016 - 10 CFU Last session start time: 01/09/2016 09:15:00 [server local time] <Question from Steve Smith> What does OOP mean? <John Doe> It stands for "Object-Oriented Programming" <Question from Steve Smith> Two terms that I often hear are "business logic" and "presentation logic" <John Doe> Business logic is the domain logic, that's the part of a program encoding the real-world business rules. edoardo bontà dipartimento di scienze pure e applicate 8/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino Configuration of the Moodle plugin mod_charles edoardo bontà dipartimento di scienze pure e applicate 9/10 ChaRLeS: An Open-Source Chat Room Learning System EMEMITALIA - Modena 7, 8, 9 settembre 2016 informatica applicata università di urbino Conclusion and future work • Conclusion – The outcome of the chat model and of the design/implementation of the architecture is ChaRLeS, an easy-to-use textual chat room, that can be interfaced with Moodle or other LMSs through the LTI protocol. – Common textual chat inefficiencies have been addressed thanks to the multi-channel layered interaction model. – Performance and other technical issues have been addressed by developing the web application with the help of new technologies, as HTML5 WebSockets and real-time libraries (SignalR). • Future work – LaTeX equation editor based on JS library MathJax; – Virtual whiteboard relying on SVG (Scalable Vectorial Graphics) image format; – Instant poll for receiving immediate feedbacks from participants. edoardo bontà dipartimento di scienze pure e applicate 10/10