The HeliOS Project is now.....

The HeliOS Project is now.....
Same mission, same folks...just a different name

Search the Blog of helios and all comments

Loading

Saturday, October 05, 2013

New User Barrier To Linux - I Think I Found The Problem....

This is nothing new.  I talked about this during my Keynote at Texas Linux Fest in 2010.

It's one of those things we all know but we really can't do anything about it.  It's time we did.

In the realm of Open Source software development the adage "good enough" is  often interpreted as this software is good enough for general use.

It should read "good enough for me", speaking only from the software author's perspective.

Here's what I mean.

I recently received a call for help from one of our Reglue kids.  Mitch is a bright 11 year old that wants to be a fighter pilot like his dad.  Needless to say, he's loving different flight sims.

But his problem wasn't with his software...he was needing to traceroute a server for his dad.  I haven't run traceroute for a while but I know that it pulls in curl and some other libraries so I just decided to show him how to use Traceroute the GUI.  I've used it in Windows before and it is an adequate tool.

He downloaded the app from Sourceforge and we could go from there.  Since it was in tar.gz format, I did a quick search for the instructions without invoking the ./package_name at the terminal.

Oh, I found the instructions.

You gotta be kidding me...right?

Whether or not this author was the author of the software or just the author for the tutorial, the "good enough for me" rule applied here perfectly.  At the risk of boring you, let me paste those instructions here for you to see:

Download and install Open Visual Traceroute
Open the Terminal window and enter :
mkdir /tmp/OpenVisualTraceRoute
cd /tmp/OpenVisualTraceRoute
Then for 32bit and 64bit systems download and install the latest version with :
wget http://sourceforge.net/projects/openvisualtrace/files/latest/download
sudo unzip download -d /opt/
Extract the application icon to be used for the launcher and set permissions with :
cd /opt/OpenVisualTraceRoute*
sudo unzip -j org.leo.traceroute.jar */internet.png
sudo chmod +x startLinux.sh
3. Create an Open Visual Traceroute launcher
To create a Ubuntu Unity Desktop Launcher, create a desktop launcher file with :
sudo gedit /usr/share/applications/open-visual-traceroute.desktop
Then add the following information and save :
[Desktop Entry]
Name=Open Visual Traceroute
Version=1.3.1
GenericName=Open Visual Traceroute
X-GNOME-FullName=Open Visual Traceroute
Comment=Open Visual Traceroute
Type=Application
Categories=Application;Utility;
Exec=gksudo /bin/sh startLinux.sh
Terminal=false
StartupNotify=true
TargetEnvironment=Unity
Then add the path to the latest version and icon in the launcher with:
cd /opt/OpenVisualTraceRoute*
sudo su
echo "Path=$(eval pwd)" >> /usr/share/applications/open-visual-traceroute.desktop
echo "Icon=$(eval pwd)/internet.png" >> /usr/share/applications/open-visual-traceroute.desktop
exit

And for the record, we did install traceroute at the command line and we ran traceroute domain.com.  He now knows how to do that but to get this GUI up and running?

I realize that this person did his best and really put a lot of work into getting this done, but it's obviously not the answer for any new Linux User, regardless of age.

What did I do?

I had him download and extract the tar.gz into his home directory then open the  folder and right click on startLinux.sh.  From there I had him choose properties and then permissions.  I told him to check the box that said "allow executing file as program."

While I did show him how to change permissions using the chmod tool, I just had him click on startLInux.sh in the file browser and we were off and running.

How friggin' easy was that?  Why are people supplying instructions that are way too complex for the new user?  I know the answer to that question.  It's rhetorical in nature.

"Because it's good enough for me"

Folks, it doesn't always have to happen the hard way. When we're providing tutorials or help on the web, remember you don't know who's going to be reading it.  I think making sure you provide an answer to suit all levels of users might be a good idea.

 I'm no longer concerned with Linux "world domination".  I want new Linux Users to feel comfortable in their environment.....

Not scare them away from it.

All-Righty Then.





17 comments:

Curt- said...

This is one of the reasons that I use Debian. Because this kind of thing does happen.

Matt's TraceRoute, or MTR, is very easy to use, and installs with a "apt-get install mtr".

And I thought that "traceroute" was a standard command line tool. If you have to type "wget", you might as well just type "traceroute foo".

Anonymous said...

I have had similar experiences. The most frustrating was when I decided to not use GNOME, about eight or ten years ago. I installed it, then tried to work with it. I searched the website for documentation and didn't find any.

So I wrote, using the "contact us" on the website and asked if there was any documentation. I was new to GNOME and wanted to know how to get started doing things that the developers boasted about on their website. The reply merely suggested that I help them write documentationThe reply was sent and signed Miguel de Icaza. I don't know if he really sent such a rude e-mail. Yes, rude. You don't know the basics, so why don't you help write the documentation? If I knew enough to write documentation, I wouldn't be asking for documentation. Basically, someone there was blowing me off.

But they had, and the major GUI's still have a problem of doing the boring, unpleasant (for a programmer) job of clearly explaining how to do things to non-programmers.

Steve Jobs got one thing exactly right: he emphasized the importance of the "insanely great" user experience. Not just for the guys who wrote it, but for everyone who might use it. GNOME, KDE, Xfce, LXDE, and especially Windows haven't focused on that, to their detriment. Mainly, I think because it requires boring attention to the details and minutae that are a pain in the rear to get right, but are essential to that "insanely great" user experience.

Nevyn said...

There's a lack of value seen in this sort of thing.

For 3 years I worked on something called the "Manaiakalani Project". I approached it with a focus on usability.

While working on the project I was paid for desktop support with next to no money paid to me for the development of the tools needed to make it all work.

Now, as an unemployed geek, I've found there is absolutely no work within a desktop Linux space. If there's no value seen in it, I'm inclined to think "why bother?".

Which moves usability into a hobbyist space. A lot of code is released as a "others might find it useful" kind of a thing. Without any value seen in making it usable, this problem is going to remain.

Basically - this is a much bigger problem which stems from the fact that a lot of us out there are developing software that WE find useful. Without encouragement and resources to make it usable to a larger audience, why wouldn't we stop when our use for it stops?

Nevyn said...

There's a lack of value seen in this sort of thing.

For 3 years I worked on something called the "Manaiakalani Project". I approached it with a focus on usability.

While working on the project I was paid for desktop support with next to no money paid to me for the development of the tools needed to make it all work.

Now, as an unemployed geek, I've found there is absolutely no work within a desktop Linux space. If there's no value seen in it, I'm inclined to think "why bother?".

Which moves usability into a hobbyist space. A lot of code is released as a "others might find it useful" kind of a thing. Without any value seen in making it usable, this problem is going to remain.

Basically - this is a much bigger problem which stems from the fact that a lot of us out there are developing software that WE find useful. Without encouragement and resources to make it usable to a larger audience, why wouldn't we stop when our use for it stops?

Anonymous said...

I don't see the point here. Every distro should come with traceroute installed, or it should be in the repo. The problem is that you had some presumably easier tool in mind that wasn't standard and enforced it at an 11 year old. I don't mean to be rude, but please try to stick with the defaults the os provides. It also makes learning for children easier.

tracyanne said...

Why did you download a tar.gz file and go through the bother of extracting it and etc?

Why did you not simply install it from the Software repository? I did, it was drop dead easy.... Gui tools all the way, very newbie friendly.

Anonymous said...

All modern distributions have some sort of package manager that makes installing/updating standard tools mostly painless. I am personally the sort that will grab tarballs of tools and all of the supporting libraries and compile it all myself in order to get the right versions and or options that I want. Even so, a "normal" user should never need to do that.

Anonymous said...

I think the real question is: what flight sim is he playing? I mean, come one, I wanna play too!

Anonymous said...

I have used Linux (Debian based mostly) exclusively since 2005. I have not downloaded a package in tar.gz format for as long as I remember.

Certainly not a traceroute package. You write you "know" stuff, but it seems to me you know the windows way and not how to do it the linux way. :)

A clear case of PEBKAC. ;)

Anonymous said...

You are absolutely right. There is a way out though: my old man had to write a paper for his work. He had never done it before and asked me how to do it. I told him:

"Imagine the dummest person you know on the workfloor and write for him."

Anonymous said...

You were using Ubuntu? Traceroute is installed already as part of the Network Tools - it's a default package why would you install another one? You see, the problem is more about more about educating the user (and in this case the user's mentor) about how to actually find the right tool of which is likely already installed. Hint: Use "The Dash".

Anonymous said...

The beauty is ... ANYONE CAN FIX IT.

Anonymous said...

The only Linux "distros" that have figured out end-users are Google's. Android apps are vetted by the Play Store and are a snap to install and remove. In Chrome OS the Linux is slaving in the cellar, while HTML5 provides an increasingly impressive user-experience in the browser. Linux is and will remain a fine back-end platform with mechanics who don't mind the gobbledygook, and in fact cherish it because the only money to be made will be by specialists maintaining commercial systems.

twogunmickey said...

It doesn't bother me the least bit to get complex instructions as long as they work. What bothers me is getting instructions that are specific to a certain environment and will not work in mine. I've looked for answers in the past and received detail Gnome or KDE instructions which would not work for me. Bottom line is developers are not purposely making complex instructions, just instructions that will work

tracyanne said...

Ken you chose a really bad example here. Everything you did was completely unnecessary.

Unknown said...

Hah! I love the fact that almost all of the comments on your post were posted by some "Anon" person. Those cowards.

That said, I think you (the author) had a great post but you tried to mix in too many things. Let me explain.

1) That story of the flight-sim playing kid - completely useless and pushed things off track.
2) You showed your Windows lineage a bit too clearly. Things don't work the Windowy way in the Linux world.
3) I agree with most commentators that you should have just done an "apt-get" or "yum" install of the package.
4) Ignore the idiots who say they haven't downloaded a tgz package. These are useless users who don't really contribute to the Linux world. Tgz is the main-stay of the linux world and will always be. But, the fact is that if you "just a user" you should first search your repos to see if the package you want is available in the repos. If the package is not available then, and ONLY THEN, should you download the tgz. Also, always download the source tgz and "./configure && make && make install" the package. :)

So, bottom line: I completely agree that the "real problem" you are alluding to in your post EXISTS in the Linux world. We love to write cryptic instructions because we don't want the 3rd world programmers to catch up to our technologies. ;-) But, your use of a "fighter pilot's flight-sim playing kid" in the story totally blew it. Next time don't write stories, just stick to the facts.

Anonymous said...

good info on | Linux basics |