[{"data":1,"prerenderedAt":292},["ShallowReactive",2],{"project-8657454":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":57,"maker_in_thread":184,"shape":192,"grid":196,"attempts":253,"same_week":254,"maker_shows":43,"maker_hidden":284,"reader_version":285,"card":286},"8657454","QuaggaJS","A barcode scanner written in JavaScript","title","Show HN: QuaggaJS, a barcode scanner written in JavaScript","http:\u002F\u002Fserratus.github.io\u002FquaggaJS\u002F","serratus.github.io","serratus",1416919382,2014,168,27,134,2272,6,"notable","languages","javascript barcode library","library",[24,25,26,27,28],"barcode scanner","javascript","barcode reader","code128","ean13","mixed",0.283,{"positive":32,"neutral":18,"mixed":33,"critical":34},9,0,3,18,{"performance":37,"execution":39,"idea":40,"docs":42},{"positive":34,"critical":38},2,{"positive":38,"critical":33},{"positive":41,"critical":33},4,{"positive":33,"critical":43},1,[45,45,45,33,33,34,34,33,45,45,34,34,33,43,33,43,34,34,33,45,33,45,43,33,33,45,45],5,null,{"problem":46,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":48,"openness":55,"stage":56,"team_size":56},[49],{"value":50,"source":51,"evidence":52},"JavaScript","maker",[53],{"id":54},"post","open_source","unknown",{"praise":58,"objections":83,"requests":119,"questions":138,"alternatives":151},[59,75],{"value":60,"source":61,"evidence":62},"Fast and accurate barcode scanning in mobile browsers","commenter",[63,67,71],{"id":64,"by":65,"text":66},"8658348","tszming","Very impressive. Fast and accurate under Android\u002FFirefox Mobile, will use it in the coming project.",{"id":68,"by":69,"text":70},"8658513","jHoldroyd","Fantastic library, we've tried a few like it before and none of them really worked quickly or reliably enough. We did a quick mashup of our API and this to create a basic (but…",{"id":72,"by":73,"text":74},"8657721","chime","Invariant to scale and rotation in JS on mobile? That's fantastic! I just tested the Red Laser native app on my phone and it can handle scale\u002Frotation too. But I never thought…",{"value":76,"source":61,"evidence":77},"Impressive to achieve scale and rotation invariance in JS",[78,79],{"id":72,"by":73,"text":74},{"id":80,"by":81,"text":82},"8657776","klintcho","There are a range of different methods that can be used, but your guess is probably correct regardless of which method you use: \"breaking the image into smaller 'patches' and…",[84,98,105,112],{"value":85,"source":61,"evidence":86},"Browsers lack continuous autofocus, so blurry barcodes are hard to read",[87,91,94],{"id":88,"by":89,"text":90},"8657825","tubelite","This is great news. I just wrote a QRcode-reader Django widget to be used on a mobile browser, using the LazarSoft library (https:\u002F\u002Fgithub.com\u002FLazarSoft\u002Fjsqrcode). The library…",{"id":92,"by":11,"text":93},"8659991","I'm still facing the same problems with the missing autofocus. For some devices it works out of the box, like the HTC one mini, but for the most it does not. There is actually an…",{"id":95,"by":96,"text":97},"8661455","SunboX","The problem of Firefox OS is the fix focus camera of over 1 meter and the max 5 mega pixel resolution. You can't get sharp barcode images. They are either blurry while to near,…",{"value":99,"source":61,"evidence":100},"Could not get a correct reading from the webcam demo",[101],{"id":102,"by":103,"text":104},"8658001","bwindels","This is great, but using the example with the webcam stream I could not get one correct reading of a barcode.",{"value":106,"source":61,"evidence":107},"Safari and IE do not allow camera access",[108],{"id":109,"by":110,"text":111},"8658183","snowwrestler","> Safari and IE do not allow the access to the camera yet, neither on desktop, nor on mobile. You can check caniuse for updates. I assume this could be solved by wrapping the JS…",{"value":113,"source":61,"evidence":114},"Some images in the docs are broken",[115],{"id":116,"by":117,"text":118},"8657910","myth_buster","This looks interesting. Bookmarked to check it when home. The images in the doc files seems to be broken. https:\u002F\u002Fgithub.com\u002Fserratus\u002FquaggaJS\u002Ftree\u002Fmaster\u002Fdoc",[120,130],{"value":121,"source":61,"evidence":122},"Port it to a Firefox OS app",[123,127],{"id":124,"by":125,"text":126},"8658013","hardwaresofton","At present there is only one bar code scanner on firefoxos marketplace, with this library it looks like where will be better ones. Maybe consider making a quick FFOS App?",{"id":128,"by":125,"text":129},"8674377","Hey there fellow flame user! I also have one, and yeah, it would make a great addition! at the very least, it can be a web-webapp (firefoxOS let's you declare app manifests for…",{"value":131,"source":61,"evidence":132},"Wrap it with PhoneGap\u002FCordova for camera access",[133,134],{"id":109,"by":110,"text":111},{"id":135,"by":136,"text":137},"8658223","uptown","That's correct. Phonegap\u002FCordova gets you access to the camera, and would provide the ability to capture an image for local-processing with this library.",[139,145],{"value":140,"source":51,"evidence":141},"How to implement a classifier-based locator in JavaScript",[142],{"id":143,"by":11,"text":144},"8660229","Thanks for this interesting input. I don't have much experience with classifiers, nor if they work well in JavaScript. I already implemented FAST and BRIEF in another project,…",{"value":146,"source":51,"evidence":147},"Whether the maker tried Code128 or EAN13 modes with autofocus",[148],{"id":149,"by":11,"text":150},"8660023","Have you really tried with Code128 or EAN13 encoded barcodes? In the demo, you can switch between those two modes. Make sure your camera has an auto-focus built in, because…",[152,160,166,173,180],{"value":153,"source":61,"evidence":154},"LazarSoft jsqrcode",[155,156],{"id":88,"by":89,"text":90},{"id":157,"by":158,"text":159},"8660775","nilknarf","Being able to scan barcodes using a web app is pretty cool. I used something similar when I was tinkering with transmitting data visually for the handshake step of webrtc:…",{"value":161,"source":61,"evidence":162},"ZBar JS port (zbarjs)",[163],{"id":164,"by":96,"text":165},"8657734","There's also a port of ZBar using Emscripten \u002F asm.js: https:\u002F\u002Fgithub.com\u002Fyurydelendik\u002Fzbarjs and a hand-made port of ZXing by Wojciech Szela here:…",{"value":167,"source":61,"evidence":168},"ZXing JS port (zxingjs)",[169,170],{"id":164,"by":96,"text":165},{"id":171,"by":11,"text":172},"8660014","The hand-made port looks really promising. This could work alongside QuaggaJS as the decoding part, since ZXing does not locate the barcode.",{"value":174,"source":61,"evidence":175},"miniqr",[176],{"id":177,"by":178,"text":179},"8659599","uberneo","https:\u002F\u002Fgithub.com\u002Ffranzenzenhofer\u002Fminiqr -- This does the same .. very handy",{"value":181,"source":61,"evidence":182},"Red Laser native app",[183],{"id":72,"by":73,"text":74},{"comments":185,"answered":34,"key":186},7,[187,188,191],{"id":143,"text":144},{"id":189,"text":190},"8659961","Thanks for the input, I haven't really thought of that before. But since the barcode is usually in the center of the viewport this makes a lot of sense. I'll give it a try and…",{"id":92,"text":93},{"commenters":193,"max_depth":34,"maker_replies":185,"first_comment_mins":194,"lifespan_hours":195},19,80,101,[197,199,203,204,206,208,210,213,214,215,217,219,223,225,227,228,230,231,232,235,236,238,239,240,243,247,249],[72,33,45,198,73,33],"project\u002Fpositive\u002Fperformance",[200,33,45,201,202,33],"8657744","project\u002Fpositive\u002Fexecution","lucio",[80,33,45,201,81,33],[143,33,33,205,11,43],"commenter\u002Fneutral\u002Fnone",[189,33,33,207,11,43],"maker\u002Fpositive\u002Fidea",[88,43,34,209,89,33],"project\u002Fneutral\u002Fperformance",[211,43,34,209,212,33],"8658450","lnanek2",[92,43,33,209,11,43],[68,38,45,198,69,33],[157,34,45,216,158,33],"project\u002Fpositive\u002Fidea",[164,41,34,218,96,33],"project\u002Fneutral\u002Fnone",[220,41,34,221,222,33],"8657797","project\u002Fneutral\u002Fidea","nkg",[171,41,33,224,11,43],"project\u002Fpositive\u002Fdesign",[102,45,43,226,103,33],"project\u002Fcritical\u002Fperformance",[149,45,33,205,11,43],[116,18,43,229,117,33],"project\u002Fcritical\u002Fdocs",[109,185,34,221,110,33],[135,185,34,221,136,33],[177,233,33,234,178,33],8,"other\u002Fneutral\u002Fnone",[124,32,45,216,125,33],[237,32,33,207,11,43],"8660033",[128,32,45,216,125,33],[95,32,43,226,96,33],[241,32,33,242,11,43],"8663892","maker\u002Fpositive\u002Fperformance",[244,245,33,234,246,33],"8662741",10,"Ecio78",[64,248,45,198,65,33],11,[250,251,45,216,252,33],"8658454",12,"ikyriakidis",[],[255,260,265,270,274,279],{"id":256,"name":257,"points":258,"category":259},"8644172","TrueJob",161,"web_saas",{"id":261,"name":262,"points":263,"category":264},"8644636","Prophet",152,"finance_crypto",{"id":266,"name":267,"points":268,"category":269},"8643497","Premium Medical Marijuana Subscription",129,"consumer_social",{"id":271,"name":272,"points":273,"category":259},"8652042","Workshape.io",119,{"id":275,"name":276,"points":277,"category":278},"8641734","Disco Fingers",114,"creative",{"id":280,"name":281,"points":282,"category":283},"8635131","WebGL Playground",89,"dev_tools",false,"v2",{"id":287,"name":5,"line":6,"ai":284,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":288,"top":18,"kw":289,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":290,"url":9,"mix":291,"praise":60,"objection":85,"sub":21},8657454,0.28,[24,25,26,27,28],"555003305533010133050510055",[32,18,33,34],1793990915950]