Download Mobile Ecosystems Evolving
Mobile technology is more than the sum of the world’s portable electronic devices and the supporting telecommunications infrastructure.
Unlike earlier versions of the Internet, the mobile Web is a halo of information that follows us almost everywhere, an increasingly meaningful part of our most minute interactions with the physical world. It is an infinitely complex, dynamic system fed by billions of users and a growing variety of hardware and software programs that generate, transmit, and structure data.
These continuous streams of data are already transforming business on many fronts. How can improved user experience design make the vast trove of data more useful? What role does hardware play in the new digital ecosystems? And as the mobile Web continues to evolve, how will we prefer to interact with it?
frog explored these questions over the course of several weeks in our recent web series, Mobile Ecosystems Evolving. From healthcare, to retail, to enterprise—download the full collection of the insights and perspectives that were shared as we studied the future of mobile technology and its impact on diverse industries.
frog developed the Connected\Projected program to explore potential for emergent, integrated product solutions by blending key trends in technology and user experience design.
Using wireless product-to- product and product-to-user features as well as sensors and laser projection, we created a series of first level “Superprotoypes”. Our prototyping process and the prototypes themselves have triggered an avalanche of new use cases, ecosystems, and product concepts that have all grown out of the seeds of that first idea.
I am discussing mobile application development with the IT manager of a provider of online content and services to millions of users, when the conversation touches on HTML5. He tells me:
“On September 11, 2012, Mark Zuckerberg stated that the biggest mistake made by Facebook was betting too much on HTML5 as opposed to native. The very next day I got a call from my boss asking me if I was sure our company was not making the same mistake.”
Since that day, I've heard similar stories over and over again as the “Facebook dumps HTML5” headline spread through the web and reached even a non-technical audience. Many IT directors and software architects that had been pushing HTML5 as the future of mobile within their organization began to see their strategy questioned by upper management.
“We provide customers with native applications for iPhone, iPad, and Android to access our online content and services. Each application was launched at a different time and outsourced to a different supplier. Eventually the apps became misaligned to the point that managing updates and adding new features has become a painful process. HTML5 looked like the ideal solution to overcome that, but now I am no longer sure.”
Indeed, HTML5 was hyped as the ultimate write-once-run-anywhere solution for mobile, solving all the problems of cross platform development and device fragmentation. This has been proven to be plainly wrong. Not surprisingly, the old saying “no silver bullet” also applies to mobile applications. On the other hand, HTML5 remains a powerful technology for mobile development, a fact that is demonstrated by well-crafted executions like LinkedIn's original app. When it comes to choosing HTML5 over native or vice versa there is, of course, no universal answer. There are, however, key decision criteria.
Let's Take A Step Back
The first question to ask is, do you actually need a mobile application? No matter the selected technology platform, development and maintenance of a mobile application can be costly, and a mobile website might be preferable. By leveraging responsive design techniques, the browser can be instructed on how to best render the web page content depending on device display and input capabilities, such screen size and orientation, as well as touch-based interactions (a well-known example is the Boston Globe website.)
From the user perspective, this solution provides a traditional client-server web experience, with page-to-page navigation implying page reloads and redraws (completed in a possibly short but unavoidably noticeable time.) Also on the downside, network connectivity is always required (no offline modality), no device features are available, and discovery and monetization cannot happen in the native platform application store.
The browser is also an app.
From Web to Native: The Steps In Between
After a business case for a mobile app has been established, the question arises as to which platform to support. Unless the app is targeting a niche vertical or geographical market, chances are that it should support multiple platforms, namely iOS and Android (and its fragmented device base) to say the least. Viable approaches span web and pure native technology, with various intermediate degrees—single page applications, hybrid applications, cross-compiling frameworks and multiple native apps.
And finally we have native apps, built on the specific APIs of the target mobile operating system. Unfortunately each platform requires its own development language and tools (e.g. Objective-C on iOS, and Java on Android) and corresponding developers skills. As code reuse across different platforms is not possible, an app has to be developed for each individual system, at the cost of increased effort and harder manageability.
Understanding decision criteria
When facing choices for multiplatform mobile development you should not decide which is the best technology per se, as there is no general answer to that. Focus instead on understanding the peculiarities of your app and establish a mobile development strategy that satisfies multiple criteria in terms of functionality, business model and context. Which device software and hardware capabilities does your app need to access? What are the non-functional requirements (performance in particular)? How often do you plan to release updates? What is the monetization model (free, ads-supported, one-time-purchase, subscription etc.) and does it require the app to be in the app store? Also consider the context of your organization: what are your mobile development team skills? Are you willing to outsource development in case you cannot manage it internally? Answering those questions (and several more) will lead you to the selection of the most appropriate technology options for your needs.
Native apps maintain the edge as far as functionality and sheer power are concerned. They offer the fastest performance, familiar look and feel, full integration with the platform ecosystem, complete access to device software, and hardware features. Especially when it comes to highly interactive and animated user interfaces, they deliver a more effective user experience. HTML5 apps on the other hand are more limited in terms of functionality but they are a more cost effective approach to multiple platforms. Also, HTML5 yields higher flexibility when it comes to distribution and monetization. Want to be in the official application store? Then package your app with the hybrid approach. Want to escape the official application store (and its rules and barriers and due royalties) instead? Then go for your own application provision strategy in the open web.
When going for multiplatform solutions bear in mind that while the idea of a common codebase is desirable the “write-once-run-anywhere” paradigm is ultimately an illusion, as your app will still need platform-dependent tweaks, and a broad QA effort. This is a design as well technical matter: each mobile OS comes with its peculiar interaction model (e.g. think of how the “back” action is presented differently in iOS and Android), and your application should be consistent with that in order to meet users’ expectations, unless its brand is so powerful as to allow the superimposition of a completely custom interaction model.
Last but not least, consider the time horizon. Native platforms come and go with turbulences in the mobile device market, whereas HTML (an open, vendor-independent technology) has been there for over 20 years and is here to stay for another long while. HTML5 is now enjoying widespread support on desktop, mobile and smart TV platforms; its specification is expected to reach W3C recommendation level by 2014, yielding even broader stability and interoperability. A new generation of mobile devices will come with increased computational and graphical power: Faster and more compatible mobile browsers will thus reduce the performance gap with native and provide stronger support to HTML5. And strong support will come from the software engineers community too, as HTML5 has enabled a whole generation of web developers to transfer their skills into the mobile world.
Alex Conconi is a software architect at frog's Milan studio. You can find him on Twitter @aconconi.
In the Connected age, where everyone is engaged via mobile and available at a click, moments of being simply human turn into a true relief: a moment of playfulness and intuition, a moment of being weird or a moment of face to face interaction. These human interactions make way for experimentation, collaboration, and iteration on ideas: welcome to the art of superprototyping.
Live-blogging the TechCrunch Hackday, as we attempt to build a truly welcoming welcome mat.
And that concludes the TechCrunch Hackday! We successfully built a welcome mat that would welcome you with personal greetings based on your Foursquare and Twitter information, including empathizing with your emoticons, laughing out loud with you, asking about your activities and friends, and celebrating your badge wins with Price is Right music and blinking LEDs. An awesome time and a Build-It success!
And now we eat and sleep.
We’re Build-It, a group of frogs interested in exploring convergent projects that map across the digital and physical worlds. We’re a mixed group of designers, IxDs, IDs, and developers who get together every so often to build things... for fun, to learn, and to explore the possibilities. We'll be posting about the things we're working on or thinking about.
Check out what we've been up to lately