cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Fully support Web USB and Web Serial

ali1234
Making moves

Web-based IDEs like Arduino and Github Codespaces are now commonplace. They are hobbled in Firefox due to an inability to access development boards without installing extra system software, which rather defeats the purpose of having an IDE that runs in your browser. This is not the case on Chrome, where Web USB and Web Serial can be used. (Clarification: they *could* be used on Chrome, but often are not because developers don't want to maintain two separate codebases.)

I will preempt the response I have received every previous time I brought up this topic: Web USB and Web Serial present no more of a security risk than web camera or location data, and Firefox already has a permissions system to protect those. On the other hand, the software you have to install to make Arduino IDE work in Firefox starts a webserver that shares your serial port over a websocket, just so that your browser can connect to it. It isn't clear if there are any protections at all on that websocket.

I will also note than the current prevalence of web-based development environments is in part due to Mozilla's insistence that everything should be able to run in the browser, along with projects like Firefox OS.

https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API

https://developer.mozilla.org/en-US/docs/Web/API/USB

22 REPLIES 22

djdevon3
Making moves

I'm coding a project on Adafruit's circuit python platform and I have to use Chrome because Firefox doesn't support web serial. Very disappointed. The future of microcontrollers will rely on integration with web serial. If you could just take a look at what WipperSnapper is doing for AdafruitIO platform I'm sure you'd agree. Any microcontroller that has WiFi capability (including Raspberry Pi & Arduino) will need web serial in the future.

Firefox is lagging behind Chrome for web serial adoption to the point where people must now seriously consider using Chrome as their main browser of choice. Firefox users who play with microcontrollers don't want that and I'm sure Mozilla doesn't want that.

I agree!

Please Mozilla, add these API to Firefox 🔥🦊

Anonymous
Not applicable

Not a feature i would want. Also seems like api can be potentially harmful to the user. At least that seems like the current verdict. ref. https://mozilla.github.io/standards-positions/

I really and honestly fail to understand this position. 1. In Chrome browser pop-up is required to show and to specifically choose which devices are available to given website. 2. Before WebSerial some websites required additional app on users machine that would act as a bridge between browser and serial device. Do you deem it's safer to install some app to act as a bridge instead of using native browser APIs? Moreover app-per-vendor which might mean A LOT of apps when user uses many of such devices. I believe it can be done properly and safely (yeah, Chrome's way is a good way, but could be hidden behind about:config), but for some reason Mozilla refuses to focus on it, forcing its users to use Chrome just for the purpose of hardware interfacing.

Getting user to ignore a pop-up, or managing to not trigger the pop-up, is the source of all too many news articles & CVEs.

How about having the capability available, but disabled by default in the config?

It's no different than enabling access to the microphone/camera on a per-site basis.

A flaw would be tragic, but not impossible.

