Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is Quagga dead? #381

Open
MidnightDesign opened this issue Jul 25, 2019 · 25 comments
Open

Is Quagga dead? #381

MidnightDesign opened this issue Jul 25, 2019 · 25 comments

Comments

@MidnightDesign
Copy link
Contributor

Is this project still maintained? On one hand, there has been a pull request merged as late as April 16, but on the other hand there hasn't been a new version tagged in over two years.

I wanted to try to replace the ZXing scanner in our application with Quagga because ZXing doesn't support portrait barcodes and Quagga claims to do, but I couldn't get it to work because we're using TypeScript and #1adba48 hasn't been tagged yet.

Should I stick to ZXing?

@dictosistemas
Copy link

Hi!
I would like to know too!
There are news coming soon about barcodes:
https://developers.google.com/web/updates/2019/01/shape-detection

It will be great if QuaggaJS still alive and continue this great work.
:)

@UziTech
Copy link

UziTech commented Jul 29, 2019

@ericblade are you planning on releasing a new version?

@TroyWolf
Copy link

TroyWolf commented Aug 1, 2019

Hi!
I would like to know too!
There are news coming soon about barcodes:
https://developers.google.com/web/updates/2019/01/shape-detection

It will be great if QuaggaJS still alive and continue this great work.
:)

If I read that Google developer document correctly, it would render QuaggaJS unnecessary as the browser would have barcode detection and decoding built in--and take advantage of device hardware that is fast at doing the job. It looks to be a long ways off...especially before most modern browsers would support it.

@UziTech
Copy link

UziTech commented Aug 2, 2019

It looks to be a long ways off

I wouldn't expect iOS to support it for quite a few years.

@MidnightDesign
Copy link
Contributor Author

Well, I think it could be polyfilled pretty "easily" with a WebAssembly implementation.

@Domratchev
Copy link

I present you the TypeScript version of QuaggaJS: #385

@UziTech
Copy link

UziTech commented Aug 5, 2019

I think it could be polyfilled pretty "easily" with a WebAssembly implementation.

@MidnightDesign do you know of a polyfill that uses WebAssembly?

The only polyfills I have seen are using this library.

@MidnightDesign
Copy link
Contributor Author

@UziTech I think Google is doing something like that with their Web Perception Toolkit. But I haven't looked into it very much.

@ericblade
Copy link
Collaborator

ericblade commented Aug 6, 2019

Hi everyone!

I hate that this topic has had to come up so much, but the original author has moved on for some time now. I'm intending, this week to this weekend, to figure out how to setup a release off a fork, and move forward from there. (and i'll be more than happy to hand it back off to Christian if he comes back)

Quagga is an integral part of the application that I've been working on for quite some time, and I don't see it getting replaced completely in the near term. Long-term, Chrome may supplant Quagga completely with built-in features, but I think short-term, there's not many other options out there. So, I'm happy to maintain, although I'm pretty sure I've said in a few places, I don't know anything about image processing. :-D

@ericblade
Copy link
Collaborator

Clearly, that didn't happen this weekend (else I'd have posted about it), but I did take care of a lot of stuff that has been sucking up my time.. so.. on it after my work day today.

@ericblade
Copy link
Collaborator

hey all. i've got through the relatively easy part of it (which was made slightly harder by the fact that i had an existing fork, but github mostly figured that out for me yay).

So, my fork is here: https://github.com/ericblade/quagga2

I've enabled issues, merged an auto pull request that snyk generated, and will be moving on from there.

I'll generate a new npm package that'll be 99% equivalent to this current repo (minus package.json changes, the security fix, anything i have to change to get it to npm correctly) just as soon as I can. All are welcome to come and join in.

@ericblade
Copy link
Collaborator

btw, i've also released @ericblade/quagga2 to npm .. it should be functionally equivalent to the current code here, i'm working on infrastructure and maintenance mostly right now, getting dependent modules closer to up to date, testing, auto building, etc.

@develorem
Copy link

