Showing posts with label 3rd parties. Show all posts
Showing posts with label 3rd parties. Show all posts

Wednesday, November 5, 2014

What comes after applications

Over the past few years, there's been a lot of discussion over mobile apps: should there be apps or not? Obviously the question itself is an opinion divider. One side has faith in apps, while the opposition doesn't. This piece by Paul Adams from Intercom, was the latest manifestation I enjoyed. A good read for anyone interested about mobile computing.

This phenomenon is a result of people getting tired of eating the same app pill for every issue they have. The five year old marketing punchline "There's an app for that" really explains the dominant mentality. And with enough repetition, it was rooted deep into our minds. The emerged "app evolution" debate is just an indication, that people have finally become aware of the indoctrination. This post is my contribution to the topic.

Naturally, there's a gray area in between both extremes of the debate. To me, an application is just one of many ways to solve a user problem. When smartphones really kicked off the mobile app business, everyone wanted a piece of that pie. As a result, it became difficult to jump out from the app bandwagon. In addition to the "me too" factor, what makes an app so attractive option, is the degrees of freedom it offers to both the user and developer. However, it comes with a price tag.

Mobile operating systems have grown a lot since those days. They offer much wider range of tools to build engaging experiences. The common mistake is to think you need to implement everything yourself. Below, is my rough categorization of different methods a user problem can be solved; and how "less control" can in some cases increase the value compared to "more control". It's a matter of identifying the problem before finding a fitting solution for it.


  • A background process takes care of performing the task in behalf of the user. It makes the solution feel like magic because user didn't do anything. As this requires an intimate knowledge of the lower software layers and contextual awareness, it's not really trivial to do. Not to mention being forbidden in many systems.
  • A notification uses existing mechanisms in an operating system to promote a functionality or a piece of information based on its relevancy. This can result in genius solutions, since the needed functionality can be conveniently offered regardless of the context user is in. Even if there's not much interface work involved, a reliable context engine is hard to get right.
  • A system integration takes a frequently used functionality and makes it an integral part of the operating system. This makes interacting with such a features much faster compared to an application counterpart. The result is a smarter and more holistic experience. However, this either requires rooting or OS ownership to do, so it's not an option for many.
  • An application is the last step in the scale. Almost everything is possible here. It's very powerful and can be tailored to fit very specific tasks. Using an application as a solution easily adds more steps to achieving a desired result. Repeating these steps frequently to do something feels dumb. Due to the amount freedom it gives, and the amount of work is needed, the application experience is the most vulnerable to mistakes. Everyone can make an app, and it shows.

At the end of the day, it's about thoughtfully choosing and combining methods available to you. It's the next step in building mobile experiences. All these methods have their places in our daily throughput of tasks. So, even if apps are important, sticking with just them is a sure way to forfeit the experience game. Same goes for denying the application as a viable solution. Having a meaningful combination of variety is the key.

Because people are not binary by nature, so therefore solutions we use to respond to their needs must reflect that. There's no silver bullet, or a size that fits all. Using interaction variety in your user experience will make it more natural and approachable. Transitioning from app-focused model to user-focused model will give a reliable foothold in the market strongly profiled by features, hardware specifications and price competition. Finding other ways to create value is essential to differentiate and stay competitive.

The more you understand the platform you're designing for, the easier it is to deliver more natural and smarter experiences for its users.

Apps alone will definitely not be enough.

Thanks for reading and see you in the next post. In the meantime, agree or disagree, debate or shout. Bring it on and spread the word.

Thursday, October 23, 2014

Responsible product development. Family style.

When creating something, you sign a responsibility pact.

By respecting that pact, your creation has all the potential in the world. Just like a child has.

The same parenting guideline applies equally for new products. You have already developed a deep understanding between your child, and it's your responsibility to make everyone understand and respect that. A small child cannot yet communicate that. Neither can a new product.

It doesn't matter how many of you there are, you're all mutual parents. The whole company is.

You all have valuable information related to the well-being and success of your child. If you share that information with new people becoming involved in your child's life, everyone greatly benefits from that. Especially your child.

The challenging part is, that most of the time, it's people you don't see. People in meetings you never attend. People in cities you never visit. People in companies you've never heard off. They all have expectations for that potential you've been meticulously nurturing.

Therefore it's important that everyone of you understands their role as a parent. All of those new external expectations can be perfect opportunities for your child.

Just remember to ask and also listen if your child wants to play hockey or piano. Break down those expectations to see how they fit the personality and traits of your child. Don't just blindly decide and demand something.

Because that breaks children, instead of helping them to grow. Don't expect opportunities to create a perfect child for you. That's just horribly wrong.

Treat those expectations as goals. Because they'll help your child to grow; to become stronger by overcoming challenges. However, it works only as long as it's the child who's overcoming them. Everyone else around is just a safety net, allowing graceful failing, and encouraging to retry. It's about honesty toward your child and ones potential.

If you solve a puzzle for your child, it's you who did it. No matter how hard you claim otherwise.

So don't make dishonest promises to anyone. Those just end up hurting both the growth of your child, and your role as a parent. Don't ask your child to skip elementary school in favor of dreaming about university.

People will understand if you openly explain your family values to them. What makes your child behave like one does. Also, if your child suffers from a permanent illness, it's only good if people involved are aware of it.

In the same way, every product has their shortcomings and weaknesses. Be open about them to others, and avoid planning the future on those weaknesses. A lifetime of failure will break children as well.

So remember to listen to your children.

Don't force them into being something they're not. Nobody benefits from that.

Because if you do, I sincerely hope that the responsibility pact in question was not signed in blood.

Our children deserve better.

Both in family life and product development.

Thanks for reading and see you in the next post. In the meantime, agree or disagree, debate or shout. Bring it on and spread the word.