ID.nl logo
Wat zijn WebUSB en Web Bluetooth?
© Reshift Digital
Huis

Wat zijn WebUSB en Web Bluetooth?

WebUSB en Web Bluetooth zijn twee gelijkaardige standaarden die webapplicaties toegang geven tot apparaten via respectievelijk usb en bluetooth. Het grote voordeel: je dient geen speciale software te installeren voor toegang tot die apparaten. Het nadeel: voorlopig werkt het alleen nog maar in Chrome.

Stel je voor: je hebt een leuk nieuw apparaatje gekocht, zoals een rekenmachine of een smartwatch, en je wilt de firmware updaten om van de nieuwste functies gebruik te maken of een bug op te lossen. Maar de fabrikant levert alleen een updateprogramma mee voor Windows, en toevallig gebruik je Linux of macOS. Wat nu? Of erger: wat als het om een randapparaat gaat waarvan de fabrikant alleen maar drivers voor Windows voorziet, en je het niet eens op andere besturingssystemen kunt gebruiken?

En dat terwijl de meesten van ons een groot deel van hun tijd in de webbrowser doorbrengen. Waarom zouden we niet die webbrowser rechtstreeks toegang kunnen geven tot apparaten via usb of bluetooth, zodat je geen drivers of updateprogramma’s specifiek voor elk besturingssysteem nodig hebt? Dat exact is de insteek van WebUSB en Web Bluetooth.

WebUSB

WebUSB is volgens de specificatie een api die een manier aanbiedt om usb-apparaten veilig met het web te verbinden. Ze hergebruikt de bestaande usb-afspraken, maar past die aan de ons vertrouwde interface van de webbrowser aan. Het is dan ook een javascript-api. Dat maakt WebUSB onmiddellijk ook cross-platform, en in principe kan iedereen met wat kennis van webontwikkeling apparaten aanspreken via WebUSB.

WebUSB is nog geen officiële standaard van het World Wide Web Consortium (W3C). Ontwikkelaars van Google hebben WebUSB in 2016 voorgesteld aan de Web Incubator Community Group (WICG) van het W3C, een platform voor experimentele webtechnologieën. Sinds Chrome 61 is WebUSB-ondersteuning ook in de webbrowser van Google ingebouwd. Andere webbrowsers zijn voorlopig nog niet overstag gegaan, zoals je bij de website Can I use kunt zien.

©PXimport

Je webbrowser die toegang tot usb-apparaten krijgt, is dat niet vragen om beveiligingsproblemen? Uiteraard hebben de ontwikkelaars daarover nagedacht. Zo moet een webapp altijd toestemming van de gebruiker krijgen voordat ze toegang krijgt tot een specifiek usb-apparaat.

Bovendien krijgt je browser alleen toegang tot apparaten die specifiek aangeven dat ze WebUSB ondersteunen. Je webbrowser kan dus niet zomaar aan de bestanden op je usb-stick, je externe usb-toetsenbord afluisteren of het beeld van je usb-webcam bespioneren. Uit een analyse door F-Secure in 2017 bleek dat WebUSB met aandacht voor beveiliging is ontwikkeld.

Firmware-updates

WebUSB is nog niet echt ingeburgerd. Het enige apparaat met WebUSB-ondersteuning dat we zelf al in handen hebben gehad, is de rekenmachine van NumWorks: die laat toe om de firmware te upgraden van in je webbrowser zonder dat je je zorgen hoeft te maken over drivers en firmwaretools.

Maar je kunt zelf ook WebUSB in je eigen projecten gebruiken. Zo is er een Arduino-bibliotheek voor WebUSB. Hiermee kun je in je eigen Arduino-sketch met de webbrowser communiceren. Let op: dit vereist dat je zowel html- en css-code voor de kant van de computer schrijft als Arduino-code voor de kant van het Arduino-bordje dat je via usb aansluit.

©PXimport

Web Bluetooth

Een vergelijkbare standaard, eveneens door Google uitgebracht, is Web Bluetooth. Die laat webapps toe om met apparaten in de buurt te communiceren via bluetooth. En net zoals bij WebUSB wordt ook hier gewoon gebruikgemaakt van bestaande afspraken, in dit geval van bluetooth low-energy (BLE).

Elk BLE-apparaat biedt specifieke diensten (services) aan met eigenschappen (characteristics). Er bestaan standaardprofielen voor bijvoorbeeld hartslagmeters, temperatuursensoren enzovoort, en sommige producenten implementeren hun propriëtaire profielen in hun apparaten, die dan bijvoorbeeld met hun eigen mobiele apps kunnen communiceren. Dankzij Web Bluetooth kun je communicatie met BLE-apparaten in een webapp aanbieden, die op alle platforms werkt, zolang het maar in Chrome is.

©PXimport

Firmware-upgrades via bluetooth zijn extra handig, omdat het vaak om apparaatjes gaat die klein zijn of normaal niet zo gemakkelijk via usb aan te sluiten zijn. Bij de via javascript te programmeren Espruino Puck.js bijvoorbeeld kun je via Web Bluetooth je code naar het apparaatje uploaden.

Verder heb je ook het project web-bluetooth-dfu waarmee je de firmware van apparaten met chips van Nordic Semiconductor kunt upgraden. Het gaat dan om de Nordic nRF51822-, nRF52832- of nRF52840-chips. Die zitten onder andere in de eerste versie van de Puck.js, maar ook in de RuuviTag-bluetooth-sensor.

Onbegrensde mogelijkheden

Meer nog dan met WebUSB zijn met Web Bluetooth de mogelijkheden onbegrensd. Talloze gadgets ondersteunen bluetooth, en die zijn nu allemaal via webapps aan te sturen als je een beetje van html en javascript kent en de bluetooth-eigenschappen van het apparaatje kunt ontcijferen. De Web Bluetooth Community Group heeft enkele leuke demo’s op zijn GitHub-pagina staan, waaronder het aansturen van een bluetooth-labelprinter, speelgoedautootjes en uiteraard het uitlezen van een hartslagsensor.

Net zoals bij WebUSB overigens is ook hier over de beveiliging nagedacht: een webapp die toegang tot een bluetooth-apparaat wil, toont eerst altijd een lijst met gevonden bluetooth-apparaten, en de gebruiker dient aan te geven tot welke apparaat de webapp toegang krijgt. De bluetooth-GATT-api is bovendien vrij klein, zodat het aanvalsoppervlak beperkt blijft.

Volgende stap

Na WebUSB en Web Bluetooth staat er al een volgende technologie te wachten. Google heeft in Chrome versie 81 technologie toegevoegd om op een Android-toestel nfc-tags uit te lezen in de webbrowser. Het gaat om Web NFC. Je kunt hiermee in een javascript-api boodschappen van nfc-tags uitlezen of boodschappen naar nfc-tags schrijven.

Het is voorlopig nog een experimentele functie die je expliciet moet inschakelen. Dat kan met de optie #experimental-web-platform-features in chrome://flags. En zo krijgen webapplicaties meer en meer toegang tot hardware op een platformonafhankelijke manier. Als nu Firefox nog zou volgen, zou het helemaal handig zijn.

▼ Volgende artikel
Wanneer is een tv écht te groot voor je woonkamer?
Huis

Wanneer is een tv écht te groot voor je woonkamer?

Iedereen droomt weleens van een thuisbioscoop, maar groter is niet altijd beter. Een te groot scherm kan bijvoorbeeld zorgen voor vermoeide ogen of korrelig beeld. Ontdek hoe zaken als kijkafstand, de resolutie en de kijkhoek bepalen of een televisie daadwerkelijk in je woonkamer past.

In de felverlichte showroom van de elektronicawinkel lijkt die enorme 75-inch televisie waanzinnig indrukwekkend, maar eenmaal aan de muur in een doorsnee Nederlandse doorzonwoning kan zo'n gapend zwart vlak de ruimte volledig domineren. Veel consumenten denken onterecht dat een groter scherm automatisch garant staat voor een betere kijkervaring, ongeacht de afmetingen van de kamer. Toch is er een harde technische grens waarbij groot verandert in té groot, met hoofdpijn en onscherp beeld als direct gevolg. In dit artikel leer je precies hoe je die grens bepaalt en de ideale televisie kiest.

De kern van het probleem: resolutie en blikveld

Het probleem van een te grote tv is niet alleen esthetisch, maar vooral fysiologisch en technisch. Het draait allemaal om de verhouding tussen de resolutie (het aantal beeldpunten) en je blikveld. Zelfs bij moderne 4K-televisies zijn de pixels niet oneindig klein. Als je een enorm scherm neemt en daar te dicht op zit, trek je het beeld als het ware uit elkaar. Hierdoor verliest het beeld zijn scherpte en samenhang; je hersenen moeten harder werken om de losse informatie tot één geheel te smeden.

Een veelgehoorde misvatting is dat je simpelweg went aan elk formaat. Hoewel de eerste shock van een groot scherm inderdaad verdwijnt, blijft de fysieke belasting overeind. Als een scherm meer dan 40 graden van je horizontale blikveld inneemt, kun je niet meer het hele plaatje in één oogopslag zien. Je ogen moeten dan constant van links naar rechts scannen om de actie te volgen, vergelijkbaar met het kijken naar een tenniswedstrijd vanaf de eerste rij. Dat zorgt voor vermoeide ogen en kan op den duur zelfs leiden tot misselijkheid, ook wel 'cybersickness' genoemd.

©Gorodenkoff

Wanneer werkt een groot formaat wél goed?

Er zijn specifieke scenario's waarin een wandvullend scherm niet alleen kan, maar zelfs de voorkeur heeft. Dat geldt vooral als je de televisie primair gebruikt voor hoogwaardige content. Denk hierbij aan films op 4K Blu-ray of streamingdiensten die uitzenden in de hoogste bitrate, en uiteraard gaming op moderne consoles. In deze gevallen is de bronkwaliteit zo hoog dat je dichterbij kunt zitten zonder fouten in het beeld te zien.

Daarnaast werkt een groot formaat goed als de kijkafstand het toelaat. In moderne woningen met een open plattegrond of een loft-indeling staat de bank vaak wat verder van de muur. Als je kijkafstand meer dan 3 meter is, valt een 55-inch televisie al snel in het niet en moet je turen om details te zien. Een 65-inch of groter model herstelt in dat geval de balans en zorgt voor die gewenste bioscoopervaring, waarbij het scherm groot genoeg is om je onder te dompelen zonder dat je individuele pixels ziet.

Wanneer werkt dit níet goed?

De nadelen van een te grote tv worden pijnlijk duidelijk bij 'gewoon' tv-kijken. Veel lineaire televisieprogramma's, zoals het journaal, talkshows of sportuitzendingen via de kabel, worden niet in 4K uitgezonden, maar in Full HD of zelfs nog lager. Een enorme tv vergroot dat signaal genadeloos uit. Op een te groot scherm zie je dan plotseling ruis, compressieblokjes en onscherpe randen die op een kleiner scherm onzichtbaar zouden blijven. Het beeld oogt daardoor onrustig en rommelig.

Ook in de fysieke ruimte kan het tegenvallen. Een tv die uit staat is een groot, zwart en reflecterend vlak. In een compacte woonkamer zuigt een te groot scherm alle aandacht naar zich toe, zelfs als hij uitstaat. Zoiets verstoort de balans in je interieur en kan de kamer kleiner laten aanvoelen dan hij eigenlijk is. Daarnaast is de plaatsing van sfeerverlichting vaak lastiger; een gigantisch scherm blokkeert lichtinval of reflecteert lampen op een storende manier.

©RDVector

Als je té dicht op je televisie zit, kun je de kleurenleds van elkaar onderscheiden.

Dealbreakers: hier ligt de grens

Er zijn een paar harde grenzen die aangeven dat je beter een maatje kleiner kunt kiezen. Als je een van de onderstaande punten herkent, is dat een duidelijk signaal.

Je moet je hoofd fysiek draaien

Als je tijdens het kijken naar een film ondertiteling leest en daardoor de actie boven in het scherm mist, of als je je nek daadwerkelijk moet draaien om van de linker- naar de rechterhoek te kijken, is het scherm te groot voor je kijkafstand. Je verliest het overzicht.

De tv past fysiek niet op het meubel

Dit klinkt misschien logisch, maar wordt vaak genegeerd. Als de pootjes van de tv net aan op de rand van je tv-meubel balanceren, of als het scherm breder is dan het meubel zelf, oogt dat niet alleen goedkoop, het is ook onveilig. Een scherm dat buiten de kaders van het meubel steekt, is enorm kwetsbaar voor (om)stoten.

Je ziet pixels of rastervorming

Ga op je favoriete plek op de bank zitten. Zie je bij normaal HD-beeld een soort hordeur-effect of individuele blokjes? Dan zit je te dichtbij voor dat specifieke formaat. Dat is geen kwestie van wennen; het is een mismatch tussen resolutie, inch-maat en kijkafstand.

Wat betekent dit voor jouw situatie?

Om te bepalen of een tv past, moet je de rolmaat erbij pakken en even kritisch naar je eigen kijkgedrag kijken. De algemene vuistregel voor 4K-televisies is: meet de afstand van je ogen tot het scherm in centimeters en deel dat door 1,2 tot 1,5. De uitkomst is de ideale schermdiagonaal.

