5 ms·
I read the article before coming to read the HN response to it. I haven't read beyond your top-of-the-thread comment. The article resonated deeply with me, bec
by rikroots 6y ago
I read the article before coming to read the HN response to it. I haven't read beyond your top-of-the-thread comment.
The article resonated deeply with me, because I know just how the author feels. I, too, have developed a software product that attempts to address a key failing in one of the (more under-utilized) DOM elements we have at our disposal when building websites. I can see the problem, and some of the solutions - but other developers are simply not interested. I've marketed the product to the best of my abilities, written blog posts about why I think this is an important issue. I've even tried to engage with people supposedly interested in overcoming the failing to help me make the product even better ... <crickets-chirping> ... nothing.
The harsh truth is you can't market a solution to a problem that nobody else believes is a problem in the first place.
I've posted links to my product on a number of occasions to HN, both as 'Show HN' threads and in comments. Engagement has been minimal. My most upvoted comment on HN was a contribution to a thread about octopuses. Maybe HN is trying to tell me that I would be better off developing a standup comedy routine? Whatever. Unlike the author and his company, I'll not be pivoting away from my product in the near future: I just need to find new ways to shove its existence into people's faces.
- nailer 6y ago> I, too, have developed a software product that attempts to address a key failing in one of the (more under-utilized) DOM elements we have at our disposal when building websites Link?
- rikroots 6y agohttps://github.com/KaliedaRik/Scrawl-canvas https://github.com/KaliedaRik/Scrawl-canvas
- etimberg 6y agoHaven't had a chance to look at the code yet, but how did you address responsiveness? It took us a long time when writing chart.js to get that working well on with different browsers, devices, and screens (high resolution screens require extra code)
- rikroots 6y agoFirst: chart.js[1] is an excellent library. If people need to add chart infographics to their website I strongly recommend they use a dedicated charting tool (like chart.js) rather than my library. Like you, I've had to do a lot of coding and experimentation to get responsiveness working the way I think it should work. Much of it runs off the idea of drawing everything to a hidden canvas and then copying that canvas's contents over to the displayed canvas as the last step in the display cycle. I tried to mimic this functionality on the CSS object-fit property[2]. If you're interested in the code, you can find it here - https://scrawl-v8.rikweb.org.uk/docs/source/factory/cell.html#section-65 https://scrawl-v8.rikweb.org.uk/docs/source/factory/cell.htm... The other thing I've done is to introduce relative positioning for drawing stuff on the canvas. The native Canvas API drawing functions expects coordinates etc to be in absolute value pixels; my library allows coders to define positions and dimensions in String percentage values which will update (via dirty flags) each time a change in the canvas dimensions is detected. Caveat: my library has not been tested (as far as I'm aware) across a wide variety of browsers and devices. I expect there will be plenty of improvements to be made once that happens. [1] - https://github.com/chartjs/Chart.js https://github.com/chartjs/Chart.js [2] - https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
- redshirtrob 6y agoDealing with Canvas is painful. I recently ran into a weird image distortion issue on Samsung Internet Browser 12 (I guess it's based on the Chrome engine) when drawing a video frame to a canvas context using `drawImage`. Since you've made Canvas your focus, I'm curious if you've seen this or have any ideas. Here are a couple reports I found online. This one shows exactly what I see (note: this is not my post), and I was able to "fix" it using the technique in the question. I'm not particularly happy with that solution so I'm still working to understand what's going on. https://stackoverflow.com/questions/63911732/javascript-canvas-capture-screenshot-of-camera-issue-in-samsung-browser https://stackoverflow.com/questions/63911732/javascript-canv... Here's another report that seems related, although there's no mention of interaction with the video element. https://forum.playcanvas.com/t/samsung-internet-browser-canvas-resolution-wrong/12272 https://forum.playcanvas.com/t/samsung-internet-browser-canv...
- rikroots 6y agoI don't have an answer for you, except to say that getting <video> and <canvas> elements to play nicely with each other across all browsers and devices is pretty much guaranteed to damage your day, week, or even your month. My Google searching bought me to this posting about Samsung Internet's Video Assistant feature (Nov 2019). My gut feeling is that the Video Assistant is possibly getting in the way of your code executing as expected? https://www.xda-developers.com/samsung-internet-10-2-stable-brings-back-video-assistant-feature/ https://www.xda-developers.com/samsung-internet-10-2-stable-...
- redshirtrob 6y agoOne month is about right when you add it all up. Not fun. Thanks for the suggestion. I have only found this to be an issues with version 12 and on. I have examples from version 9 & 11 that work as expected (both before and after video assistant was introduced). And I'm able to reproduce the issue with the video assistant turned off. Of course, none of that is to say it's not related to the video assistant in some way. I just don't have evidence of that yet.
- linuxftw 6y agojQuery community has lots of different extensions. I searched 'jquery canvas' and this popped up: https://projects.calebevans.me/jcanvas/docs/text/ https://projects.calebevans.me/jcanvas/docs/text/ I'm not sure you have a 'product' you just have a library.
- rikroots 6y agoThere are a number of excellent libraries ('products' - I use the terms interchangeably) dedicated to making development with the <canvas> element a lot easier; they all have a strong basic use case because coding scenes using the native Canvas API is very low-level, repetitive and easy to get wrong. Some of my favourites include Fabric.js, Konva and Pixi.js.
- save_ferris 6y agoI’m sensing some attitude issues just reading this, to be completely honest. If your reaction to your library/product/whatever not taking off on HN is to get on HN and complain about it, you’re probably building whatever it is you’re building for the wrong reasons. > I can see the problem, and some of the solutions - but other developers are simply not interested. Developers are constantly marketed all kinds of solutions. You, the library author, have a responsibility to convince developers that the problem you’re working on is legitimate. If that’s not getting across, that’s on you. > Maybe HN is trying to tell me that I would be better off developing a standup comedy routine? Why would anyone want to take you or your work seriously after reading something like this?
- rikroots 6y agoWeb accessibility is a legitimate issue that every front-end developer needs to care about.
- smurda 6y agoIt's true. The challenge is developing in a way that covers the wide range of human disabilities (e.g. vision to cognitive). WCAG will continue to evolve to try and capture the full range. That range of disabilities is why manual testing with a screen reader and a keyboard is the current best solution for uncovering edge cases where a website, or mobile app, is inaccessible.
- Momfro 6y agoFor everything you think someone else needs to care about, there are probably a 1000 other things as well. It's not necessarily if people care but what they care more.
- mattgreenrocks 6y agoIt is a legitimate issue. But it also doesn't cause the developer enough pain to register as a priority. The market is telling you something: it either isn't painful enough to spend money on, or you're not reaching the right people. IMO, you can sell to developers, but you have better luck selling them something that feels like it gives them a superpower, e.g. React is an easy sell because: 1. Reactive binding burns away a lot of imperative state-changing code 2. Facebook branding implies it is industrial-strength And even then, React costs them their time to learn, build on, and ship. If it's their company's time, then they're not going to value it the same way.
- tixocloud 6y agohave you tried understanding how to find developers who has the problem in the first place? I think that you might get more traction that way.