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

  • From: LU OGBE <oluogbe@xxxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Tue, 4 May 2010 05:31:32 +0100

Hi,

Do you mean it is better to use Eclipse for large projects and building for automated testing?

I am about to start learning C#.net and I am wondering which IDE will be better to learn with. Thanks in advance.

Regards,
LU
----- Original Message ----- From: "black ares" <matematicianu2003@xxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, May 04, 2010 4:20 AM
Subject: Re: Announcing the Homer application framework and Homer.NET library


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: