VEDICS Speech Assistant

Eric S. Johansson esj at harvee.org
Sun May 23 15:54:49 BST 2010


On 5/23/2010 2:49 AM, Tim Cross wrote:

> while I can appreciate the frustration you express in your posts, I have to
> agree with Kenny on this one. Your points regarding history being repeated etc
> mayb e valid. However, you made no reference to any of the points you later
> expanded upon in your original post. As Kenny points out, you didn't even
> acknowledge what the OP stated as the limitations in their system. I suspect
> you didn't even look into it any further than that simple introductory post.
> Your response was flippent and negative.

Yes, I accept your correction. I was being flippant and negative. I am extremely 
frustrated by developers who do not ask the users what they need. I don't mean 
short-term users but, people who have been in a particular field for a long time.

In my sarcasm, I did acknowledge the limitations and the type of limitations. 
Problem being that you had to understand and know the types of systems, the 
limitations, and the tasks users need to perform in order understand sarcasm. 
This also points to another problem in the disability community, a lack of 
knowledge of necessary components.

>
> The issues you raise are real and complex. They are going to be difficult to
> resolve and ther are almost certainly going to be many failures before we have
> some success. I suspect you are correct in that many with the technical skills
> don't understand the underlying issues well and frustratingly, we are destined
> to see the same mistakes being made. I believe this is because the problem is
> generally not well understood and as a consequnce, the outcomes are less than
> we would hope. However, I also feel that this is part of the process and it
> very much mirrors developments in other areas. Frequently, we learn more from
> our failures than we do from our successes. A frustrating part of software
> development is that, unlike the real sciences, we don't document and publish
> our failures. If we did, maybe the forward progress would be better.

I spent 18 years as a software developer before my hands went pop. I've since 
then spent 15+ years as an analyst/designer. The points you made are true for 
the coder world. There is very little knowledge of what has gone before, or 
whether professionals or do. But if you spend a few hours a month reading 
research papers on what people are doing with software development and 
especially the psychology of software development, you could learn some amazing 
things. I particularly loved "software practice and experience". I don't know if 
it's still a good given the current model of no editing, no vetting, publish on 
the net culture of today but, it's worth a shot. The ACM has some good journals 
as well.

Point being, you don't have to make the same mistakes. You can learn from others 
and make different mistakes. I'm not seeing different mistakes being made here. 
I would be much more supportive if I was.
>
> I also disagree with the view/belief that ignorance of history always means
> that the same mistakes are just repeated. Sometimes, ignorance of history
> results in fresh new approaches that find a solution. In some cases, awareness
> of history can have negative impact as well. It tends to constrain/define the
> approaches taken. In computing in particular, there have been a number of
> great advances made by people who did not come from a computing background,
> who were not aware of past history and attempts. In some cases, they did
> things that those who were more aware of the past and informed about the
> technology had already discounted because of their past experiences or because
> of theoretical limitations. In fact, this is a frequent pattern in many areas.
> Consider where we would be now if the Wright brothers had just looked at the
> past history of our attempts to fly!

I know I sound like an ass by continually disagreeing but, the Wright brothers 
were aware of the history of other flyers. They knew you needed to make a 
lightweight motor and have a certain amount of lift . They chose Kitty Hawk for 
the steady laminar flow winds and the landscape.  they also lifted a lot of work 
from Otto Lilienthal http://en.wikipedia.org/wiki/Otto_Lilienthal

You'll notice that his work was well documented and repeatable so you could 
always build a wing that glided consistently.

In any case, your point is made and wonderfully highlighted the absolutely 
unprofessional and unacceptable shortcomings of the software development arena.
>
> We should be aware of past history and we should try to learn from it.
> However, we also need to be balanced and sometimes, we just need to have a go.
> We may well fail, thats not the issue. What we need to do is pick ourselves up
> again after the failure, learn fromt he experiences and try again.

My original background was astronomy and physics. One thing that was apparent 
once I got into the experimental portion was that you replicate a mistake to 
understand the mistake and then you go to make a new mistake which you document 
so somebody else can repeat the cycle and hopefully make progress.

