[Trainer-talk] Fwd: Announcing the Homer application framework and Homer.NET library

David Andrews dandrews at visi.com
Sun May 2 22:29:47 UTC 2010


>Date: Sun, 2 May 2010 15:18:53 -0400 (EDT)
>From: Jamal Mazrui <empower at smart.net>
>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/





More information about the Trainer-Talk mailing list