[macvoiceover] Re: Programming with VO

  • From: Bryan Smart <bryansmart@xxxxxxxxxxxxxx>
  • To: "macvoiceover@xxxxxxxxxxxxx" <macvoiceover@xxxxxxxxxxxxx>
  • Date: Wed, 24 Nov 2010 20:32:39 -0500

Travis, this isn't correct. My RenaissanceX library will automatically generate 
user interfaces at run-time that conform to Apple's Human Interface Guidelines. 
If you wish, it will also properly format (arrange/size/space) controls, based 
on their logical relationships. You can override that automatic formatting 
behavior for a single control, a group of controls, or as much of the UI as 
you'd like.

Instead of designing your interface in Interface Builder, you write a textual 
description of the interface in a markup file. If you can write HTML, you can 
write an interface description. The description not only includes the names of 
controls, labels, and other attributes, but also includes information about how 
the controls are logically and spatially related, so that the automatic 
formatting engine can make appropriate decisions.

Other than the markup file, and including the RenaissanceX framework inside 
your application bundle, you create applications just like people using 
Interface Builder. You work with the same Cocoa objects. There aren't any 
restrictions.

RenaissanceX is based off of Renaissance for GNUstep, modified and extended to 
make it work better on the Mac. I'm still working on it, but the current 
version is quite usable.

http://blog.bryansmart.com/2010/10/25/renaissancex-2010-02-28/

Since xCode is quite accessible, and RenaissanceX removes the need for 
Interface Builder, you can program anything that you want in ObjectC.

You might also wish to join the MV-Dev group on Google to talk with other blind 
people that are writing software on Macs.
http://groups.google.com/group/mv-dev

Send a message to mv-dev+subscribe@xxxxxxxxxxxxxxxx to only subscribe to the 
list.

Bryan

-----Original Message-----
From: macvoiceover-bounce@xxxxxxxxxxxxx 
[mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Travis Siegel
Sent: Wednesday, November 24, 2010 1:25 PM
To: macvoiceover@xxxxxxxxxxxxx
Subject: [macvoiceover] Re: Programming with VO

When programming on osx, you'll need to find a combination of tools that work 
for you.  If you have some vision, then the Xtools will work just fine for you. 
 If however you're like me, and are not able to see the screen, then anything 
other than modifying existing code (or generating interfaces from code) isn't 
possible.  Apple's interface builder, (the program it uses to generate the 
graphical portions of  
programs written in objective C) isn't accessible to voiceover users.   
You can build programs to be sure, but you can't use Ibuilder to make those 
nice aqua interfaces everyone loves so much on the mac.  (at least not without 
sighted assistance)  You can build programs from scratch that have graphical 
interfaces, but it requires one heck of a lot of patience, intimate knowledge 
of objective C internals, and a whole lot of sample code, because apple has a 
habbit of modifying how things are done from release to release, so something 
that works in
10.5 may not work in 10.6, and if you aren't using interface builder to 
generate your interfaces, you're going to have a lot of trouble making things 
work when a new release comes out.
For that reason, I don't even try to generate graphical interfaces using 
ibuilder, or apple-provided sample code.
Instead, if I need graphical elements, I'll either use apple script, (if only a 
few things are needed) java (since java takes care of layouts for me, and I 
don't have to worry about whether they're ligned up or not) or I'll just create 
a terminal application, which has no graphics, but can be wrapped in an apple 
script or something to make it launch from finder normally.  There's all sorts 
of things that can be done to make stuff behave, but using interface builder 
(for us) isn't one of them.
Xcode itself is fine, you can still edit compile and create code using the 
Xcode tools as long as you're not trying to use interface builder to build an 
interface from scratch.  You can modify existing interfaces (to add 
accessibility labels, change types, and the like) but again, developing from 
scratch is impossible.
All is not lost though, as mentioned above, there are other options, and of 
course, nothing says you need to use Xtools at all, you can use your favorite 
development environment (such as emacs) if you're already an entrenched 
developer, most of your existing tools can be ported to osx with little or no 
changes, and you can continue doing what you do best, making programs for 
others to enjoy.  It's just the graphical components that will cause a bit of 
headache.

>
> Click on the link below to go to our homepage.
> http://www.icanworkthisthing.com
>
> Manage your subscription by using the web interface on the link below.
> //www.freelists.org/list/macvoiceover
>
> Users can subscribe to this list by sending email to  
> macvoiceover-request@xxxxxxxxxxxxx
> with 'subscribe' in the Subject field OR by logging into the Web 
> interface at //www.freelists.org/list/macvoiceover
>
>
> Click on the link below to go to our homepage.
> http://www.icanworkthisthing.com
>
> Manage your subscription by using the web interface on the link below.
> //www.freelists.org/list/macvoiceover
>
> Users can subscribe to this list by sending email to
>  macvoiceover-request@xxxxxxxxxxxxx
> with 'subscribe' in the Subject field OR by logging into the Web
> interface at //www.freelists.org/list/macvoiceover
>

Other related posts: