Chromium Web Bluetooth :: Session Specific Pairing
Budget: $1,500 – $3,000 USD
The most important characteristic of any developer is persistence.
Even if you are a junior developer and you can do this...
Get the Code: Checkout, Build, & Run Chromium
https://www.chromium.org/developers/how-tos/get-the-code
...please apply.
Here is what we need:
Currently for a Web Bluetooth connection the browser requests a service through a JavaScript call:
let device = await navigator.bluetooth.requestDevice((filters: [(services: [serviceUuid])]));
This call brings up a Bluetooth pairing screen that displays all devices broadcasting the specified serviceUuid. The user selects the right device from the list and the server provides a reference to the service:
let service = await server.getPrimaryService(serviceUuid);
Specific characteristics can then be obtained from the service:
let domainNameCharacteristic = await service.getCharacteristic(domainNameCharacteristicUuid);
And values can be written to the server which are picked up by the mobile device:
domainNameCharacteristic.writeValue(textEncoder.encode(domainName));
What we want to do is make the initial pairing automatic, not based on a general serviceUuid but on a specific sessionUuid that would be broadcast by the mobile device and picked up by the server. The web application and the Android application would both obtain the sessionUuid from a Tomcat server (that part of the project is complete).
We just want to get rid of the very annoying Bluetooth pairing screen. You can see visuals here:
www [dot] trustnexus [dot] io/webauthn_plus [dot] htm#SessionSpecificPairing
Essentially, the onclick event in the Bluetooth Pairing screen (that pops up with a list servers) would be replaced with a listener that would connect to the mobile device whenever the sessionUuids match.
Making the code changes and doing a Chromium build are the essentials.
We are a garage-level startup in Austin with minimal funding; although we expect significant funding in the next few months.
For someone who has an expertise in the Chromium code base, this is probably about a 20 hour project. Right now, we can pay $2,000 upon completion and promise contractually to pay another $5,000 within ten days of our funding.
It is a risk. But if you read about what we are doing, it is a good risk:
(trustnexus [dot] io)
This project could morph into long term work. We may create our own version of Chromium browser (like Brave, Epic, Vivaldi, etc.). So, if you are an expert in the Chromium code base, this could be the ideal project for you.
Even if you are a junior developer and you can do this...
Get the Code: Checkout, Build, & Run Chromium
https://www.chromium.org/developers/how-tos/get-the-code
...please apply.
Here is what we need:
Currently for a Web Bluetooth connection the browser requests a service through a JavaScript call:
let device = await navigator.bluetooth.requestDevice((filters: [(services: [serviceUuid])]));
This call brings up a Bluetooth pairing screen that displays all devices broadcasting the specified serviceUuid. The user selects the right device from the list and the server provides a reference to the service:
let service = await server.getPrimaryService(serviceUuid);
Specific characteristics can then be obtained from the service:
let domainNameCharacteristic = await service.getCharacteristic(domainNameCharacteristicUuid);
And values can be written to the server which are picked up by the mobile device:
domainNameCharacteristic.writeValue(textEncoder.encode(domainName));
What we want to do is make the initial pairing automatic, not based on a general serviceUuid but on a specific sessionUuid that would be broadcast by the mobile device and picked up by the server. The web application and the Android application would both obtain the sessionUuid from a Tomcat server (that part of the project is complete).
We just want to get rid of the very annoying Bluetooth pairing screen. You can see visuals here:
www [dot] trustnexus [dot] io/webauthn_plus [dot] htm#SessionSpecificPairing
Essentially, the onclick event in the Bluetooth Pairing screen (that pops up with a list servers) would be replaced with a listener that would connect to the mobile device whenever the sessionUuids match.
Making the code changes and doing a Chromium build are the essentials.
We are a garage-level startup in Austin with minimal funding; although we expect significant funding in the next few months.
For someone who has an expertise in the Chromium code base, this is probably about a 20 hour project. Right now, we can pay $2,000 upon completion and promise contractually to pay another $5,000 within ten days of our funding.
It is a risk. But if you read about what we are doing, it is a good risk:
(trustnexus [dot] io)
This project could morph into long term work. We may create our own version of Chromium browser (like Brave, Epic, Vivaldi, etc.). So, if you are an expert in the Chromium code base, this could be the ideal project for you.