RE: Announcing the Homer application framework and Homer.NET library

  • From: "Homme, James" <james.homme@xxxxxxxxxxxx>
  • To: "programmingblind@xxxxxxxxxxxxx" <programmingblind@xxxxxxxxxxxxx>
  • Date: Mon, 3 May 2010 15:34:29 -0400

Hi Jamal,
Did you always use a text editor to do your .net code?

Jim

Jim Homme,
Usability Services,
Phone: 412-544-1810. Skype: jim.homme
Internal recipients,  Read my accessibility blog. Discuss accessibility here.


-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx 
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jamal Mazrui
Sent: Monday, May 03, 2010 3:27 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: Announcing the Homer application framework and Homer.NET library

I forgot to answer the Visual Studio question.  It is not needed for any
.NET development.  I do all my coding in EdSharp, including development
of EdSharp, itself, as well as FileDir and GrabText which are also
written in C#.  I use the command-line compilers that are part of the
.NET 2.0 SDK (a URL for the download page is in the HomerApp
documentation).

It is definately a matter of personal preference whether one is more
productive with VS or a completely accessible code editor like EdSharp.
I find that I can write more clear and succinct code this way, rather
than dealing with the auto-generated code from VS.

Jamal

On Mon, 3 May 2010,
Jamal Mazrui wrote:

> Date: Mon, 3 May 2010 15:04:59 -0400 (EDT)
> From: Jamal Mazrui <empower@xxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: Announcing the Homer application framework and Homer.NET library
>
> Thanks for your interest, Don.  The Layout by Code section of HomerApp.htm,
> now also separately available at
> http://EmpowermentZone.com/HomerApp.htm
>
> Includes links to other versions of Layout by Code (AutoIt and Python
> languages).  The version in HomerLbc.dll, part of Homer.NET and HomerApp, is
> the most sophisticated one to date.  It will work with any .NET 2.0 language,
> including Iron Python (but not standard Python).
>
> I think Mono strives to fully implement the .NET Framework 2.0 class library,
> so theoretically, the HomerLbc code should work there, too. However, the code
> in HomerAcc.dll that uses the APIs of Windows screen readers would not work
> there.
>
> Unfortunately, I cannot be more specific about what parts of HomerLbc work
> with Gnome and Orca because I do not have a Linux machine yet, myself, and
> have no development experience in that environment.  I would be interested in
> reports any programmers on Linux can share with us about accessible,
> cross-platform development with .NET, or with wxPython.  I have found answers
> on this topic surprisingly hard to find.
> If anyone can make modifications to HomerApp that make it compatible on
> Linux or the Mac, that would be great.
>
> Jamal
>
> On Mon, 3 May 2010, Donald Marang wrote:
>
>> Date: Mon, 3 May 2010 14:40:46 -0400
>> From: Donald Marang <donald.marang@xxxxxxxxx>
>> Reply-To: programmingblind@xxxxxxxxxxxxx
>> To: programmingblind@xxxxxxxxxxxxx
>> Subject: Re: Announcing the Homer application framework and Homer.NET
>> library
>>
>> Hi Jamal,
>>
>> I have been reviewing your Layout By Code previously released.  Great
>> looking capabilities but I have not yet determined how to set up a project
>> with them. Will these tools and libraries, like LBC, work with Python?
>> Will they work with any .Net application and eliminate using Visual
>> Studio? If properly coded, is it possible to write cross platform GUI
>> applications with the help of the Mono project with these tools?
>>
>> Don Marang
>>
>> --------------------------------------------------
>> From: "Jamal Mazrui" <empower@xxxxxxxxx>
>> Sent: Sunday, May 02, 2010 3:20 PM
>> To: <guispeak@xxxxxxxxxxxxx>; <programmingblind@xxxxxxxxxxxxx>;
>> <program-l@xxxxxxxxxxxxx>; <uaccess-l@xxxxxxxxxxxxxx>
>> Subject: Announcing the Homer application framework and Homer.NET library
>>
>>> Now available at
>>> http://EmpowermentZone.com/appsetup.exe
>>>
>>> or .zip for a manual install
>>>
>>> HomerApp
>>> Version 1.0
>>> May 2, 2010
>>> Copyright 2010 by Jamal Mazrui
>>> GNU Lesser General Public License (LGPL)
>>>
>>> Distinguishing Features
>>>
>>> The Homer application framework, HomerApp, is free, open source software
>>> for rapid application development.  It is designed to make it easy for
>>> developers to build sophisticated applications with a graphical user
>>> interface (GUI), and for end users to benefit from the friendliness and
>>> power of those applications.  HomerApp is a support structure for
>>> applications with the following, noteworthy characteristics:  multiple
>>> document interface, single instance, command line operation,
>>> configurable, scriptable, direct speech messages, convenient hotkeys,
>>> and help features. These are further explained as follows:
>>>
>>> * Multiple document interface (MDI).  MDI is a well-understood user
>>> interface, originally promoted by Microsoft Word, in which any number of
>>> child windows may be opened within a main application window.  Each
>>> child window can host a separate document, though almost any content or
>>> functionality is possible within such a window, not just representing
>>> documents.  Standard keyboard shortcuts include Control+Tab or
>>> Control+Shift+Tab for cycling to the next or prior child window, and
>>> Control+F4 to close the current one.
>>>
>>> * Single instance.  Since an MDI application hosts multiple windows, it
>>> is typically designed so that only a single instance runs in memory,
>>> that is, a subsequent attempt to launch the application will activate
>>> the one already present, rather than creating another copy in memory.
>>>
>>> * Command line operation.  With a single instance application, the
>>> executable file may repeatedly be run with command-line parameters that
>>> are passed to the existing instance.  For example, the file name of a
>>> document may be passed as a parameter, and the application may respond
>>> by opening a new, child window containing that document.  This is a
>>> common example with an editor-type application, but the developer can
>>> implement almost any functionality in response to an event informing the
>>> application that command-line parameters have been passed.
>>>
>>> * Configurable.  The user can specify preferences for how the
>>> application behaves in particular situations.  The application remembers
>>> these configuration options in subsequent sessions of operation.
>>>
>>> * Scriptable.  More powerful configurability is possible through script
>>> files containing programming code that manipulates the application via
>>> an object model.  Scripts may be distributed with the application,
>>> defined by the user, or developed by third parties.
>>>
>>> * Direct speech messages.  Users who operate an application nonvisually
>>> via a screen reader program can benefit from speech messages that
>>> directly communicate information.  Such messages supplement, rather than
>>> replace, the information that is automatically spoken by default
>>> settings of the screen reader.  For example, a notification placed on
>>> the status bar could be conveyed via direct speech as well, saving a
>>> nonvisual user from having to press a key to read that area.  Although
>>> the notification would be automatically read by a screen reader if
>>> placed in a message box instead, that approach would then involve
>>> dismissing the message box and hearing extra verbiage related to changes
>>> in focus.  HomerApp can automatically detect and produce speech via any
>>> of four screen reader APIs:  JAWS, NVDA, System Access, and Window-Eyes.
>>>
>>> * Convenient hotkeys.  Every application task may be performed via the
>>> keyboard;  No mouse operation is required.  In addition, hotkeys serve
>>> as quick shortcuts to multiple sequences of keystrokes, e.g., to perform
>>> a task immediately without having to navigate the menu system.
>>>
>>> * Help features.  A context-sensitive tip is available for the control
>>> that currently has focus.  A key describer mode allows one to check what
>>> keys will do without actually performing their functions.  An alternate
>>> menu presents a complete, alphabetized list of all menu commands,
>>> hotkeys, and descriptions.
>>> ----------
>>>
>>> Layout by Code
>>>
>>> HomerApp supports a development approach called "Layout by Code."  This
>>> is an alternative to graphical tools for layout of GUI forms.
>>> Essentially, a series of function calls specify the sequence of controls
>>> on a form, and when to start a new band of them.  No explicit pixel
>>> coordinates are needed for size and position;  Intelligent, visually
>>> acceptable choices are automatically made.  Each function call may
>>> optionally include initial data for the control and a help tip for
>>> users.  The nonvisual developer does not have to contend with
>>> mouse-oriented design tools, or arithmetic calculations for placement of
>>> each control.  The source code for MDI Fruit Basket illustrates this
>>> approach (in the file HomerApp.cs or HomerApp.vb).
>>> ----------
>>>
>>> .NET Platform
>>>
>>> HomerApp relies on a set of libraries called Homer.NET, supporting any
>>> programming language that executes on a freely available platform called
>>> the ".NET Framework" or "Common Language Runtime" (CLR), version 2.0 or
>>> above.  The CLR is built into Windows Vista and above, and may be
>>> installed for Windows XP or Windows 98 from the Microsoft web site at
>>> http://msdn.microsoft.com/en-us/netframework/aa731542.aspx
>>>
>>> The CLR is also available for Macintosh and Linux operating systems from
>>> the Mono Project
>>> http://mono-project.org
>>>
>>> though some Windows-specific parts of Homer.NET are not compatible
>>> there. The most popular .NET languages are C# and Visual Basic.  Source
>>> code for the sample application, MDI Fruit Basket, is provided in both
>>> these languages (MDIFruit.cs and MDIFruit.vb).
>>>
>>> The Homer.NET libraries (also called assemblies) include many convenient
>>> functions for working with screen readers (HomerAcc.dll), web services
>>> (HomerJax.dll), ini files (HomerIni.dll), archive formats
>>> (HomerZip.dll), and GUI forms (HomerLbc.dll).  Either GUI or console
>>> mode applications may be developed with the aid of Homer.NET libraries.
>>> This may be done either with or without the larger, HomerApp framework.
>>>
>>> Homer.NET libraries may be modified and recompiled with batch files
>>> included in the distribution.  These batch files call the C#, Visual
>>> Basic, or JScript .NET command-line compilers that are part of the .NET
>>> Framework 2.0 Software Development Kit (SDK), which is freely available
>>> at
>>> http://msdn.microsoft.com/en-us/netframework/aa731542.aspx
>>>
>>> .NET code may be written with any text editor, including EdSharp, which
>>> is freely available at
>>> http://EmpowermentZone.com/edsetup.exe
>>>
>>> The Microsoft Visual Studio integrated development environment (IDE)
>>> includes a code editor and other developer tools.  Express Editions are
>>> freely available at
>>> http://www.microsoft.com/express/Windows/
>>>
>>> Sharp Develop is an open source, cross platform IDE for .NET languages,
>>> available at
>>> http://www.icsharpcode.net/opensource/sd/
>>>
>>> __________
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/programmingblind
>>>
>>>
>> __________
>> View the list's information and change your settings at
>> //www.freelists.org/list/programmingblind
>>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


This e-mail and any attachments to it are confidential and are intended solely 
for use of the individual or entity to whom they are addressed.  If you have 
received this e-mail in error, please notify the sender immediately and then 
delete it.  If you are not the intended recipient, you must not keep, use, 
disclose, copy or distribute this e-mail without the author's prior permission. 
 The views expressed in this e-mail message do not necessarily represent the 
views of Highmark Inc., its subsidiaries, or affiliates.
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Other related posts: