Sometime back I received an email about a job opening. The job description was for a Front-End Developer position. One of the expected qualities/skill-sets listed that captured my attention was that an ideal candidate would be someone with a design sense (NON-NEGOTIABLE).
When something is written in bold, capital letters, you have got to pay attention to it. But what made me think more about this requirement was the fact that none of the developer-specific skills were marked in the same bold letters as the ‘non-negotiable design capabilities.’
Strange, isn’t it? But yes, I feel it’s perfectly normal to have such expectations, as the process of designing and developing a software product is not the same as it was a few years ago.
What Is Front End Development?
Have you ever wondered what changes the orientation of websites when you browse them on a mobile device as compared to browsing through them on a desktop? How everything that is rendered on device screens like buttons, images, text boxes, etc, works magically together? Well, it’s not magic (but close enough), it is the interactivity that Front-End Developers add to these elements that binds everything on that web page to provide you a unique experience as a user.
Since every browser has a different way of understanding the code written for the front end, sometimes the interface looks different on different browsers. Developers make sure that their code runs on different browsers without any issues and retains all the layouts, color combinations, spacing, text format and interactivity of the app/website.
Why Should We Care About Product Design?
When you see an iPhone you can’t help but notice the finer details that have gone into making it a worldwide phenomenon. As humans, we are naturally attracted towards beautiful objects and appreciate the effort that goes into making things beautiful and simple. As the article says, simple and minimalist things are easy to use and learn. I couldn’t agree more.
The same principle applies to the field of product design. That’s why we are hooked to apps that are simple and easy to use. Take an example from your day to day life: Google, WhatsApp, Instagram, other photo apps, etc. These apps help you in performing tasks in a minimum number of steps and a quick response time.
Product design for web involves owning the process of creating the design for different screen sizes. A designer who simply draws the screen specs and hands it over to the development team is frankly, not a product designer. They are merely playing the role of illustrators.
Product design for web involves owning the complete process of sketching, collaborating, designing, creating HTML markups, writing CSS rules and structuring everything in a proper package. Developers can take and integrate the designs in their workflow, without compromising on the design quality.
What’s In It For Product Managers?
Product managers (PMs) have the responsibility for the overall growth of the product. From my own experience of working in a B2B industry – sometimes PMs tend to focus more on adding functionalities to a product, which may make the product complex to use. Sometimes just making things simple is the most difficult thing to do.
There is always the risk of changing customer behavior, but if the change is for the better, then one should not hesitate to make that change.
Coming to the B2C industry – providing a great user experience (UX) is the key to survival because unlike B2B customers who are bound by software licenses, B2C customers can switch to the rival platform in the blink of an eye. Applying product design principles help PMs to iterate fast on ideas and remove the options that are not going to work after all.
Importance Of Design Thinking
Companies that become highly successful are those that can create products that people love to use and which become an integral part of their lives. For instance, there are probably 100+ social networking platforms out there but there is only one Facebook.
Design thinking helps in setting the right assumptions; especially of those who are working on developing the product (designers, developers, product managers). It may be the case that you assume that the customer is going to buy your product because of that ‘one cool feature’ you are planning to introduce, but in reality, your customer may just be looking for a simpler way to upload some data.
As you can see in the above graph, the rework part that will cost you the least is in the design phase (architecture and UX both). It is always better to make mistakes early and identify them so that they don’t impact the product at a later stage.
It’s Time For De(v)signers!
While everybody plays a role in the overall product development process, not everyone is able to wear a customer’s hat all the time.
It is generally an accepted fact that designers like to think from a user’s perspective. Today, a designer’s job is not just restricted to creating visual designs and handing these over to developers. They have to work hand in hand with developers to ensure that the design guidelines are followed till the last pixel gets perfected. This forms a new breed of creative professionals that possess good design skills as well as implementation skills.
It is not only good from the organization’s perspective to have such people on board as they can wear multiple hats resulting in a lot of time and money saved, but also from the individual’s perspective. If someone has an idea that can prove to be useful for the company or the product, it will be easy for that individual to work on it on their own, without any dependency.
Choice Of Tools
With the advance of cloud services, it has become easy to set up basic infrastructure for web-based product development. From version control (git), responsive web design (Angular, Backbone, SASS, SCSS) to design collaboration (Marvel, Invision, WebFlow).
Given that there are so many choices of tools now available, it is important to keep focused on the actual requirement and not get bogged down by the sheer abundance of the tools. This is where having a design thinking capability can make a difference – rather than creating just another clone of a product, you can create a truly great one.
Apps, as we know today, may become history tomorrow. Does that mean we will stop using our favorite services? No, it means that we will probably interact with them in a completely different way. I am listing some of the future trends, that might change the way we interact with the real and virtual world:
- Chatbots and Artificial Intelligence – It started with Siri, then Google Now, then Cortono, Alexa, I guess you get the point. Programs are getting intelligent and the conversation is moving from text to voice (natural language). Having an artificially intelligent assistant controlling your work schedule and other parts of the day is going to be the new normal. Even with text, chatbots are getting more and more responsive. Learning from user data can help developers personalize the app experience for users.
- Mixed and Virtual Reality – Devices like Google Glass, HoloLens, Oculus Rift, have paved the way for mixed reality based development. Interaction design principles for these platforms are completely different from those of mobile devices. Augmented Reality/Virtual Reality are the next areas of growth and will see a lot of innovation.
- Data-Driven Approach – Considering the volume and types of data being generated from everything. Your fitness tracker to the temperature control of critical electrical sub-systems, there is an increasing need to understand data with ease. Data analysis and visualization helps in taking a decision based on these huge amounts of data.