February 2022 Summaries
8 posts from Daily
Filter
Month:
Year:
Post Summaries
Back to Blog
This tutorial series is focused on building a custom Daily video call app with SvelteKit, specifically a chat sidebar feature that allows users to send and receive messages while participating in a call. The chat sidebar will display the participant's name and message text, as well as a form for submitting new messages. When a new message is received, it will trigger a notification system that displays a red notification when the chat is closed and clears when the chat is opened. The chat sidebar will also use Daily's sendAppMessage method to send messages and 'app-message' event to receive messages. The tutorial covers setting up the local environment, defining the chat feature, sending app messages, receiving 'app-message's, displaying chat messages, and displaying a notification system for new messages.
Feb 28, 2022
1,894 words in the original blog post.
This post is part four of a series on building an app with spatialization features using Daily's real-time video and audio APIs. The introduction briefly recapitulates the previous posts in the series, which covered how to construct a 2D world and send/receive position data between users. In this post, we delve into managing user tracks, proximity calculations, and building an audio graph to implement spatial audio features in the world. We explore how users' video and audio tracks are handled, including creating textures from video tags and updating media streams when necessary. The proximity update process involves checking if a user is in earshot or vicinity of another user, triggering track subscriptions/unsubscriptions accordingly, and adjusting audio gain and pan values based on distance. The post concludes by summarizing the key points covered in this installment of the series.
Feb 24, 2022
3,406 words in the original blog post.
This tutorial series aims to help developers build video and audio apps quickly using SvelteKit and Daily's JavaScript API. The focus is on providing a fully customizable UI, including both video and text-based chat. To accomplish this, the app uses Daily's call object, which allows for easy integration with various front-end frameworks. The tutorial covers how to initialize a call, render media for participants, provide device control options, and implement screen sharing. It also discusses how to handle device permission errors and add chat messaging in future posts.
Feb 21, 2022
2,849 words in the original blog post.
Daily, a WebRTC developer platform, recently restructured its levels, promotions, and salaries in an effort to be fair and competitive while still being mindful of its stage and growth. The company, which has always been fully distributed, expanded from three to seven levels, each with a fixed salary, regardless of location or function. A promotion system was also instituted, where staff automatically bump up a level when they gain more experience at Daily. This approach aims to decouple base salary from professional growth and recognition, allowing for more individualized development opportunities. The new system has resonated with employees and candidates, who appreciate the transparency and fairness it brings. While there are some tradeoffs, such as potential barriers for early-stage candidates or uneven leveling, the company is committed to reviewing and adjusting the system in 12-18 months to ensure it remains competitive and fair within its stage and growth.
Feb 17, 2022
2,327 words in the original blog post.
This world is set up using PixiJS as its rendering framework, allowing for efficient rendering of 2D graphics. The World class is instantiated when a room is joined, and it sets up the basic structure for the world, including a frame that will be visible to users, and several containers for holding user sprites and focus zones. The World's update loop processes texture queues, updates robots (Daily's automated WebDriver instances), and processes the local user's interaction with other users in the world. Navigation is handled through an update method that checks for movement, collision with objects, and updates the local user's position accordingly. When the local user moves, their new position data is sent to other participants using a broadcast function. Users can receive this data and move themselves to the same coordinates if they are in the global zone or if they have zonemates in specific zones such as desks or broadcast spots.
Feb 14, 2022
3,119 words in the original blog post.
This tutorial series aims to help developers build a custom Daily app using SvelteKit. The project uses Daily's REST API to create new rooms and navigate between different pages. The routing is based on the file structure in SvelteKit, with separate files for the home page, room form, and custom endpoint for creating rooms. The tutorial covers how to set up the file structure, create a form to submit room requests, handle errors, and navigate to the newly created room using SvelteKit's route-based endpoints. The completed demo app is publicly available on Github, allowing developers to get started with building their own custom Daily video chat app.
Feb 10, 2022
2,008 words in the original blog post.
This post is part two of a series on how to build an app with spatialization features using Daily's real time video and audio APIs. The application entry point, index.ts, registers the entry form listener and joins the room once the form is submitted. The Room class contains a Daily call object and is responsible for all communication with Daily. It has methods such as join(), setBandwidth(), handleJoinedMeeting(), and more that are used to configure the spatialization features of the app. These include handling participant updates, broadcasting presence, and removing remote participants.
Feb 07, 2022
3,100 words in the original blog post.
The beta launch of a new API is announced for adding live transcription to Daily calls, allowing developers to generate call transcripts in real-time with up to 90% accuracy. The API has been developed in partnership with Deepgram, whose Automatic Speech Recognition technology generates high-accuracy transcripts with less than 300ms latency. To use the API, developers need to create a new API key for their Daily project and enable transcription at the domain level by sending a POST request with the "enable_transcription" property set to the string "deepgram:YOUR_DEEPGRAM_API_KEY". The demo app provides a step-by-step tutorial on how to test transcription in a Daily call, including generating meeting tokens, starting and stopping transcription, and listening for app-message events. Organizations across various verticals are using live transcription to support transparency, analytics, and accessibility, with use cases including online classes, training and coaching customer service agents, and transcribing meetings. The API is configured at the domain level and can be used in any room under the domain. Developers who test transcription in their custom apps are encouraged to share their users' experience.
Feb 03, 2022
1,491 words in the original blog post.