PCB Tracer
pcbtracer.com > Browser Not Supported
>
> PCB Tracer requires a browser that supports access to a local directory.
> This is needed to save and load your PCB Tracer project files.
>
> Please use Google Chrome or Microsoft Edge for the best experience.
On Firefox, after bypassing the ominous warnings, when I tried to create a new project and choose a directory to save the project files, I get > Directory picker is not supported in this browser. Please use a modern browser like Chrome or Edge.
While I appreciate the early warning, so that the user doesn't spend too much effort only to later realize that they can't save their files to disk, I don't appreciate the implicit labeling of Firefox as not being a "modern" browser.If you're developing a web app with APIs only available in certain browsers, just say/admit so.
This document gives an overview of the many features of PCB Tracer. It is much more than a drawing program and is very data-rich. The software creates, reads and writes a number of different files. These include netlists, schematics, pdf datasheets, project files, project history, BOM, and PCB photos. https://pcbtracer.com/PCB_Tracer.html
That's odd. File Sytem API seems mostly available in Firefox since 111.
https://developer.mozilla.org/en-US/docs/Web/API/File_System...
Remember when some sites called IE a modern browser?
I wanted to test this but if I decline file access I can't do anything. What gives? Do you want people to understand your product? Demo your product.
Why do you need file access to sell me?
Closed immediately.
btw. I am your target market.
During a session, PCB Tracer reads and writes over a dozen different file types — including images, schematics, datasheets, netlists, and revision history. It also has an AutoSave feature to prevent losing your work. Every file is saved to your project directory during a session. Doing all of this without constant requests for use permission requires the File System Access API, which is not yet available in all browsers. The Firefox developers has explicitly stated that this API will not be supported.
Honestly that's exactly what it would look like if someone posted malware to a show HN. I'm not claiming that's what this is, just that it's _exactly_ what it would look like so you'd have to be braindead to go that route.
If all the app need is to upload a photo of PCB, <input type="file"> is more than sufficient. It's been baseline years ago.
For download, it can download from a blob URI. This is not an uncommon practice.
If (not verified since I'm using Firefox) it claims that "Gerber files are composed of many individual files so that those two don't suffice" and the app does involve Gerber processing, it could have been solved by introducing a zip library.
"Gerbers" are indeed several individual files -- there's one for each layer of the PCB, such as front copper, front solder mask, front silkscreen, back copper, back solder mask, etc, etc.
A zip library is precisely how other webapps that load or output Gerbers handle it.
Support Firefox and do not require filesystem access. Or don't. I'm not your mom. And also not your user.
(I am not the app author, just a sympathizer)
I didn’t realize spite for users was a good reason for me to not bother with Firefox support in my web apps, thank you for enlightening me
In a few years when you're not 12 any more, you'll be embarassed by this. When that happens, don't sweat it, we were all 12 at some point. I'm just lucky that for me that was before the internet.
Hey wait, maybe you are my (our?) mom after all! Sure seems like it anyway. You seem to think you’re old enough to be.
Do you just not have any other ways of insulting people, or are you confused about the difference between age and maturity?
What are you trying to communicate in this comment? That you have spite for your users? Why? That you consider not bothering with Firefox support to be a good way to, what, express your spite? Do I have that right?
And you thought it good to post this?
I support baseline browsers unless it’s not feasible otherwise. Sometimes things just aren’t possible in certain browsers. It’s expensive and difficult to design and implement things that fail gracefully. I’m not actually spiteful towards Firefox or its users; I _am_ spiteful toward other developers who feel they are entitled to leaving hostile comments for free hobby projects that don’t support their browser of choice for frankly technical reasons.
I was being facetious for rhetorical purposes. The OP I was replying to was unfairly hostile. I will also hazard a guess that they don’t have much experience writing sophisticated software for browsers.
I responded with the same sort of hostility to make my point that you’re not going to win “hearts and minds” for your cause by insulting developers for relying on browser standards that aren’t yet baseline. My point is that I am not persuaded by hostility, and I suspect other developers aren’t either. Users like this give their browser of choice a bad reputation when they make it part of their hostile identity.
Didn't work in my browser. I degoogled long ago. :shrug:
Same.
Bugs me so much that my mid-sized US city posts official documentation (only) as google drive hyperlinks. I should not have to allow google products onto my networks just to get my recycling schedule, court documents, &c.
So instead, I go into city hall and ask them to print it out for me (they know who I am at this point).
----
My bank is literally right across the street from me; when their 2-factor garbage started preventing me from checking balances, online, I just started walking into their lobby every time I need my balance.
Firefox not supported?
There was another Show HN recently (today?) that explained this. The JS feature to access local file system is currently not available in FF.
I understand, but why does it need filesystem access in the first place?
so you can upload (er, provide access to) an image of a PCB you are looking to trace
Edit: I should have used a different word than upload. It's just old habit. According to TFA, there is no uploading. All processing is done in the browser, so the app needs local file system access to get at your image
There are other ways for webpages to get file uploads than this particular JS API. I upload files via firefox every single business day as part of my job.
This JS feature doesn't upload the file to a server. This particular app says right there on the page that it does the magic in the browser.
You appear to be misunderstanding on how browsers handle file uploads. You cannot get the local file path for a file. There is no C:\ or /Volumes or whatever your OS uses. Browsers deliberately mask that from the upload.
You can 'upload' a file into a completely local web app just fine. The directory access is only necessary if you need the web app to be able to spontaneously write back to the original file on your machine, or if you want to read a whole directory tree, which might be slightly convenient for things like gerbers but can easily be dealt with in other ways (especially with gerbers, which you can distinguish by filename, something that the web browser does expose to javascript).
(and I do think it's kind of irritating that Mozilla is fighting against such useful features on somewhat patronising 'the users won't understand what permission they're granting' grounds)
But I can drag and drop (or use the file picker) just fine on other websites.
To do what with? Upload? That's totally not the same thing as providing access for directly manipulating the file. That's basically HTML1.0 type stuff. JS file system access to provide a file to, I'm assuming, a WASM app is not even the same sport to be in the same ballpark.
Access for directly manipulating the file isn't necessary (perhaps if the files were enormous, but images and Gerber files aren't). One can upload/download files from a local web app just fine on firefox, and the WASM app can act on the file in memory with whatever APIs it wants.
> in memory
This, but it can also have the browser store it to disk by requesting the persistent mode from the storage API.
https://developer.mozilla.org/en-US/docs/Web/API/Storage_API
You are wrong. You can upload a file to a local web page for example, see this offline only image editing tool I made: https://lelandbatey.github.io/scrapbook_img_print_layout/
PCB Tracer reads and writes over a dozen different file types — including images, schematics, datasheets, netlists, and revision history. It also provides an AutoSave feature, to prevent losing your work. Every file is saved to your project directory during a session. Doing all of this without constant interruptions to get user permissions requires the File System Access API, which is not yet available in all browsers. The Firefox developers have explicitly stated that this API will not be supported.
The File System Access API has security precautions built-in. For example, it requires users to explicitly grant permission to access a specific directory (once) per session. Also, the API never allows access to root or to system-related directories.
I just said it a couple days ago that soon AI will generate pcb and schematics, definitely we are heading that way. In fact, even beyond that, I think it will be as follows: you prompt AI “design a DC-DC voltage step down buck converter circuit” and the AI will download EE skill, design the schematic, test it in MCP connected to circuit simulator, then build the pcb for you, you download the files and send it to the factory.
EEs better start looking at burger king jobs tbh. Funny how AI is notorious at attacking STEM jobs but I see lawyers and doctors are still a protected class due to lobbying and making laws that prevent AI to be used in these fields.
PCB Tracer relies heavily on the File System Access API for reading and writing project files, images, netlists, schematics, datasheets, and more — including an AutoSave feature. Unfortunately, Firefox hasn't implemented this API. I hear you, and I'm exploring a desktop version that would remove the browser dependency entirely. — Phil Giacalone
I needed exactly this sort of tool for a reverse-engineering project! I was so invested I returned here to write this comment... then spotted the other comments about "no Firefox support". Indeed, visually broken "Browser Not Supported" popup appears.
Darn. Disappointing. Guess I will have to keep looking.
Also... it doesn't look open-source and the comments about file access are valid. The functionality listed is completely possible as a browser-based local app with no server functionality.
Other webapps (https://falstad.com/circuit/) seem to be able to open a file picker in Firefox just fine. Saving is just via downloading to the Downloads folder, but the functionality is not impossible.
I skimmed through a couple of youtube videos, would I be right in thinking the tracing is done always manually here.
Would be really neat if it could trace automagically too, possibly with sanded PCBs?
Firefox not supported and you want to see my local files right away? Nope, not trying this shit.
Does it support non 2-layer boards? (e.g., 4 layer +)
The overt hostility in this thread really bums me out!
I came to say that this looks amazing and came at the most absurdly perfect time, because I was literally habitually skimming HN before settling in to manually reverse engineer a PCB.
I hope this works well, because it's an extraordinarily useful tool if so.
I don't think I've seen much of what I'd call overt hostility. But there do seem to be a lot of firefox users commenting about not being able to use this. I don't think there'd be as many if the site wasn't saying that Firefox isn't supported because it doesn't support access to the local file system for uploads and downloads. But Firefox does indeed support that, just not via whatever API they're using.
It's just super weird to get downvoted multiple times for saying that I'm excited about something. I guess we won't call that hostility.
The funny thing is that for all of the people complaining about granting filesystem access, it actually won't allow you to select sensitive paths; no system folders, no drive roots.
PCB Tracer has a growing set of happy users. I think you will discover why, once you give it a try. The software has hundreds of convenient features and its active development continues. I've been building PCB Tracer mainly for fun and learning. It's certainly been a fun project! Hope you give it a try soon, find it useful and enjoy using it. -Phil
I don't regret getting downvoted to talk about how excited I am for PCB Tracer one bit. It's awesome - I've spent the past day pretty much doing nothing but tracing a fairly complex (for me) board.
I do have some feedback, and I've found some bugs. I gave up on your photo manipulation tools and just did manual keystone perspective tweaks in my photo editor. I would happily use your app to do it if it worked, but the keystone thing was super broken for me; the sanest way to make this work would be to have the user drop 4 points on each side and just do it; all of the fussy nudge/scale stuff is really just a half step towards point-based keystones.
Early on I had some pretty serious bugs that emerged when I was jumping between magnification levels. At one point all of my objects were unceremoniously moved off where I'd placed them to whitespace outside of the photo. That sucked. Now I save frequently and only change magnification when I'm in select mode.
I also find that the "fit canvas to window area" is a bit broken when moving between full and partial sized browser windows in Brave on Windows.
However, the biggest bug or behaviour I can't quite figure out is that when I switch to the back view it doesn't seem to reverse the position of the dots and objects placed. I am probably doing it wrong, but still: my strongest feedback currently is that switching sides is awkward at best and slightly broken at worst.
All of that said... I love it! I am thrilled with it. You've made something totally amazing in a short time.
Link to my video showing the AutoSave feature. Also see the video index below this video, to get to explanations of many of the features. https://www.youtube.com/watch?v=fBzjK3RsrAw&list=PL9pyFBJOY-...
Thanks, I'll be in touch! I actually did watch almost all of the hour-long video before getting started, fwiw. And I'm glad that I did.
Pete: Note that PCB Tracer has an AutoSave feature (under the File menu) that is turned on by default (every 5 minutes). These past project files are saved automatically in the history/ subdirectory. The File menu has a 'Restore from History' feature that allows you to restore your work from these past files, should anything go wrong.
Thank you, Pete. Please contact me via the Help menu and we can work together to fix these bugs. I am also happy to work with users to add features and have done this many times over the past 2 months.
I personally mostly enjoyed using https://pcb.etaras.com/studio.html
The big feature for me was being able to have multiple photos of the PCB side by side with perspective corrections so locations were correlated across the board.
I wonder (outside HN) what percentage of people who need to reverse engineer a PCB are also people who insist on Firefox. Probably smaller than the percentage of those people who want to save results to their local filesystem.
Firefox allows saving and loading files from the local file system. This site just uses some method to do it that's only supported by Chrome/Edge. So it's a unnecessarily user-hostile design choice they made.