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.