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

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Tue, 04 May 2010 06:51:02 -0400

Good points -- thanks.

Jamal


On 5/3/2010 11:20 PM, black ares wrote:
and also, you can use eclipse, which is another fully accessible ide, to
do dotnet developing.
When you have a medium to big project, the visual studio features become
overkilled because, a big project is fformed from lot of solutions, and
when you want a build to test, you will use for sure an automated way to
build, and such thing there is not in VS.
You will end up with ms builder, nant, or other such tools.
For do packaging, you will get msi sdk together with wix and you will do
an automated packaging.
I like visual studio, but it becomes only an editor in such projects.
For a small project it is very productive, because you can generate a
data driven application with out writting code:)


----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, May 03, 2010 10:50 PM
Subject: RE: Announcing the Homer application framework and Homer.NET
library


Yes. I learned the VS IDE when I was helping to develop the JAWS
scripts. After doing a fruit basket program with the IDE, I started
developing FileDir. I quickly found that I missed the shortcuts of
TextPal when trying to edit with the VS code editor. Also, even though
the scripts made the Windows forms designer usable, I preferred an
approach that did not involve tinkering with pixel coordinates. So, I
developed Layout by Code routines that used the FlowLayoutPanel and
TableLayoutPanel components. Cross-platform development, by the way,
generally favors the use of auto layout techniques rather than
graphical design tools, so the code can intelligently adapt to the
hardware characteristics and UI conventions of any end user.

I appreciate that IntelliSense means a lot to others. We all have to
weigh the pros and cons of different development approaches and settle
on what works best for us.

Jamal
On Mon, 3 May 2010, Homme, James wrote:

Date: Mon, 3 May 2010 15:34:29 -0400
From: "Homme, James" <james.homme@xxxxxxxxxxxx>
Reply-To: programmingblind@xxxxxxxxxxxxx
To: "programmingblind@xxxxxxxxxxxxx" <programmingblind@xxxxxxxxxxxxx>
Subject: RE: Announcing the Homer application framework and Homer.NET
library

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


__________
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

Other related posts: