Hi Micheal, Jill and Ryan and now the entire Community,
I’m Prashanth from Bangalore, India. I’ve been listening to the Destination Linux Podcast from about a year or so. I must say - I’m hooked. In this mail - I’ll be raising some issues. I hope you’ll be kind enough to cover my Journey with linux (and also highlight some of the issues I’ve mentioned) - in one of your future Episodes.
My Linux journey…
First, a couple of words about myself - I have had Cerebral Palsy since birth. I’m a Commerce Graduate from the University of Mumbai. I have difficulties in doing most tasks (including using Computers). I type with just one finger. For the most part, I have trouble in using the mouse. And I also have problems with my Speech and Eyesight.
Yet, despite all my problems - I’ve been working with Mindtree Ltd. (one of India’s leading Mid Sized IT Companies) for well over 13 years now. If you do decide to feature my story - I think it could inspire other people like myself (people with disabilities) to take the Linux journey - pretty much like myself.
Anyway, my Linux journey started way back in 1999 (round about the same time as Micheal). I got my first PC (a Pentium with MMX Technology) in Apr 1998. Understandably it came pre-loaded with the ‘famed’ Windows 95. About a year down the line, one day I noticed that my PC just wouldn’t turn on. Since the computer was under warranty - we were able to return the system and get a replacement. Later we learnt that we were hit by the Chernobyl (CIH) Virus - and this despite having taken all necessary precautions to stop / curb viruses.
This was definately a wake-up call for me. I started looking for alternatives - and soon enough I found Linux. My first linux install was Red Hat Linux 5.2 - and it was a success. I had spent around 4 months reading through the entire offline documentation that came along with the distro. This was a big deal back then - as Internet connectivity was virtually non-existent here in India. Contrast this with any linux distro available today - and it’s tough to find one that comes with any significant offline documentation (this could be one of the deterrents - preventing people from trying out linux - especially in 3rd world countries where internet connectivity is still not widespread). [issue #1]
Once I had linux on my system - I took time to explore it. Very soon I realized that Linux was low on Accessibility features. Although the situation has improved over time - linux is still kind of low on Accessibility - compared to windows. In episode 255 of Destination Linux - there was a very brief mention of Accessibility. I think there’s a need to discuss / deliberate more widely on Accessibility issues on Linux. [issue #2] Case in point, on Windows - pressing the shift key 5 times brings up a dialog to turn on Sticky Keys (and for me - this is the #1 feature that I look for in any OS). On most linux desktops - no such luck. The only linux desktop that comes close are GNOME 2.x / MATE, KDE / Plasma and (surprise) Pantheon.
Over the 20+ years - I’ve distro hopped many times - tried almost every major distro out there (I’m not going to name all the distros that I’ve tried out). But I’ll say this - whenever I’ve distro hopped - it has been with a view to find a more Accessible linux desktop / distro.
A few of my observations - you may quote me in your podcast on this… For me, Unity was a Complete Disaster. Second in line - GNOME 3.x / 4.x. And btw, Deepin Desktop (despite being a Gorgeous looking desktop) - is very low on Accessibility features. Point to note - Although Unity was a disaster for me - its twin Pantheon worked much better (how do I consider Pantheon to be Unity’s twin? Well, both are based off the GNOME 2.x shell). Similar story with Budgie and Cinnamon - which I’ve found to be more Accessible compared to GNOME 3.x.
And then there are those lightweight Tiling Window Managers (the likes of awesome-wm, bspwm, i3, qtile etc). All these TWMs rely heavily on key combinations for doing anything and everything. Point is - what do you do if you can press only 1 key on the keyboard at a time?
Ya, on linux - we have a much wider choice of distros and desktops. However in my opinion - when it comes to Accessibility - we need to have some Standards. No matter which distro / desktop / TWM I use - I should have Immediate Access to any Accessibility features that I might need. Immediate Access - meaning they should be in the iso we get to download (ready to be toggled on) - not in some repo where I need to go and look for relevant packages. And more importantly, these Accessibility features should work consistently among the various distros / desktops. [issue #3]
Question is - Is this possible?
Well, consider this… And I consider this to be one of the biggest Ironies in linux. Try and answer this question - Which distro CANNOT be installed without using any of the Accessibility features? My answer - None! (well - with the exception of mainline arch, gentoo minimal and slackware). Every other distro - I’ve been able to install successfully - without having to press more than one key on the keyboard (for instance).
Btw Ryan, I’m now on ArcoLinux! - and I don’t have any plans to distro hop anytime soon (courtesy - the default bashrc / zshrc that comes with the distro). It’s just awesome.
Point is this - Accessibility is all about having a Standard suite of packages and customizations - that can work on any distro / desktop (pretty much like the bashrc or the installers that I’ve mentioned earlier). Why don’t distros start thinking on these lines? Or better still - why can’t we have a Cross Distro body of sorts - to discuss / develop / standardize certain aspects of every distro out there? Entirely possible - according to me. Your thoughts ? [issue #4]
Now I decided to take it one step further. And this is where it gets really interesting. I recently happened to interact with a friend of mine. He has a disability which is much more severe than mine. He uses the computer only through his voice. I told him about linux - and I was pleasantly surprised to learn that he knew what linux was. Sadly, the conversation couldn’t proceed much further - because I couldn’t ask him to try out linux. Even today, there are no readily available Speech to Text Software on linux. And for some people (like this friend of mine) - it’s a formidable barrier for Entry. These people are totally at the mercy of Microsoft. But Windows has Speech Recognition capabilities built in. So ya, Microsoft is merciful…
And so I set out to create a project of my own. Just a reminder - I’m a Commerce grad - not a Developer. So this project is my first - in linux development. Initially I wanted to build a Speech Recognition tool - but along the way it became more of a Voice Assistant. Even so, I think this is one of the first attempts at developing a Voice Assistant on linux. At least it should qualify as a PoC - given my background and Dev Experience…
I’m sharing a github link to my project here below…
[Note: the project is still under development - and may be considered as alpha grade code / software]…
A few words on my Goals for this project…
I intend this to be cross compatible across any linux distro / any of the more popular linux desktops
I want it to have an easy Setup. I wrote a quick n dirty bash script - which needs some more work. I must say here - Inspiration for this bash setup script came from that Linus Tech Tips video - where Linus runs ‘apt-get’ on Manjaro. Reminded me of my early days with linux. At one point, I had distro hopped from fedora to opensuse. I’d instinctively enter ‘yum’ commands on opensuse. So I actually went ahead and created an alias for ‘yum’ in my bashrc on opensuse. Point is - in linux you can do pretty much anything. The question I’d like to pose is - why can’t we use these ‘goof-ups’ as a means to create Templates for a Cross Distro Setup process (like the one I’ve attempted here)? [issue #5]
I’d like to highlight another important aspect here. Some of the dependencies for my project don’t install correctly across all distros I’ve tried. I mean these are python dependencies. From a new developer’s point of view - I’d expect to find a vast majority of dependencies to be present in the repos of every distro - and I’d also expect them to follow a Standardized Naming Convention across all distros. If this is not the case - then Cross Distro development on linux would be a nightmare. Your thoughts? [issue #6]
I have a config file - which the user can edit. It’s expected that the user knows exactly what he’s doing (in the true spirit of linux).
I’d like to package the app as an AppImage. I’m facing some issues (specifically with Pyaudio - which is one of my dependencies). I’m somehow not able to generate an Appimage-builder Recipe - because of Pyaudio. I’d like to request the Community for help. Please do consider helping me out with this project…
Ok, I guess I’ve given you enough reasons to consider featuring my email in your podcast. I’ll be really happy if you do so. I’d like to thank you for the time you took out to read this lengthy email of mine. If you have any comments / thoughts / suggestions - please feel free to share them. Hope to see the issues in my mail being discussed on a future episode of Destination Linux. Until next time,
Thanking you all once again,
Prashanth L. Kamath.
Ps - a link I’d like to share…
my podcast on Accessibility - Intro - All About Access | Podcast on Spotify