I was playing Monument Valley the other day and I was blown away. The visuals, the music and puzzles in the game all mesh together to create an experience that transports you to another world. A reviewer at ploygon said:
Everything about Monument Valley is soothing, almost hypnotic. It's a very pretty game, layered with warm colors and simple shapes. And the sound design is entrancing. Every interaction you have with the screen is enhanced with a musical sound effect — rotating blocks sound like a wind-up music box, gears like the strings of an acoustic guitar — all adding to the relaxed atmosphere. It's a pleasure to be in this world, and I found myself loading the game just to listen to its soundscape long after I had completed it.
After playing for about 30 minutes I left the game feeling inspired. My thought was how can I create this feeling for others. The product felt complete, the product gives off the perception that the developers and designers never hit road blocks, that they have transcended the console errors that leave us developers tired and frustrated at the end of the day. They no longer had the problems that led to half-baked experiences and the "It will just have to do" mentality. But it is not true, game developers suffer the same problems web application programmers suffer only that they have decided that their goal is not solely to make something that works, but for it to evoke a feeling in its users. Basically under their list of requirements is an entry to also create a certain emotion in the users.
This is not exclusive to products meant for entertainment, cars are technology created to solve a problem (Moving from point A to B quickly). In todays world we have the technology to make cars that are quite cheap. But we have the Mercedes brand and the BMW's and the Lexus'. Handling these cars is nothing like a Toyota Corolla, sitting in one of these cars is nothing like a Toyota Corolla, but they solve the same problem. At the end of the day luxury cars that we regard on a different tier all they realy appeal to are our emotions. Through stimulating various senses, driving from point A to point B suddenly feels more enjoyable and for decades we have been willing to pay a premium for the better experience. The same goes for houses, furniture, flights, hotels etc. They all solve a problem but in a stylistic way. We are always willing to pay more for the experience and the providers of these experiences have always been people who transcend the solution they are providing and layer on top of it a pleasant journey to that solution.
In many web apps today you can see some attempts to create an experience by adding animations, or sounds in apps or using unique fonts but we are not there yet, many web applications don't have personalities. Being able to create those web solutions that evoke emotion require your product to have a personality that takes its users on a ride and that is how you can create a premium product, a product that people genuinely love to use, not because it looks nice but because it makes them feel nice.
One of the products I see that really kills this is mailchimp. They take something so boring as sending email newsletters and make it fun. The website has a mascot that’s says witty things through out the app and to tell you how seriously they take creating a personality, they even have a style guide for new employees to follow a certain style in the website copy to maintain a unified feeling of the apps character.
Designing for emotion is a thing and I believe can create very sticky products. I got into programming because I really wanted to create solutions to problems, solutions that have an impact on the world and considering these are the kinds of products that are not just colors on the screen but personas that affect the way you may even view the problem you are trying to solve, engineering experiences is the next logical step to providing great products.