User accepts the risk/liability in the license & terms + conditions by using the software, i.e. operating system + browser combo (surely you read all of it right, including used 3rd-party libraries' terms+licenses?).

klikini
Making moves

I think supporting WebSerial (even if behind an about:config option to reduce attack surface for the users who don't want or need it) is required to compete in the 2023 browser market. I hate having to switch to Edge every time I need to use it.

Hi,

Same here, please add this feature to Firefox. I'm the CEO of Vittascience, an education company specialized in coding for schools (especially hardware such as micro:bit and arduino). Because of this limitation, we are advising our 35k monthly active users to use Chrome or Edge instead of Firefox (which they often do).

As @domints mentionned, it is not riskier than camera, microphone or location APIs, and surely much safer than the local bridge (websocket) required at the moment (we gave up on this websocket solution after 2 years of users complaining, especially about Firewall issues in schools).

If you need, I can provide you hundreds of teachers testimonies asking for this feature on Firefox. For information, Firefox usage is much higher in the teaching world than in average, so losing this user base would have very negative consequences for Mozilla.

nicolaspoulain
Making moves

Hello everybody,

I'm the project manager for Capytale, an educational service developed by the French Ministry of Education and used by over 300,000 users. More than 30% of the connections we record are on Firefox.


We plan to develop the use of hardware programming such as micro:bit and arduino and it is a pity for our users to have to change browsers every time they need to download programs via USB.
It's also very sad for the development of Firefox, which we systematically encourage students to use.

The Capytale team sincerely hopes that Firefox will soon support WebSerial.

How would you feel about the capability had to be enabled by a setting in about:config ? Would that be acceptable?

lumi
Making moves

It should be supported, even if behind a config flag. I create dashboards for smart home using web technologies, and it's unfortunate that I have to run them in a Chrome window.

z4xh
Making moves

I'd love to be able to use Firefox daily again, there's very few reasons I use Chrome anymore. WebUSB/WebSerial support is one of those reasons. I understand those APIs present some risks, but these risks can be mitigated. If I had to toggle a setting or dig into about:config before using, I'm okay with that. I've never been prompted by a website on Chrome to enumerate USB/Serial devices when I wasn't expecting. The times that I have, it was either my own projects, an open-source tool, or on some sort of STEM platform. The last two categories is the biggest reason Mozilla needs to reconsider their stance. There are so many projects that are easier to implement in the browser. They become cross-platform easily, use a universal API that doesn't depend on installing potentially riskier third-party applications, etc. Please, Mozilla!

wimpy
Making moves

Every once in a while I give Firefox a shot again to see if it can replace Chrome as my daily driver. It gets better every time I try! But as you might have guessed already, this time the lack of support for Web Serial has become the blocker for me.

timonsku
Making moves

WebUSB has become very integral in offering cross platform, user friendly and safe interaction with USB devices.
The fact that you consistently have to point users to use a chromium based browser for that is sad and is seriously hurting Firefox adoption in hardware centric industries.

zoonman
Making moves

I work for very large semiconductor manufacturer and we have been evaluating WebUSB in general and WebSerial in particular.

Unfortunately, lack of support of WebUSB in Firefox and full support in other browsers tampers the progress of using Web-technologies for electronics engineering effectively forcing us to push back on the customers and making them to download multiple gigabytes of .NET applications and various drivers. 

This is one of the reasons why people shy away from using web-technologies to build serious business applications. Everyone is using Electron to overcome stupid privacy limitations.

Market share of Firefox during last 10 years folded from 30% down to 3%. Just think about it - you have lost a third of the market! Clearly, most of what you are doing is wrong.

If Firefox wants to get back on the track it has to:

  1. Focus on the customer needs, make experience seamless
  2. Support all modern web-standards, even if they are considered unsafe or violate privacy
  3. Invest into real innovations like WebUSB, develop multipeer WebRTC, VR, AR experiences
  4. Use AI to improve navigation, rank results from the history, fix search and performance there (oh, it is still can't find a web-site if there was something in the title or in url)
  5. Stop making interface elements larger and larger, return compact themes
  6. Introduce security profiles for privacy freaks, where they can turn off whatever they like but make sure that everything works by default.
  7. Stop funding BS like writing classes or advocacy. Focus on Firefox and MDN. This is your bread and butter.

If Mozilla Foundation doesn't wake up and start making changes immediately it won't last for another 5 years.

Hello

 


@zoonman wrote:
Stop making interface elements larger and larger, return compact themes

This information

Please don’t remove the compact density option for the Proton redesign
https://discourse.mozilla.org/t/please-dont-remove-the-compact-density-option-for-the-proton-redesig...


the optional Compact density setting will tighten up the bookmark menus that drop from the main toolbar and bookmarks toolbar (but probably not other menus).

Compact mode workaround in Firefox
https://support.mozilla.org/en-US/kb/compact-mode-workaround-firefox

 


(but probably not other menus).

In addition https://forums.mozfr.org/viewtopic.php?p=918460#p918460

Take a look to this code https://www.reddit.com/r/FirefoxCSS/comments/p2euaa/how_to_undo_stupid_changes_in_recent_firefox

Compact Density (not supported) without userChrome.css1.png2.png

What Compact Density (unsupported) can't do elsewhere3.png

userChrome.css can do it elsewhere4.png

What Compact Density (unsupported) can't do elsewhere5.png

userChrome.css can do it elsewhere6.png

What Compact Density (unsupported) can't do elsewhere7.png

userChrome.css can do it elsewhere8.png

https://www.userchrome.org

We already have Linux for people who spends their time fixing everything.

We don't need this in the browser.

Browser should have an compact theme as it was before.

Of course

Compact mode workaround in Firefox
https://support.mozilla.org/en-US/kb/compact-mode-workaround-firefox
+
userChrome.css

/* Use Normal top and bottom padding for compact */
#PlacesToolbarItems .bookmark-item {
padding-top: 0px!important;
padding-bottom: 0px!important;
}

/***Tighten up drop-down/context/popup menu spacing ***/

menupopup > menuitem, menupopup > menu {
padding-block: 2px !important;
}
:root {
--arrowpanel-menuitem-padding: 2px 8px !important;
}

Also works under Linux

Capture d’écran_2024-01-07_16-58-37.png

Other
A similar discussion here https://connect.mozilla.org/t5/ideas/advanced-firefox-themes-engine/idc-p/48455

 I am talking about fixing this issue:

Screen Shot 2024-01-07 at 11.17.59.png

 I am not looking for ugly workarounds.

Agentvirtuel
Contributor

Hello

Another possibility, without using Compact mode workaround in Firefox

 

/* Use Normal top and bottom padding for compact */
#PlacesToolbarItems .bookmark-item {
padding-top: 0px!important;
padding-bottom: 0px!important;
}

/***Tighten up drop-down/context/popup menu spacing ***/

menupopup > menuitem, menupopup > menu {
padding-block: 2px !important;
}
:root {
--arrowpanel-menuitem-padding: 2px 8px !important;
}

/* ---Tabs/Tab Bar height--- */
:root {
 --tab-min-height: 20px !important;
}

 

Add Tabs/Tab Bar heigh to userChrome.css
And, as an example, 20px is reduced, then it's up to you to decide, at your convenience

https://www.youtube.com/embed/yecDrZXjl1U

Other information
Firefox advanced customization and configuration options
https://support.mozilla.org/en-US/kb/firefox-advanced-customization-and-configuration
This also applies to Thunderbird. Please refer to Thunderbird's article
userChrome.css and .js and userContent are unsupported
https://support.mozilla.org/en-US/kb/userchromecss-js-usercontent-unsupported

Open source is cool, because it's fun!
https://www.reddit.com/r/FirefoxCSS

 


@zoonman wrote:
Market share of Firefox during last 10 years folded from 30% down to 3%. Just think about it - you have lost a third of the market! .

https://forums.mozillazine.org/viewtopic.php?f=48&t=3115110

I use Android on my smartphone, and Google Chrome is the default.
Android? market share worldwide

What percentage of Android users worldwide use Firefox?
Why aren't they using Firefox? Is it because Google Chrome is the default, and, well, it works, so why look elsewhere?

With the help of Responsive Design Mode
https://firefox-source-docs.mozilla.org/devtools-user/responsive_design_mode/index.html
If I modify the User-Agent? does it count in the statistics?

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36

https://ipleak.net 1.png

Clarification
Bookmarks in Firefox
In my screenshot, you can't see the star in the address bar
It's normal, for reason, I use a userChrome.css code
#star-button-box {display:none!important;}
https://forums.mozillazine.org/viewtopic.php?f=38&t=3114663

Guys, could you please stay on topic of WebUSB/WebSerial? I couldn’t care less about your styling issues, yet I get lots of e-mails about it. I don’t want to unsubscribe in case something about actual topic comes.

k2here
Making moves

i am visiting this back after almost a year in 2024 and am feeling like i should not be having any hope of this being implemented , till date keeping mozilla firefox updated yet seeing this message breaks all my optimism. In short mozilla is not giving us this have to live with two browsers (namely evil chrome browser) just for flashing my esps or tuya devices. unlike others i am not using arduino but using esp devices but with same handicap. no ability to flash / install.

k2here_0-1713426331637.png

If there is any experimentla or beta version or any workaround apart from having extra browsers, anybody has found out please share.