Comments (8)
Since the introduction of platform effects, video conferencing applications on the web have faced increased negative user feedback such as:
- Users think the web app is broken because they are confused where and how background blur is turned on and off
- Users are noticing distorted video, such as bad cropping/segmentation or added delay (due to double processing)
- Users are noticing an increase in battery consumption (due to double processing)
- Video effects being used inappropriately or users are confused why certain effects are present
Since it's not really feasible to align what the app does and the platform does, there will always be inconsistency, conflicts and user confusion between the two. Web apps should be able to build experiences that go beyond what specific platforms are offering and without having to burden users with navigating two sets of controls.
from mediacapture-extensions.
This issue was discussed in WebRTC November 2023 meeting – 21 November 2023 (Issue #121: Background Blur: Unprocessed video should be mandatory 🎞︎)
from mediacapture-extensions.
Discussion about this item (which branched into the general "three thumbs up" problem) seemed to be generally positive towards "it should be possible to get unprocessed", with the main issue being raised being that on some OSes, there are currently no controls exposed to that would allow this.
A suggested resolution was to make it a SHOULD, with a note saying that only in the case of UAs operating on platforms where those controls were not available, the lack of ability to get unprocessed data was acceptable.
from mediacapture-extensions.
only in the case of UAs operating on platforms where those controls were not available, the lack of ability to get unprocessed data was acceptable.
I am not sure we should separate OS and UA here.
Some OSes may decide that, if user selected background blur in OS UX, no application will be allowed to opt-out without user interacting with OS UX.
A UA may decide to apply the same constraint to any web page it runs, even if OS is not imposing such restriction.
The spec offers the flexibility to all those models, which is good, especially since this is quite new territory that needs to mature.
from mediacapture-extensions.
UA is the one we're writing rules for, and where we assume that the UA implementors will be listening to what we write.
If we think that it's OK for an UA to refuse to allow an application to prevent background fireworks, floating thumbs-up symbols or background blur, we should say that. But that was not the sense I got from the meeting.
from mediacapture-extensions.
an interesting question here is if we should mention (or permit) the possibility of applyConstraints() causing user interaction.
from mediacapture-extensions.
If we think that it's OK for an UA to refuse to allow an application to prevent background fireworks
Such a UA should have good reasons for not allowing this.
One reason that was mentioned during the call was privacy. This is a valid concern, at least for some of these effects.
User may for instance have agreed to permit camera access with the assumption that only their face or part of the captured data would be shared to the web page.
an interesting question here is if we should mention (or permit) the possibility of applyConstraints() causing user interaction.
I think it is allowed, I have no objection mentioning it.
from mediacapture-extensions.
I wonder if we branch of the discussion of effects which clearly serve no privacy purpose, and find some way to mandate that the user agent SHOULD/MUST at least allow Web applications to avoid those...?
![image](https://private-user-images.githubusercontent.com/22117736/285228593-62232e3c-be48-4175-9fb0-167273347005.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTIwOTE0NTksIm5iZiI6MTcxMjA5MTE1OSwicGF0aCI6Ii8yMjExNzczNi8yODUyMjg1OTMtNjIyMzJlM2MtYmU0OC00MTc1LTlmYjAtMTY3MjczMzQ3MDA1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDAyVDIwNTIzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZkMDFlNmQ0NDcyMWNmMGZmMzFlMjVhODM2OWEwOGQwY2E0ODU1ZWIxNmRkMjU3ZjJiNWQ3MWNjYzVjMDEwOTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.gJ6572wcAFXQVjGjIEnwzJg-z9gKvBdKGEQraNZaga0)
Or at least avoid such reactions being inserted heuristically - through analysis of the user's video - while still allowing users to force them in through explicit interaction with the OS or hardware.
from mediacapture-extensions.
Related Issues (20)
- [Track Stats API] Support all types of MediaStreamTrack HOT 3
- [Track Stats API] Remove `timestamp` HOT 1
- [Track Stats API] The stats API should be synchronous HOT 1
- [Track Stats API] Rename "videoStats" to "stats" HOT 1
- [Track Stats API] Rephrase sentence on when to update internal slots HOT 14
- [Track Stats API] Rename deliveredFrames to deliverableFrames HOT 2
- [Track Stats API] SameObject is a confusing API shape HOT 23
- [Track Stats API] When to initialize frame counting HOT 3
- Should web applications be aware of reaction effects added by OS to camera feeds? HOT 17
- [Audio Stats] Add current latency HOT 2
- [Track Stats API] Make stats attribute nullable instead of throwing when unsupported HOT 2
- [Stats] Example uses ratio, not percentage
- [Audio Stats] Add average, min and max latency HOT 5
- [Audio Stats] Disagreement about audio dropped counters HOT 19
- volume is not working HOT 1
- Move MediaStreamTrack stats in its own spec? HOT 10
- Clarify how `track.stats.resetLatency()` relates to run-to-completion semantics HOT 1
- https://w3c.github.io/mediacapture-extensions/#transferable-mediastreamtrack should talk about the MediaStreamTrack's application-set content hint
- Moving the source of a track
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediacapture-extensions.