Wednesday 16 March 2011

The Two Towers: Unity and the Gnome Shell!


In the aftermath of the release of 3.0.1 there has now been time for the dust to settle and I have been surveying the way ahead (does this make me Aragon?). We have achieved a great deal over the last three releases and I think we have done pretty much everything it is possible to do given the number of people involved and our dependence on upstream projects we can do little to influence. Vinux 3.0.1 is probably the most stable and accessible release we have made, in spite of the small number of people who have had problems with lack of sound or having a Mandarin voice variant by default. One of the areas where the most work is needed is with the performance of Orca with Firefox. This is a complex issue and will take a lot of work to sort out. The vast majority of this work lies with the Orca team who are also doing a great job given the small number of (volunteer) developers involved. Another area where Vinux/Linux Accessibility could improve would be the availability of a wider variety of voices, although I think much of this is down to what you are used to rather than which is the best voice - a very subjective issue. Unfortunately these are the least of my worries at the moment because we face an assault on accessibility of epic proportions from two sources in the very near future. In April Ubuntu will switch to the Unity desktop and Gnome will switch to the Gnome Shell with the release of Ubuntu 11.04 (The Nasty Narwhal?) and Gnome 3.0 respectively. Both of these desktops rely heavily on 3D technology and at the moment accessibility seems to be almost non-existent. There has been talk about Ubuntu making the system fall back to Gnome if there was no 3D acceleration but it seems that both Ubuntu and Gnome are now creating special 2D versions of Unity (using QT) and the Gnome Shell. Now although accessibility will improve over time this effectively means that the Gnome 2.x desktop is now dead in the water. Most distros will switch to the Gnome Shell and support and development for the existing desktop will wither away. So from April onwards there will be a major obstacle to the continued development of Vinux. Firstly it is likely that most of the existing buildscripts will have to be completely rewritten to work with Unity and the Gnome Shell (if that is actually possible), people without 3D accelleration may have problems running the lower priority 2D backup versions and as usual accessibility will have been put backwards several years and be playing catch up again - because of changes to the graphical system which have no benefits at all for a visually impaired user. On top of this, whilst the appointment of team coordinators has taken a significant amount of responsibility off my shoulders, we still don't have enough core developers working on the build scripts and it is simply too much work for one person to do, in addition to holding down a full-time job and trying to have a 'normal' family life (whatever that means!).

So we need to come up with a strategy for dealing with these issues. In terms of core developers I can see a solution of sorts. I need to recruit some apprentices so I can teach them the ways of the force, I mean bash scripting and how the whole process works. That way in time the workload of the core development can be shared; either by taking turns to make a release, working on different sections of the build process or even making completely separate versions or flavours of Vinux. So with this in mind I intend to work on a set of tutorials to explain how the buildscripts work and how all the contents of the Vinuxscripts repository fit together to create the final version. Having read this people can then decide whether they are willing and able to become a Padawan and learn the ways of Bash. That is the easy bit. More difficult is which way to go in the future. Do we stick with Ubuntu and see what Unity has to offer? Do we try out the Gnome Shell and see if that is any more accessible than Unity is? Do we try to keep Gnome 2.x on a life support machine for as long as possible while Unity and the Gnome Shell evolve? Do we try out other desktop environments like LXDE and XFCE and try to make them accessible? Do we stick with Ubuntu or switch to Mint, Debian Mint or just pure Debian? Do we switch to a rolling release model or stick with a reinstall every year or two? I have to say, my gut feeling at the moment is to jump to Debian and start investigating XFCE and the possibility of a Debian based rolling release. So I would ask you to have a good think about all of these issues and we will have another Vinux Conference on IRC at the end of the month to try and make some decisions about the direction we go in.

Sunday 13 March 2011

Vinux 3.0.1 Released!


The Vinux 3.0.1 release based on Ubuntu 10.04.2 LTS is now available for download. This combines all of the accessibility of Vinux 3.1 with the stability of Vinux 3.0 as well as a few completely new features. In addition to the existing three screen-readers (Orca, Speakup and YASR) this release also includes Emacspeak 'The Complete Audio Desktop' pre-configured and ready to go out of the box. You can now create audio books from text-based files using our exclusive Audiobook Converter package, browse our new HTML based Vinux Manual to help get you started, install the latest version of Libre Office using an EasyInstall script, and customise your desktop experience with Ubuntu Tweak. It is initially available as a 32bit CD, a 64bit CD, a 32bit DVD version and a 64bit DVD version (which both comes with Libre Office and non-free multimedia codecs pre-installed). The VMWare virtual edition, and a 32bit USB version will be available shortly. An upgrade script has also been released that allows people to upgrade from Vinux 3.0 to 3.0.1:

In order to update run the following commands in a terminal:

git clone git://vinuxscripts.git.sourceforge.net/gitroot/vinuxscripts/vinuxscripts

cd vinuxscripts

sudo make install

sudo buildvinux

This will start the interactive Vinux buildscript which runs in a terminal, it will beep when it expects input from the user. I have tested this script on Vinux 3.0 and it upgraded without any issues, but if you have installed software which I haven't I cannot guarantee that it won't mess that up, so make a backup of everything before you upgrade. I know that the script works, but I am not sure how usable it is at the moment because of the amount of data which will be read out. Most of the questions are straight-forward - when emacspeak is installed you will have to select 'espeak' and then 'none' for hardware synths. When the script has finished running you should restart the computer and try out your shiny new Vinux 3.0.1 - I would like feedback on the usability of the script - I have also uploaded a simplified non-interactive version of the script to the mailing list which just asks for your username and doesn't install emacspeak.

One or two people have found that after the installation of 3.0.1 Orca and Speakup start talking gibberish. In fact it is trying to read English text in Mandarin. We do not know why this has happened, but we suspect that it is to do with a corrupted ISO, CD or a unreliable CD drive. If this happens you can fix Orca by opening the Orca Preferences Manager and selecting another voice. We recommend selecting the English(en) voice if you want the default voice. However, to fix Speakup you will have to run:

sudo rm -f /usr/share/espeak-data/voices/zh

This will delete the Mandarin voice, or try replacing and renaming the 'zh' voice file with your preferred voice from the /usr/share/espeak-data/voices/en/ directory.

As always we do not recommend that users update any packages after installing Vinux unless they have a very good reason to do so. Installing unnecessary updates can break your system and it may be very difficult or impossible to repair if you lose speech without performing a complete re-installation. Although not invulnerable to viruses and hacking, Linux is significantly more secure than Windows and unless you are running a server with open ports and/or installing packages from untrusted third party sources, you are unlikely to have any major security issues (although we obviously can't guarantee this). If you are running a server with open ports then you should install security patches when they are available, and if you really want to try a new version of a specific package then only update that individual package, don't just install all of the available updates. If you do decide to install updates despite this warning then please make a backup of your files and/or installation before doing so.

I will now be having a break from Vinux Development for a few weeks, which will give me time to reflect on how the project is going and in what direction it should take next. Thanks to everyone who has contributed to this release...