Hacker News new | ask | show | jobs
by rikroots 2099 days 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.

3 comments

I’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?

Web accessibility is a legitimate issue that every front-end developer needs to care about.
It 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.

For 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.

You have solved the problem of the considerable "extra" effort that web accessibility requires? Less than that, to be honest I'm not interested. If you have, well, extraordinary claims require extraordinary proof. Would you say that you have extraordinary proof?

Reading this back to myself, I think that I sound like an asshole, but it's my honest thought process fwitw.

> You have solved the problem of the considerable "extra" effort that web accessibility requires?

Have I 'solved' web accessibility for the <canvas> element? No. Have I coded up a JS canvas library that has, as one of its central aims, the idea that <canvas> elements can, and should, be made accessible? Yes - that's what I'm attempting to do. It is a work-in-progress; I guarantee that my solutions can be improved on: Rome wasn't built in a day.

> Would you say that you have extraordinary proof?

The results of my efforts to date can be seen on the library's home page. Criticisms and suggestions on how to make things work better are always welcome! https://scrawl-v8.rikweb.org.uk/

It'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.
> 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?

Dealing 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-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-canv...

I 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-...

One 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.

Haven'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)
First: 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.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

[2] - https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

jQuery community has lots of different extensions. I searched 'jquery canvas' and this popped up: https://projects.calebevans.me/jcanvas/docs/text/

I'm not sure you have a 'product' you just have a library.

There 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.
have 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.