Wednesday 15 April 2009

Vinux 1.5 - The Manifesto!


I have now had time to reflect on all of the changes I plan to introduce in Vinux 1.5 and they broadly fall into five categories: Screen-Readers and Speech Synthesis, Fonts, Colours and Layouts, Language and Keyboard Layouts, Help and Guidance and the Remastering Process itself.

Firstly, there will be significant improvements and additions to the screen-reading and speech synthesizers provided by Vinux. I intend to install and configure speech-dispatcher to be the default speech service in conjunction with Orca and Espeak, which should provide a much more responsive screen-reading experience. I will reconfigure YASR to use the Festival speech synthesizer by default, which will provide a much higher quality console based screen-reader in the event of any problems with Orca. I will also be installing both the Emacspeak and LinuxSpeaks text based audio desktops, which use the eflite and espeak speech synthesizers respectively. By providing a choice of four different screen-readers and four speech synthesizers I am hoping that you will always be able to access your computer even if you encounter problems with your preferred screen-reader and voice. In addition I hope to include keystroke commands for starting and/or restarting each of these screen-readers so you should never be left in the lurch!

Secondly, I plan to make changes to the appearance of Vinux to improve its visual accessibility for partially sighted users. This will include increasing the default font and icon size, improving the contrast of the desktop and application windows, increasing the size and layout of the top and bottom panels, changing the desktop background and providing a wider choice of accessibility themes and icons. I will also be installing Firefox accessibility toolbars and plugins which allow the user to tweak the fonts, colours and layouts displayed in their browser on the fly and provide a choice of terminals with large font sizes and high contrast colour schemes. In addition I will be installing xcalib which will allow a user to invert the screen colours and change its contrast and brightness with keystrokes without having to use Orca and/or Compiz. Finally, mousekeys will be enabled by default, which will allow more accurate control over the mouse pointer and I am going to reorganise the main menus so that there are separate sub-menus for purely console based applications.

Thirdly, I am hoping to include support for several European languages and keyboard layouts by default including: Spanish, French, German, Dutch and Flemish. This will help to overcome the additional linguistic barriers many people face when trying to use a distribution that is not in their native language.

Fourthly, I plan to introduce a whole host of help and guidance features that will make peoples transition into Linux that little bit easier. This will include an autorun.inf file and a HTML guide to booting and installing Vinux for people who are still using Windows computers, the addition of bookmarks to lots of useful Linux accessibility related websites and resources in Firefox, Lynx and Netrik; and some audio/video guides to the accessibility features offered by Vinux. I also hope to include a list of useful terminal commands stored in the bash history file, which will allow beginners to access complex commands by pressing the cursor up key, as well as providing a series of simple Zenity GUI interfaces to useful command line applications that require the correct arguments and syntax, which a beginner is unlikely to know. Finally in this section I will be pre-enabling all of the Ubuntu repositories including those which contain restricted packages as well as enabling useful plugins in applications like Gedit etc.

Fifthly, I will be incorporating some applications which are not included for the benefit of the end user at all, but to help facilitate the creation of Vinux itself. These are programs such as AptonCD, Isomaster, gFTP and Gambas2 that are not particularly accessible but I use to create Vinux and/or accessible applications and having them included on the CD/DVD will make my life a lot easier as I will hopefully be able to create a new version of Vinux without having to install a different distribution or lots of extra packages.

Friday 10 April 2009

Did Nostradamus Predict the Release of Vinux 1.5?


No he didn't! But if he had he might have predicted some of the following features for the next version of your favourite accessible open-source operating system: The installation and configuration of Speech-Dispatcher as the default speech system for Orca and Espeak without the loss of multi-channel sound facilities. The addition of LinuxSpeaks and Emacspeak as two alternative x-terminal or purely console based audio desktops for the beginner and advanced user respectively. The reconfiguration of YASR to use the Festival speech synthesizer by default to provide a higher quality emergency backup screen-reader for the x-terminal or the console. The installation of accessibility toolbars and plugins for Firefox which allow the user to tweak the layout, fonts and colours of the internet on the fly. The installation of xcalib and configuration of xbindkeys to provide colour inversion as well as the ability to change the brightness, contrast and RGB colours of the x display without using Orca or Compiz. A larger font and higher contrast theme for the Gnome desktop by default as well as the inclusion of extra accessibility themes and icons. Support for the Spanish, French, German, Dutch and Flemish languages and keyboard layouts out of the box. Mousekeys will be enabled out of the box which will allow a user to control the mouse pointer using the numpad arrow keys. The addition of an autorun.inf file to load a html guide on booting and installing Vinux if placed in a Windows machine. The addition of NVDA, Firefox and a few other windows based open-source applications for Windows users to try out. The enabling of all of the advanced text editing plugins for Gedit by default. If possible the replacement of the default Ubuntu usplash, boot splash and GDM login theme with more accessible alternatives. A choice of gnome-terminal with more accessible colour schemes and larger font sizes. The inclusion of more simple document converter scripts like antiword and pdftotext etc to enable the conversion of proprietary document formats into plain text. The reorganisation of the Vinux menus so that there are separate menus for console based applications instead of integrating them into the existing menus. The creation of zenity dialogue boxes to enable a simple gui interface to terminal scripts that require user input and/or arguments to run. The inclusion of bookmarks for useful Linux/Accessibility websites and services in Firefox, Lynx and Netrik by default. The enabling of all supported Ubuntu repositories including those which contain non-free and/or restricted packages, although none of these will be included on the CD/DVD. A list of useful terminal commands provided by default in the bash history file to make it easier for beginners to start exploring the Linux terminal. An update to StormDragon's latest version of the Orca customisations.py script which makes the time, date, battery and weather information available from Orca. In the very distant future I am also planning to experiment with making Vinux based on Xubuntu with the light but GTK enabled XFCE desktop and Debian Lenny 5.0 to see what advantages or disadvantages can be gained. That's All Folks!

