Whether it be the people who write code or the people who design those beautiful interfaces, something that gives us nightmares is complexity. Life itself is complex, and when the things we use and deal with become more complex, hands down it won’t be any delightful experience.
We were at the Dev Day 2015, which happened few days back at the Cinnamon Lakeside. This time with the theme, “Accelerating Sri Lankan Software Professionalism” the day was fuelled up with a couple of keynote speeches along with 3 track sessions all by Pro’s in the industry. The first keynote speech was delivered by Dr. Venkat Subramaniam who had been contributing to the industry since a long time and also the founder of Agile Developer, Inc.
His talk rotated around the word ‘simplicity’. Something that we all love and strive to incorporate in the apps we craft. But is it an easy task to create something simple. Let’s find out.
“The most important reason why we make things complex is that it feels good.” – Dr. Venkat Subramaniam
The moment you hear the word ‘simple’, the first thing that you would probably think of is the User Interfaces. Venkat’s speech gave a whole new meaning to it. Simplicity is a requirement in code as well. As he explained, we all love writing complex code. It gives us that special guru type status. The issue is that many of us don’t see it as complex.
Simple keeps you Focused
This is where things got a bit distracted (pun intended). He took the living examples of complex vs simple designs by using a simple scenario. Let’s say you want to search about a piece of code. Open up Yahoo, chances are you end up reading some news. The next try opens Bing; again might end up reading about the animals in the background. The next shot; Google Search, just a text box and that’s what you need to get your job done. “Why do most of us use Google instead of other search providers; because you value your time,” said Venkat.
“It takes a lot of courage to create something simple.” – Dr. Venkat Subramaniam
As he said, simplicity comes from removing the stuff that you don’t want that removes the clutter. Same goes with code, it will not distract you neither will say things that you need to know.
Simple Fails Less
“Why is the manhole round in shape?” We heard an answer: “Since it won’t fall down.” Next Venkat changed the question a bit. “Give me something to cover this manhole” If you were given the chance to design it, you could have come up with all the possible shapes in the world. But not a circle, why? Because it’s too simple. Mind you it has one more property that all other designs lack, you can fix it in any way you want.
“Good design fails less,” – Dr. Venkat Subramaniam
Simple is Elegant
He showed the painting of Mona Lisa, the best-known piece of art in the world. What’s the reason, it’s a portrait of a simple lady, she doesn’t seem to be wearing any fancy jewels, it’s just her and all natural. This creates no clutter and rather makes you feel calm. “That’s how good code should be,” he added.
Simplicity has to Evolve
“We can’t create things that are simple, it has to evolve.” As he stated, simple things aren’t created overnight. It takes a lot of time. Take the time to find the simplicity. Walk away from the problem, refresh your mind and come back to it. You might find something better than what you were trying to do.
In a world where we were taught and spoon fed to achieve complex things and make things complex, how can an ordinary human being make simple software when he is grown up. Pretty complex isn’t it?