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