Science vs Art : Programming vs UI design
If you ask me, I would say the perfect place for arts and sciences to converge is within the realms of computer science. I don’t think any other discipline combines the two more beautifully. But then again, I may be a little biased in my analysis. This reminds of the movie “My Big Fat Greek Wedding”. I don’t remember it too well but I remember one of the characters kept linking all sorts of trivial things to the Greeks, explaining how everything is derived from their culture and history. So it might be my computer science pride peaking through, but I’m going to try to explain why computer science manages to combine art and sciences better than any other discipline. And perhaps link it to the interface (UI) design and the challenges I faced while working on “Project Mastan”
First off, I believe anyone who gets to in computer science has some sort of appreciation for the arts. For too often, people tend to brand comp sci as a logical, left brain, binary, all or nothing discipline. And although you need a strong understanding of logic to be successful, you’d be surprised by how multidimensional computer scientist tend to be. They feed off visual and auditory simulation. They crave it. It’s hard to find someone who doesn’t play some sort of musical instrument, or doesn’t have some sort of background designing websites or has never played around with a camera. Although you may not see them splashing paint on a canvas or sculpting some sort of abstract piece that’s supposed to represent social injustice in the modern era, you’d be hard pressed not to find someone with a comp sci background that doesn’t appreciate it.
These days it’s impossible to come across a software shop that doesn’t have some sort of graphic’s team. More and more, companies have their name changed to ‘studios’ or have ‘media’, ‘interactive’ or even ‘arts’ attached to it. This is because, software companies are no longer large cubical fields, packed with code monkeys, programming console apps. Majority of the software being produced now days is used by people who do not necessarily have a background in computers. Their daily interaction with a computer is more or less limited to checking emails or browsing the web. These user don’t know how to run a command line application. Therefor, the burden is on the developer to create a consistent and easy to learn interface. This is where the artistic elements are more predominate. Developers can decide fairly quickly what’s the best way to approach building a game engine or setting up an intricate database, but the when it comes to the UI, things work a little differently.
The user interface should in theory display the application’s functionality and data in an easy to use and efficient manner. This is where we enter the realm of ‘gray’. Although, experience dictates a framework ‘of best practices’, there is no right or wrong answer. More and more software developers find themselves in this realm, separated from their binary world of Boolean values, having to make decisions that are not absolute and depend on the artistic intelligence of the developer. Just another convergence of arts and science in the world of computer science. This is where I found myself while working on Project Mastan
I was (still am) fairly new to Objective C when I picked up “Project Mastan”. But still, I was plowing through the programming challenges of the project fairly quickly. This is perhaps due in part to the amount of references and documentations available for iOS programming. Most of the issues I came across were issues others have faced before, and with “Stack Overflow” at my fingertips, there was no stopping me. I was marching through milestones and beating my own timeline and it felt awesome. As the logic end of things were coming to an end I started to play with different ways of setting up my user interface. One of the benefits of working with Apple and programming for iOS is the fact that they provide an in-depth documentation on how to use iOS controls and what are the best practices for utilizing the technology. So there wasn’t much of a design process on what kind of buttons or tables I would be using but the style and feel of these controls rest on my shoulder.
I got my subscription to Photoshop and warmed up my Photoshop skills a bit before playing around with the shape and feel of the project. Lynda tutorials were a great way to get back into the Photoshop game but at the end of the day I had to dig and find whatever artistic intelligence I possess to mash up a half decent UI. This is where I saw myself, spending endless hours moving and reshaping images and buttons trying to get something that ‘feels’ right. I was out of my programming arena and was battling an uphill fight with all sorts UI challenges. I was in the grey zone trying to find what ‘feels right’ because there was no ‘is right’. It was tiresome. What felt right in the morning looked awful in the evening. Polishing one end made something else not blend well. All I knew when it came to using fonts was that I should stay away from Comic Sans. My knowledge of button shapes and sizes where limited to what I’ve learned using handful of apps. Long story short, whatever ‘time’ I had saved plowing through programming milestones, I lost struggling with the UI design.