What is a complex program?
I describe it as Eclipse, one of my least favorite programs. It's bloated and fat. It gets in my way. It completes phrases I didn't want and tells me my correct lines are incorrect, misused or wrong.
It's not that Eclipse is badly coded. It's badly designed. It's does too much in an inefficient manner.
Tying back into the introduction - I would much rather use a Text Editor than Eclipse. I am more efficient that way. Unfortunately, the world does not operate in the most ideal of situations, and I am more or less tied to this platform thanks to external forces.
Gnome is easy enough to use, as we explored in a blog post about ten days ago. It comes with a text editor, Gedit, which is surprisingly spry and easy. Leafpad is an equally easy to use program.
The problem is thus: using a computer program is generally inefficient. If that sounds computer-extremist, at least the revision - computer interaction could always be better - will suffice.
Now, the difference between Eclipse and Leafpad is that Eclipse approaches the problem in the wrong fashion. It assumes that to complete the objective in the best way possible is to assist the user. Complicate the environment. Help the user along.
Unfortunately, as more and more examples have proven, making a program "help" a user simply complicates the process and confuses the issue. Most of us have experienced this with Microsoft's animated "helper" programs that attempt to assist a user in their task. These simply complicate the matter by forcing more distractions, more buttons, more text and information that a user needs, onto the screen.
It's time to go back to the basics. What does a program need to function, and how can we accomplish what a program needs to do without obstructing the original intent?
For a word processor, most people need the means to type words and then spell check them. Perhaps even the spell checking is a bit overrated these days; just open up Firefox and dump the text into an empty blog entry window. Right click and correct as necessary. Slowly doing this will help users remember what words they spelled wrong throughout and consider finding ways of rectifying the issue.
Modern word processors are constantly trying to help and in the process only get in your way. They try to complete words and sentences, and force you to remember how to cancel their helpfulness. They underline phrases that are technically correct grammatically.
The function of a text program is not to help a user type text. It is there to allow a user to type text. It is a means to do so; a place for people to put notes, words and ideas. Computers are notorious for trying to help their human masters; they're infamously terrible at it. If there's anything that I've seen after using Windows for a pair of years and assisting the users around me, it's that their highest ranked annoyances were usually related to the computer trying to do something for them.
The reason for this is the constant upward struggle software will continue to have. Profit must be made for a program to be worth creating. Profit will not be created from programs that have no viable or visible improvements over its predecessor.
Marketing has suffocated large chunks of this; it has convinced users that buying this new thing will grant users this new feature that will change the way they use their software. The only thing I did with the new version of Windows was curse louder, but that's just me.
This is why I prefer Linux and its ecosystem. There's no necessary drive to create new products, features or needless mascots. Capitalism has not corrupted it yet. Rather, the project is free to continue improving, standing or stagnating at its will.
You will find hundreds of programs in the Linux and open source world that have not changed in years. These are your treasures. From each distribution (and on several Mac sites too, for those of you who like that sort of thing) you can find these stone pillars that have not moved, and will not move from their relatively featureless repertoire - again, compared to the marketing ZING of its competitors, where such is required.
Each day the simple programs work like they did the day before, and each day I am happy. All is well in my Linux installation.