1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Sodbeans/ReleaseNotes

Sodbeans Release Notes

Sodbeans 2.5 - January 30, 2012

  • Programming Language Enhancements
    • The Hop programming language has been pulled out of Sodbeans as a standalone tool. The name of the language has been changed to Quorum. The details can be found on the Quorum trac page.
    • Full integration with Quorum into Sodbeans, including a significant alteration of previous Hop code.
    • Build, Clean and Build, and Clean in Sodbeans now both compile Quorum code and output traditional Java bytecode into the project folder.
    • Quorum now has a full compiler plugin system, allowing users to extend the language using either Java or C++ (through JNI).
    • Removed the "repeat from" syntax from Quorum.
    • The new Quorum bytecode system now allows any program to be run on a standard java virtual machine outside of Sodbeans. The code produced by Quorum is orders of magnitude faster than previous interpreted mode, although this mode is still available and is used for auditory debugging.
    • The quorum compiler in Sodbeans is now an event-based multi-threaded architecture, which should speed up the user interface a bit.
    • Created a new command line client for Quorum, for users that would like to use it as a general purpose programming language outside of Sodbeans, using the editor of their choice.
  • General Sodbeans Enhancements
    • Significantly overhauled the auditory cues in Sodbeans. We have conducted an analysis of multiple screen readers and platforms to modify what Sodbeans' speaks. There is still more work to do here, but we think it is an improvement and welcome feedback.
    • Significantly improved how Sodbeans interacts with the screen reader JAWS and NVDA. By default, Sodbeans (optionally) now asks various screen readers to sleep when Sodbeans is open.
    • Added in a new Magnification system for visually impaired users. Currently, this feature is only implemented for Windows Vista and 7 (32 or 64-bit).
    • The editor in Sodbeans is now faster, especially under the condition that JAWS and the Java Access Bridge are both installed.
    • Conducted an optimization pass of some components in Sodbeans.
    • Revamped the Sodbeans 2.0 tutorial system. This included a number of minor fixes, some new tutorials, and improvements to navigation and the user interface.
    • Upgraded the Sodbeans text-to-speech engine to Phonemic 1.2, which we released a few weeks ago. This new system fixes a number of minor bugs, optimizes the speech architecture, and adds support for the PowerPC architecture.
    • Starting in this version, we are releasing an "all" version of Sodbeans, which includes all languages currently supported by NetBeans. We plan to put this version approximately 1-2 weeks after the initial Sodbeans release.
  • New Sodbeans Windows Installer
    • The Sodbeans installer has been significantly revised on Windows, now with a new user interface. Installation for Windows users has always been more complex than other OS's for Sodbeans, for a number of complicated reasons, but we think this new version will be a step forward. As always, we only have so many systems to test on in the lab, so users are welcome to send feedback with their exact system configuration if they experience problems.
    • The installer now inserts scripts into JAWS and NVDA, if they exist on the system. These scripts disable screen reading for Sodbeans and enable self voicing by default. We highly recommend using this new default, as we think it significantly improves the experience, but users that do not wish to do so can either remove the scripts manually or deselect the option in the installer.
    • Sodbeans now requires .NET, the Visual Studio 2010 Redistributable, and, as usual, the Java JDK. If a user does not have the appropriate dependencies, the installer now attempts to install them. Note that users which prefer versions other than those bundled (.NET 4.0, JDK 1.60 update 30). For example, while we have bundled JDK 6 for this release, we have conducted some testing with JDK 7, which also seems to work fine.
    • On Windows, the installer now automatically tries to detect various system properties and rewrite the sodbeans.conf file in the /etc folder. We hope that this will resolve some of the issues users have reported regarding Sodbeans not booting properly. As there are a tremendous variety of systems out there, we highly recommend that users still having problems should file a bug report on Trac.
  • Sodbeans tutorials and curriculum
    • We are approximately 5 chapters into a new book on Quorum and Sodbeans. These materials are currently only available to partner schools on the project, but we hope that will provide significantly more documentation and information for new users on how to use the tools, once it is ultimately released. We are including this kind of info into the release notes largely to indicate the kind of thing we are working on.
    • Created a significant number of tutorials on using Quorum and Sodbeans. These materials are available in wiki form on the Quorum site and are being continually built as the project progresses.

