Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

"Art vs. Design" and Code 120

Maybe its because I consider myself an artist, a coder, and a designer. Maybe its because I worked as a commercial programmer in an ad agency surrounded by talented designers. And maybe its because I served out my studio art minor surrounded by talented artists. Maybe its because I wrote free code in my spare time, but this feature Oskar Pearson struck a chord in me. It talks about Art vs. Design, and Commercial Code vs. Free Code. Something to think about.
The following feature was written by Slashdot Reader Oskar Pearson

This text is inspired by the title of Knuth's famous series: "The Art of Computer Programming".

I have done very little programming. I have, though, been involved in the Linux movement for about 4 years.

I am really playing devil's advocate here. At the same time I am presenting some of the problems with OSS (as I see it). I don't have time to read each and every OSS paper written, so many of my ideas have been probably been addressed.

This started out as an idea on a lazy afternoon near the pool (yes, it's SUMMER in the Southern hemisphere!) I haven't done any research as to the original author(s) of nc, Eric's papers (I haven't read the C&B paper, for example).

Anyway: enough with the disclaimers. Forward!

Commercial art is different to true art. True art is an expression of the artist's soul. Commercial art is aimed at customers: getting them to buy something.

A graphic-design house is not founded to produce true works of art. Sure, there is almost always a spark of genius at the core: if there wasn't, nobody would buy their products ("they can't draw - I don't know how they can call themselves graphic designers").

Graphic design companies will thus attempt to gain a balance: keep the artists happy, but make money too. You do not expect true art from an advertising/design company. The true art is done by their staff after hours, though staff may harness this creative energy and put it into one of their projects.

The same applies to software companies: doing something because you have to will never allow you to harness your creative energies (and believe me, programming requires creativity, as many of you know). Creativity doesn't only apply to lines, colours and sounds: to come up with a truly elegant solution to a problem almost always requires lateral thinking.

So, what does this have to do with free software? Just as an artist does their best work (or at least their most creative work) away from work, programmers do their best work in their free time.

The program may not be rigorously tested (there is no time), it may not be what the client wants, it may not obey any list of standard rules (since when do you regularly use gotos in C code?), but it's creative, it's elegant. It's true art.

The Linux Kernel is a bit like a huge mural: people notice flaws, patch them up (pun intended), other people correct these in turn. Occasionally a master painter will re-do a particularly flawed section. The cool thing about this is other people's changes can be reverted easily, so a punk with a bottle of spray paint cannot ruin years of work.

Like the analogy?

