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