Tuesday, August 11, 2009

Some programmers shoot us all in the foot

I really like Linux, and use it whenever I can for work and home systems. However, every so often something happens which makes you wonder which side the programmers of Linux software are on.

The latest problem is to do with Remote Desktop in Ubuntu 9.04 - Jaunty Jackalope. I've been using Remote Desktop quite happily for a few years on earlier versions of Ubuntu, but now I've upgraded, it seems to have a problem - the "Advanced" tab is missing. This means I can't choose the port number, along with various other settings.

A quick Google later, I discover this gem:
And yes, I've removed the 'advanced' tab. 'Advanced' users know to how use gconf-editor to tunning applications. The advanced tab was a mistake I made. Blame me.

What? "'Advanced' users know to how use gconf-editor"? I like to consider myself an advanced user, but I've only used gconf once, and I always have to remind myself how to get to it. But how am I supposed to know that I even need to use gconf? And where in gconf (which is the equivalent of RegEdit) are the settings I need?

And how on earth can regular users be recommended to use Ubuntu with arrogance like this? It's like we want to build a wall between us and the kind of people we need to bring on board if Linux is ever to get into the mainstream.


darkliquid said...

I completely agree. In fact it's the other side of the argument that annoys me more. I hate being patronised by having my software essentially say "Sorry, you aren't allowed to play with the grown up toys, go back to the kiddy pool."

I've found that in the GNOME desktop this attitude is quite common, or at least seems so, from the choices they make about giving the user access to the settings. KDE is a bit better for this but I'm not really a fan of it so I've stuck with GNOME despite it annoying me.

As for having settings ONLY in gconf, that strikes me as a horrible mirroring of the nightmare of having to twiddle with Windows registry settings. Nobody liked doing that, nobody wants to do that. Making people HAVE to do it is a horrible decision. It's even worse that, as you mentioned, this isn't explained as even being an option, which only goes to make your software appear limiting and under-featured to anyone just wanting to do something even slightly more advanced than the perceived common use-case. Why bother putting features in software if no-one will even be aware they exist, let alone be able to find them if they do?

I think the main issue some of these developers are forgetting is that it's a learning curve. People aren't just newbies or experts, there are a lot of grades in-between and without providing the rungs on the ladder, no-one is going to be able to reach the top.

Charlie said...

I moved from Ubuntu to Fedora a year ago and haven't looked back. Fedora is much better, much less targeted at dumb users who are scared of 'Advanced' tabs.

Steve said...

I might give Fedora a go. This and the bugfest that is "Network Manager" make me want to try something else.

Benob said...

How about having a system wide (and application specific) setting that lets users choose their degree of proficiency and display the "advanced" tabs. All settings in gconf should be *required* to be implemented in a user friendly interface, with the option to hide them. VLC has its preferences like that, even though the advanced settings are not so clear :p.

stevec said...

"The latest problem is to do with Remote Desktop in Ubuntu 9.04"

Right there, there's you're problem. Remote Desktop is an idiotic, brain-dead protocol. That you're using it at all is your mistake.

Steve said...

It's served me well in the past. What program would you recommend as an alternative?

darkliquid said...

I tend to use VNC for remote graphical shells. I use vinagre to connect and typically run x11vnc on the remote machine to connect to existing X sessions (rather than start new ones just for vnc). Depnds on your use case for what you need server-wise though I've found vinagre to work well and be flexible enough for my needs. You can set the port at the same time as setting the IP with a standard a.b.c.d:5900 syntax.