And this, right here, is the issue. I don’t need guidance on either Windows or mac. I turn it on, and it works.
So does it on Linux. Perhaps I have misphrased my point a bit, by writing that I'm tracking Linux mailing lists and helping new users to get to Linux, I meant to point out I have experience with different people of different backgrounds, skillsets and setups, with different environments, in other words, it's not just mine laptop off what I'm claiming that all setups work, I'm just saying, that while working with various people, audio usually works out of the box, and when it doesn't, it usually turns out to be a corrupted image or something along those lines.
As for the general guidance for newcomers, this is something you simply do need for anything you want to learn in life. You once had to learn that computers have a keyboard, speakers, how to use them, someone probably told you how internet works, you likely figured out a lot on your own, so did you need to learn how to control smartphones, etc. Each platform, each device is different and when one comes to a new environment, it takes a while getting to know it. That's completely natural and okay. In order to make this process easier, the community is here to answer any questions, just like on blind tech related mailing lists, I'm daily answering questions from Windows users about their system, because something doesn't work for them.
I do complex presentations for work, that involve anywhere from three to five audio sources, and I need to change how they’re routed at least once or twice mid-presentation. This needs to be frictionless, as I need to do it while speaking, in less than 15 seconds.
I don't. And no matter how pretty interface may Windows offer, if you told me "Hey, we have a presentation in 30 minutes, I need you to setup these things", I would have absolutely no idea what to do. Actually, I don't even think this is supported by Windows on its own, I do remember people working with sound using Virtual Audio Cable for doing this routing magic, but that's a specialized software you need to get familiar with, study and properly install & configure. When you are already dedicating this time and resources for achieving something, what's the difference between studiyng VAC and Jack? Actually, you may not even need something as complex as Jack, I think that's used mostly by musicians and advanced audio engineers who need super-low latency and changes to the way system routes audio chunks, for just routing streams, perhaps PulseAudio already offers what you need.
And these can be configured easily, usually work, and are fully supported and understood.
Most of things can be configured easily if you understand them. Learning curve is a natural part of anything anyone is new to. Well, Linux is unfortunately not taught on elementary schools, not preshipped on 99% of laptops, it's not the matter of 99% tech discussions on non-tech forums. If it was, it would generally be well understood how to setup an accessible Linux installation, and few adventurers trying out "the mythical Windows" would be complaining about how many hours their spent debugging until they found out that the high latencies of their screenreaders are not caused by low system responsibility but sleeping soundcards, and perhaps they wouldn't even figure, they would just conclude that Windows accessibility API is bad and they would return to the well-understood and established Linux. So much depends on the background and social awareness, that some skills seem like completely natural and obvious, while they actually had to be acquired, it's just that when everyone does it, the path appears to be more straight-forward and natural, because you don't need to ask how to do things, since you see everyone else doing and talking about them, and in the process of following, you don't even realize how much you learn.
Does Linux do everything it can to communicate itself for the blind? Certainly not! There is already a lot of material for sighted folks, blind people can find some clues, but they're usually either minimal, can be easily out of date or even straight-forward wrong, we could certainly do much better in this regard as a community. Currently, the best and most uptodate support is on our community mailing lists, where new people come to ask things like What is Linux, Which distribution to choose etc. and we help them as we can.
But I think it's important to recognize this is a communication problem, not technical problem. If we wanted to make Linux work exactly like Windows, so people wouldn't need to learn anything new, well, why would they want to try a different system then, they could just stay with Windows. Linux is awesome, Linux is cool, but it's Linux, not Windows. That's a feature, not a bug.
On Windows 11? Press control+windows+enter and narrator will launch. Even if you’re at the system recovery prompt.
Awesome. Now what's the point, if all the prompt offers me to do is a recovery that fails in the end or restarting my PC? I mean yes, if the recovery is successful, fair enough. But then, in 4 years of my usage of Linux, the system never, ever failed to boot. And in case it did, it's likely for a reason that couldn't be handled by auto-recovery. I'm regularly getting upset when using Windows terminal even in standard environment because NVDA's flat review never works as expected, overal. Fixing a broken installation through a tty using Narrator sounds like a nightmare, even if it was actually possible.
On mac? Last week. On Windows? A couple months ago. I was able to explain to them how the interfaces in Objective C or C# or whatever they’re using support accessibility, and point them at resources to work with it.
Well, so could you point them to atspi-resources and documentation, there are resources, Python libraries, Rust libraries, C libraries, I communicated several accessibility bugs with Flutter devs and they implemented the necessary interfaces, so these are fixed now, as far as someone has the expertise and people to work with these things, it doesn't matter whether they use MSUIA or atspi.
On Linux, most things still are QT or GTK, and neither system properly supports accessibility without a bunch of hackery.
that's not really true. In case of GTK, as far as you use proper components, accessibility works just fine, and that's the situation with all accessibility aware GUI frameworks, on all platforms. QT is a little bit more complicated, since it's notoriously known for its inaccessibility even with proper usage, but there are apps that work really well with QT actually, like KeePassXC, so again, it comes down to individual apps. Many things these days are Electron or Tauri anyway, and those work very nicely with Orca, so the field is rather diverse. And even if something does not work, there is usually a TUI for it, which is 100% accessible.
Thanks for all the awesome feedback!
The reason for using Alt+C & Alt+P by default is to make sure Clipshare doesn't collide with the system clipboard. Since as awesome as a global clipboard is, most of the time I copy something I'm working just on a single machine, so there is no reason for the data to go anywhere. Clipshare simulates Ctrl+C & Ctrl+V keypresses on these occassions (unless the sync variants are used), so the shortcuts should in many cases integrate nicely with the graphical environment.
Serverless setups are absolutely cool, though, in this particular use-case, it depends. Many of the machines I need to copy data between are actually VMs, where NAT usually stands in the way (I mean yes, it doesn't need to, but I sort of like the network isolation it provides), some VM | remote access software provides clipboard synchronization, but it's usually either "way too synchronized" to my liking (weakening isolation), or, another extreme, requires carrying away the focus to activate.
Thanks for mentioning barrier, seems pretty fancy! It's a bit different use-case than Clipshare is aiming at, though, with multicomputer setups, it seems there is a considerable space where these two do overlap (or supplement each other).
Transferring files is a functionality I would really want to implement. Though, I'm not yet decided how to tackle the problem, I mean, I could certainly do the simplest possible approach - data streaming through the server. However, it feels sort of like reinventing the wheel, many people have already implemented sophisticated data transfer algorithms more or less exactly for what I'm trying to do. I need to check out crates.io, if I can find anything nice that could be usable in this context.