Re: [orca-list] What I can do for orca
- From: Michael Whapples <mwhapples aim com>
- To: Willie Walker <walker willie gmail com>
- Cc: Orca-list <Orca-list gnome org>
- Subject: Re: [orca-list] What I can do for orca
- Date: Sun, 07 Feb 2010 20:31:25 +0000
On 02/07/2010 12:44 PM, Willie Walker wrote:
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.
OK, no excuse for me to delay. Initially I may start with the stable
version of orca on my system so that I know it should work to an extent
and be an example which should work. I would hope to move on to GIT code
fairly quickly after may be writing a script or two or some fixes for
stable code.
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/
Thanks for those links, I have read the first, think I understand it.
Looked a bit at gedit with accerciser. I hope that the number of nodes
in a at-spi tree won't be too much of a problem. I guess orca mainly
deals with nodes close to the focus and so doesn't need to deal with
very long paths, is this right?
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
Any chance of a HTML version, or will I need to rely on PDF conversion
tools to get something I am more comfortable reading?
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).
I guess an example might be java and non-alphanumeric keys. I suppose I
need to view it as a user (shouldn't be too hard as I am a orca user)
and make it that if I want to be perfectionist then make it
perfectionist for the user rather than the technicality. I don't know if
it is fair, but comparing orca to LSR, I never got on with LSR, I felt
it didn't really try and focus on making the system usable for me, orca
feels much more focused.
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. :-)
Thanks, I will start looking at this.
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.
I guess what I was getting at saying I want to focus on orca is to do
with my skills, not knowing C will limit my ability to try and dig into
other code (eg. gecko) to find and fix bugs. Yes I am prepared to help
resolve issues lying else where, its just I don't know how much I could do.
Michael Whapples
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]