Wednesday 8 April 2009

Speech-Dispatcher Returns from the Dead!


I am very happy to tell you that I have now managed to get speech-dispatcher to work on Vinux without losing the multi-channel sound capabilities. The final peice of the jigsaw puzzle fell into place when I was experimenting with Debian Lenny and managed to get speech-dispatcher working properly. I realised that I hadn't been doing anything wrong at all but I hadn't really understood the difference between speech-dispatcher running in user mode and as a system service. What caused this was an error which seems to have crept into spd-conf and my failure to understand the difference between the two modes. For some reason the spd-conf supplied in the Ubuntu 8.10 repositories set the syntheziser port to 6561 for user mode and 6560 for running as a service, and it should be the other way around. Because I didn't understand the difference between the two modes I had been setting up speech-dispatcher in user mode but then using init.d to start it as a service instead of using the speech-dispatcher -d command. Given these two school boy errors I was never going to get it to work! So for anyone who wants to try this at home here is a step by step guide to getting speech-dispatcher working on Ubuntu 8.10 with multi-channel sound support.

1. Run 'sudo apt-get install speech-dispatcher python-speechd' in a terminal

2. Once installed run 'spd-conf' in the same terminal.

3. Accept all of the default options except type 'pulse' for the sound server and '6560' for the synthesizer port.

4. Speech-dispatcher should then speak if everything is going to plan!

5. Use the 'speech-dispatcher -d' command to start up speech-dispatcher as a daemon'

6. Open the Orca preferences window and select speech-dispatcher as the speech synthesizer and click apply.

7. Orca should now be a lot more snappy and responsive.

8. Finally open the Session Manager from the preferences menu, create a new entry called speech-dispatcher and type 'speech-dispatcher -d' as the command, then reboot and enjoy your new snappier speech!

9. If you want to use espeak with YASR, you can then edit the /etc/yasr/yasr.conf file by commenting out the default Eflite synthesizer and uncomment the speech-dispatcher and corresponding synthesizer port entries.

Tuesday 7 April 2009

Through the Looking Glass with Debian Lenny!


This week I have been experimenting with the latest Debian 5.0 release, code-named Lenny after the talking, walking binoculars in the Pixar animation Toy Story. I began by installing the full desktop version of Lenny onto one of my desktop PC's and found that Orca was not installed by default. So after enabling all of the repositories in the software sources list I downloaded Orca and once configured it ran with no problems. I then installed YASR and Festival but could not get YASR to run with Eflite or Festival, and had no luck getting Orca to use Festival either. No error messages, just silence! Then I got a bit more adventurous and decided to install and configure speech-dispatcher in user mode, something I have not been able to get working using Ubuntu 8.10 without losing multi-channel sound support. And low and behold it worked first time, very responsive speech and multi-channel sound simultaneously! This is probably because Debian Lenny doesn't use PulseAudio like Ubuntu and speech-dispatcher works much better with Alsa. However I couldn't get it to work with Festival of Flite either. Not the end of the world though, if I have Orca, Speech-Dispatcher and Espeak all working nicely out of the box it is less likely that people will want to use YASR or Festival anyway (and I think YASR can be set to use speech-dispatcher as well). So I hope to create an experimental version of Vinux based on Debian 5.0 in the near future and then let members of the Vinux Development Forum have a play with it. It will have most of the same features and setup as the Ubuntu version with the exception of no USB pendrive installer as yet, but with the addition of Speech-Dispatcher out of the box and the Remastersys text based installer.

Sunday 5 April 2009

A Tale of Three Synthesizers and Five Languages!


The next release of Vinux will hopefully support several European languages including Spanish, French, German and Dutch/Flemish and will therefore be called Vinux.eu! The user will be able to choose what language they want to use on the Live CD by entering a short cheatcode at the boot prompt and/or a specific username and password at the login screen. This depends upon whether or not I can let the user choose a language, keyboard layout and Orca voice by entering a cheatcode at the boot prompt or whether I am going to have to create either a different user account for each language or even a different iso image. This is because at the moment, while I can get the display language to change I cannot get the keyboard layout or Orca voice to change via cheatcodes. Although, these can easily be changed via the keyboard and Orca preferences windows after boot the system defaults to English after an install and requires you to change the language and keyboard settings manually again. If I can't resolve this though cheatcodes then I will experiment with creating multiple user accounts, although that might not be possible using the Remastersys 'dist' mode which would mean forcing users to change the password manually after an install! Other new features that I hope to include are the Emacspeak Audio Desktop using the lightweight Eflite speech synthesier for more experienced users, the LinuxSpeaks menu based console screen-reader using the Espeak speech synthesiser for beginners and the reconfiguration of YASR to use the Festival speech synthesizer, thus providing a higher quality console based screen-reading experience.