There have not been many updates on the blog or the development mailing list lately because I have been trying to find solutions (or at least workarounds) for some fundamental problems such as getting Speech-Dispatcher and Alsa to work with multi-channel sounds, getting LinuxSpeaks to integrate into the system without causing any problems and trying to get all of the accessibility features to fit on a 700MB CD without removing too many applications. This has been frustrating enough, but on top of this I had a serious neck injury last week which means I have been unable to spend very much time at a computer. On the other hand I have managed to solve the username/password problem, installed and configured YASR and managed to fit a few more useful console based applications onto the CD. I think I will realistically have to leave Speech-Dispatcher, Speakup and LinuxSpeaks until a later version and just get out a new release with some small but significant improvements rather than be over ambitious and release something with more advanced features that may or may not work. I am obviously more of a tortoise than a hare!
Sunday, 25 January 2009
The Tortoise and the Hare!
There have not been many updates on the blog or the development mailing list lately because I have been trying to find solutions (or at least workarounds) for some fundamental problems such as getting Speech-Dispatcher and Alsa to work with multi-channel sounds, getting LinuxSpeaks to integrate into the system without causing any problems and trying to get all of the accessibility features to fit on a 700MB CD without removing too many applications. This has been frustrating enough, but on top of this I had a serious neck injury last week which means I have been unable to spend very much time at a computer. On the other hand I have managed to solve the username/password problem, installed and configured YASR and managed to fit a few more useful console based applications onto the CD. I think I will realistically have to leave Speech-Dispatcher, Speakup and LinuxSpeaks until a later version and just get out a new release with some small but significant improvements rather than be over ambitious and release something with more advanced features that may or may not work. I am obviously more of a tortoise than a hare!
Monday, 19 January 2009
New Features in Vinux 1.3!
Here is a list of new features I hope to be able to incorporate in the first release under the new Vinux name: The Username and Password entered during the install process will be retained, the USB Creator application will work with the customised live CD by default, the YASR console screen-reader will be installed allowing users to run without a GUI, the LinuxSpeaks complete audio desktop will be available and a whole host of accessible console based applications including lynx, urlview, joe, mc, oleo, mutt, vlock, partimage, alpine, irssi, mpg123 etc...
I am also trying to configure Speech-Dispatcher with Alsa, Emacspeak, the Linux Screen Reader, Speakup, Screader, Festival and as many other accessibility applications as I can find, but unfortunately I have not been able to get these working satisfactorily yet with Intrepid!
The cost of including these extra accessibility packages is that I have to exclude some standard packages in order to fit them on the CD. I have already stripped Ubuntu down about as far as I can without causing any significant problems, but Open Office is now the only thing left I can safely remove! So the choice is this - do I remove everything I can and provide a bare bones system with all of the accessibility packages ( I suppose I could include a script to reinstall everything I have removed once installed) or do I leave Ubuntu as it is and just add on all of the accessibility applications creating a large iso (possibly up to 1.4Gb) that would have to be burned onto a DVD. This is a problem I am still wrestling with, I may well end up making two different versions one for CD and one for DVD!
Thursday, 8 January 2009
Performance v Functionality!
I have spent the last week unsuccessfully trying to replace PulseAudio and Gnome Speech with ALSA and Speech-Dispatcher. I have been able to get Speech Dispatcher running with ALSA and this does significantly improve the responsiveness of Orca. However, once I enable Speech Dispatcher I have been unable to run any other applications which produce audio output. This is in all probability because I have not configured Speech Dispatcher properly, but I have followed all of the guides I can find online as well as receiving advice from members of the Speech Dispatcher mailing list to no avail. Speech Dispatcher offers many advanced features: It is able to use OSS, ALSA and PulseAudio as well as being able to run as a system service or on an individual user basis. However the fact that it offers so much functionality means it is not easy to configure. I hope that I will be able to resolve this problem but if not I face a tricky decision. Do I install ALSA and Speech Dispatcher and sacrifice multi-channel sound functionality or do I stick with PulseAudio and Gnome Speech and settle for poorer performance?
To be honest I don't think the responsiveness of Orca using PulseAudio is that bad on reasonably modern hardware and adding yourself to the PulseAudio realtime group can improve this further. Hopefully in the long run the Ubuntu, Gnome, PulseAudio and/or Orca will resolve these issues and replacing PulseAudio will be unnecessary. In the meantime if I am unable to resolve the issue than I could install and configure Speech Dispatcher but not enable it by default. This way beginners would have fully functional speech and multi-channel sound, while more advanced users could enable Speech Dispatcher and configure it themselves. I am also intending to install and configure YASR, a console based screen-reader and LinuxSpeaks, a complete console based audio desktop in the next version of Vinux.
Wednesday, 31 December 2008
To Braille or not to Braille!
I forgot to explain how to enable braille display support when I wrote the original 'How to Roll Your Own Vinux'. For some reason brltty is not enabled by default in Ubuntu 8.10 and therefore has to be manually enabled and configured. Firstly you have to open the /etc/default/brltty file by typing 'sudo gedit /etc/default/brltty' into a terminal. Then find the line which reads 'RUN_BRLTTY=no' and change it to 'RUN_BRLTTY=yes' and save the changes. This will add brltty to the list of applications which run when Vinux starts. Secondly you have to open the /etc/brltty.conf file by typing 'sudo gedit /etc/brltty.conf' into a terminal and uncomment the relevant configuration settings by deleting the '#' at the beginning of the lines. The settings I configured were: 'braille-driver auto # autodetect', 'text-table en_UK # English (United Kingdom)' and 'contraction-table en-uebc-g2 # Grade 2 Unified English Braille Code'. Which enables braille display autoprobing at boot with English six-dot contracted Grade 2 braille output once Orca is running. Thanks to Osvaldo La Rosa for suggesting this modification and providing simple instructions on how to do it!
Does size really matter?
One of the key considerations in making a distribution is the final target size of the ISO. Most distributions come in at around the 700Mb mark, but some are under 100Mb and others over 4GB! I would prefer to keep the ISO image under 700Mb so that it can fit on a CD rather than a DVD. There are many reasons for this, including upload and download times as well as bandwidth and storage limitations etc. The price of keeping the distribution on a CD is that it won't be feasible to provide the full range of standard applications or updates etc. A Vinux CD could realistically provide all of the accessibility applications pre-configured out of the box, but the user would then have to download any other applications they needed themselves. The alternative would be to provide a larger DVD edition which would provide a standard range of applications and fully updated packages alongside all of the accessibility applications. Maybe there is a genuine argument for producing both versions? The other dilemma that developers have to face relates to the inclusion of proprietary media codecs and hardware drivers etc. Again most distributions do not provide these by default to avoid the threat of litigation, although it is relatively easy to install these after installation. On the other hand, several popular distributions including Linux Mint and Sabayon do provide these by default and this makes life very easy for a beginner who would find it very frustrating if their new operating system couldn't play their own legally purchased music files and DVD's etc. This maybe because they are based in Europe rather than the USA, where software patents are far harder to enforce. My instinct would be to err on the side of caution and merely provide guidance on how to install these rather than open up myself to the possibility of any law suits etc., no matter how unlikely these are. Again maybe there is a need for both approaches, letting the user decide which version to download according to the law and regulations in their country of residence. However, the priority for now will definitely be the production of a CD sized ISO with no proprietary software, as it would be a relatively simple process to add in extra applications and codecs etc after the core accessibility functionality is realised.
Back to the Future!
The New Year approaches and I really need to start working on the first official release of Vinux. The last few weeks have been quite frustrating as I have had to spend most of my free time setting up a new Vinux website, mailing list and development blog in preparation for the formal announcement of the re-branding of Vibuntu to Vinux etc. This has also given me the opportunity to reflect on what has been achieved so far and what the priorities are for the next release. I am quite pleased with the initial response to Vinux, which has been largely positive. However I was a bit surprised and discouraged by criticisms made by some subscribers suggesting that there was no real need for such a distribution, that Linux was already accessible anyway and posting updates on the three key forums (Ubuntu, Gnome and Orca) was tantamount to spamming! This aside, the key tasks in the order of priority as I see them, are: 1. To allow users to choose their preferred language and keyboard layout at boot, and their own username and password during the installation process. 2. To improve the responsiveness of Orca by replacing PulseAudio with Alsa and installing Speech Dispatcher (this may also provide a more elegant solution to the problem Orca has with administration applications). 3. Incorporating alternative accessibility solutions such as YASR, LinuxSpeaks and Speakup etc., (although this may require the replacement of Open Office with AbiWord and Gnumeric because of space constraints). 4. Replacement of Ubuntu logos and splash-screens etc., with original Vinux artwork or at the very least generic artwork which will not infringe on Canonical's trademarks etc.
Tuesday, 23 December 2008
The Good, the Bad and the Ugly!
The Good: Vinux currently logs the user in automatically, starts the Orca screen-reader, autoprobes for USB Braille displays and allows the user to enable full-screen magnification with a simple keystroke. The Orca screen-reader now works out of the box with all of the applications which have to be run with root permissions provided they are launched from the Administration menu or the terminal. The default theme and desktop background provide better contrast and larger bolder fonts than the Ubuntu originals and it can now be installed and run from a USB pendrive with persistent storage.
The Bad: Because Vinux is currently based on Ubuntu 8.10 it comes with the PulseAudio sound server and Gnome Speech services by default, which can have a detrimental effect on the responsiveness and performance of the Orca screen-reader compared to that offered by Alsa and Speech-Dispatcher. The Orca 2D magnifier can be jerky and unresponsive, the Compiz 3D Advanced Desktop Zoom does not provide caret tracking and currently neither of these have high quality font smoothing which is essential at higher magnification settings.
The Ugly: Because of the way Remastersys works, in order to retain the required accessibility settings on the live CD, it is currently necessary to create a pre-configured user account which is retained even after it has been installed to a hard drive. This means that the user cannot choose their preferred language and keyboard layout at boot, and the default username and password are retained no matter what they type in, posing a potential security risk even though these can be changed easily enough after the installation process is finished.
Vinux Is Not Ubuntu but gnu/linuX!
Why did we pick the name Vinux, what does it stand for and what is its relationship to Ubuntu? Well, originally it was going to be called Vibuntu, as it was based on Ubuntu 8.10 and as it was aimed at VI users Vibuntu seemed the obvious logical choice. However, after consulting Canonical's Trademark Team (the company behind Ubuntu) we were advised that they did not approve of our use of the Vibuntu name on the grounds that it might give users the false impression that it was produced by or endorsed by Canonical, and that granting this permission would also weaken their claim to the 'buntu' trademark. Although we were obviously disappointed with this decision, we completely understand their reasons for making it and will of course respect their wishes. They did generously say that we could call it the Ubuntu VI Remix if we liked, because it remained close enough to the original Ubuntu in terms of content and didn't include any packages that were restricted or from third party repositories. However, after some soul-searching we decided to go with Vinux, which had been a strong contender for the title from the beginning. This has the advantage of allowing us to do whatever we want with the distribution without having to try to stay within the boundaries of the Ubuntu Remix remit. Vinux may ultimately be a more approriate name, as after all it is Linux for the VI! But what does Vinux stand for? Well Osvaldo came up with a suitably recursive definition as is the honoured tradition in open-source society, namely: Vinux Is Not Ubuntu but gnu/linuX!
Vinux Logos and Wallpaper!
I have now created a set of original Vinux Logos and Wallpapers which will be used in the next release of Vinux. These are released under the GNU Free Documentation Licence and the GPL respectively and are available for viewing and download from the Vinux Development Group homepage at http://groups.google.com/group/vinux-development/. Some people, might quite reasonably be puzzled as to why I would bother making graphical logos and wallpaper for a distribution that is primarily aimed at visually impaired users. Isn't this at best a misguided waste of time, or worse still an insult to the visually impaired? I would argue not, because the vast majority of people who are registered blind do have some vision and are able to see images and read text if it is big enough and has high enough constrast; even those that have little or no effective vision still understandably want the things they use to look cool to their sighted friends and relatives. With this in mind I have designed what I think to be an appropriate, professional looking set of logos for Vinux and an original collection of large high contrast wallpapers. The logo is based on a modified version of an image called 'The Eye of Horus' by Jeff Dahl published at http://en.wikipedia.org/wiki/File:Eye_of_Horus_bw.svg. I think this instantly recognisable ancient Eygptian symbol clearly represents the primary purpose of Vinux which is; to provide a way for the blind and partially sighted users to participate fully in the digital revolution and all of the benefits this bestows. I created the logos using the GIMP. I began by lowering the eyebrow, changing the colour of the iris to black and then adding a pupil using the Supernova filter. I then placed this image on three different types of stone tablet (granite, white marble and pink marble) in three different shapes (tablet, slab and icon) and three different sizes (large, medium and small).
The wallpapers were also created using the GIMP (it really is an amazing tool). In each case I began by creating a 1024 x 768 image with a black background. and then drew a few coloured lines (pretty much at random). I then applied a Gaussian Blur from the Filters menu and twiddled the controls on the Lens Distortion effect until I had something I liked the look of. After all, what could be more appropriate for a distribution aimed at the visually impaired than images produced by blurring and distortion! This process only took a few seconds to do, so I created about 30 images very quickly and then picked out the four I liked best. I then applied the Make Seamless filter to the remaining images (which makes the wallpaper tile-able across wide-screen and multi-monitor displays) and this produced six more interesting images. Although I will probably use one of the dark low contrast wallpapers by default, I hope that the high contrast wallpapers will allows users to have an original, eye-catching desktop that will be the envy of their sighted friends.
Sunday, 21 December 2008
Vinux on a USB Pendrive!
Initially I had been installing Vinux to a USB pendrive using Unetbootin as the Ubuntu USB Installer would not recognise the Vinux Live CD. This worked well but the Unetbootin gui does not support Orca as it is uses QT rather than GTK, it does not run from a terminal, and it does not support persistent storage. Upon investigation I discovered that the Ubuntu USB Installer was looking for a hidden folder on the original Ubuntu 8.10 Live CD called .disk which contained three files: casper-uuid-generic, info and release_note_url. As long as this is in the root directory of the CD the Ubuntu USB Installer works, allowing you to install Vinux onto a USB pendrive with a persistant storage file, the size of which can be specified during installation. I will incorporate this file into the next version of Vinux, but in the meantime if you want to try this yourself here is a quick guide.
1. Place the Vinux.iso image in your home folder (e.g. /home/vinux) along with the hidden .disk file from the original Ubuntu 8.10 Live CD. Then open a terminal.
2. Create a mount point for the Vinux CD iso image by typing:
2. Create a mount point for the Vinux CD iso image by typing:
- mkdir /home/vinux/CD-iso
- sudo mount -o loop /home/vinux/Vinux.iso /home/vinux/CD-iso
- cp -r /home/vinux/CD-iso /home/vinux/USB-iso
- sudo cp -r /home/vinux/.disk /home/vinux/USB-iso
- mkisofs -r -o /home/vinux/Vinux-USB.iso /home/vinux/USB-iso
- sudo umount /home/vinux/CD-iso
- rmdir /home/vinux/CD-iso
- sudo rm -rf /home/vinux/USB-iso
Roll your own Vinux!
This is a very rough guide as to how I created the very first version of Vinux from a default install of Ubuntu 8.10 (Intrepid Ibex).
1. Change the desktop theme, background, font size and style etc., to fit your needs or preferences and add, remove or rearrange any desktop icons or panel applets as required.
2. Install the 3D Settings Manager by typing 'sudo apt-get install compizconfig-settings-manager' into a terminal, enable Compiz by typing 'compiz --replace' , modify the Compiz settings, create appropriate key-bindings and then disable Compiz by typing 'metacity --replace' .
3. Start Assistive Technologies and then set appropriate speech and magnification settings in the Orca Preferences window.
4. Create an .orbitrc file for the root account by typing 'sudo su - root' then the following four lines exactly as they are written (without the bullet points) into a terminal one at a time:
- cat> ~/.orbitrc << EOF
- ORBIIOPIPv4=1
- ORBIIOPUNIX=0
- EOF
5. Enable the 'Disable gksu keyboard grab' option in the General page of the Orca Preferences window.
6. Type 'sudo visudo' into a terminal, find the line which reads 'Defaults env_reset' and then add the line 'Defaults env_keep+="GTK_MODULES"' underneath it. Press Ctrl+X to exit, Y to save changes and Enter to finish.
7. Modify the launching of any application on the Administration menu that will not run with Orca by opening the Main Menu entry on the Preferences menu, find the launcher you want to modify, open its Properties, change it to an 'Application in Terminal' and add the word 'sudo' before the default Command.
8. Add 'deb http://www.remastersys.klikit-linux.com/repository remastersys/' to your /etc/apt/sources.list and then install remastersys by typing 'sudo apt-get install remastersys' into a terminal.
9. Remove any applications you do not require by typing 'sudo apt-get remove name-of-application' into a terminal to reduce the size of the iso image.
10. Type 'sudo remastersys backup' into a terminal and after about 20-30 minutes or so your new live CD image called Custom_Live_CD.iso will be waiting for you in the /home/remastersys/remastersys directory.
6. Type 'sudo visudo' into a terminal, find the line which reads 'Defaults env_reset' and then add the line 'Defaults env_keep+="GTK_MODULES"' underneath it. Press Ctrl+X to exit, Y to save changes and Enter to finish.
7. Modify the launching of any application on the Administration menu that will not run with Orca by opening the Main Menu entry on the Preferences menu, find the launcher you want to modify, open its Properties, change it to an 'Application in Terminal' and add the word 'sudo' before the default Command.
8. Add 'deb http://www.remastersys.klikit-linux.com/repository remastersys/' to your /etc/apt/sources.list and then install remastersys by typing 'sudo apt-get install remastersys' into a terminal.
9. Remove any applications you do not require by typing 'sudo apt-get remove name-of-application' into a terminal to reduce the size of the iso image.
10. Type 'sudo remastersys backup' into a terminal and after about 20-30 minutes or so your new live CD image called Custom_Live_CD.iso will be waiting for you in the /home/remastersys/remastersys directory.
Isn't Linux already Accessible?
Since releasing Vinux it has been pointed out to me that there are already some Linux distributions which provide accessibility and therefore I should not have claimed that Vinux was the first Linux distribution to provide full accessibility for blind and partially sighted users out of the box.
There are indeed distributions that provide accessibility features and some of these are designed specifically for visually impaired users. However I feel that the mainstream distributions are simply not accessible enough, and the specialist distributions often opt for a console based solution and are thus inaccessible to the sighted. Take for example the latest Ubuntu 8.10 release 'Intrepid Ibex' upon which Vinux is currently based. It does provide some accessibility features at boot, but you have to press enter to choose a language, then F5 and cursor down three times to enable speech support at boot, something that a beginner is unlikely to know or work out without sighted support. Even when the screen-reader is enabled it will not allow a user to run applications with root permissions without some terminal commands and/or significant modifications to the system. Again something a beginner is unlikely to be capable of doing independently.
While there are some specialist distributions and software packages aimed specifically at the VI community, they tend to be console based solutions which are inaccessible to sighted users unfamiliar with terminal commands etc. Even distributions that do offer a gui, often use high contrast colours, large fonts and icons which can distort the layout of windows or displace parts of them off the display altogether. Again this means that sighted users would find it difficult and disturbing to use. However, many VI users work with or alongside sighted users and having a desktop which sighted users are unlikely to want to use for any period of time only serves to perpetuate the alienation of VI users.
In conclusion, Vinux may not be the first distribution to be aimed specifically at VI users, or the first distribution to offer accessibility support. But I maintain that it is the first Linux distribution I know of that provides speech, magnification and braille support out of the box without any configuration or previous experience of Linux, whilst still providing an attractive visual interface for sighted users. I fully realise that 99% of the credit for this really lies with the developers of Gnome, Orca, Compiz and Ubuntu etc. All I have done is to make a number of small but significant changes that Canonical could have made to Ubuntu quite easily if they had wanted to, but they didn't and neither has anyone else yet to the best of my knowledge...
Subscribe to:
Posts (Atom)