Re: [orca-list] What I can do for orca
- From: Willie Walker <walker willie gmail com>
- To: Michael Whapples <mwhapples aim com>
- Cc: Orca-list <Orca-list gnome org>
- Subject: Re: [orca-list] What I can do for orca
- Date: Sun, 7 Feb 2010 07:44:08 -0500
Hi Michael:
Growing our virtual community of developers is always a goal, so
welcome aboard! No need to wait for AT-SPI/D-Bus - the pyatspi
interface will remain the same between the CORBA and D-Bus
implementations.
The fact that you can program and know Python and Linux gives you a
huge leg up. For a general view of the accessibility infrastructure,
you can read:
http://live.gnome.org/Accessibility/PythonPoweredAccessibility
http://www.linuxjournal.com/article/9991
http://library.gnome.org/devel/accessibility-devel-guide/nightly/
I'd also suggest writing simple Python applications that sniff
accessibility traffic. Here's a trivial 5 line app I wrote the other
day to debug something going awry with AT-SPI/D-Bus. It just listens
for object:state-changed:showing events from the AT-SPI:
import pyatspi
def blah(event):
print event
pyatspi.Registry.registerEventListener(blah,"object:state-changed:
showing")
pyatspi.Registry.start()
Once you are familiar with the kinds of things applications give you
via the AT-SPI, I'd suggest digging into Orca. The Orca internals docs
at the following URL are a little dated, but give you the general idea:
http://git.gnome.org/browse/orca/plain/docs/doc-set/internals.pdf
Note that we created a lot of Orca with minimal resources. My motto
was "let the user experience drive the architecture, not the other way
around." As a result, I veered away from the school of astronautical
architecture (i.e., paralysis by analysis) and stayed closer to the
school of practicality. In addition, when faced with some toolkit
implementations that were perhaps a bit buggy or provided their own
unique interpretation of the AT-SPI specification, we had to make
things work regardless of the bad taste those toolkits left in our
mouths (and unfortunately the code).
From there, dig into default.py and have a look around -- it is the big
mainspring of the Orca clock. Turn debug on and take a look at the
debug log. Note that we also try to use copious documentation in the
code to help us remember why we did what we did (versus just telling
you what the code is doing); eschew obfuscation. :-)
Note that working on Orca also can mean working on *everything*. You
may need to become expert in someone else's code outside Orca in order
to debug problems since bugs often lie in the applications and
toolkits. So, you need to keep a sense of humor and steer clear of
that sense of despair to the best of your abilities.
Will
On Feb 6, 2010, at 4:18 PM, Michael Whapples wrote:
Hello,
After all that has been said recently and after considering what even
I have said about ensuring the future of orca, I felt its time to roll
up my sleeves and use the skills I have for some good.
Before I begin I feel it probably is best to be open on what my
situation is so that either I don't say I can do more than I can or so
that others don't get the impression I will be a knight in shining
armour and expect too much from me.
All effort I will be putting into orca will be purely voluntary
although I should be able to commit a reasonable amount of time to
orca at the present moment (possibly enough to be considered
full-time) as I am not in employment. This does lead to some of the
reasons why I am wanting to help orca. There are the personal reasons,
I find Linux/unix a good system to use and that it probably is the
correct operating system for me and it would be a sad loss if orca
were to drop into a unmaintained state. Other than the personal
reasons, I do have possibly slightly more greedy reasons, I am looking
for employment in software development and it has been suggested to me
(I agree as well) that it may be worth me working on opensource
projects in the meantime as generally employers say I lack experience
for them to see what I have achieved in the past. Regardless of if the
second set of reasons achieve what they intend to, personal reasons is
enough to motivate me on this, the second set is more to warn that at
some point I may end up having to lower (I don't intend to abandon
orca, its just my free time might be less) my input should employment
be found.
Now to my skills and what I could do for orca. I am a python
programmer (I suppose a good start), and have been using Linux for
some time. I would say I have a reasonable knowledge on common issues
of the accessibility infrastructure of gnome (enough to work out what
might be causing the problem), but I don't know a great deal with the
internals of this stuff (I guess I am saying I am not willing to step
into other parts of gnome accessibility at the moment, orca is
probably enough to start with). Some things I am thinking of which I
know about which may be useful for orca development, brltty (I think
some time ago I did write a small application for myself which used
brltty python bindings), liblouis and its python bindings,
speech-dispatcher and python bindings, gobject (may be not used
directly but I guess many components orca uses are based on gobject)
and cython (a fork of pyrex for creating extensions for python in C).
OK, looking at that lot of skills, yes probably really time to get on
and do something. May be I could ask those knowledgeable in orca's
code (probably Joanie and Will) where should I start on learning about
developing orca? May be a start of a very general overview (what is
the very heart of orca, how much is done by scripts, etc). Also when
learning about scripts, which ones may be simpler to start with to
learn about scripting and then once I am knowledgeable I can tackle
the others. Probably once I get going with reading orca's code I will
get to understand about using at-spi, but is there any good
documentation for getting started with developing at-spi applications?
The final question at the moment, should I really wait until the
at-spi-dbus stuff is done or get going now? I mean by that, how big
are the changes between orca in 2.28.x and after the dbus work?
Michael Whapples
_______________________________________________
Orca-list mailing list
Orca-list gnome org
http://mail.gnome.org/mailman/listinfo/orca-list
Visit http://live.gnome.org/Orca for more information on Orca.
The manual is at
http://library.gnome.org/users/gnome-access-guide/nightly/ats-2.html
The FAQ is at http://live.gnome.org/Orca/FrequentlyAskedQuestions
Netiquette Guidelines are at
http://live.gnome.org/Orca/FrequentlyAskedQuestions/
NetiquetteGuidelines
Log bugs and feature requests at http://bugzilla.gnome.org
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]