Sodbeans 2.0 - July 13, 2011

  • Hop Language Enhancements
    • Added Errors, called exceptions in other languages. These errors now unify the error architecture in Sodbeans, making it easier to give good auditory cues to blind users from the omniscient debugger when something goes wrong at runtime. In other words, Sodbeans will no longer say unhelpful messages like, "Sodbeans has thrown an error." Now, Sodbeans can detect what went wrong and tell you what the problem is in plain English.
    • Added constructors. Since studies show that constructors with parameters are a net loss in terms of usability, Hop only allows for default constructors. Constructors, for any class, are optional.
    • A complete rewrite of the external call system. Creating native libraries is now much easier. The old external call system has been removed and all external calls have been rewritten as "plugins" in Hop.
    • Added the "is a" keyword, allowing you to detect whether a given object is of a particular class at runtime.
    • Added a new Hop Standard Library, with many common features, like Lists, Stacks, Queues, and other common structures.
    • Changed some keywords, according to the latest empirical studies internal to our lab. The keyword "null," for example, is now called "undefined" and some of the loop/if statement syntax is being changed slightly (e.g., removed the "with counter" syntax).
    • Added a new "repeat until" construct.
    • Added an automatic documentation generation system.
  • Text-to-speech Upgrade
    • The text-to-speech system has been largely rewritten. The design is now much cleaner and more flexible, which has been necessary as Sodbeans has increased in complexity.
    • The new text-to-speech engine, post release, is available as a separate Jar file, called phonemic (see sourceforge.net), and can now be used from any Java application.
    • Now includes the ability to distinguish between capital and lowercase letters using pitch changes on capital letters (Microsoft SAPI, Mac OS X and ORCA only).
    • Now includes support for Windows XP 32, Vista 32 and 64, Windows 7 32 and 64, Mac OS X (1.6 or above), Ubuntu and Vinux. The engine may work with other linux distributions.
    • Now compatible with the the following text-to-speech engines or screen readers: Microsoft SAPI, Mac OS X Voice Over (mostly), JAWS, NVDA, and ORCA.
    • Added the ability to change the speed and pitch of text-to-speech in a cross-platform way. Some implementations (e.g., JAWS), do not support pitch changes through their APIs, and as such, these calls are ignored when used under these systems.
    • Added the ability to change the speech engine in use at runtime (e.g., from SAPI to JAWS).
    • Added a new priority queue system. This new system is significantly faster, cleaner, and generally works better for sending complex sets of prioritized speech.
  • Sodbeans tutorial System
    • Added a new tutorial system to Sodbeans, which gives auditory tutorials for much of Sodbeans and the Hop programming language.
    • Added tutorials for navigating Sodbeans, creating projects, and other Sodbeans related issues (e.g., common hotkeys).
    • Added a number of tutorials for the Hop programming language, including most major language features.
    • Added a number of tutorials for the new Hop standard library, including Stacks, Queues, File input/output, and other features.
    • Added a new welcome screen for Sodbeans with the tutorial embedded. This tutorial starts on the first bootup, but can be turned off for subsequent runs, if desired, by selecting the appropriate checkbox on the form.
  • General Accessibility
    • Replaced the windows installer with one using NSIS. This new installer is accessible without the Java access bridge.
    • Added a quick reference sheet for finding common hotkeys.
    • Added a multimedia code completion system
    • Added an auditory brace matching system into the editor. For technical reasons, this only works with Hop, but not the other NetBeans supported languages.
    • Added a series of hotkeys for controlling the text-to-speech engine, like volume, speech, pitch, engine, and voices.
    • Added a new preferences pane for controlling the text-to-speech engine.
    • Fixed a number of issues with screen reading various user interface components.
    • Added the beginning of a prosodic cue infrastructure. In the current release, capital letters now "Yell," making them more obvious.
    • Made the text-to-speech engine (phonemic) free and open source on a number of platforms.
    • Added accessibility support on Ubuntu and Vinux.
    • Significantly improved the way windows are read when they are opened or closed. This seemingly minor enhancement, we think, makes it much more obvious as to how you can navigate around Sodbeans.
    • Added a clicking sound when buttons are selected, making the selections more obvious.
    • Added a number of auditory cues that were missing, like one that fires when Sodbeans is minimized.
    • Significantly improved the way a number of components are read by the Sodbeans screen reader, especially tables, sliders, spinners, and toggle buttons.
    • Added the beginning of a set of fixes for a number of long-standing accessibility bugs in NetBeans, especially with issues involving popups that do not receive focus events, like the CTRL+TAB key for changing between tabs. Not all problems are fixed, but we have made major progress and think a complete solution is ultimately possible.
  • Hop Standard Library
    • Hop now has the beginning of a standard library. We are hoping that this set of libraries will expand over time and we would encourage community contributions.
    • Now includes a series of basic mathematical functions (e.g., absolute value, sine).
    • Now includes most common data structures (e.g., arrays, lists, stacks, queues).
    • Now includes basic file input and output.
    • Now includes some, but not all, of the more advanced features in the text-to-speech engine.
  • Miscellaneous changes and bug fixes
    • NetBeans 7.0 compatible.
    • Fixed a major bug in the lexical scoping system.
    • Fixed a number of issues in the Hop debugger architecture that was added in Sodbeans 1.5.
    • Fixed a number of critical bugs in the type/type erasure systems.
    • Fixed a number of problems with the Sodbeans output windows.
    • Fixed a number of minor problems with reading (text-to-speech) various windows in the NetBeans platform.
    • Added hundreds of new unit tests for Hop and the standard library.
    • Fixed many more bugs.