as you've pointed out elsewhere, there's insufficient documentation of mistakes 
and analysis of those mistakes. I've obviously failed in showing how 
historically, particular approaches have failed. So how do we document failures 
and get people to read them before they try to do them again? I think this may 
be a horse and water problem where the water is smarter.

>
> I also have a very different view to yours regarding OSS. I don't see OSS as
> some separate culture or group. OSS is only an ideology and you cannot give up
> that ideology for expedience. Doing so means you end up with something else
> completely. It is true that adopting such an ideology can make some things
> more difficult and it is true that it will impose different limits or
> constraints. However, you adopt the ideology because you believe that in the
> end, the results will be, on the whole, better. However, I also think its a
> bit like religion. Its not for everyone and there are many different forms.
> Some people will get great comfort and inspiration from it, othes will not.
> For those who find it beneficial, great, for those who don't, great.

what I'm about to say is potentially far more offensive than anything else I've 
said so far but it is necessary, I believe, to get the point across.  I 
apologize for any offense I cause but look deeper at why you're offended and 
feel free to talk with me about it privately.

In a horribly vicious and ugly part of American history, we had 
institutionalized racism/discrimination in the ideology of "separate but equal". 
This meant that whites and nonwhite minorities had different facilities and 
responsibilities within the culture. In reality, it was "separate but unequal" 
in that whites had better facilities or more services available to them. For 
examples, see the history books on race relations.

OSS ideology effectively creates a "separate but equal" computing environment. I 
am discriminated against in the OSS world because I can't get tools that are 
ideologically pure (i.e. white) in order for me to use computers. I am denied 
assistance by those who hold the OSS ideology dear. Solutions that incrementally 
move my assistance closer to an OSS ideal are also discouraged leaving me in 
that separate but unequal world.

ths OSS world claims to be inclusive but in practice they're not. To be 
completely frank, the OSS world is like a child of bigoted parents.  in this 
case, the parents are even more bigoted against disabled people and there is a 
lot significant amount of pressure to isolate, to ghettoize the disabled. For 
example, I use speech recognition (obviously) and using speech recognition in an 
open office environment is incredibly disruptive and therefore, it is cheaper to 
replace "me" with someone who isn't disabled. If I am allowed to work in a 
company, I'm usually given some broom closet as a "separate but equal" workspace 
where I'm isolated from the team and not allowed to integrate.

again, I encourage you to look at American history of where black people died 
because they were denied medical care. They were denied transportation, they 
were forced to live in ghettos because nobody would sell the property in the 
"good sections of town". The parallels between race relations and disability 
relations are discouraging and frightening.

> The example you give regarding emacs and VR is a limited perspective. Write
> now, I'm writing to you using emacspeak, which also uses proprietary software.
> While we would not be able to get emacspeak bundled into emacs and while many
> hard core OSS developrs would not work on it because of this, it has not
> stopped its development and use.

that's because your hands work and you've been bootstrapped. See discussion later


> Likewise, finding new profitable business
> models that are self-sustaining is difficult because you really do need to
...
> often, companies are just not in a position to recognise the potentials of
> either OSS or supporting their product on other platforms. They may never do
> this or they may have a strategic change next week.

According to the 10K filed by nuance. In 2009 they spent $120 million on R&D. If 
the usual proportions apply, that means the total annual expenses for the 
products run around $250-$300 million per year.  I haven't had the chance to sit 
down and tear apart the 10K completely but I'm guessing that NaturallySpeaking's 
portion of this is probably in the $20-$40 million range.

This is just the cost of maintaining the product in the marketplace. Do you have 
any examples of single applications that make that much money?

Right now, they support Windows, Mac OS 10, and let's pretend they support 
Linux. This means they make money 80%, 15%, 5% ratio but the development costs 
are more likely to be 60%, 30%, 30%. If you look at the numbers, you need to 
raise the price of Linux product so that with 5% of your sales, you make 30% of 
your revenue. Isn't going to happen. People will stay on Windows because it's so 
much cheaper.

