Philly Tech Week is a week-long celebration that unites technologist across varied disciplines. The events range from playing pong on the side of skyscraper to hacking space apps to the future of music and everything in-between. The events typically bring together a cross section of the local tech scene.
On Friday, I spoke on the panel “Native Apps, Responsive Web Development and the New Mobile Ecosystem” at the sold-out Mobile, Marketing and Ecommerce Trends event. In a two part series, I will share the questions asked and my thoughts on each. I’d love to hear your feedback and hope to see you at a future event.
[Q] Native applications and responsive design have become wildly popular in a short amount of time, but for those uninitiated let’s do a quick definition. Corey, tell us what a native app is and why it’s a go-to.
At its core, native applications are written in a language specified by the platform. For example, in iOS-land, you use Objective-C and in Android-land you use Java. You use the widgets, paradigms, and everything else that is platform-specific to build a user interface. When you’re done, you package the application for distribution in the Google Play or Apple or stores.
The application is complied, or fine-tuned, to run on a specific platform. Since the platform knows how to “speak” this language “natively,” it can quickly render the screens of your application.
This is in contrast to responsive/mobile web, which runs in a browser [external or embedded]. Since the platform doesn’t know how to speak this “language” directly, it needs to “interpret.”
It’s a go to because users of these platforms expect a certain user interface and that’s easier to give when using native controls. You can provide a more reliable, performant, and natural user experience as well as a better offline experience. If you have a complex feature set, such as video, music, or animations, it’s a no brainer to go native.
[Q] Is native vs. responsive only a conversation about performance?
I think it is a very important part of the discussion, but it really boils down to user experience. When you are using non-native controls, it’s a little bit slower to render screens. Typically this is on the order of milliseconds, but these micro-delays add up to give your users a less than ideal impression of your application. Like they say, you only get once change to make a first impression!
Also, when you design for the lowest common denominator, e.g. hybrid or mobile web, to reach a wider audience, you end up using conventions that feel out of place on an Android or iDevice.
The dearth of debugging tools for mobile is an important part of this discussion. Tooling on native platforms is rich and allow rapid root cause analysis. Also market dashboards provide error tracking and analytics information that isn’t available for mobile web platforms.
[Q] You’ve focused a lot of your work on Android—tell that story for us, as Android proliferation has caught up with iOS from sheer handset sales. What is demand like for Android?
Android started out as the underdog. No one took it seriously because the user base and number of applications just weren’t there. The user interface, quite frankly, left a lot to desired. It was clunky and a lot of developers weren’t putting the same amount of polish on the applications as iOS developers were.
This has changed dramatically over the last few years. Android sales have skyrocketed and Android is available on many different types of devices. Jelly Bean, the latest user interface, it beautiful to behold and is a very fluid experience. The user interface is now a true rival to iOS!
The demand for Android is high. A lot of companies started out with an iOS application and now their users are demanding an Android version. The excitement of Google Glass and other new form factors are exciting developers. Another interesting area for growth is solving social problems in the developing world since their citizens can better afford Android devices.