Here’s a question: what do Nick Fury from The Avengers, Daniel LaRusso from The Karate Kid, and President Richard Nixon all have in common?
Turns out they’re all classic Type A personalities.
You know what a Type A is: a strong individual characterized by ambition, high energy, and competitiveness. Type As persevere against all odds – they are in it to win it.
By contrast, folks with a Type B personality are accommodating and cooperative. They’re the ones who focus on quality over quantity, and in general they enjoy a more easy-going approach to life. Classic Type Bs include Marty McFly from Back to the Future, Ferris Bueller, and even E.T.
We started to wonder: what if mobile apps had personality types? Could you tell what kind of personality your app would have? Mobile apps can generally be classified in three ways: native apps, mobile web apps, and hybrid apps. Let’s see what happens if we try to match those app types to personality types.
High-Performance, Highly-Competitive Native Apps
Let’s start with the native app. Built to run directly on the mobile device, native apps have the enviable ability to work offline, and they provide the best performance of all three app types. They strive for ever-increasing downloads by getting placed on app store leaderboards where they can receive high visibility and promotion. If an app can make it onto an Apple or Android featured apps list, it can skyrocket to the top.
Native apps also allow for the most control over the end-product. It takes effort and perseverance: after all, you have to build the app separately for each platform. Plus, you have to deal with supporting the app. You’ll probably be fielding calls and inbound requests from users who might not have gotten the latest update, but you’re happy to help all those users get on the right path.
There’s also the matter of expectations. There is a lot of pressure for native apps to perform – they need to be fast and nimble and deliver an excellent user experience. Meeting expectations requires more specialized testing in terms of a dedicated team, emulators, and hardware.
But it’s worth it for the company that’s building software for the gamer, the suit, the mobile workaholic and the person that doesn’t like waiting for a page to refresh. Basically, it’s perfect for the control freak and the time-manager. Yep, native apps are definitely Type A.
Build-Once, Use-Anywhere Mobile Web Apps
Next comes the mobile web app. These days they’re typically built and operated just like your desktop website in terms of development, testing strategy, and monitoring. The experience is often coded in HTML5 and is always delivered over a standard browser, whether to a phone or tablet. Users can easily reach the app on all platforms, without having to install anything. It’s all very harmonious.
However, with mobile web apps there’s generally less functionality, lower performance, and a less rich UI when compared to what’s possible on native apps. You can’t access a phone’s more advanced features, and you also can’t use these apps offline. But hey, that’s okay. At least you only have to build it once, and you can test it on the same infrastructure as your website. Everyone gets along. Everyone is happy.
What happens when something isn’t working? Just hit refresh and move on. Did you get a 404 error? Don’t worry – the phone didn’t crash. Just hit the back button and try again. If it still doesn’t work, come back to it later. Mobile web apps are extremely forgiving in that way.
You can go with the flow when you’re a mobile web app. They are absolutely Type B.
So What About Hybrid Apps?
Some of us just don’t fit into a mold. That’s how hybrid apps are. They’re great because they can be developed quickly across many platforms. Most of the work is done in the web-world, making it cross-platform. Plus, the development environment is easy, flexible, and compatible with the way most development shops work.
Hybrid apps have special abilities, though. They can access native layers when they need specific device features. They can be featured and purchased in the native app store. Parts of these apps also work when the user is offline. Their popularity seems to be on the rise, even though they don’t generally perform as well as their truly native counterparts.
Hybrid apps are surely a mix of Type A and Type B personalities. They are like that kid who can dream the days away, and then switch on the intensity when it’s needed. That sounds like a classic hybrid to me.
Whatever Your App’s Personality Type Is…
Your testing strategy needs to be comprehensive. That can be difficult if you use multiple app types, and it becomes even more difficult if you don’t realize the extent of your mobile user base. However, there are some basic guidelines you should follow.
Native apps may require their own team for development and QA. Even so, you need to make sure you plug them into the web team, especially if there is downstream overlap. Connected apps typically hit the same backend infrastructure that your website uses. So you need to take this into account in your deployment strategy, and incorporate it into your performance monitoring system.
Web applications may be built by the same web team that works on your website, and often without much regard for mobile-specific requirements. Instead, make sure you call those differences out. You will need to set up testing and monitoring processes to test specific mobile experiences, incorporate the newest mobile devices, and account for network behavior across different carriers.
Consider Your Application’s Personality, But Remember To Personalize
Every company’s app necessities are different. You’ll need to put in the research to figure out which type you should go with: native, mobile web, or hybrid. Your application architecture is one of the most important decisions you’ll make for your mobile app, so be sure to think about the ramifications and set up your teams and processes appropriately. If you want to know more about the specifics of performance testing and monitoring for each platform, dive right into this beginner’s guide to mobile performance testing.