As for making NaturallySpeaking an OSS application, I think the sun will go dark 
long before that happens. They have literally hundreds of millions of dollars in 
R&D invested in the product and they have responsibility to people who invested 
in the company that helped leverage multiple buyouts to make money to pay them back.

Assuming they'll, for the moment that they have no such debit. How are you going 
to generate the hundreds of millions of dollars necessary to do that R&D over 20 
years?

These are the financial realities you need to look at in order to figure out how 
to make your business stay alive. I'm not seeing any narrow focus OSS businesses 
of sufficient scale to be able to support a product like NaturallySpeaking. 
Personally, something like this is so culturally important for disableed users 
the core should be socialized (workers own the means of production socialized) 
and licensed to all application developers but that's just me.

> As I've mentioned before, in OSS and I believe in the areas of adaptive
> technology, we need to scratch our own itch. Often when I say this, the
> response comes back that the individual doesn't have the technical skill, the
> time or cannot do it because of their disability. I think this is just a total
> cop out. There are many ways of helping to scratch your own itch. Even just
> getting the issues out ther in front of people is a start. Yes, it might take
> me longer to code the program because of my disability, but maybe the result
> will be better because of my close association and understanding or simply
> because it more precisely scratches my own individual itch. My strength lies
> in programming. I would be less successful in other areas, such as convincing
> a commercial entity into porting their product to Linux, supporting an OSS
> project or raising awareness of the issues amongst others. We all have skills
> and ways to contribute. The tricky part is recognising what our skills really
> are and how they can be applied.

you know, I'm afraid I'm going to have to cry BS on this one. I had the 
technical chops to write the code. I do the design work or its equivalent 
everyday that I can work.  Touching a keyboard causes significant pain. Imagine 
touching a keyboard and having someone set your forearm on fire. Not a very big 
fire but just enough to really let that burn sink into your skin. And then it 
happens again and again on every keystroke.

Writing code is the verbal equivalent of touching the keyboard. So much of code 
is non-pronounceable. Yes, we can write macros to generate symbol names and 
painstakingly constructs statements but, you're lucky to write one line of 
debugged code per day. If you have something like programming focused macros, 
you might get to 1 1/2 lines of code a day.  With something like VR-mode, you 
might get to 2.5 to 3 lines of code per day.

If you are extremely lucky, and you've taken care of your throat, you might be 
able to do this two or three days a week without damaging your throat. Believe 
me, you do not want to damage your voice because if you do, just hang it up, get 
disability, go sit in some disabled complex until your life ends.

This is not just my experience but, the experience reported by multiple people 
in the field. This is why we are searching for something that makes it possible 
to run at a rate of 5 to 10 lines of code per day both creating and editing. Yes 
I have a solution that's been vetted. It's not easy but it will work well.

If you don't believe me, give me a hunk of code and I will tell you what has to 
be said to make it happen and why that utterance is totally unacceptable from 
operational and physical health perspective.

> I disagree with your assessment that you cannot do much because of your
> disability. You have mentioned you need someone to code because you cannot due
> to your injuries. Yet, you are able to write these messages. If you can write
> an email, then why can you not write code? I recognise it may be slow and/or
> it may be difficult, but as you have demonstrated the ability to write
> reasonably long emails, you could put that effort into writing code as well.
> I'm not saying it is easy, but it would be the best way to get what *you* want
> - at least better than waiting for someone else to do it for you. Maybe coding
> isn't the best way for you to contribute. Maybe it is design, or lobbying, or
> testing, or .......

I'm sorry, I'm have a little bit of trouble with this. how can I be disabled, 
extremely knowledgeable about speech recognition, and write long e-mail messages 
like this?  it's because I'm using speech recognition! Haven't you noticed the 
errors? The missing words, the wrong words, the wrong verb tenses? It's not 
because I'm a literate, it's because I'm a lousy editor when I'm writing on the fly.