Zit je bijvoorbeeld op 2,5 meter (250 cm) van je scherm? Dan kom je uit op een schermdiagonaal tussen de 166 cm (65 inch) en 208 cm (82 inch). Maar let op: dat geldt alleen voor pure 4K-content. Kijk je veel normale televisie (praatprogramma's, nieuws)? Hanteer dan factor 2. Bij 250 cm afstand kijkt een scherm van 125 cm diagonaal (ongeveer 50 inch) dan vaak prettiger en rustiger. Ben je een fanatieke gamer of filmfanaat? Dan kun je de grens opzoeken. Ben je een casual kijker? Kies dan veilig voor een formaatje kleiner.

©BS | ID.nl

In het kort

Een televisie is te groot wanneer het beeld onscherp oogt of wanneer je fysiek je hoofd moet draaien om alles te kunnen volgen. Hoewel een groot scherm indrukwekkend lijkt, vergroot het bij standaard televisie-uitzendingen ook alle beeldfouten uit. De ideale grootte is een balans tussen kijkafstand en de kwaliteit van wat je kijkt. Meet daarom altijd de afstand tussen bank en muur, en wees realistisch over je kijkgedrag. Zo voorkom je hoofdpijn en blijft tv-kijken ontspannend.

▼ Volgende artikel
Microsofts Xbox Developer Direct heeft de code gekraakt
Huis

Microsofts Xbox Developer Direct heeft de code gekraakt

Het is ergens in 2025 als Fable voor het eerst, een soort van, getoond wordt. Beelden volgen elkaar in rap tempo op. We zien de dame die de hoofdrol lijkt te spelen, geen HUD en vooral heel veel mooie filmpjes. Daarna begint het wild speculeren, de klachten over het hoofdpersonage, de vraagtekens over de gameplay. Gelukkig was daar gister de Xbox Developer Direct, waar Microsoft eens te meer bewees de code gekraakt te hebben.

Vóór de pandemie, toen de Electronic Entertainment Expo (E3) nog bestond en online showcases, Directs en State of Plays nog niet echt een ding waren, wisten gameboeren hun spellen prima te verkopen. Ontwikkelaars verschenen op het podium tijdens liveshows, praatten over hun games, speelden live een demo (wat net zo vaak goed als faliekant misging) en dergelijke presentaties werden afgewisseld met teasers, hypetrailers en (nog verder terug) zelfs weleens grafieken en verkoopcijfers. Hoe anders is de wereld anno nu.

Watch on YouTube

Trailers vol trailers

Klaar zitten voor The Game Awards, een gemiddelde Direct, Showcase of Summer Game Fest is leuk, maar niet hetzelfde als ‘toen’. Want de formule is inmiddels bekend. Een half uur, een uurtje, een paar uur lang wordt er de ene na de andere trailer op je hersenen afgevuurd. Wat is ‘reclame’ en wat niet? Geen idee. Standaard zijn de animegames die elkaar zo rap opvolgen dat de gemiddelde kijker niet eens meer weet waar de ene game begint en de ander ophoudt. Meestal zit er een klapper aan het begin, waarna het grote wachten op de klapper aan het einde begint.

Vraag iemand een week later wat ie gezien heeft, en meer dan de helft van de getoonde games is waarschijnlijk uit het geheugen verdwenen.  En al die flarden van beelden zonder fatsoenlijke uitleg leiden vaker wel dan niet tot hetzelfde als die ene soort van trailer van Fable: speculaties, wild geroep en vraagtekens. Het komt de online discussie rondom games niet ten goede.

©Playground Games

Hoe anders was de inmiddels traditionele Xbox Developer Direct. Langer dan een uur, voor maar vier games. Die games kregen zodoende alle tijd, net als de ontwikkelaars. Gameplaybeelden zijn niet aan te slepen, verscheidene modi worden uitgebreid besproken en zelfs de kleinste details krijgen meer dan genoeg ademruimte. Zo horen we tijdens de Forza Horizon 6-presentatie dat het nummer van je eigen hangar (78) gekozen is omdat de game zich afspeelt in Japan, en die cijfers daar een positieve lading hebben. Fijn om te horen hoe scherp het oog voor detail van een ontwikkelaar is. Dat zegt iets over het project. En het is ook iets wat je never nooit in een hypetrailer van anderhalve minuut langs had zien komen.

Trailers vol trailers

En dus zit ik gisteravond te genieten. Niet eens per se van de games, want ze vallen net niet in mijn straatje. Forza Horizon 6 vind ik héél indrukwekkend en de game zal ongetwijfeld miljoenen spelers perfect bedienen, maar ik ben niet zo van het racen. Game Freak - de makers van Pokémon die eindelijk hun vleugels uitslaan met graphics uit dit decennium - komen met Beast of Reincarnation. Het ziet er oké uit. Double Fine vindt in mij ook geen fan en een multiplayer-pottenbakgame (Kiln) is niet iets wat hoog op mijn lijstje stond. Zelfs afsluiter Fable wist me met z’n levenssimulaties ook niet te overtuigen. Maar, nogmaals, wat heb ik genoten. Van ontwikkelaars die ruim de tijd kregen. Van de games, die van alle kanten belicht werden. Van de antwoorden die we kregen.

©Playground Games

Want wat ik nou precies van die games vond, is niet eens zo heel belangrijk. Veel belangrijker is dat iedereen dit keer in ieder geval een uitgebreid beeld kreeg van wat deze games nu precies worden. Een Xbox Developer Direct creëert geen valse hype. Van die vier getoonde games, weten we nu eigenlijk alles wat we redelijkerwijs moeten weten. Zoals bijvoorbeeld dat Fable een character creation-modus heeft, om maar iets te noemen. En plots zie je de discussies rondom de games gaan om… de inhoud. En niet op wilde speculaties rondom hoofdpersonages die helemaal niet vast blijken te staan. Love it.