Replies: 1 comment
-
@mebjas the best would be a special TODO list explaining clearly for other developers the major issues and improvement to fix and show it on the README file. I suggest you also to switch your license to GNU Affero as this kind of scanner can be used for many corp or companies to help them make business.... |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
First of all I want to thank everyone for the immense support of this library.
I wrote about this library for the first time in 2014 when I was a 2nd year undergraduate student. Probably to just get some of my requirements done. I didn't anticipate this library to grow up to where it is and become so useful. A lot of it was likely driven by the pandemic and digital growth where the 1D, 2D codes became so ubiquitous in our society.
As things stand, there are several issues with the library in different verticals.
Let me expand on all of these.
The underlying decoding is driven by zxing-js library as well as the new BarcodeDetector API that is being developed by web folks. The latter has better performance and quality but is not adopted across platforms. When I built this package, I meant it to be just the API / UI layer - but as users adopted I felt the need to fix these gaps in the decoder layer. While I could do it for some of the codes, it requires domain expertise and time commitment to do so and I haven't been able to devote a lot of time to it. But it remains the core layer or how in some ways bread and butter for this package. More investment is needed to do so.
The APIs that were developed initially were premature and narrow. Over time I made hot fixes to support new requirements but for a package publishing libraries it's hard to make breaking changes particularly when users are directly using the latest version of the library via CDNs. It's been hard to make critical refactors that I want to. This is important to make some foundational changes like
UI free
scanning,language support
etc.This is related to (2), for both
Html5Qrcode
andHtml5QrcodeScanner
there are some obvious feature gaps like users should be able to do file based scan with fewer steps, same goes for camera switch, the library should support scanning smaller codes and have good internalization support.To achieve all this, I want to take a step back. I am going to pause the
mebjas/html5-qrcode
package development andversion 2.3.8
will be the last of the releases.I'll publish more packages in the interim if there is a need for critical fixes.
Migrating to scanapp-org
I have forked the library to scanapp-org/imagecodes and most of the further development would happen there. As you see, I am changing the name to
imagecodes
as it's more representative of the capabilities of this package and future goals. It should in future handlemulti code scanning
,multi code generation
etc.Launching the first implementation will take some time. As a part of taking a step back, I'd like to revisit all key features the package should have. Please use this thread to call out the features you need as developer or end user.
Sustainability of OSS development.
I also need to figure out how to keep this open source package development sustainable. As things stand I am the primary maintainer with a full time job. It's been hard to put your soul into my research heavy full time work (which I enjoy thoroughly), this library while keeping time for my own life goals and other needs. Lately I haven't been able to devote as much time as this library needs.
There are few ways I can think of to address that.
More folks step up to help with maintenance and development of this library. I need engineers who can own a specific target and deliver incrementally. I am happy to guide and do PR reviews. However, even that takes time. I would eventually like to see engineers I trust grow to be maintainers of this library thus reducing my bandwidth requirement.
I find commercial value in maintaining this library. scanapp.org has been doing OK - but I don't want to make it ugly by putting ads. I'd be happy to learn or partner with folks who have ideas on making scanapp.org sustainable whilst not having conflict of interest with this library. I would like scanapp.org to act as an ideal example of this library similar to how the relationship is between
Google Pixel
andAndroid
.Sponsorship & giving back to community
The other way to make this library development sustainable is sponsorships. If you use this package in commercial capacity and are blocked by lacking feature the easiest way for you to add that would be
I wrote more about (2) in this article - Why should you support html5-qrcode project by sponsoring. I was glad to get two sponsors at ko-fi.com/minhazav which I highly appreciate. It's however not enough to make sustainable incremental development of features as part of this library.
Reaching closer to the goal would allow me to devote specific hours weekly to support the development needs. If there are more developers involved, I could distribute it to them as well.
When deciding between (1) or (2) please take a look at https://ko-fi.com/minhazav/tiers to see if us building the features would be more feasible, financially and from a community lens.
Closing Notes
tl;dr
v2.3.8
will be the last major release for this library.Use this tread to propose and vote on feature requests and most pressing issues. I can't commit to addressing all of them immediately but it will help shape the APIs and future roadmaps.
All this can only be possible by your support!
Beta Was this translation helpful? Give feedback.
All reactions