Sodbeans 1.5, December 18th, 2010

  • Hop Language Enhancements
    • Hop now includes support for Multiple Inheritance.
    • A new Array syntax and architecture has been developed using Hop Native libraries.
    • Added new external library calls into the language.
    • Added auto-boxing for converting from primitive types to corresponding objects automatically.
    • Templating/Generics has been added into Hop. For example, to create an array with integers, you now say Array<integer> a
    • Added the Hop equivalent of public and private, including abstract functions. Abstract/virtual functions are called blueprint actions.
    • Added approximately 260 new unit tests for the compiler.
  • New Debugger Architecture
    • Substantial optimization: 50,000 percent speed increase in informal internal tests.
    • Added Breakpoints
    • Added a new, much faster, local variable window.
    • Speech calls made in the debugger continue to be non-blocking, but commands issued while a program is running are now blocking by default. Non-blocking calls can be made by the System.Speech class.
  • Text-to-speech enhancements
    • Added a reinitialize function, which asks the system to reevaluate what text to speech engine it uses.
    • Added in the ability to create blocking text-to-speech calls. Unfortunately, these do not work with JAWS or NVDA, as these APIs do not appear to support such calls.
    • Added a new C++ Test utility for text-to-speech, which will hopefully make it easier to debug problems on various platforms.
    • Added a new Text-to-Speech engine for Mac OS X. This new system is faster and fixes a number of bugs.
    • Text-to-speech can now be muted on any platform by pressing the left control key.
    • Added in the ability to repeat the most recent speech.
    • Added in the ability to copy the most recent speech to the clipboard.
    • Text-to-speech is now supported on Windows 7 (32 and 64), Vista (32 and 64), and XP (32 only), and Mac OS X. Virtual Box installations for Windows (7, Vista, or XP 64-bit), are not currently supported.
  • Editor Enhancements
    • Visual editor features are now aurally displayed to blind users. This includes red compiler underlines, yellow lightbulbs, breakpoint annotations, program counter annotations and other features. This feature works in any NetBeans supported programming language (e.g., Java, C++, Ruby, Hop).
  • Bug Fixes – Over 260
    • The open and save dialog now has appropriate tags for all buttons, both in Sodbeans and NetBeans (Thanks Oracle!), and should now read correctly in a screen reader.
    • Fixed a number of bugs with the debugger controls, which were inconsistently jumping to the wrong place, especially Step Over.
    • Local variable window calls are now queried on request, not queued up, significantly increasing speed and fixing some bugs.
    • Fixed an issue with the compiler error window that was causing errors to duplicate and sometimes disappear.
    • Fixed a series of bugs with text-to-speech on various platforms, especially Windows XP (Thanks Jude!)
    • Fixed a major bug causing Sodbeans users to only be able to build and debug hop projects.
    • Fixed a number of problems causing the compiler to throw exceptions to the user under weird conditions.
    • Fixed a bug causing methods named Main to not accept parameters.
    • Fixed a bug in the debugger causing null pointers to show up as #-1 in the debugger.
    • Fixed several bugs causing the debugger controls to magically disappear.
    • Fixed a number of bugs with returning variables from functions.
    • Fixed a number of minor compiler bugs.

Sodbeans 1.0, July 9th, 2010

This is the first official release of Sodbeans. Major features include

  • Support for the Hop programming language, a new, object-oriented programming language designed in empirical studies on humans at Southern Illinois University Edwardsville, Central Washington University, and Washington State University.
  • A talking debugger that executes code forward and in reverse (the Hop Omniscient Debugger)
  • Hop file Navigator
  • Hop language documentation (wiki only)
  • Hop projects and File types supported within NetBeans
  • External library support to connect Hop to Java (similar to the Java Native Interface, but for Hop)
  • Sodbeans is built on Sappy 1.0 and NetBeans 6.9. As such, it has the same accessibility features available in Sappy 1.0.