Skip to main content

The Talk of Creatures

Posted by editor on April 13, 2006 at 7:59 AM PDT


Giving Java a voice

For a while, I've wanted to run an article on assistive technologies, somethign that is arguably more acknowledged than understood. I've heard from some people over the years with a keen awareness of the issue and a need for more information, often those who are developing for government and are required (by contract or law) to ensure that their application is accessible by the blind, the deaf, etc. Accessibility is built into Swing, but few developers really do anything with it.

These needs kicked off Jeff Friesen's development of a voice-based technolgy that he writes about in today's Feature Article, Vocal Java:

Several years back, I configured a blind gentleman's Microsoft-Windows-based computer to vocally identify the window under the mouse pointer. As he moved the pointer around the screen, the computer spoke the name of the underlying window. I have never forgotten how beneficial that speaking computer was to that gentleman's life.

My earlier work on configuring a Windows-based computer to speak inspired me to create an equivalent assistive technology for use in Java contexts. This technology transparently helps blind users interact with Swing-based GUIs. It also can be used with AWT-based GUIs, provided that those GUIs are made accessible to the technology.

Jeff's article introduces the Java Speech API and then uses a free, all-Java implementation called FreeTTS to provide the needed text-to-speech functionality.

In a sense, this article is a two-fer: it's an introduction both to Java speech technologies and to the ideas and workings of the assistive technologies built into Swing.


James Gosling has a bunch of Bits and pieces in today's Weblogs, mostly related to JavaOne preparation: "We did a run-through of candidate keynote demos last week. They're looking pretty sweet. The SwingLabs folks did a particularly stunning job."

In
Constraint-Based Services with RPC, Jacob Hookom offers
"a slightly different perspective on procedural RPC and it's possible role with B2B and thin-client applications."

Masood Mortazavi writes
More on Java DB:
"Currently, a global Sun engineering team of database experts is actively participating in the Derby community and working to incorporate other useful features in Derby: SUR and JDBC 4."


In Projects and
Communities
,
the NetBeans plugin Copy and Paste History Module has graduated from the Java Tools Community incubator. The project maintains a history cache for Copy actions. "This history cache can be accessed by the user, who can select the appropriate String which will be pasted into the selected editor." It features an adjustable cache size, and be accessed via toolbar, menu, or keyboard shortcut.

Frank Sommers talks up high-level Swing in Spring Rich-Client Platform Release 0.1: "Until recently, Swing applications lacked the high-level abstractions and frameworks that have long eased the development of their server-side cousins. There are now at least three Swing frameworks in development. One of them, the Spring Rich-Client Platform, reached a 0.1 release milestone."


In Also in
Java Today
,
Operations Support Systems (OSS) enable telecommunications companies to manage, monitor and control telecommunications networks. Billing, customer care systems, directory services, inventories, network elements and network management are all Operational Support Systems. Service management considerations include handling new customers and service activation with subsequent service assurance. Service management is always looking to minimize the costs of introducing new services and of changing existing ones. The article Bootstrap Interfaces Definition by Leveraging OSS Common JSR Design and Shared Entities provides users with guidelines about how to extend the OSS Common API which was developed through the Java Community Process as JSR-144.

ClientJava.com has collected a series of posts on SwingX's "painter" feature in the omnibus post Swing and SWT Painters Roundup, which begins with Romain Guy's weblog SwingX Painters Demo: "Richard Bair recently introduced painters in SwingX, something we have been considering for Swing as well. A painter can be seen as a delegate you can plug into a component to change its appearance. As of today, you can call JXPanel.setBackgroundPainter() to customize the background of any instance of JXPanel". Romain's later posts build further on the idea, and a post from the From Thornapple Trail blog brings the painters into the SWT/Draw2D world.


In today's Forums,
sunyi asks
What if I want to port my JAXB 1.0.x application to JAXB 2.0?
I have recompiled my schema with the newer JAXB 2.0 xjc. But modifying the application code to work with the new bindings is really a confusing thing, since I didn't find any Guide or Docs about the changing points between JAXB 1.0.x and JAXB 2.0. How can we get some useful Docs about the modifications in detail?

rbair gets to the root of build process problems in
Re: swinglabs-demos no longer builds out of the box on Mac:
"The main problem here is that: * Netbeans makes it easier to manage our build files because it does it for us behind the scenes. * Netbeans makes it easier for us to hose our build files because it does it for us behind the scenes. These sorts of problems only creep up if somebody commits the build files (I don't consider failing tests a major problem -- you can always compile around them). We could have a rule that would in effect be 'Thou shalt not commit build files unless they have been tested on the command line'."


In today's java.net
News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using our
news submission
form
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.


Current and upcoming Java
Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
site.


Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Giving Java a voice