It is totally possible to have a Linux desktop that is stable, simple,
and allows people to do what they need. I know, because I support
hundreds of those machines. The trick is understanding the context of
the software experience.
When you open up something as "simple" as gedit, you're mind is pretty
much on one track. "I need to write something." "I need to read
something." etc. However, when looking at the amount of abstractions
that allow what is essentially a digital piece of paper, it becomes
obvious why there is a disconnect between developers and end-users.
End-users see digital paper, developers see the insane amount of logic.
I'm not a betting man, but I'll hazard a guess that less than 10% of
open source projects bother writing down a needs analysis. That is: what
is the end-user trying to accomplish? What gets them to their goal the
fastest (including the perception of getting to the goal the fastest)?
What is the bare minimum to get them to their goal?
So what does Linux need to do for usability? Simply use the bare minimum
necessary to get the end-user's results fastest. Allow for advanced
options that expand the concept and can cover the weird usage that isn't
taken into account at the design stage. Most of all, understand that a
quad-core system and a highly tuned OS means nothing when all the user
wants is Solitaire, which doesn't work correctly.
1. Needs
2. Wants
3. Eye-candy
-Dafydd
Robert Lewko wrote:
On Sun, Apr 5, 2009 at 7:14 PM, John Greep <[email protected]
<mailto:[email protected]>> wrote:
Gustin,
Balance is a good word to use here. As a developer, I would
prefer something stable and complete over something pretty.
That's what I love about open source too. It's a platform for
thinking out of the box and is a safe place to fail and learn
from mistakes without serious costs. Eventually, when the product
is released to the wild, commercial viability is number 1. If
you're thinking about user interactions up front, it's cheaper
than having to redesign it from the ground up.
Some may think this is off topic. Some may think this is flame bait.
Whatever!
OK, I'm going to prefix this by saying that I'm tired and grumpy after
trying to figure out how to configure the software that I have to
learn as part of my new job! If I get too worked up then try to keep
in mind that I have been away from home on business for almost two
weeks on my own with no experienced backup and I am trying to figure
out how to configure things out with only the source code for
reference and the only experienced person for this stuff is currently
away from the office in Newcastle UK.
<flame on!>
I hear comparisons of cars and software from to time. If you don't
want the hassle of getting a car, get a taxi (that's equivalent to
using gmail instead of configuring a mail client). If having your own
computer is too much hassle then use the one at the public library
(equivalent to taking the bus). However, if you want a computer of
your own then be prepared to learn something!
Cars are just not as complex as a computer. For a car to start and
move we need fuel in the tank, a working fuel pump, a working
carb/fuel injectors, a working ignition system (yeah recent ones have
a microcontroller controlling them), a starter to crank the engine
over (that implies a working alternator and voltage regulator) and a
working transmission. Yeah I know that transmissions are not simple.
Do you have any fuckin' idea what goes on before you even see the
splash screen from your motherboard on your display? OK, lets just
ignore that.
Lets just say that the CPU is not overheading, the memory has no bad
bytes the EC can't deal with, that the disk controller works, the
video display has the right drivers, that the disk hasn't read a block
that has gone bad where its reading, that the SATA drivers are current
with the OS, that the keyboard has not reported an error to the OS,
the power supply is capable of supplying about 5 times the current
operating current, the battery in your cordless mouse is still good,
the RAM in your monitor is working correcly, all the thousands of
contacts to your LCD screen are all solid and every single disk block
that the disk reads on its way to loading the OS has no CRC errors,
only then can you even get to the loading the operating system. Even
with that list I have left out a whole lot!
OK, now we have an OS - what do you want to do today (Brief aside:
hey haven't I heard something like that before? Maybe I should apply
for one of those highly paid marketing jobs at MS. It would pay a
hell of a lot more than I get now!)? Lets just pretend that we are
using no windowing system and that we are using the hardware generated
characters to display data. Lets just say that we are using an ftp
client or wget to get a file.
Now we have to have a correctly configured network card - the driver
has to be loaded (Got any clue how complex the TCP stack is?).
OK to the ordinary user's point of view all you have to have run is
pump/dhclient etc. Is the right nameserver in /etc/resolv.conf? When
using DHCP I have had stale entries in this file screw me up.
Has someone put in the right stuff in the iptables to let ftp throught
the firewall rules? Do the firewall rules block FTP? Did you pay
your ISP bill this month? Where I am I have heard about ISP's
blocking some internet sites.
You want things just to drop into place! Yet even in the simplest app
I can think of I thought of 3 things that the original programmer had
no control over that would cause the program to fail. What do you
think its like when the application is a CAD/CAM application or even a
word processor? There are hundreds of critical points where these
applications can possibly fail.
The only reason that modern complex applications work as well as they
do is that generations of programmers have taken the work of their
predecessors and used that as their base. But no matter how hard they
try no programmer can anticipate every way a program can fail and even
less can they recover from every situation that comes up.
My point is that if you think that you can use these applications
without encountering a problem at some point you are dreaming.
Further, the only way to solve the problem yourself is to learn the
basics of how software systems run, some of the basics of system
administrations and the basics of the hardware. Only then can you use
computers with confidence. Until then when problems occur treat the
computer guy just like your mechanic.
Oh yeah! I use Linux for my desktop and have done so since 1995. I
still have times of frustration when all I want to do is get something
done. However, I cringe when someone suggests that I need to use
Windoze. Linux is LOTS less work to keep going.
<flame off>
------------------------------------------------------------------------
_______________________________________________
clug-talk mailing list
[email protected]
http://clug.ca/mailman/listinfo/clug-talk_clug.ca
Mailing List Guidelines (http://clug.ca/ml_guidelines.php)
**Please remove these lines when replying
_______________________________________________
clug-talk mailing list
[email protected]
http://clug.ca/mailman/listinfo/clug-talk_clug.ca
Mailing List Guidelines (http://clug.ca/ml_guidelines.php)
**Please remove these lines when replying