Urgent.News

What's breaking now, across thousands of outlets.

Tech

Real Watch Time from Noisy Video Player Logs

Originally published on mahdimolavi.ir . "How much of this video did the student actually watch?" sounds like a question with a one-line answer. The player knows where the playhead is, so add up the seconds. Then you open the raw events and the one-liner falls apart: pauses that were never logged, tabs closed in the middle of a lesson, phones whose clocks are minutes off, people watching at 2x,…

The player transmits a concise JSON event for each activity, including play, pause, seek, speed or quality changes, and regular "still playing" heartbeats. Each event includes the video's progress, a timestamp from the client, and unique identifiers for the learner and video. The player's events are lightweight and generated in high numbers, so the system must handle them efficiently without slowing down the user experience.

To manage this, the ingestion service is designed to accept events quickly and store them for later processing. When the memory channel for events fills up, the service returns a 503 error code to the client, prompting it to slow down and prevent server overload. This approach ensures the player remains responsive while the server handles the incoming data.

However, the player's events are not entirely reliable, as they can be affected by various factors like network issues, incorrect timestamps, or incorrect logging. Therefore, the analysis engine must account for these possibilities and infer what likely happened between two events instead of relying strictly on the data provided.

The analysis engine is a standalone C# application that can be easily tested. It reads the events in chronological order for each learner-video pair and reconstructs the viewing sessions. Four key rules guide the analysis: events must be physically possible given the video's playback speed, progress is measured using tenths of a second instead of whole seconds to avoid inaccuracies, pauses not directly logged by the player are inferred when the player does not send a heartbeat within a certain timeframe, and the engine accounts for common issues like seeking, changing settings, or a sudden cessation of playback.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Getting to Know the Linux Filesystem as a DevOps Beginner

While working on my EC2 instance, I kept coming across paths like /etc , /var/log , and /usr/share . I wanted to understand what these directories do and when I might need them while managing a Linux…

  • Linux filesystem organized like a house with / as the root directory
  • /bin contains essential commands like ls and cp for everyday tasks
  • /etc holds configuration files dictating system and application behavior

I built a zero-cost Instagram toolkit with 47 static pages, 2 edge functions and no framework

I wanted one clean place for the small Instagram chores people google every day: fancy bio fonts, keeping line breaks in captions, splitting a photo into a profile grid, posting without cropping, and…

  • IGKit created to consolidate common Instagram tasks with zero server costs
  • 47 static pages built using plain template strings and vanilla JavaScript
  • Edge functions used for server-required features, with CDN caching for data

WEEK 3 CHALLENGE

Here is a complete template tailored for your DEV post submission for Hacktoberfest Week 3 (Slow and Steady) . *This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and…

  • "Turtle Steady" is an interactive productivity app for Hacktoberfest
  • Uses Gemini-2-9b-it and Gemini-2-27b-it models for task decomposition
  • Promotes privacy, local control, and adaptability for users

Superpowers, BMAD, Spec Kitty: How heavy is the framework for arranging agents for real use?

By Nokka | Part 4 of the SDD tool comparison series | Fact-checked on Oct 24, 2026. This article was written by AI (deepseek-v4.1-flash · Model provider: ollama-cloud) via Hermes Agent under human…

  • Superpowers is the largest project with 304,296 stars and MIT license
  • BMAD (BMad Method) divides tasks into Clarify, Plan, Build, verify, and Learn and adjust phases
  • Spec Kitty is a CLI tool for creating software development processes with audit trails

More from Saturday 24 October →