Speech recognition is great for writing natural language. Your brain has to go 
through a process of training itself how to speak written speech but, once 
you've done that, you can write and think in very different ways.

>
> You mentioned that you have lots of good ideas and indicate you even know how
> to solve some of the issues, but need someone to help you code. Maybe this
> would be easier to do if you document, plan and design what you want done.
> Maybe someone looking for a project will see it and think your ideas are
> interesting. Maybe others will have some suggestions and improvements to make
> or maybe someone out there is already working on similar ideas. The point is,
> get it down and out of your head and then in front of people and you are
> likely to get more real progress than is currently occuring.

That's a good point. One of the problems I have is that graphical tools make me 
hurt in a very nasty way that is different from normal mouse use. Again, I can 
sketch things that with paper and pencil but I need someone to translate them. 
To illustrate some of these design concept, animation is useful. Again, not 
really possible with speech recognition.

I've written up some of these ideas and presented them to nuance. The developers 
really like them, the management was noncommittal, probably because I've just 
done an end run around some of their UI concepts and IP (heh)

>
> For example, if you had a clearly defined project, maybe it wold be possible
> to find participants to work on it as part of the next Google Summer of Code?
> Maybe someone will pick it up as part of a reserach or teaching project or
> maybe you will write it up in such a way that it inspires somoene to
> contribute, support or fund.
>
> I am quite sure there will be other reasons you can point out to why this still
> won't work and maybe many of them are valid. I don't know the precise
> circumstances you find yourself in and I'm not trying to be 'nasty' or overly
> critical. However, in all your posts I've seen so far, essentially all that
> has come across has been very winy and negative assessments of why it is all
> no good. You have indicated that you know of things that can be done to
> improve matters, but not provided anything of any real substance. Write your
> ideas up, put them on a web page and then start asking people for input and
> feedback. To make things change, you have to generate some interest and some
> motivation. Nobody is going to be as motivated to address the limitations you
> face as much as you are. If your not able to get motivated enough to change
> the situation, it is very unlikely anyone else will.

you just haven't seen my writing in other arenas over the past few years. I work 
best when I have a collaborative team. A team that will challenge my ideas so 
they can make them better, an editor to catch my language problems, and a 
graphics person to put pictures, illustrating the concepts. Haven't been able to 
pay for team like that for quite a few years but that's what I know I work well 
with.

Again, your comment about "if you're not able to get motivated" speaks to a 
certain lack of understanding. If your hands don't work, you have a hard time 
working and making money. Sometimes you even have a hard time feeding yourself. 
how can you write the code necessary (tens of thousands of lines) to make your 
environment better? How does that physically work? Do you see the disconnect? do 
you see the need for a bootstrap process that isn't happening? If you're using 
text-to-speech, I bet you'd make as much progress as I am if I sat in front of a 
dumb terminal with no audio output. Try writing code without seeing the screen, 
without getting any feedback on how the compiler operates and see how well you 
bootstrap yourself. But in your defense, let me point out that text-to-speech is 
trivially easy for bootstrapping than anything in speech recognition world. How 
do I know this? You have been bootstrapped and we have not. RSI is generating 
some 40,000 to 80,000 disabled software developers per year in the US alone and 
speech recognition for software development is in the same state it was 10 years 
ago. The fact it hasn't changed means it's a hard problem, that people keep 
repeating the same mistakes looking for simple solutions because it is a hard 
problem. I also think there is more the little bit of the "separate but equal" 
thing going on as well.

Maybe after you've been around for a while and see people in your chosen field 
making the same mistake over and over again, you'll understand the crankiness. 
Then imagine living in a world where people tell you can't possibly be smart 
because you can no longer do a mechanical operation. It's not unlike the 
experience many women have when they get pregnant. The company/boss treats them 
as if half their IQ adjustable out of their ears solely because of the 
pregnancy. I've seen time and time again how good high-quality developers are 
treated as idiots just because their hands do not work and they cannot write 
code. Amazing how smarts are tied to a low-level physical ability.

