Said Garcia's Blog

Why Easier Isn’t Always Better


For a while now there has been a trend towards making everything easier to do. On the surface this seems fine but there are negative consequences to doing this. It gives more people access to more things sure, but it promotes ignorance and rewards thoughtless action.

If you decide you want to become a programmer you might look into which language is best for a beginner. The most common answer you will find is Python. You will often be discourage from using anything more low level. The reasoning being that it’s far easier to get started with than something like C because it does a lot of work for you. It hides what the computer is doing behind many layers of abstraction. Why is that seen as a positive for a beginner? Python has its place in the world and it might be all someone ever needs but why assume that is the case? Not everyone is the same and not everyone has the same end goal.

Not only do they discourage the use of anything more difficult they make it sound like it’s a million times harder to do when in reality it’s just a case of more work rather harder work. C is not a difficult language. In fact it’s quite simple and it’s a fine language for a beginner to start with. It’s simplicity forces people to learn more about data, data structures, and algorithms which are all handled automatically in other languages. Strings—for example—are not a data type with all relevant functions included as a single class/object. It’s an array of characters and they will know—if they are using a good learning resource—what an array really is and what the character data type really is and all of the ways in which these concepts can be used to manipulate text. You will cover more ground than someone learning Python.

I think part of the reason for giving these answers is laziness and not wanting to further inquire about the persons intentions and goals. But this attitude extends to every facet of life. Everything needs to be accessible to the massed and have mass appeal. This mindset is bad because not everything is easy and not everyone needs to be able to use everything.

One of the biggest complaints about Linux and the Linux desktop experience is that it’s not user friendly enough. But what they are actually complaining about is that it requires them to actually know how to use their computer. The terminal is seen as a scary cryptic thing that should never be seen by the average user. The terminal is in fact not scary and a very easy thing to use but it does require you actually learn something. And for some reason this is seen as a bad thing. Sure it requires more work to learn but in the end you have a better understanding of your system and more control over it.

To clarify I have no issues with making things more user friendly I just don’t think what is generally considered user friendly is actually user friendly.

Modern design trends and heavy reliance on GUI have conditioned people to be ignorant and encourage thoughtless use. The emphasis is on frictionless interaction. All applications must be homogeneous, uncustomizable, and not extensible because customizability and extensibility are too hard for the average person to comprehend, or so you are led to believe. All Facebook profiles look the same, all Instagram profiles look the same, all Twitter pages look the same, everything always looks the same.

This of course is not tenable in all cases, despite efforts to make everything brainless no amount of GUI and fancy design doctrines can make some complex tasks not complex. Attempting to do so only makes things harder to use or less useful. After all, I don’t hear anyone advocating for making musical instruments more user friendly.

There are jobs which require you learn a piece of software to do that job. I used to work at a dealership and I needed to learn to use their Dealer Management System, CDK Drive. While this application ran in a GUI window is was a textual user interface. There was no mouse functionality you had to use the keyboard for everything. You had to learn the function codes and how to use these various functions, which often looked and operated very differently form one another. It was not an elegant piece of software and it took a little bit of effort to learn but once you knew how to use it you were set. I became very proficient with it and could do thing extremely quickly, basically at the speed of thought. Then after the dealership was bought out they switched us to an new system. I forget what it’s called but it was web based and interaction was mostly point and click with some limited keyboard shortcuts. This was far slower and more tedious. I never got as quick with it as I was with the previous system. They made a more user friendly interface at the cost of usability.

I hope you can see some of the ways in which making something easy is not making something better. Do not be afraid to learn new things even if they are considered hard. There are no downsides to being knowledgeable and skilled. Remaining willfully ignorant will only hinder you in the future.

Further Reading