Urm, turns out that I'm not a moderator on that group. *laugh* After a while, there are too many, and I get confused. Anyway, I know that there are pending requests, so I'll message the group about it. Traffic has picked up recently. One of our members just had their app accepted for the iOS App Store, the first blind dev to make that happen. Bryan -----Original Message----- From: macvoiceover-bounce@xxxxxxxxxxxxx [mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Bryan Smart Sent: Wednesday, December 01, 2010 1:49 PM To: macvoiceover@xxxxxxxxxxxxx Subject: [macvoiceover] Re: Programming with VO Direct link: http://groups.google.com/group/mv-dev or Send a message to mv-dev+subscribe@xxxxxxxxxxxxxxxx For a while, I wasn't receiving notifications from Google about pending membership requests, so, if you tried before, please try again. Bryan -----Original Message----- From: macvoiceover-bounce@xxxxxxxxxxxxx [mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Burgess Sent: Wednesday, December 01, 2010 3:41 AM To: macvoiceover@xxxxxxxxxxxxx Subject: [macvoiceover] Re: Programming with VO Me too. Best wishes. Tim Burgess Raised Bar Ltd Phone: +44 (0)1827 719822 Don't forget to vote for improved access to music and music technology at http://www.raisedbar.net/petition.htm -----Original Message----- From: macvoiceover-bounce@xxxxxxxxxxxxx [mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Gabe Vega Sent: 01 December 2010 02:03 To: macvoiceover@xxxxxxxxxxxxx Subject: [macvoiceover] Re: Programming with VO direct link to mv-dev please. I'd be glad to join. On 11/30/10, Bryan Smart <bryansmart@xxxxxxxxxxxxxx> wrote: > Long delay in getting back to this thread, but... > > Sorry that I misunderstood you. Thought you said that it wasn't > possible at > all, not that it wasn't possible with Interface Builder. > > The problem with Interface Builder isn't so much that it is > inaccessible to > VoiceOver, as that it is an unsuitable type of program for a blind > person to > use for this sort of work. Back when I started exploring programming options > for the Mac, I found lots of complaints about how IB didn't work. I > discovered that, with some workarounds, it actually did work, a bit. > Most all of the IB user interface is accessible. However, VoiceOver, > as good of a > screen reader as it is, doesn't really provide much of a way for us to > get a > grasp on layout. VoiceOver on iOS does a good job. You can feel around > the screen, and know exactly where controls are located. VO on OS X, > with a track pad, does sort of the same thing, but doesn't seem as > accurate when it > comes to layout. If you interact with a toolbar, for example, you'll clearly > see this demonstrated. Moving horizontally on the track pad navigates > between buttons, but the track pad is completely oblivious to any sort > of vertical spacing. Now, I know that a tool bar is just one line, so > it shouldn't really matter. In practical day-to-day terms, the > current way is > probably the better way. Excluding this example, this sort of zoning happens > in other places. Desktop VO might split the track pad in left and > right halves to let you know there is a side bar area, but the > proportions that it > chooses don't seem to be related to the actual size on the screen. So, > on iOS, the tactile position is very literal, but, on the desktop, the spacing > is meant more to convey meaning to you, rather than to accurately represent > the screen. Given this, it is very difficult to imagine using a > program like > Interface Builder, regardless of its accessibility level. Suppose > you're in > a window, containing a button and some static text. Since VO isn't > showing you literal positions, how can you drag the button to the right > location? > The answer is that you can't. > > When it comes to formatting, IB includes some positional guides that > help line up controls. These are like grids that are overlaid on the > window. If one of these grids is enabled for a part of the window, > then you're shown little boxes, and you drag a button in to one of the > boxes, then IB snaps that button to an appropriate exact position. I > have no idea how that sort of info could be conveyed to a VoiceOver > user. Maybe each zone of the grid/guide could be a blank container > that they'd interact with? Except, if > you did, you'd need to perform the release step of drag and drop > there, and > with an empty container, I'm not sure if you could use VO-Command-F5 > to move > the mouse to the position prior to releasing the item being drug. > > After realizing all of this, I was a lot less upset with the lack of > accessibility, or, more accurately, the lack of my ability to > accomplish anything meaningful with IB. It wasn't a matter of Apple > needing to add labels for controls, or anything so straight forward. > The program was fundamentally designed to be a visual tool, and trying > to make it work without vision is a challenge that would require > changes in not only it, but > in the screen reader, too. Quite a huge project, to be sure. That's a > bit like asking Microsoft to make Visio accessible. > > Incidentally, in IB, you can set hierarchical relations between > controls by > using cut/copy/paste in the outline view. You can open the inspector > for any > graphical control, and set its position by manually entering coordinates. > You can establish data bindings by directly editing in xCode, and IB > will pick up on them. Still, while you "can" work this way, it > requires a massive > amount of effort. The effort, in my mind, is too much. For most > people, the > user interface is the easiest part of the app to slap together. For > us, this > really is like trying to use a screw driver to hammer in a nail, since > the whole process is counterintuitive to the way that we think about > user interfaces. > > I don't know how much you understand about how IB works behind the > scenes, but any work that a person performs for interface design in IB > is saved as NIB/XIB markup files. When your app starts, Cocoa loads > this file from the bundle, and, based on the parameters in the markup > file, creates the needed > objects that make up your user interface. This is exactly what happens with > Renaissance, except the parameters just originate in a differently formatted > markup file. Apple assumes that most people will be using Interface Builder, > so their markup is optimized for small size and speed of loading, > rather than to be human readable and editable. The results are the same, > though. > Renaissance also includes the extra step of automatic formatting, if > you want it. > > I hate teasing people with pre-announcements, but, when threads like > this come up, it is hard not to do so. The Renaissance markup is quite > easy to read and edit by hand. Still, there is no reason that it must > be read or edited by hand. Just like how Interface Builder is really > an editor for NIB/XIB files, it is certainly possible to make an > editor for the GSMARKUP files used by Renaissance. That sort of > program is one of my current projects. I'm currently calling it > Interface Describer. *smile* Once finished, it can be registered as > the creator/owner for GSMARKUP files, and, > when that happens, you'll be able to simply open the GSMARKUP files in your > xCode projects in the way that sighted people open the NIB/XIB files. > It will be pretty much a full replacement for Interface Builder at > that point for people that want to use dynamically generated > interfaces. Since the objects that Renaissance creates at run-time > support the interfaces of the Cocoa objects, someone using Interface > Describer to create their interface need know nothing about > Renaissance to use it. They edit their interface with Interface > Describer, and code like they're using regular Cocoa objects. > The transparent operation is a cool concept for me to contemplate. > > The Java and Mono stuff might be useful, in ways, but, as far as I > know, Renaissance is the only way to do this sort of thing if you want > to write native Object C apps. > > I'm glad to hear that you use it and like it. I was expecting way more > excitement and participation with it than has happened. That is really > disappointing. Since this is a free project, it is the enthusiasm of > the people using it, and seeing the software that they build with it, > that would > give me the energy to keep working on it. I guess there aren't too > many blind people that are interested in programming for OS X. An iOS > version might be better received. With the desktop version, I was able > to build on the massive work that was already undertaken for the > GNUstep version. On iOS, the work would involve almost an entire > rewrite. I have full-time work > and other hobbies, though, so don't know if I have that kind of time. Maybe > if I could split the work with a group of people, we could make it > happen, but, so far, programming interest among blind people for any > Apple stuff has > been low, as best as I can tell. > > If you're not on MV-Dev, think about coming over. I really wish that > we could get more traffic going on that list with blind coders. > > Bryan > > -----Original Message----- > From: macvoiceover-bounce@xxxxxxxxxxxxx > [mailto:macvoiceover-bounce@xxxxxxxxxxxxx] On Behalf Of Travis Siegel > Sent: Thursday, November 25, 2010 1:51 AM > To: macvoiceover@xxxxxxxxxxxxx > Subject: [macvoiceover] Re: Programming with VO > > > On Nov 24, 2010, at 7:32 PM, Bryan Smart wrote: > >> 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. > > Right, all of which is done without interface builder. > The main point of my email was that ibuilder is *not* accessible other than > modifying existing interfaces already built in interface builder. > I did mention there were other tools, though I didn't specifically > mention renaissance, though I do have it, and mono as well, along with > sdl, and sfml, all of which can be used to varying degrees to > accomplish interface building (some definitely better than others), > but the mere fact that the tools provided by apple are *not* usable by > voiceover users is a real kick in the pants, since they have put so much work > into voiceover itself. It's > really a shame if you ask me, but since nobody did, I guess it doesn't make > a whole lot of difference. > >> >> 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 >> > -- Gabe Vega A+, Net+, ATACP The Tech of all Techs http://thebt.net (623) 565-9357 > > 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 > > > 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 >