Results 1 to 10 of 11
It is a world of programmers, and programmers seem to think everyone else are programmers as well. I couldn't possibly explain the unneeded complexity of software otherwise, especially when it ...
- 11-14-2009 #1Just Joined!
- Join Date
- Nov 2009
- Posts
- 6
A world of programmers
It is a world of programmers, and programmers seem to think everyone else are programmers as well. I couldn't possibly explain the unneeded complexity of software otherwise, especially when it comes to the poor sod who is the common user.
So many buttons, so many option, sometimes even I - a far from average user - gets confused, looking for references and help on this or that option. What does modern software do to others? Luckily, I have several very common users in my vicinity to get impressions from: Many don't understand windows and how they work. Many don't distinguish between the bar at the bottom (task bar) and the bar at the top (title bar), and what exactly each is used for. Many don't understand if say "look up" if you mean in the window itself (but hey, we were only talking of some issue IN Word), and in it - the menus, the buttons or whatever; "Where do I find that button?". Many don't know if you actually single-click or double-click to open a file from explorer (or Nautilus or whatever you use at the moment). "Go the start menu and start a program"... "I'm in the start menu, I don't see it"... "Go to the start menu and to 'all programs', and start the PROGRAM". "A hideous virus is trying to destroy your computer and delete your operating system. Would you like to run it? -yes -no"... "all those pop-ups... I always press 'yes'".
I'm a windows user, you probably have noticed. Luckily, Linux is so much easier, especially now that you have all those "easy" distros, like Ubuntu. So nice to the common user. Oh, yeah, but if you actually want to install a graphics card driver in your new OS, you should run X11 setup from the command line, go through 8-11 DOS-looking screens an choose all those esoteric parameters you actually remember. If that didn't run just Google the problem on your other functioning computer and see what happens. That's really "Linux for the common user" at its best - usually it's even easier, and to get Ubuntu (or any other "easy" distro) you just have to run a couple of hundred "sudo $bash -param1 -param2 /bin/etc/ --altro --gastric ./mio-config-util --repeat_helper $$8 -y -g -l" commands. Really no sweat.
And than you get to the easier utilities. My mother and Gmail is and ongoing learning process; all she really needs in her Email program are three buttons: "send mail", "read mail" and "history", but instead it has more in the range of fifteen. It's so simple, though, the burden of explaining everything falls on me as the recommender of Gmail as "the simplest Email service I know".
And than some more. A couple of days ago I find myself at Wordpress, wanting to write something about math, but wait - how do I integrate mathematical notation into Wordpress? Oh, yes - they've integrated Latex support, and latex is so simple - it says so in the help section. It's so nice that instead of writing "1/2" I have to write something like \frac{1}{2} - it makes life so simple and nice. You never really have to translate what you're thinking into what the computer understands - it's just so natural and intuitive, not to mention coherent. It is SO obvious Latex was designed by geeks, for geeks - only a programmer can write something like this and say it actually makes sense, and that it's "easy and intuitive". MathCast is really easy and intuitive, but it's a piece of software crap. It also outputs in a format no CMS at the moment can possibly comprehend. I have to mention my former good experiences with Latex - I've heard it was so good, and "far better than WYSIWYG" editors, but than came downloading the 600+ mb of Miktex - a huge glob of unintelligible files who's sole purpose is to rob me of HD space while not actually working. Oh, and did I mention the configuration of a Tex distro is more complicated than launching a space shuttle? And after 3 or something front-ends to Miktex (do remember all I ever really wanted to do is write a short text document, or an equation that'll be automatically parsed to Latex, for Wordpress) I eventually gave it up totally. Thanks for not calling it a "word processor" - I might have mistaken it for a small, easy, efficient program that can edit text, or display a short equation and output a Latex string.
Yes, it's a world of programmers, and programmers don't know squat.
The good news? It's not only older people who get confused with interface, installations and all that other crap. We've got a brand new, fresh generation who likes to 5CЯ3VV around with language and single-day trends, and would rather play their mind off on Facebook than actually do something useful, and it's virtually guaranteed THEY won't understand anything either.
So it's a world of programmers, and well - the bottom line is
most of us aren't programmers.
- 11-14-2009 #2
if its any comfort to you: i agree...
but computers aren't tv sets.
and different users have different needs and the computer and techie worlds should have much more diversified approaches and interfaces.
but hey... the computer world is very young - it will get better has it evolves.
btw: i'm planning to offer my mother "computer assistance" starting this x-mas. I can't imagine what i'm getting into
- 11-14-2009 #3
No, we don't. It's just a matter of priorities.
But lets talk about two points before complaining.
1) Communication
2) Incentives
ad 1) How would a programmer know about the troubles of the non-programmers if nobody tells him? In my experience, some users just complain about how difficult the handling of "the computer" is. But few are actually able to make specific suggestions on what should be improved how and why. If you think more than 3 buttons on the main panel confuse the user, why not tell the person/company that is most likely to fix it?
ad 2) If you want anybody to care about your suggestions, you have to thing about this point as well. For the lesser inventives, money usually does the trick. Have you called the Wordpress guys and told them you won't buy another version until they drop the LaTex interface?
But money isn't everything. Many programmers, especially in the FOSS environment, are likely to see other incentives but money too. Maybe pride, maybe fame, often it is to solve a task for them personally. But calling somebodies software "a piece of software crap" usually doesn't help.
My bottom line is that most of you chose not to become programmers. This is fine by me. But much software is written by programmers for people who take the time to learn the handling. And unless the "common users" offer incentives for the programmers to change their philosophy, we will continue not to care about them.Debian GNU/Linux -- You know you want it.
- 11-14-2009 #4Just Joined!
- Join Date
- Jul 2009
- Location
- Chicago, IL
- Posts
- 9
Quite a confusing few paragraphs there, but if I understand you are saying that programmers have a hard time making user interfaces because we are used to complicated things. If I am correct on what you are saying, I agree with you. At work I do not make any interface designs since no one can actually use my interfaces but me and the other coders (although they are efficient and quite functional for the task). This is why most serious products get UAT (User Acceptance Testing) before an actual deployment. UAT is a good way to make sure that your program is easy to use for everyone, because users with no prior experience will be chosen for your testing, you can accurately see what challenges will lie ahead of you.
I have come to the opinion that if you have programmed the core logic of an application, you should never interface it. If you have written all major methods, you make instant assumptions that will never cross another's mind.
For instance, I built an internal file sharing and messaging system for the bank I work for. I wrote almost the entire program myself, so I knew every last nook and cranny of the application. When I wrote the attachment system, I made it a popup where you add the files then close the window. Now I knew that the files were added and there, so I paid no attention to the fact that it does not reconfirm back on the main page that the attachments are there. When we deployed, most users who used it thought that their attachments were gone and would not be sent. I had to write some more code to make sure that they saw their attachments at all times.
I may just suck at interface design though.
But on the other side, sometimes programs are necessarily complicated. Added functionality will always mean more options, which is often interpreted as complicated. Almost no one reads the manual to software, so they are relying on familiarity to other apps. Most people (even techies) mistake complication and uniqueness, even simple but different applications will not be accepted well. This is a major factor for windows users who switch to linux, while it is not complicated many see something different and freak. So part of this problem lies with the users because they can be lazy and don't want to read the literature. Heck, I get at lest three calls a week form people who have forgot their password and can not find the cleverly hidden "Forgot your password?" text in the main link menu that they have to click to log on.
- 11-16-2009 #5Just Joined!
- Join Date
- Nov 2009
- Posts
- 6
I've really hoped it would echo a bit more.
Clickalot - You're completely right. I'd hope that with time the approaches would become more distinct - that is, unless we have suitable technological education that would make it unnecessary. I'd rethink your offer to your mom, though
.
GNU-Fan - this is almost the exact approach I would like programmers to change.
I wholly disagree. The end user is the top priority, be it a programmer itself, a scientist, a businessman or just the common, simple user.
Well, how would the user know who to talk to and what to say? How would the user know that there's actually someone listening? People living in and used to some sort of a routine constraint rarely see beyond it - instead, they try to bypass it and eventually forget it exists, even though it still makes them inefficient and unproductive. People need the bright neon sign "call us and tell us what you think, not kidding!", or they're quite unlikely to say anything, especially if they have a hard time using Email or checking a company's website for contact details. Even then don't expect them to be very coherent - there may be a considerable language barrier between the developer and the end-user, and without very specific guidelines, or one-on-one interview, you might not be able to decipher any feedback you do get from those who need improvement most.
Incentives? Yes - Money, pride, striving for perfection. I would think that's enough for most developers and companies.
I personally took part in several beta trials and am sending feedback ever-so-often, but again - I'm not the common user. I actually know my way around software / the net.
It didn't stop Microsoft.
And that software specifically is still v0.89 and hasn't been updated since May '08, so I doubt the dev. will care.
No. Most of us did not choose not to become programmers. Most of us don't see the computer as anything more than an instrument. It is the same as me telling you "this car is crappy? sorry, you chose not to become an automotive engineer". For you it's a passion, for others a tool. That bares no relevance to the issue.
Which is too often completely unnecessary. So much software isn't "formally" "bloatware", but is still packed with so many unneeded features, and so many UI design mishaps, that the very notion of "learning the handling" is counter-productive, and when it isn't - how easy it IS to learn? How many resources ARE available? And where?
And again I come to the main point of my reply - the common users are the most important consideration in program design. A program may be the most clever piece of code on earth, but if it is unusable to the end-user than it's completely redundant.
Daniel_B - That's certainly one way to look at it. You can't help why ponder, though, why many very serious products come out so very crappy at the end.
What you're saying sounds very similar to many of these software experiences I (and many others) have and had. Don't be modest about your interface design skills
.
I wholly agree with your last paragraph. The "more options / less simplicity" problem is familiar, but apart from trying harder to deal with it - many programs do have an unnecessary large number of options (MS Office is a familiar example), which in turn bring unnecessary complexity of UI (or at least make the UI design process a lot harder than it could've been, and with no good reason). You do stress the importance of conventions, and proper design of those so as to lay grounds for proper UI design in general. You're on spot with the rest, but I would just add - those "forgot your password" and other very very stupid incidents only stress the fact that more attention should be spent on UI design and tech education. Perhaps an automatic pop-up (in bright red, bold letters and with audio cues) should be in place after 3 attempts? Perhaps a learning procedure should automatically commence on first running the program? Everything pertaining to the "common" user should be very clear, very simple, with the advanced options being "cleverly hidden" (
) for only us to find.
Is there a place for starting a project on software simplicity, like there are projects for various other conventions (icons, fonts)? What do you say?
- 11-16-2009 #6
There is no such thing as "intuitive" when it comes to computers. Everything about them is learned behavior. Take someone who has never used a computer and try to explain mice, the "desktop" metaphor. Or the QWERTY keyboard. Intuitive? The fact that most "save" icons are still a floppy disc, which young people may have never seen anymore. All of these conventions we take for granted are learned behavior, and not always the best or most efficient thing - back to QWERTY - but is difficult to break away from.
Not that their isn't good design and poor design. Good design aids in workflow, the most common tasks are easily accessible, and so on. The thing is, as a rule, the more powerful a tool a piece of software is, the higher the learning curve. Take something like Vim. People are passionate about this program, and it's very very good at what it does, but it sure isn't easy.
I agree their should be standards, it would be a nightmare for disparate programs to work together otherwise. The POSIX standards have been instrumental for the growth of *nix. Linux has many conventions that once you learn, make everything go smoother.
It doesn't have to be the extremes. If you own a car, you should know some basics. I'm not a mechanic, I don't even own a car anymore, but I can change a tire, I've changed breakpads before, oil. Computers, like cars for many people, are integral to our lives at this point. We depend and rely on them and it just makes sense to learn a little about how they function. I have little sympathy for the willfully ignorant.No. Most of us did not choose not to become programmers. Most of us don't see the computer as anything more than an instrument. It is the same as me telling you "this car is crappy? sorry, you chose not to become an automotive engineer". For you it's a passion, for others a tool. That bares no relevance to the issue.
My mom has used Windows her entire life. She's 53 now and not too long ago bought an Asus EEE with linux. Within short time (and without any help from me) she ditched Xandros, installed Easy Peasy, and has been using it happily ever since. Look at something like the Helios project in Austin. They have underprivileged kids up and running with linux in a couple of hours. I would guess in some part because these kids don't know linux is supposed to be hard or geeky.
Yes.Is there a place for starting a project on software simplicity, like there are projects for various other conventions (icons, fonts)? What do you say?
GNOME Human Interface Guidelines 2.2
Projects/Usability - KDE TechBase
EDIT: I should note that I'm not a programmer. Just an end user who mostly uses a computer to check email, play music, and watch movies.
- 11-16-2009 #7
End-users, in my personal experience, very seldom know what it is they want a program to do, much less how they want it done. I'm working with a very large team in the process of creating an integrated justice information system for local government, and you'd be amazed how little some people know about their own jobs.
The parts of our department that gather requirements spend months (sometimes years) trying to figure out what kinds of screens, buttons, page layouts and data formats will please our users and often times end up scrapping the whole thing when the requirements they give us bear no resemblance whatsoever to how they do their job. It's worth noting, by the way, that our requirements gathering team are not programmers, and have excellent person-to-person communications skills (not that a lot of programmers don't).
I'm not saying programmers are blameless. I'll be the first to admit that user interface design is most definitely NOT my strength. However, making some kinds of software are really hit and miss endeavors. You can't please everyone, and one person's easy and intuitive is another person's "Where the heck do I click on this screen?"
How idealistic of you. Most of the programmers I know do it because it's their job. They strive to finish a task given to them by their boss; not make the world a better place through COBOL.Incentives? Yes - Money, pride, striving for perfection. I would think that's enough for most developers and companies.
I see your point, but your original post basically sounds like a user complaining that all programmers are idiots and we should be bowing to users like some sort of software-design pantheon of gods. More often in the real world software designers try their very best (with many hundreds and thousands of real, honest-to-God end-users' feedback) to produce something that works well for everyone involved. Sometimes those efforts fall flat, other times they're embraced by the users and made into "standards" regardless of how unintuitive the design might have been in the first place.And again I come to the main point of my reply - the common users are the most important consideration in program design. A program may be the most clever piece of code on earth, but if it is unusable to the end-user than it's completely redundant.
If we've learned anything from the hellspawn that is Clippy, it's that end-users more often than not don't want to go through the tutorial in the beginning; they want to immediately start using the program and figuring stuff out on their own. If you force a tutorial on them they'll just click through it quickly without really absorbing anything.Perhaps a learning procedure should automatically commence on first running the program?
What is "clear" and "simple" is a very subjective thing. Again using an example here at work: one user might consider it perfectly logical for a button to be named "Initiate Order" when another gets that confused with "Submit Order" (which are two different things, believe it or not). Which user is correct?Everything pertaining to the "common" user should be very clear, very simple, with the advanced options being "cleverly hidden" (
) for only us to find.
Work for Apple Computer. They seem to have the idea of making everything simple written into their corporate agreement. This is somewhat ironic given that their original tech-genius Steve Wozniak is quite the master at rather complex hardware designs. Nevertheless, in recent decades Apple seems to be at the forefront of "simple" software for end-users. Even their instruction manuals are short.Is there a place for starting a project on software simplicity, like there are projects for various other conventions (icons, fonts)? What do you say?Registered Linux user #270181
TechieMoe's Tech Rants
- 11-20-2009 #8Just Joined!
- Join Date
- Nov 2009
- Posts
- 6
That's basically true, as it is for any appliance and tool. However, it doesn't mean the computer has to be foreign as well. Do you have much trouble operating a car? An oven? A gaming console? A simple, preconfigured computer such as an ATM? These are all intuitive to some extent, despite having an interaction mode which is basically learned. Computers really don't have to be foreign, and you can see the advances toward a more streamlined experience - from the command line to a GUI, and onwards to enhanced reality and similar areas of research.
I agree, and have already said - many programs are just too complicated for their own good, and the user's as well.
I agree, and there's no contradiction, but again - many people have a hard time even with those, and there's still the question of what exactly is "basic", and what isn't. Many, many things you do on a day to day basis with your computer are not really "basic", and many ways of handling a computer - even if they have easier alternatives, such as menus vs. keyboard shortcuts, aren't quite basic.
Kudos to your mom, by the way.
Helios and other projects are welcome, among other reasons for making the market more diverse. KDE in my opinion is an excellent desktop system, but the OS as a whole is still quite a barrier when you want to do something that is a tad more complicated
Hopefully one for Windows? Or across systems?
That's exactly what I said.
<whistling>
Yes, and the question remains whether programmers should actually pay attention to what other people's concept of "easy" is, and perhaps - aim to the end-users majority's preference.
That's what I meant by "money".
I didn't say "shove some help up their assess whenever they least need it", just give them a very friendly, well-designed assistance. Microsoft's problem has always been not trying to make everything simpler, only clearer. "Clippy" is such an example.
It is, and again - programmers are hardly the persons to ask for an opinion on that matter. <cough> command line... <cough>
I should give another example but Apple to easy computing: Palm OS. Anyone who ever compared that with Windows Mobile (/CE) knows what's the difference between a properly and a poorly designed interface. Their eventual failure in the market is a whole different issue (and so came the iPhone and WebOS).
P.S. If only everyone wrote a manual like IKEA.
- 11-20-2009 #9Well, here's an example. Everyone touts how user-friendly ipods are. The first time I looked at one, I thought it was incredibly confusing. I still don't like the interface.That's basically true, as it is for any appliance and tool. However, it doesn't mean the computer has to be foreign as well. Do you have much trouble operating a car? An oven? A gaming console? A simple, preconfigured computer such as an ATM? These are all intuitive to some extent, despite having an interaction mode which is basically learned. Computers really don't have to be foreign, and you can see the advances toward a more streamlined experience - from the command line to a GUI, and onwards to enhanced reality and similar areas of research.
The corollary to my point, though, is that I don't see linux as being overly complicated. Just different than what most peopel are used to. And perhaps worse, often subtely different. It would be one thing to looks and feel completely alien and people could buckle down to learn it. But so much of of the basic interface is exactly the same, and so many conventions are the same (CTRL-S to save), that when things are a little different, it almost more difficult, because we expect it to function the same.
Hence my reference to Helios or people with no computer experience. I really believe Linux is no more difficult to learn than Windows or Mac, if you're starting without preconceptions.
You almost never have to do that. You see more command line solutions in forums because it's easier to give a line or two like that than try and direct people through a maze of graphical interfaces. They can just copy and paste and done."sudo $bash -param1 -param2 /bin/etc/ --altro --gastric ./mio-config-util --repeat_helper $$8 -y -g -l" commands. Really no sweat.
In many cases the terminal is the simpler solution. I hate navigating through most music programs for example. Amarok kills me, especially when I just want to stream the radio or something. I use ncmpcpp for almost all my music playing for just that reason. Looks a little challenging at first, being a 'command line' app and all, but it's so simple. Take a second or less to key up and start playing my local NPR affiliate, and my hands never leave the keyboard. It would take longer to open any GUI program, let alone click all over the place.
A GUI is emphatically not the most efficient solution in many many cases. Now, I don't think we should make everything CLI, obviously in many other cases the console isn't the best solution either, but nor should we completely cater to the big large "friendly" button crowd.
- 01-02-2010 #10Just Joined!
- Join Date
- Nov 2009
- Posts
- 6
I apologise for this late response.
On the topic:
I agree. Didn't say no learning was involved (on the contrary) - but do compare post-iPod to pre-iPod devices. People have learned how to design a proper UI after Apple have had their little playerevolution, and even if there is some learning involved - it's considerably easier than before. Do see my example regarding ATM, cars and others.
I agree on the first part. Not sure about the second.
(regarding complex CLI commands) Don't know about you, but last time I tried installing something on Linux I DID have to go through that. And the time before, and the time before, and the time before. Everything configurable requires CLI, even basic things like GUI configuration (X11 crap). It's such a pain in the *** things don't work "out of the box" (as I said - not even in Ubuntu and Mandriva), although certainly things are progressing in the right direction.
First, here's an example of a crappy interface. Now you know how much trouble many others have with even "simple" software.
Second, you can use the command line, or... you can just use a proper player with a "favourites" list, or something of the like. that way you'll only need 2-3 clicks to get to your station, with minimal configuration and hassle.
That's true, but as someone said - the main advantage of the GUI is your ability to explore [with] it, something that's very hard with CLI without some very deep knowledge of its works.
Obviously the best solution is a properly-designed GUI and optional command line commands for those who favour it (which are usable for other things as well, such as automated scripts etc.). This isn't the issue I've raised, however, but rather - the level of complication of UI, the lack of understanding by developers, etc.


Reply With Quote