>
> This will probably come across as harsh, I don't mean it to be, but believe it
> needs to be said. Much of what you have written is true and it is obvious that
> you are frustrated. I'd even go so far as to say there is a strong element of
> negativity and some underlying anger in what you have written. There
> is also an element of 'hopelessness'. Parts of it even come across a little
> bitter and can sound like being resigned to be a victim. I know this feeling
> and I know how hard it can be to not let the frustrations, lack of change and
> feelings of injustice become all encompassing. I sincerely hope this is just a
> temprary downswing. Possibly there is just a need to vent a little to reduce
> the pressure - I get that and I've been there. An old boss of mine you to say
> that on some days, all you can do is hold the line. Thats fine. What we need
> to do is recongise when things are like this and acknowledge there are times
> we probably just need to let things go.

there is some truth in that. I have an idiot Dr. that doesn't quite get chronic 
pain. She put me on satins which are known to cause upper extremity pain and 
after one dose, I have been left with the worst physical pain I've had for years 
and it's not going away. She sent me to a specialist which, if I'm lucky, I will 
see by the beginning of August in the meantime, I get to sleep about 4-5 hours a 
night before the pain wakes me up and I'm still trying to work, to make money 
and survive.

Yes, I get angry. I get so *fucking* angry because speech recognition users get 
little or no love in the disability accommodation world. there's all this 
attention for blind users and extreme physical disability but for disabled 
programmers, people that used to be their peers, who are now totally screwed, 
their careers shot in the head and the tab geeks go around with their fingers in 
ears going "La la la la" as if that will protect them from being injured.

I don't get it. I really don't get it.

Whenever I have money, I donate something to charity. If I don't have money, I 
give some time or collect material for thrift shop. I cannot imagine living 
without helping somebody else.  how can developers turn their backs on their 
peers in need. I just don't get it. How can they call themselves human beings 
when they do that.

I think that's why rejection from the OSS ideologically pure hurt so much. It's 
supposed to be about helping people make a better life through freedom of 
choice. But their actions show that to be a lie. They'll help you make a better 
life only if you can use ideologically pure choices.  That is just wrong.

>
> At the end of the day, much of what you have written is true and all to
> familiar to all of us with a reliance on adaptive technology. It hasn't added
> anything new. This is possibly my main issue with what you have posted. From
> what you have written, it is apparent you have considerable first hand
> knowledge and experience in the VR field. Unfortunately, there is little of
> substance that could be used to either move things forward or assist others in
> avoiding some of the pitfalls. This is a pity.

Yes, the conversation did go away I didn't want to go but, I wasn't sure how to 
present ideas without just pushing them through. I am going to try and write a 
plaintext descriptions of what I think is appropriate but it's damned hard 
without pictures and I just can't do pictures.

> Perhaps the question to ask is how can we change things. What can we do as
> individuals to improve the situation. If you have ideas I'd strongly recommend
> putting them up on a website and then post to the various lists asking others
> to read and provide input/feedback. While this will almost certainly not
> result in any great fundamental change, it may just provide the inspiration or
> prevent/reduce wasted effort. If we don't want history to be repeated, it
> needs to be documented and accessible. Of course, we all also need to
> recognise that sometimes our abilities to communicate and motivate also fail,
> so try not to be discouraged if initial responses are poor or there appears to
> be little interest or acknowledgement. Instead, adapt and try again. The
> important things are never easy and we rarely succeed initially. We need to
> have confidence and belief in what we are doing and kee pushing forward.

Oh, I've often wondered if a webpage is published on the Internet, will anyone 
notice?  that's a semiserious point. If I put the effort into documenting, will 
it do any good? Or will it just collect dust and get ignored as people go off 
and reinvent the same miserable wrong path? I know what I want to do is a right 
way, I don't know if it's right enough. The only way to tell is through 
experimentation and that means I need a coding buddy to work with me.




More information about the Ubuntu-accessibility mailing list