ChaRLeS: An Open-Source Chat Room Learning System

Slides:



Advertisements
Similar presentations
Technical and design issues in implementation Dr. Mohamed Ally Director and Professor Centre for Distance Education Athabasca University Canada New Zealand.
Advertisements

1 Giodi Giorgi Gruppo RETI di TELECOMUNICAZIONI Dipartimento di Ingegneria dell’Informazione - Università di Pisa Pisa, 6 Dicembre 2005 Giodi Giorgi An.
M. Honkala, A. Vainio XForms & SVG MITA Seminar, HUT SVG Introduction Features Benefits Simple Example Standardization Mobile Environment Current.
Web Visualization Technology Horner APG Ver 1.0.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
DT211/3 Internet Development Application Internet Development Application.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Introduction to eValid Presentation Outline What is eValid? About eValid, Inc. eValid Features System Architecture eValid Functional Design Script Log.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Development of mobile applications using PhoneGap and HTML 5
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Understanding and Managing WebSphere V5
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
© 2010 UEI, Inc. All Rights Reserved UEIPAC HMI.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
TEMPLE ANALYTICS MERCK CHALLENGE By Team Jeffrey Diana.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
An Overview of the Internet: The Internet: Then and Now How the Internet Works Major Features of the Internet.
1. The Basic and New Features Of MSU Centralized Adobe Connect Pro MSU IT Conference Breakout Session 3 Presented by Catherine Zhang 2.
Web Controlled of Robot Georgi Chakarov Ivelin Stoyanov.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
Making iServices Subscriber More Mobile Friendly `
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Development Process The Site Development Process Site Construction is one of the last steps.
ASP.NET SignalR SoftUni Team Technical Trainers Software University
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Architecture Overview Server Database (can be on the server or separate ) Client1 Client2 Client3 HTTP  View ppt notes pages for discussion!
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
Keith Telle Lead Software Engineer Bit Wizards Behind the Magic: SignalR Demystified.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
I NTRO TO W EB TECHNOLOGY Basic terms. C LIENT – S ERVER M ODEL a distributed communication between service requestors and service providers.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Introduction to threads
Hybrid Cloud Web Filtering Platform
Instructor Materials Chapter 5 Providing Network Services
Brice Copy, Mirjam Labrenz
CS5220 Advanced Topics in Web Programming Introduction to WebSocket
Fast data arrives in real time and potentially high volume
Web Development Web Servers.
ASP.NET SignalR SoftUni Team C# MVC Frameworks Technical Trainers
Lesson 4: Web Browsing.
Microsoft /17/2018 4:24 AM BRK4012 Dive deep on Skype Web SDK & Skype for Business App SDK - Build apps across Web, IOS & Android Srividhya Chandrasekaran Amit.
Unit – 5 JAVA Web Services
Tracking and Booking Taxi
GeneXus 9.0: Web applications at their higher power
User Interface Design and Usability jQuery, jQuery UI & jQuery Plugins
Processes The most important processes used in Web-based systems and their internal organization.
CHAPTER 2 Application Layer.
PHP / MySQL Introduction
CMPE419 Mobile Application Development
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
Telnet/SSH Connecting to Hosts Internet Technology.
Explore web development with Microsoft ASP.NET Core 1.0
Building real-time web apps with HTML5 WebSockets
$, $$, $$$ API testing Edition
Next-Gen GUI for Web Services John D
Cloud Web Filtering Platform
Lesson 4: Web Browsing.
Web Servers (IIS and Apache)
CMPE419 Mobile Application Development
Information Retrieval and Web Design
Running C# in the browser
Presentation transcript:

ChaRLeS: An Open-Source Chat Room Learning System Edoardo Bontà, Giovanni Torrisi, Marco Bernardo Università di Urbino edoardo.bonta@uniurb.it

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

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!

The underlying chat model The underlying model of ChaRLeS addresses some common text chat room inefficiencies (Vronay, 1999) including: 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 4-channel layered interaction system: Lecture channel: used by the instructor, it can also be enabled for students [recorded] Question channel: used by students, questions are submitted by the instructor [recorded] Service channel: used by all for greetings and organizational messages Private channel: used by all for sending private messages to selected users 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)]

Architecture of the web application ChaRLeS Hosting support (server) Self-hosting: ASP.NET Core for Windows, Linux, MacOSX Client application Service Real-time web application written in pure HTML + JavaScript Other useful JS libs JQuery, Bootstrap Real-time JS library SignalR.js Real-time support SignalR Web service support web API Custom services written in C# Reverse Proxy (Nginx) HTTP Application path http://localhost:[port]/charles/... HTTP + WebSocket Service paths http://localhost:[port]/charles/signalr/... http://localhost:[port]/charles/api/... Unified path https://mydomain.com/charles/... https://mydomain.com/charles/signalr/... https://mydomain.com/charles/api/... https://mydomain.com/<other apps/services> HTTPS + WebSocket relative references Other apps/services

The chat room instance page of ChaRLeS

… and the points of view of Steve and Leo

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" Two terms that I often hear are "business logic" and "presentation logic" Business logic is the domain logic, that's the part of a program encoding the real-world business rules.

Configuration of the Moodle plugin mod_charles

Conclusion and future work 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.