The book begins by teaching you how to capture audio and video streams from the browser using the Media Capture and Streams API. You will then create your first WebRTC application capable of audio and video calling. The book will also give you in-depth knowledge about signaling and building a signaling server in Node.js. While being introduced to the RTCDataChannel object, you will learn how it relates to WebRTC and how to add text-based chat to your application. You will also learn to take your application further by supporting multiple users through different technologies and scale its performance and security. This book will also cover several theories using full mesh networks, partial mesh networks, and multipoint control units. By the end of this book, you will have an extensive understanding of real-time communication and the WebRTC protocol and APIs.
Deliver rich audio and video real-time communication and peer-to-peer data exchange right in the browser, without the need for proprietary plug-ins. This concise hands-on guide shows you how to use the emerging Web Real-Time Communication (WebRTC) technology to build a browser-to-browser application, piece by piece. The authors’ learn-by-example approach is perfect for web programmers looking to understand real-time communication, and telecommunications architects unfamiliar with HTML5 and JavaScript-based client-server web programming. You’ll use a ten-step recipe to create a complete WebRTC system, with exercises that you can apply to your own projects. Tour the WebRTC development cycle and trapezoid architectural model Understand how and why VoIP is shifting from standalone functionality to a browser component Use mechanisms that let client-side web apps interact with browsers through the WebRTC API Transfer streaming data between browser peers with the RTCPeerConnection API Create a signaling channel between peers for setting up a WebRTC session Put everything together to create a basic WebRTC system from scratch Learn about conferencing, authorization, and other advanced WebRTC features
This book is for programmers who want to learn about real-time communication and utilize the full potential of WebRTC. It is assumed that you have working knowledge of setting up a basic telecom infrastructure as well as basic programming and scripting knowledge.
The book will follow a step-by-step tutorial approach to construct an application that allows video conferencing and calls between two browsers and a system for sharing files among a group.This book is ideal for developers new to the WebRTC standards who are interested in adding sensor-driven, real-time, peer-to-peer communication to their web applications. You will only need basic experience with HTML and JavaScript.
Build your own video chat application - but that's just the beginning. With WebRTC, you'll create real-time applications to stream any kind of user media and data directly from one browser to another, all built on familiar HTML, CSS, and JavaScript. Power real-time activities like text-based chats, secure peer-to-peer file transfers, collaborative brainstorming sessions - even multiplayer gaming. And you're not limited to two connected users: an entire chapter of the book is devoted to engineering multipeer WebRTC apps that let groups of people communicate in real time. You'll create your own video conferencing app. It's all here. WebRTC is an API exposed in all modern web browsers. After almost a decade of development, the WebRTC specification was finalized, and this book provides faithful coverage of that finalized specification. You'll start by building a basic but complete WebRTC application for video chatting. Chapter by chapter, you'll refine that app and its core logic to spin up new and exciting WebRTC-powered apps that will have your users sharing all manner of data with one another, all in real time. No third-party libraries or heavy downloads are required for you or your users: you'll be writing and strengthening your knowledge of vanilla JavaScript and native browser APIs. You'll learn how to directly connect multiple browsers over the open internet using a signaling channel. You will gain familiarity with a whole set of Web APIs whose features bring WebRTC to life: requesting access to users' cameras and microphones; accessing and manipulating arbitrary user files, right in the browser; and web storage for persisting shared data over the life of a WebRTC call. Like any Web API, WebRTC doesn't enjoy a perfect implementation in any browser. But this book will guide you in writing elegant code to the specification, with backward-compatible fallback code for use in almost all modern browsers. Use WebRTC to build the next generation of web applications that stream media and data in real time, directly from one user to another - all by working in the browser. What You Need: Readers need a text editor, an up-to-date copy of Chrome or Firefox, and a POSIX-style command-line shell. They'll also need to install a little bit of open-source software, especially Node.js. All necessary setup is covered in full in the book's introductory chapter.
How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC. Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You’ll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC. Deliver superlative TCP, UDP, and TLS performance Speed up network performance over 3G/4G mobile networks Develop fast and energy-efficient mobile applications Address bottlenecks in HTTP 1.x and other browser protocols Plan for and deliver the best HTTP 2.0 performance Enable efficient real-time streaming in the browser Create efficient peer-to-peer videoconferencing and low-latency applications with real-time WebRTC transports
This book constitutes the refereed post-conference proceedings of the IFIP TC 3 Open Conference on Computers in Education, OCCE 2018, held in Linz, Austria, in June 2018. The 24 revised full papers and 3 short papers included in this volume were carefully reviewed and selected from 63 submissions during two rounds of reviewing. The papers discuss key emerging topics and evolving practices in the area of educational computing research. They are organized in the following topical sections: computational thinking; programming and computer science education; teachers’ education and professional development; games-based learning and gamification; learning in specific and disciplinary contexts; learning in social networking environments; and self-assessment, e-assessment and e-examinations.
This book offers the latest research and new perspectives on Interactive Collaborative Learning and Engineering Pedagogy. We are currently witnessing a significant transformation in education, and in order to face today’s real-world challenges, higher education has to find innovative ways to quickly respond to these new needs. Addressing these aspects was the chief aim of the 21st International Conference on Interactive Collaborative Learning (ICL2018), which was held on Kos Island, Greece from September 25 to 28, 2018. Since being founded in 1998, the conference has been devoted to new approaches in learning, with a special focus on collaborative learning. Today the ICL conferences offer a forum for exchanging information on relevant trends and research results, as well as sharing practical experiences in learning and engineering pedagogy. This book includes papers in the fields of: * Collaborative Learning * Computer Aided Language Learning (CALL) * Educational Virtual Environments * Engineering Pedagogy Education * Game based Learning * K-12 and Pre-College Programs * Mobile Learning Environments: Applications It will benefit a broad readership, including policymakers, educators, researchers in pedagogy and learning theory, school teachers, the learning industry, further education lecturers, etc.
The use of technological tools to foster language development has led to advances in language methodologies and changed the approach towards language instruction. The tendency towards developing more autonomous learners has emphasized the need for technological tools that could contribute to this shift in foreign language learning. Computer-assisted language learning and mobile-assisted language learning have greatly collaborated to foster language instruction out of the classroom environment, offering possibilities for distance learning and expanding in-class time. Recent Tools for Computer- and Mobile-Assisted Foreign Language Learning is a scholarly research book that explores current strategies for foreign language learning through the use of technology and introduces new technological tools and evaluates existing ones that foster language development. Highlighting a wide array of topics such as gamification, mobile technologies, and virtual reality, this book is essential for language educators, educational software developers, IT consultants, K-20 institutions, principals, professionals, academicians, researchers, curriculum designers, and students.
The rapid shift online during the Covid-19 pandemic has put online learning firmly on the agenda of universities everywhere and to realise fully the transformative potential of online learning this book argues the need for an evidence-based design approach. The evidence comes from the experiences of online learners who are professionals: educators, engineers, medics and researchers. Designbased research, learner contributions, survey responses and interviews with these learners demonstrate that open, online, collaborative learning experiences are not only feasible but effective for building professional community knowledge. Innovative online learning of this kind can help universities contribute to the global public good by achieving high quality learning at scale. The open online platforms being used in the book widen global access to professional education and create more porous boundaries between universities and the wider community. This is critical for achieving, for example, the full impact of the current policy discussions on the UN SDGs, such as climate and inequality. The evidence-base shows how co-designed, transformative digital education can be mobilised to support professionals such as teachers in crisis contexts, government officials investigating renewable energy solutions, or medics adapting treatments to local conditions. It also shows how to scale up professional development in areas where expertise is urgently required. The book concludes that scaled-up online learning can enable HE to deliver on the UN SDGs by equipping citizens and communities with the knowledge and skills needed to solve the world's most pressing problems.