I thus submit the following ideas for consideration:

  1. Commercial code will never be really elegant. If it is, it's because the core programmer(s) liked the idea, and treated the project as a work of art (just off the top of my head: consider the 'nc' program for DOS; I believe it was developed by Norton staff after hours... I am quite likely wrong, though: apologies if my facts are messed up).

    The next version will be significantly more inhibited (once the core developers get bored or frustrated).

    It's a bit like a re-draft of an artist's first sketch: remove the way-out ideas, clean it up, make it more conventional. Make it fit for general consumption.

    If it's commercially developed, it's not the software that we love.

  2. Free software will never be really user friendly: it will never be fit for general consumption. Why? Because the focus isn't on making users happy: it's on making something that works efficiently, or that has elegant code, or is simply damn useful (perl).

    A coder hired by someone like RedHat to make a nice front end will fit into section 1 unless they are REALLY into their project.

    Quite often there is a conflict between elegant code and pretty output. The fancy boot-up graphics that you see in Windows don't really belong there: it does make Windows seem more friendly though (what's more relaxing than looking at clouds). To someone like Linus, putting the code into the boot loader to do that kind of stuff irks his sense of code aesthetics.

    If code is user friendly it's because it's similar to some commercial app... consider KDE and StarOffice.

    OSS will never be a viable alternative to windows... having users spend lots of time trying to learn a program is costly, more expensive than windows. IT people may use OSS on their core machines, but users will never have it on their desktop: if they do, it's because someone like Corel figured out that there is a demand.

  3. Artists feed on each other. In some ways it is mutual respect, in others it is competition. There will always be infighting in the open-source community. Just as some people's minds are wired up to enjoy 'classic' art, and other's are wired for impressionism, there will never be resolution of the Emacs vs vi argument, nor the Linux vs FreeBSD argument.

    On the other hand, perhaps more and more will see the beauty of the other's mural: but I cannot see one mural anywhere in the future.

  4. There are a limited number of artists. If the open-source idea takes off, and thousands of companies release their code as source, who is going to hack at all of it? Not Linus, not Alan. (Sorry FreeBeasties: I don't keep track of your gurus!)

    I believe that Netscape is already falling foul of this: there are a lot less C++ coders than C coders. I know a bit of C, but since I have no experience of OO programming I can't really hack around the Netscape source.

    In short: the overall number of eyes to discover bugs is actually quite small. Unless there is company involvement (like the support IBM is giving to the Apache people) then the movement will fail. I have already asked my company if they are willing to donate to OSS groups like they said no. On the other hand they are willing to buy hundreds of copies of Microsoft programs (because it's the LAW!)

I think that one of the only ways forward here is to create some sort of communal 'D' (as opposed to 'R&D') department, where people literally hack whatever they want to... I believe that Red Hat have been doing this to some extent already, but I believe that it will work best if large groups of people finance other large groups of people. Finding sources of income here is going to be the problem

This discussion has been archived. No new comments can be posted.

"Art vs. Design" and Code

Comments Filter:
  • I think this guy's point is BS from the start, 'cause he makes one basic untrue assumption:

    Linux is hard to use?

    Sorry, pal. Linux may be different than Windows or Mac, but it takes no more effort to use these days. I mean, I set my computer-moron parents up with a Linux box with KDE installed and they love it.

    Now, it's true that they're not hacking code with it, but they didn't hack code in Windows, either. They're not tinkering with the command line, but they don't need to. Hell, they even installed Netscape by themselves. They use their computer like 99% of the people out there: to check their email and buy stuff off the web.

    The reason they like it so much is that I, 300 miles away, can fix it when it breaks without having to walk them through moronic wizard dialogs or phone conversations where "What does the screen say now?" makes up for my entire end of the conversation. Hell, I'll bet they've already saved a couple hundred bucks in phone charges.

    Now, if you want hard to use, try to figure out how to make Windows do anything even moderately advanced. It's commercial code, but if you're trying to do anything beyond running prepackaged applications you're in for a tough ride.

    Linux hard to use? Compared to what?


  • The one thing here I have to disagree with is the statement that Open Source will never be user friendly. Not all geeks are coders first; there are UI geeks, too. As Linux has gone more mainstream, it's started attracting more of that type, when before it was the domain of the hard-core systems hacker. GIMP/GTK and GNOME and KDE are symptoms of this trend. Based on the reasoning you put forward here - people do their most elegant work when they're doing it for the sake of the work, not for money - it shouldn't be long before Linux has the most elegant UI in the OS world.
  • The trouble with Wright is this: he was so close to 'fine art' that his works were not optimal homes. Architecture is weird, and it has some parallels with software- on one hand you can have striking visual design and aesthetic considerations, and on the other you also have constraints relating to the fact that houses are people's 'dens' for living in, and overly stark and artsy dens do not feel reassuring to animals, including the human animal.
    My favorite architects are Roger and Martyn Dean (see the coffeetable books Views and Magnetic Storm for examples). They have actually built at least the model houses for wild organic cavelike rounded homes of many levels. The design is _wild_, but at the same time, people loved it! When demonstrated at a home exhibition, people shoved past the ropes and things to constrain spectators, and roamed all over the designs, making themselves at home and happy as clams. The Deans tapped into a set of values for architecture which to my knowledge _still_ have not been fully explored.
    Of course, these homes they made have absolutely horrifyingly nightmarishly bad acoustics... see how complicated design is? Next stage, making softly organic comforting hobbit-hole homes _and_ keeping the acoustics good ;) hmmmmmmm ;) where'd I put that gunnite? ;)
  • Posted by Foochre:

    Interesting article, of course programming is an artform, and art becomes more meaningful if more people see it.

    There's a good mailing list that a good friend of mine started up called (void), which is about the philosophy of programming and unix; we chat about this sort of thing there. Here are some inspirational quotes from the list blurb:

    "We are what we think. All that we are arises with our thoughts. With our thoughts, we make our world."
    - Buddha

    "If we can dispel the delusion that learning about computers should be an activity of fiddling with array indexes and worrying whether X is an integer or a real number, we can begin to focus on programming as a source of ideas."
    - Harold Abelson

    "There are two major products that come out of Berkeley:
    LSD and UNIX. We don't believe this to be a coincidence."
    - Jeremy S. Anderson

    If you want to join, mail with 'subscribe void' in the message body, or see [] for more info.

  • The differences in commercial and OSS code do not derive from programmers being free (or not) to choose their own projects. The differences arise from programmers being free to choose their working environments.

    Right now, most OSS code is produced in spare time. Because of that, it is produced in a flexable environment well suited to artistic expression and craftmanship. Thus OSS code reflects craftmanship.

    In proprietary code, the programmers do not control the working environment. Some shops are open and flexable, and tend to produce well crafted code. Others are regimented and produce assembly line code. Note that the largest desktop software producers are (so I understand) quite regimented. Thus, commercially produced code reflects the assembly line mentality.

    As business starts producing OSS code, some will continue to reflect craftmanship, and others will not 'get it', and will still produce crap.

    I see the same thing in other industries. In some, management likes to leverage human resources in a consistant micro managed business process to generate synergy in the buzzword of the week and thus strategize the buzzword to produce y2k compliant iso-9000 doorknobs. These are the companies that will consistantly screw up and produce shoddy products. Others hire people to work together to make quality doorknobs. These companies will be responsive to the customer, and tend to care about quality.

  • Good comments overall, though... just the anti-business rant at the end didn't suit the rest of the post.
  • A lot of my interests in the software field are in areas that are not really popular with the OSS crowd.. like distributed systems, scalability, transaction monitors, Java, etc.

    In a corporation, I can exercise my creativity to make great applications with this technology, AND I can help shape the development of future technologies because there are paying customers out there for this stuff.

    OSS is a great cause to support, but it has to be balanced in perspective - it is ONE way of thinking about things in a pluralistic society, and although it's a noble cause, it's not going to change the face of capitalism - far greater trends are already doing that.
  • by Fastolfe ( 1470 )
    You're coming dangerously close to total arrogance here by stating the rest of society are idiots because they don't know the details about your specialization.

    Chefs do not need to know the physics behind how a microwave oven works in order to prepare meals. If they were required to learn the scientific/physics basis behind how everything in their life worked, they would have no time left over to do what they're trying to do.

    It's all about simple economics and marketing. If you invent something and bring it to market in two different ways, one with a complex/powerful interface requiring the operator to know its details, and one with a simple/efficient interface that required little knowledge of the internals, the latter would sell to the general public while the former would sell to those that were willing to learn (or already understood) the internals of the invention.

    People should not be *forced* to spend hours (or weeks or months) effectively learning someone else's specialization (that's what it is, a specialization) in order to do relatively simple tasks.
  • Your examples are unrealistic for the majority of the population. Sure, it would be nice to know how to do the things you're describing, but you should not require everyone in the world to know how to do this in order to survive. (Most people are aware that there are circuit breakers in their homes. I've never met somebody that didn't know to check that.)

    People KNOW that they can learn how to do the things that they pay others to do (repairmen, for example), but they CHOOSE NOT TO. The likelyhood that equipment is going to break down for them is low enough that they can afford to pay someone else (assuming they don't have a friend) to fix it.

    People should not be required to learn how to repair and/or re-program the tools they use every day. The tools should be designed in such a way as to make them reliable and easy to use for its target consumer.
  • There are extremely few exceptions to the rule that everyone enjoys coding more than packaging, testing, or documenting.

    Have you ever used Debian? They consider undocumented or poorly packaged software to be a bug. Some package maintainers seem to be more committed to quashing problems in their packages than other but overall stuff gets done.

    And they are most assuredly not a commercial entity.

  • I doubt that his parents could have done even that much in Linux a few years ago. Things are moving fast. Today, they can use it..tomorrow, maintain it?

    (btw..I don't really know many people who can 'maintain' Win95 or MacOS either, usually they come around to be or another resident computer nerd and ask for help. So my conclusion is that no software is easy to use. ;) )


  • Couldn't resist doing this. Draw your own conclusions folks.....

    maple> grep -c goto `find /I/DevStudio50/VC/mfc/src/ -name '*.CPP'`

    maple> grep -c goto `find /usr/src/linux/ -name '*.c'`

    Btw, linux is 1.5 million lines, whereas MFC is about 150k. Plus linux is an OS, so, where low-level performance tweaks are a must, gotos are more forgivable, I suppose.

    Personally, I conclude from this pointless exercise that code should not be judged by its goto count.
  • So, you're saying that coders can't create a decent UI? That's like saying we're morons, and have no skills other than coding.

    Most programmers are well-rounded people, with interests in the arts. A *lot* of programmers are artists on the side; and a lot of us know how to design and build user interfaces. Take a look at the Gimp-- version 1.1 has a *great* UI. Very user-friendly. And Gnome and E have very nice configuration utilities-- very user-friendly. Far beyond the commercial equivelents.

    The free-software crowd can produce whatever we want, at whatever level we want. And as OS development is evolutionary, you only see the rough first-draft of the user desktop right now. Even KDE has a long way to evolve-- but the evolution is evident right now. Just 18 months ago people were saying Linux would never have a decent UI-- now we have KDE and Gnome. And soon we'll have Gnustep. And now you prophesy that free software can't have commercial-grade applications without commercial help? That's a little short-sighted.

    The source of power in all corporations are the people who produce something. In the software market, there is no cost of creation or distribution (and yes, my time is worth something-- my self-respect). So, for raw resources, software makers have absolutely *nothing* that free software projects don't.

    Direction? Have you ever been involved in a large free-software project? Direction is from within, and usually better-organized and with steadier direction than corporate development. Corporate development tends to have shifting goals, based on shifting markets or changing management. Rewards? Me, I work as a DBA. I make enough money to support my habit-- coding. Am I a good coder? Not really. But I don't try to lead projects. I just follow, and help where I can.

    So there is no inherent advantage to software companies over free-software alternatives. And as the free-software platforms evolve, you will see more and more users move to the easier-to-use, more flexible, free platforms.

  • Granted, you made Linux easy-to-use.

    That's just it. You had to make Linux easy-to-use. I'm willing to bet it took hours; it takes hours even for experts. That should not be. This is the one area in which Linux is lacking. Coming from its Unix roots I don't see how it can be easily fixed, but if NeXTStep and Apple can do it I suppose it's possible. The point is to make it easy-to-use without destroying the power features; this idea that power and ease of use are mutually exclusive is nothing more than a myth put forth by coders who are too lazy to do it right the first time. And yes, I do code; I know it's hard. But if you really love a project, then ease-of-use becomes part of the artistry as well. Look at Balsa. Look at the GIMP, which has room for improvement but is certainly easier than a lot of applications.
  • With all due respect, there is a big difference between Enlightenment themes and professional graphic design. A good graphic designer would have more of a sense of balance and restraint, an instinct which tells them when to add and when to subtract. Good graphic design is like Japanese art: the negative space is as important as the figure (perhaps even more). And chunky chrome frames, glowing skulls and half-naked women holding swords are not most people's definition of "restraint".

    For examples of what professionals would make of the technology, have a look at Kaleidoscope []. It's a Mac program, so there are almost certainly graphic design professionals among the few hundred or so scheme authors. And some of the schemes look very elegant.

    -- acb [not a designer by profession, though a fan of good graphic design]

  • Yea! At last someone voices the opinion I've held since my early days at the Commodore Pet.

    Programming can be art, especially if it is hobbyist code (or is "open source code" the politically correct term for hobbyist code these days? I remember when *all* code was open source by default :-).

    Sure I design code to be fast and efficient. But given a near negligible difference in performance between nice artistic code and nasty obtuse code I choose nice every time.

    What makes code "nice" and "artistic"? Well, human readability first and foremost. Computer's can't appreciate art so the ONLY things appreciating "artistic" code are humans. Well commented code can be art. Multi-component systems, which have an overall holds-it-all-together style can be art. Logical code can be art (you may ask "how can code be illogical?"; I say ask a COBOL programmer). Neatly laid out code can be art. All these kinds of frills are SOLEY for us humans' benefit; most of these frills are stripped out when the source code meets the compiler.

    Examples of "non-artistic" code include using different variable names to refer to the same thing; indentation nightmares; unnecisarily obfuscated code (as opposed to neat concise tricks); poorly commented code; illogically or poorly structured code... the list goes on.

    I feel appreciated now! Someone else has realised that my job cannot be done by robots!

  • The real problem isn't that OSS will never be easy to use - the problem is that it tends to be radically inconsistent. Knock the Mac or Windows, but at least the software is pretty much all built with the same building blocks and thus looks and works mostly the same. Linux today has what, ten? fifteen? different GUI toolkits - not counting the programs that address X directly or otherwise implement their own look and feel (Ghostview, XV) and not counting window managers that add their own look and feel to the system. When it was announced that KDE and Gnome would use the same drag-and-drop protocol, it was a watershed - making Linux the last OS on the planet to get a DND standard.

    Part of what makes an OS easy to use is consistency - if it worked this way in the other program, it should work this way here. Radically jumping between interface styles and widget appearances between applications jars even the experienced user - and annoys those anal people like myself who want all the programs running under a given OS to look like they belong together. (When one program won't respect the color scheme you've chosen, it's annoying and it looks unprofessional. X Window is the king of this - a typical screenshot looks like a mockup, with four or five GUI styles mixed and matched like the Screamshot. A NeXT-style window manager with Motif widgetry in one window and Win95-style widgetry in the next... a confused observer might think you've gone emulator crazy.)

    The solution to that kind of scrambled interface would be to have a style guide - but that requires making all the toolkits conform to it, and the toolkits usually have their own style guides. In OSS there seems to be little incentive to make things interoperable - and far less incentive to obsess over the UI style. This wouldn't be a problem with the application coders - they should have a reasonable expectation that the toolkit provides such consistency. Just having the major toolkits look in the same place for appearance and configuration info would be a big step up - if I want an aqua-green OS, I don't want half my apps to ignore my request!

    That the GNU tools on the command line are completely style-guide compliant and are fully interoperable makes this situation in X that much less acceptable. It CAN be done. Why isn't it being done?
  • This takes an analogy that is somewhat forced and then tries to draw conclusions based on it. This is a fatal flaw in the articles's arguement.

    The open source as a mosaic does not make sense from an art point of view. Great works of art usually have one point of conception, one vision and one direction even when other people help the artist. This is anything but true of open source software. Many disparate groups of programmers with different objectives and different levels of experience. Open source systems grow and evolve. (Evolution would have been a much better analogy BTW). Really beautiful apps are usually the creation on one or a very small group of skilled and experienced programmers.

    At the end of the day, the art analogy is a feel-good thing. We can get the same feeling from creative programming as we can get from art. (trust me - I do both). But taking the analogy further is inappropriate. People are more productive when they are enjoying themselves. But they are not necessarily being more artistic (several times I have got the source for something, looked at it with an eye to adding to it and given up becuase it was so ugly. Much "hacker" code is incredibly ugly and difficult to work with - even though the hacker probably enjoyed himself writing it.) Only the big projects get fixed by other people.

    Commercial and free code

    Commercial code can be very elegant and free soft ware can be very user friendly. These are massive and inaccurate generalisations based on the flawed logic of taking an analogy too far. Elegant design has major commercial advantages (massive reduction in costs) and the beauty of a user friendly design (not to mention scratching the itch) can be a huge motivation for a developer. I suspect the author may have also made the classic mistake of equating ease of use with how quickly an idiot can pick things up. Ease of use is more fundamental and affects all skill levels of users. May OSS projects have a lot of power user easy-of-use features. They do tend to lack novice user support features. But many of them are written for a particular type of user and use. There is nothing wrong with that.

    C++ and C

    The C++ v C problem is a real weakness in open source. An artist must learn the abilities of all their tools and build their skills, learn various techniques and study the various schools of style. The decision to limit a project to C (and thereby horribly limit your design and ability to do things) is akin to Leonardo DaVinci drawing the Mona Lisa in crayon because the apprentice who was helping him thought oil paint was too tricky. This attitude is insulting to real programmers (and disenfrancises them) and is about as anti-art as you can get. C++ is a far, far more artistic language that C. It give you so much more room to work and the ability to work quicker. Good toolkits are important as well. (Another analogy is that it is harder create a great masterpieces when you have to spend most of your time making the canvas, the brushes and the paint.)

    (Someone is bound to come up with "but you can program in an object oriented way with C" or "You can write a C++ wrapper object for a C library". These are just excuses. You still lose a lot. You still have to do extra boring work.)

    Having said all that I'm not a huge fan of C++. But I would use it anyday over C (for a major project). Becuase I'm want to create something rather than program in C. Python, now that is an artistic language ;-) (and easy to understand for the lamers too). Sometimes C++ is the right tool for the job and I'm not going to use C for the benefit of some lamer.

    Final Quibble

    At the start the author states that he has not done any research. I don't think it was appropriate to have posted his article to a public forum until he had at least read ESR's stuff.

  • by hany ( 3601 )
    IMHO, I agree

    other can be dissapointed, can disagree, ...
    because this topic is clenaly about personal opinion


  • illiterate (in particular subject) people exist and will exist; and there will be much more of them because nobody can know everything and there is still more and more things man can know;

    so maybe there will be more able people in future (in handling computers) but for example how much people realy know (understand, etc.) how engine in the car works and therefore how to correctly and efficiently use it? how much people know how TV set, CD player, ... works? how to use it?

    we can argue about that; we can flame about that but facts are plain

    on the other hand, i'm not advocating lamers: i realy do not like people doing something they do not understand and i hate when they are arguing with experts (in that particular subject)
    like "common" PC users argue about how Windows are stable and efficient and ...

  • Well done! You've really put me off installing Linux now. 30 hours just to get the *basics*? I've been using Windows for years and have never had to look at the manual. Plus, I've dived into the Registry, on average, once every six months, and only because I was doing advanced stuff. And it was easy, too. I've never written a batch file, either.

    Thing is, I'm a Linux user, I enjoy developing on it and I really really want it to succeed. But it's never going to succeed if it doesn't get easier to move to, and the way you're talking, it never will.

    The sooner that a load of ignorant flamers get off their "It was easy enough for me to install, so it doesn't need any more work" horses, the better it'll be for everyone.
  • So, author of this feature said that OSS would
    never conquer desktop market, just becouse
    writing user friendly program is too boring
    and gives too few aestetic pleasure to author.

    This is true with already available programming
    techniques, like Motif, Qt or even FLTK.

    But this is not so true with Tcl/Tk or SmallTalk.
    When language and basic concepts supports GUI
    programming, writing friently code is no more boring than writing efficient code and gives
    no less aestetic pleasure.

    Only one problem remains - invent metaphora of
    GUI, with would be as powerful and simple
    as shell metaphoras (IO redirection and regexp)
    in CLI.

    Once it is done, writing his own GUI would
    be available for average user and OSS GUI
    would prosper.
  • I think there's a lot of truth in this, but in reality most people occupy a position between the two poles you describe. Every project combines artistry with expediency, and we are always trying to increase the former while others pile on the latter.

    but then i also think you forget the third category: between artists and drones there's a broad group of craftspeople whose satisfaction comes from the artists' criteria of elegance and necessity, but whose domain is use rather than contemplation. that's probably as true for coders as it is for designers (and people who make wardrobes), and in each case the thing created finds its expression by working with people.

    for a truly elegant solution, in the vast majority of cases, you have to think about the cycles that people waste as well as those wasted by the machine. sometimes a perfect minimalism can achive both (i wish), sometimes one suffers from clutter for the sake of the other.

    the problem, as always, is how to bind together diverse efforts and motives. i suspect that the bazaar actually suits craftspeople better than any others, whereas the output of artists tends to end up hung on the walls of the cathedral...

  • While I really liked this feature, I think that the basic premise is flawed, i.e., that software development is analogous to graphics design.

    The analogy falls apart because graphic art serves no purpose other than to be art. This is not to say that art for art's sake is a bad thing, but just that art does not strictly serve any pragmatic purpose other than to please the eye.

    I think a better analogy is found in architecture, which (for my money) more accurately captures the dichotomy of art and science.

    Of course, exploring this analogy would be the stuff of yet another feature, so I leave that to someone else. However, some of you may get a kick out of Ayn Rand's ``The Fountainhead'' which explores what it means for architecture to be great.
  • Ah, yes, I stand corrected.

    I had intended to say that about pure art (and definately not ``applied art,'' i.e., graphic art).

    Sorry for the mistake, and thanks for the catch.

  • One point - you're assuming people are computer illiterate. As literacy rises, so too does the ability to comprehend and use complex programs, such as linux, and it's suite of tools.

    'nuff said.

  • You're correct about the creative elements of programming, and how work programming really isn't as passionate as free time programming. At the same time, I think you're missing a piece of the puzzle. If no one cares about user interface and ease of use, why develop GTK, GNOME, KDE, the hoards of window managers, etc. It's obviously a sore spot in the OSS community that is trying to be addressed with these many GUI elements.
  • Enlightenment is very pretty. It is nicely configurable.

    However, it is not good interface per se. A good interface explains itself to the user and uses visual cues to transmit information quickly and accurately. It has nothing to do with glitz. It gives you maximum information return for the time and cognitve-work investment of interacting with it.

  • *grin* I'm working as a secretary - any of you programmers want to try and figure out how to run the billing for our ISP? Or handle customers who call? I can't reprogram our billing software, and I can't set up an ADSL line. However, I am the one who sells the lines that our admin installs. The closest I'm ever going to get to programming is html... and that's really as far as I want to go. My strong point isn't programming - and our admin's strong point sure as heck isn't dealing with people. My grandmother doesn't and shouldn't need to know how how her modem works in order to check her email - she has no reason to, and learning that would take away from time she could better spend doing other things.

    I think the main problem is that people refuse to learn things that are involved with what they're doing - and then get annoyed when the computer does what they told it to! I do believe that technology should be accessible - and that people should learn the stuff that they need to use for their purposes. I know how to use a unix system, but have no reason or desire to learn how to install and configure one.

    While technology shouldn't try and please the lowest common denominator, it also shouldn't require a PhD in order to use a word processor.


  • Your Reliant? News to me... Dad'll be surprised. :P

  • Sure you don't have your threshold set too high? I was able to read BOTH of your postings, as well as your snotty-ass posting about them being deleted. I think it's unlikely that any of your other posts were deleted either... threshold settings are set in your user preferences. Just because a posting isn't offensive doesn't mean that it'll automatically get a high threshold.

    You can read everything, even moderated posts, by adjusting your threshold
    (copied from the "Important Stuff" list that is right below where you hit the button to post a message - it's not hard to find).

    Try checking it out before copping the attitude next time - surely your 10+ years of technical experience has taught you the importance of checking for errors?

    Being as cynical as I am I can see the moderators who are of such that mind easily deciding my the post is a "troll" or a "flame" and killing it. Hopefully you all will learn in time.

    You might be able to cure some of that misplaced cynicism with a good dose of reality. Hopefully you will learn that with time.

  • You mistake what I am saying I think. I don't think we as a society should be a load of idiots, I am just saying that we can't be experts at every single thing that effects our lives. Do you seriously think that your children will be able to attend to the sick as a doctor would, design microprocessors, write good software, build a effecient home, pilot a jet combine DNA, and all of the other thousands of specialized tasks that require years of training? I don't. People have limitations that are defined by time, money and need. If I want to be the best programmer on the planet, I don't have the time to learn how to be a great carpenter too. I am too busy learning my preferred skill. The whole point behind machines was to make things easier for us. That's why we made them. The skill should be in the creation of the tools, not in their using.
    I am not arguing for an "idiot society". I am arguing for a society of skilled people who work together to meet their goals.
  • What the heck happened to all the comments in the "FLAME ON" (which not not flames) thread? Are we being policed, or is the database still feeling sick?
  • I agree with this, and it's true, technically. But really, it is possibly to be a C++ coder and not a C one. You get used to doing things OO-style, and you eventually feel stuff out as OO problems. When asked to do it procedurally, even in the (essentially) same language... you bomb. I know a little Perl, that doesn't make me a JAPH or anything. Non?
  • Why should I learn how my alternator works? I just wanna code PERL...
  • To me, all the best art is craft. Failure to take objective criteria into account when creating art results in art that communicates nothing to anyone besides its creator.

    As a side note, I think much of the art in our museums today that's less than 50 years old is exactly this way. Perhaps it's just the fact that the 90% of everything that's garbage hasn't yet been culled.

  • Although I also have very little programming experience(other than sql and lex if you would call that programming :P), I have heard from a number of coders that I respect that it's dangerous to regard one's code as art, simply because it tends to detract from logical structure. Although programming often takes creativity, it has to be structured to be efficient and useful. Other people need to be able to interpret it. And let's face it, the 'art' we are creating is meant primarily for computers, which often have a very poor sense of aesthetics.

    I also disagree that simply because one is being paid to program, or is being told what to create, that it makes the final product worth less. I personally can work better and more creatively when I'm given constraints to work within. Sit me down and say 'just program something useful' and you probably won't get much out of me.

    And lastly, "(Sorry FreeBeasties: I don't keep track of your gurus!)". That's because we don't have any. I personally don't see the need to worship one. The creators of FreeBSD are typically low-profile, and that's the way I like it.

    just my 1.75 yen...
  • If someone was deleting your comments, wouldn't they delete your post-comment whining as well?

  • I don't agree with the concept that creativity can only be used for designing user interfaces. My experience's that you can find a piece of code that's a work-of-art ( althought that's not so common, neither in commercial or noncommercial code ). And as code and user interface are differents view of the product ( although not necessarily orthogonal), that's not uncompatible with an awful user interface ( that you might have been ordered to implement ).
    What's more, don't believe that a good user interface implies that the coder has done a nice piece of code. Two programs can look very alike ( from the user point of view ) and be anyway of very different quality. ( You might thing that I'm just stating rather obvious things, but I've come to think that even people with many years in our profession don't realize that point, nor see so clearly its self-evidence ).

  • You do not expect true art from an advertising/design company.

    Speak for yourself . . .

    . . . Charles Rennie Mackintosh, Frank Lloyd Wright, the Jugenstil, Maxfield Parrish, probably a dozen others.

    Software is in no way analagous to "fine art"; it's very, very close to "commercial art". Most of the points raised in the essay seem valid to me, but let's not go overboard and over-generalize ourselves to death.

    My two cents, anyway . . .

  • Linux is hard to use?

    Sorry, pal. Linux may be different than Windows or Mac, but it takes no more effort to use these days. I mean, I set my computer-moron parents up with a Linux box with KDE installed and they love it.

    I think you just proved his point.

    Along similar lines, my wife is using my FreeBSD box just fine. But there's no way I'd expect her to maintain it.

  • One way is to work with software designers to come up with auser design. I've got a program called XAmixer ( I've tried to make the interface good, but I don't know interface principles. As well, I need art, pixmaps, etc. from graphic designers. I can do a few things with the gimp, but i can't really do any original work. That's one area where graphics designers can also contribute greatly. Work with coders to come up with good looks and good graphics. Also giving help with principles would be greatly appreciated by many people (such as myself). Teaching design techniques to coders (who generally will want to know everything) will also go a long way, if done in a friendly way. Even making and publicising a user-interface design howto that is genuinely good and also general would be very helpful.
  • And if you don't know how your microwave oven works, you don't have that power. And do you know what happens when your oven breaks? You have to pay someone to fix it. They're not that complicated. neither are cars, trains, etc. I'm not talking about being an expert in every field, but you should know how your tools work. If you didn't know that the MWO uses microwaves, which ar e harmful to human life, and the oven got damaged in such a way as to obviously leak, you'll be hurt. If you don't know how your chainsaw works, please take ten steps away from me. Just think about this quote:

    The idea that an arbitrary naive human should be able to properly use a given tool without training or understanding is even more wrong for computing than it is for other tools (e.g. automobiles, airplanes, guns, power saws).
    -- Doug Gwyn

  • >Free software will never be really user friendly

    > Here I agree with you. There are extremely few
    > exceptions to the rule that everyone enjoys
    > coding more than packaging, testing, or
    > documenting. Thus, when your "workforce" has
    > _total_ freedom to pick what they work on (yes,
    > this is the theme I said I'd come back to) these
    > other tasks get pretty short shrift. The result,
    > one might think, is that the core code is all
    > elegant and pretty but the ancillary code and
    > the non-code are either nonexistent or shoddy.
    > In actual fact, the core code isn't that elegant
    > or pretty either.

    Let's be honest with each other: the majority of code isn't elegant. Not from anywhere. Software from everywhere has proven itself to be good. Free software has proven itself to be (generally) free from the direction of the marketing department more than commercial software has.

    As far as being user friendly, it's best to observe the classic wisdom that "all generalizations are false, including this one". What you're saying is just completely bogus. No friend of mine (qua friend) has tied me to a chair and made me do only what he wants me to do. Generally, no free software has either. Lots of commercial software has. Sure, the commercial stuff put explicit labels on all the nobs so instead of reading the manual in a book, I read it on the device. This is arguably more convenient. It's also not limited to either domain (free or commercial).
    The catch is that the majority of the labels on the nobs in commercial software are poorly designed. The labels are vague quite often. There are so many "user friendly" apps that I've had to go to a manual which is generally fairly crappy because the software is "user friendly". I couldn't find what I wanted to know anywhere. And let's not forget those utterly useless "user friendly" error messages. Some of them make me wonder why the programmers didn't just use a smiley face or a frowning face instead of text.

    And what happens with all these "user friendly" applications? Geeks figure it out themselves, and everyone else buys the books or asks the geeks. I've fixed win95 problems for people way to much to buy into the idea that it's easy to use. It's easy to use for non-technicle people because they aren't the ones who deal with the problems, we are. An F14 is easy to use if you are going for a joy ride and the pilot is the one flying the plane.

    Besides, have you seen Econf (I think that that is what it is called)? It's the all-new half-price free-trial-offer open-source buzzword compliant configuration editor that looks both (a) really pretty and (b) really easy. It's open source. It is free. Look at gnome. Look at KDE. Hell, configuring the kernel is 9/10 times a brainless activity (just do a make xconfig and click on the pretty buttons with the nice labels next to them, it's what I do). Why don't we all get over our X will never Y nonsense. Life isn't black or white, it's a giant and complex checkerboard, you'll find pieces of black and white all over the place.

    Oh, about debugging, that's what lots of users do, they test the edge cases. After all, with OSS someone uses every edge case, that's why its there. It's just about never the case that every user only uses 90% of a program (or even 99%). If you ever read Changelogs, how do you think that all those absolutely obscure bugs are fixed? (hint: someone tried the edge case and found them.)

    To sum up, I'll use a paraphrase of a quote from a movie which I only saw 5 minutes of and never caught the title: "It's hard all over". If anyone has a tragic flaw that will be its downfall, it's commercial software for having the marketing department and the shareholders. OSS can do anyting that it wants to, and someone wants to do everything.
  • I'm sorry, I misunderstood what you were saying. You are right about bug testing programs, I didn't mean to say that they were not a very valid and important part of programming. Part of it is my mindset. I've mostly been working with graphically based programs, which are difficult to test by program.

    However, part of what you are missing is that OSS and what you were doing are catering to two different client bases. OSS is catering to the group who are all capable (or at least, in general, capable of learning) of debugging their problems. Commercial software is, for the most part (from what I understand of the situation, at least) catering to non-programmers. Thus the target community takes part in the debugging process. What's been happening, I think, is that a lot of people have been realizing, "Hey, this stuff has lots of features and works pretty well. Sure it isn't perfect, but neither are our alternatives." That's at least quite true of the Linux vs. Windows world. Having Used different versions of windows for years, it feels like they didn't use debugging tools.

    There are, from what I understand, programmings shops that built ultra-high quality systems that were virtually crash-proof, for those systems that really are mission critical (e.g. NASA). That isn't the majority of people. Most people don't have that type of budget and don't need that kind of stability. If you're operating system hosting your web server goes down once every two or three years, that's fairly acceptable, considering that we live in an imperfect world. Most likely, you'll down the box yourself more often than that. Properly configured, I've heard stories and seen figures on Linux boxes with multi-year uptimes.

    Please don't misunderstand, I'm not trying to put down commercial endevors. The fact that many corporations do act sort of liek they are evil does bother me, but that isn't all corporations. I've worked in a bank that was quite humane, at least to its employees, and it seemed to bend over, at least close to backwords, for its customers. My point is that OSS is a different method, it's a different paradigm (God, I hate that word, but I can't think of one that's better).

    It's all a matter of what you are trying to accomplish. I don't think that anyone in their right mind is suggesting Linux on a pentium to control NASA's next deep space probe. On the other hand, I hope that noone is suggesting a multi-million dollar hyper-tested crash-proof system for a businesses web serving, print sharing, file sharing, or desktop environment. Everything has its place, and frankly, I'd prefer OSS-debugged software anyday over the barely debugged Windows software that's the alternative (or at least software that behaves as if it was barely debugged).

    Different tools for different jobs. Btw, what makes you think that RedHat won't eventually hire some people to run debugging programs on Linux & associated programs?

  • I was musing about the author's description of programming (like painting)
    being split into Commercial Art (bad) and High Art (good). Such a split is
    hundreds of years old, of course, predating code writing by quite a bit.

    I noticed the author drew the demarking line by intended usage or whether
    the creator got paid for the work. Commercial Art was strictly to persuade
    the masses to part with their cash. "High" art was for its own sake. Kind
    of an existential view of art, don't you think? Also seemed a bit of
    artist-elitism or snobbery. Like having a practical use denigrates
    something. To be "art" it has to NOT have a practical use.

    Historically, the lines weren't all that well drawn, as you know. What we
    consider High Art now was very often done 'for hire'. Michaelangelo did not
    paint the ceiling of his own bedroom, just for fun, in his spare time. He
    was a paid professional, hired to perform his craft in accordance to the
    wishes of his employer. Could Michaelangelo have put dragons and monsters
    on the ceiling of the Cistine Chapel if he wanted to? Of course not. He was
    hired to put a picture of God giving the divine 'spark' to Adam up there.

    Seems to me, what separates "Art" from mere decoration or mundane craft, in
    history, is not whether the artist got paid or had to follow an employer's
    directions, but rather, it was the skill or "gift" of the artist. I mean,
    you can imagine that some poor sot could sit in his basement studio
    painting all the really awful paintings he wanted (maybe dragons and
    monsters), following his own inner voice (existentialisim can't provide any
    value assessment here), but his product still wouldn't qualify as "Art".
    His having not gotten paid for his bad paintings won't elevate them to
    "art". They're still bad.

    Staying in the visual arts analogy awhile, it also seemed the author was
    quietly presuming that one of the features of "art" was that it was NOT
    intended to do some job. Done for its own sake and not to satisfy some
    'customers' or a market. Again, existentialism leaks out. Elitism too.
    But think about it. Does visual art (like a painting) really serve NO
    purpose? Did Matisse or Van Gogh, or Beethoven or Goethe, for that matter,
    really create their works of art for NO purpose? Of course not. Part of
    the definition of good or successful or recognized art is how well that
    creation fulfills its purpose. In many cases, that purpose was to
    communicate some message. Maybe the message was deeply personal, but the
    "art" was intended as a means to communicate that message. There had to be
    an intended "customer", someone who would receive the message and
    understand it. (hopefully)

    Back in the world of programmers, I can see where there is a commercial
    priority to produce a product that will satisfy some market need and thus
    provide income for the programmer and his employers. Like hired farm
    hands. They're there to help bring in the crops. The farm family benefits
    and pays the laborer's wage. (sorry. slipped into another analogy) If the
    farmer wants his beets dug up, that's what the laborer does. It isn't
    elegant, but it was the work to be done. The laborer doesn't have to like
    beets, or like digging. His preferences aren't in the equation. Most
    programmers, I figure, are like the farm laborer. Their bosses have some
    work they want done. It might not be elegant, but they're willing to pay
    the guy to do it. No big deal. Beets gotta get dug.

    Something that seems at play with painters or programmers, is that there
    are some guys (or gals) who are just plain good at their craft, be it
    painting or composing, or writing code, or digging beets. In any craft,
    there are a few gifted souls who excel at the work. Then, there will be
    people (maybe most) who are good enough to stay alive and below them, a
    body of hacks who dabble or struggle at it, but really aren't good enough
    for anyone to value their work. Such "artists" can be loners, developing
    software on their own, of course (Some composers in the 1700s and 1800s
    were wealthy aristocrats who could afford to dabble, not worrying about
    bills or food, but they happened to have been good at the "art" too). Some
    "artists" can be employed to do someone else's work for them. (Mozart was
    hired to write several concerti for flute which have stood the test of time
    as "art" -- but Mozart hated the flute and did not enjoy writing for it)
    Still, a true artist can create art, even if 'for hire'. Middle-of-the-road
    artisans (note that I avoided the use of the Artist label) can still
    perform work worthy of pay even if the result is heralded as "art".

    I think the author hit upon one of the keys, though. He referred to
    programmers who had a passion for their project. Even hired-gun programmers
    could do great work, he said, as long as they were "really into" their
    project. Such passionate involvement CAN produce better results. Someone
    who really cares about the project is just more apt to put in the personal
    investment to achieve quality. A person who really couldn't care less just
    isn't going to go that extra mile. And, with Mozart as a proof text, the
    truly great ones can create great stuff even when their heart ISN'T in it.

    In that we are told to "do all things as unto the Lord." It seems we are
    expected to MAKE ourselves passionate enough about the task -- whatever it
    is -- to do a quality job. God didn't make us all Mozarts, however, so
    expecting passion alone to produce "art" will be disappointed. Still, as a
    programmer with some skill, one can still see ways the task at hand could
    be done better, more simply, or more 'elegantly'. To intentionally avoid
    taking these steps may be a directive from one's employer..."Don't spend
    any more time on that". To intentionally do a feeble job when you could
    have done better (and were actually being paid to do better) would be the
    irresponsibility that the Bible cautions us against.

    To sum up, (bet you were wondering if I ever would, eh? :-) ) the author's
    assertion that free software is inherently of better quality than paid-for
    software, seems flawed. Good software, as he also notes, comes from passion
    or commitment. Same with anything else created by men's hands. Whether the
    guy got paid or charged for his product, doesn't seem a vital (or even
    salient) part of the equation.

  • The main theme as I see it:

    If you create something because you love to, because it inspires you, the creation will be superior.

    The degree of elegance and artistry in a (so called) finished program will be directly related to the degree of freedom and heart involvement experienced by the developers in creating it.

    Whether or not a program is commercial or open is actually irrelevant. It's just that, generally speaking, a commercial environment is less conducive to following your bliss. Some people are lucky enough to get paid what they love to do. Most are not. If we as a society can learn how to redress that balance, things will change. I'm hoping the GNU/Linux/OSS movement can help do that.

    My 2 cents.

  • Linux is easy to learn if you are not a lazy ass. Get up off your butt, read the "fine" manual, and do the examples. If you want power and stability, you have to pay the price. That price for Linux is about One month of about one hour per day to get the basics, it aint rocket science. As for windows being easy, I would have to disagree. It looks easy, and if you don't try to do anything usefull, it is easy. If you have ever tried to work on the registry, or write a usefull batch file, you would know Windows is not easy. What little power there is, is hard to get to, and not stable when you use it. Thats my 2 cents worth.

  • I think that the thing about opensource that I like most is that its impossible to say that Opensource or freeware projects will/will not ever be something.

    The simple fact is that because its open there is room for people to mould it to whatever they want - I have yet to contribute to any OS project but that has mainly been due to the lack of a machine at home (and more reacently time).

    Saying that OS software will never be user friendly is not in my opinion a valid statement... what I am waiting to see is the graphic desginers of the world join in... people who enjoy making usable cool interfaces.

    I had a long discussion with the graphic designer in our office a month or so ago... we both choose our professions because we wanted to be magicians...

    The difference is I wanted to make things happen, affect forces, move things, blow things up, etc...
    he wanted to be a stage magician and produce the gasps from the audiance.

    Opensource will never become a viable solution for the general domestic user as long as it is purely devleoped by coders... my hope is that sometime soon it will attract some magicians who specialise in the glamour which the home user wants.

  • People complained that VCR's were too complicated to set (I mean, you had to find the button that said 'Set Clock' then use + and - to change the time, scary). Then came on-screen programming, where the user is given English--French, Spanish, whatever--instructions right on the TV screen. No, that's still too complicated. Okay, so how about this...if you want to tape a program, just look in the TV Guide for this number, enter it using the remote, and it'll do everything for you.

    The result of all this innovation? Blinking midnight.

    And you expect these same people who don't set their VCR clocks because they're "too complicated" to take the time to learn Linux? Is an AOL for Dummies reader really looking for the power of the underlying OS?

    Normal Windows users don't spend a whole lot of time working with the registry or writing batch files. They "don't do anything useful." Those, like you, who are frustrated with such limitations already know about (and probably use) Linux.

    Right now, Windows provides the easiest methods for setting your clock and taping Matlock. Linux may allow you automatically strip commercials and sort episodes by original air date, but you'll have to press a few extra buttons to get there.

    And people are afraid of buttons.

  • I think that your point #3 is pretty accurate. Personally I use Linux at home, but I'd hate to see FreeBSD go away.

    Point #2 makes a big assumption: that no programmer is interested in user interfaces. I think that's a bad assumption. I've no data to back it up, but it seems to me that the existence of things like KDE and GNOME indicate that there are programmers who like making things look as good as they work. And I think you underestimate the consequences of OSS programmers just plain getting ticked off and saying "I can do a better-looking job that that!".

    Point #4 makes the assumption that the number of programmers capable of understanding the code is constant. I think that's wrong, and that as more and more complex code is available and people get more used to looking at code we'll see more and more people who understand it. I do know that, over the years, I've gone from being able to handle a few thousand lines of code at a time to a few hundred thousand lines. I can't be unique in that progression.

  • May I assume you're running linux using a self made CPU then? And that if it goes wrong you can fix it?

    I'm sorry, but there are so many hours in the day. Accept the choices people make and remember - it may only take a couple of minutes for you to understand, but that is hardly a guarentee that they will pick it up as easily.
  • How much do you know about cars? or do you rely on a mechanic?
    ...or a plumber?
    ...or an electrician?
    You may know a tiny bit about plumbing, cars, and wiring to be able to do simple stuff but can you rebuild an engine, install a new pump, install a new breaker panel. Huh?
    Get the point?
    Consider it a service industry.
    Your mechanic may not use a computer for more than printing bills, but he fixes our cars and we fix their computers.
    I'm sure at the end of the day mechanics sit around at a table discussing what non-mechanic idiots are doing to their cars!
  • "Commercial art is different to true art. True art is an expression of the artist's soul. Commercial art is aimed at customers: getting them to buy something."

    Actually you are professing a Romantic concept of art which is mystical and worth not a nickel. Art is about expressing beauty or truth, according to the values professed by the artist's culture -- or "climate of opinion".

    As to the Romantics the most important thing was one's own sentiments, their concept of art became attractive to all egotistic artists (almost all of them, as they are common people and not a bunch of altruistic angels) and is perpetuated until today, with much loss to beauty, truth and even communication (expression) in art.

    Free software should not be Romantic, even if Idealist.
  • The trouble with most apps is that there is little compromise b/t blindly going around in the command line and having nice, user-friendly toolbars and pull-down menus. Yes, command line power is valuable, but the steep learning curve and lack of hints that keep you from screwing up aren't there. A rudimentary windowing system _looks_ good, but one has to use the mouse for _everything_. one thing that Windows has that many X11-type software doesn't is hints for keyboard navigation, one thing that seems to be the last worked on, reducing the Power of Linux to a primitive Mac UI. If nothing else, Windows' insistence on backward compatibility allows for 99.99% navigation with the keyboard, so that I can shutdown with , u, s, . short of modifying some .rc file somewhere (which is beyond my current level), I am tied to the mouse beside my keyboard.
  • It's not that there's no incentive to make things interoperatable -- there is. The problem is that, when you interoperate, there has to be some common base to work from -- as some wise man once said, "The wonderful thing about standards is that there are so many to choose from."

    Or to put it another way, there have traditionally been so many different window managers, toolkits, etc., etc., etc., each of which had their own way of setting preferences, that there was no hope of picking a One True Configuration Mechanism that everyone could write to.

    Come to think of it, you do have a point after all. After all, the Linux community has been able to standardize on things when it really wanted to. It's just that a standard UI has been a low priority (as well as being something which tends to be highly personal, and thus has resisted standardization).

    Personally, I have hopes that KDE and GNOME will change this. If one writes a Linux app, checks for one of these being present, and uses its settings to pick colors, widget styles, fonts, etc., one's app will respect the user's global config settings on a (comparatively) large proportion of Linux boxen. (I'm a bit ignorant on the guts of these things, but it might be possible even to support KDE and GNOME, at least partially -- at least up to using common colors and fonts (common widgets may be too much to hope for).)
  • You have hit upon the quintessential question. You face a daunting task. I have been struggling with the same barriers that stand before you. I have long pondered the nature of the barriers to non-programmer entry into the free software community. I have sought the ways in which those barriers might be lowered. I don't have the answers but I may be able to offer some consolation and some advice.

    I find that the free software community is most intractable on certain issues. I sometimes observe a subtle bigotry: 1) the belief that programming is inherently superior to other skills, 2) the belief that free software only needs to be for programmers. I have encountered that bigotry but mostly I encounter many people who are simply crazy busy with their appointed tasks. Be prepared for the "programmer prima donna" experience, but don't feel that you ever need to genuflect to the "elect" or to apologize for yourself. Good programming is a team effort that involves the skills of many people. There are many astute members of the free software community, who understand the need for teams of people, of many talents. At this time, there is a severe cultural bias against non-programmers, but the situation is improving. Ego based programming is slowly giving way to ego-less team based free software efforts.

    Your goal should be to find a free software team where you can volunteer your help. Pick a free software product that is of interest to you. You can learn the product and report bugs and offer suggestions to the maintainers. Offer to write some documentation. Offer to create flashy interface components. Use your existing tool set to create compelling, multi-media tutorial and reference content. Use your experiences in discovering free software, as fodder for your work.

    I assume by your question that you do not want to learn programming. It would be easier for you if you were willing to do that but you would have to give yourself about six months for such a task. Unless you really want to do this, I would advise against it.

    You could try to fit in by using the tools provided on Win95 but I would generally advise against that approach, because your involvement would be too peripheral. You will probably want to install GNU/Linux and begin to play with the free software tools. If you have at least 4GB of hard drive, it is a simple matter to partition your hard drive to contain multiple operating systems. You will have to learn some simple system administration techniques. Various listservs and Usenet news groups will be helpful. Give yourself about three months to complete this task. You will need to pick a distribution. I am using the Debian distribution because I want its copyleft purity. I am considering switching to the Redhat distribution in the hope of getting easier installation.

    If you haven't done so, I recommend a visit to the GNU project's site and the OpenSource(tm) site to study the philosophical underpinnings of the free software culture.

    To find good tools, I recommend the linart listserv as a nice way to connect with other graphic designers.

    You will need to pick a graphical interface. I recommend the Gnome interface and its tool set. In fact, this may be the best place for a graphic designer to offer assistance. The Gnome interface is under active development and may become the foundation of the graphic designer tool set. If I were a graphic designer, that is what I would do.

    This post tells you where I have been and where I am going. Good luck in your journey. I encourage you to hang in there, because the free software community is in dire need of your talent.

  • The criticism was, however, accurate.
  • Sure, but the scientist in question should gain at least some smattering of understanding as to *how* the program works. Most computer users still see their machines as quasi-magical devices: you push a button, and something happens. Never mind how it happens.

Some people have a great ambition: to build something that will last, at least until they've finished building it.