Can we get Serratus to hand over control of this repo to you so that you can drive it forward here rather than in a fork? Oh and thanks for taking over. I've only used this in personal projects but it works and I'd hate to see it die.

@ericblade
Copy link
Collaborator

ericblade commented Aug 19, 2019

@develorem myself and @TomasHubelbauer do have collaborator access on this repo, but we don't have the other sample repos, or npm access.. so although that's how I/we wanted to do it originally, it's been a very very long time since we've heard from Christoph. I feel that it's probably best to have a new repo and a new npm package, and go from there. I don't want to break from the original, but I think we have to at this point.

  • edit: i just now realized that serratus is Christoph not Christian, I don't know how long I've had that confused in my head, and would like to sincerely apologize for any times i may have made that mistake in the past.

@ralyodio
Copy link

Do you have a demo link of your 2.0 fork? I don’t see anything in the readme. I want to see if this works before I use it in production.

@ericblade
Copy link
Collaborator

I do not have a full demo that I'm serving right at the moment (i should probably look at that), but i do have a VERY simple React application that can be run quite quickly (npm install, npm run start) to check the bare minimum, and get to doing some hacking with it, if you'd like: https://github.com/ericblade/quagga2-react-example

Other than presently disabling Worker threads (i've found many issues with them) and adding a feature to add external readers, it should functionally be identical to the demo for this repo. The live_w_locator.js that is in the repo should also function with my version, if you build that, I'd think, though I've never tried it.

@fuzzzerd
Copy link

fuzzzerd commented Feb 5, 2020

I'd suggest be worth updating the readme on this repo to point at the maintained fork.

@DerekCresswell
Copy link

Agreed with @fuzzzerd there should be indication to use the quagga2 repo front and center.

I'd also like to know the ease with which I can transfer a project from quagga to quagga, are we talking major refactors or just minor tweaks?

@baiatulutata
Copy link

major issue on quagga is that you can't resize the video on the screen.
if you use a smaller video it will not scan images anymore. is quagga2 working differently?

@ericblade
Copy link
Collaborator

I have never intentionally attempted to resize the video area while it is running, but my app that uses quagga has not had issues with phones switching between landscape and portrait while running, which definitely triggers a resize. So, I've done nothing specific towards that end, but if you have some code that can show a problem, I'd be more than happy to look into it.

@ericblade
Copy link
Collaborator

Agreed with @fuzzzerd there should be indication to use the quagga2 repo front and center.

I'd also like to know the ease with which I can transfer a project from quagga to quagga, are we talking major refactors or just minor tweaks?

While I do have collaborator access to this repo, I am not wanting to steal any credit due to Christoph, nor make it appear that he does specifically endorse the new repository. While we have had contact a few times over the last couple of years, I have not received an endorsement from him for forking. So, unless he specifically tells me that I have his blessing, I'm not modifying his repo to point to mine.

@baiatulutata
Copy link

1s of all, @ericblade , I totally appreciate your work. I really do!
My main issue now is that I am trying to use old quaga in a modal window. This limits the video size to I don't know, 300x400 lets say.
Isn't that affecting the scan quality? I noticed that when I pass a bigger video feed to the app the scans are faster and quicker but when I do that my screen gets screwed up.
I'm resizing the video tag now after i start quaga but the nice debugger boxes that show the user that the scan is working are still following the initial path.

@ericblade
Copy link
Collaborator

Honestly, if you want to move this discussion over to my repo, or a new issue here, that might be a good idea, it's not really relevant to the topic of this issue. That said, I think that some research could stand to be done on exactly how cameras work in browsers, and some differences between how they work on phone browsers and non-phone, I've seen some fairly significant differences between playing with various options on desktop vs how they react on a phone. I honestly don't have the slightest idea how resizing the video area works. If you request a camera at 800x600, but the video area is only 400x300, does the browser rescale the image to fit the video area? does it force the video area to fit the camera view? I think that there's some difference between how that behaves on a PC and on an Android at least.

@edw19
Copy link

edw19 commented Jun 4, 2022

do you know any alternative to quagga?

@UziTech
Copy link

UziTech commented Jun 4, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests