Although Facebook has in the past championed HTML5 with its Developer Center, September 2012 saw the company rally against the technology. CEO Mark Zuckerberg called Facebook's bet on HTML5 "one of the biggest mistakes, if not the biggest strategic mistake that we've made", and a Facebook engineer subsequently detailed issues the company had in making its HTML5-based app for iOS.
Sencha is a company that also made a bet on the web, "took offence" to Zuckerberg's comment – and didn't believe HTML5 was the reason for the old Facebook app's poor performance. Putting its money where its mouth is, the company subsequently authored tech demo Fastbook, to prove HTML5 was ready for large-scale app use.
.net spoke to Sencha VP of Marketing Paul Kopacki about what he thought went wrong for Facebook, whether the company made the right decision in going native instead of sticking with HTML5, and where devs go wrong with the technology.
.net: Do you think HTML5 was essentially used as a scapegoat by Facebook, to address a poorly constructed app and also a problematic mobile direction in general?
Kopacki: Some people have conjectured about scapegoating, given the criticism Facebook's mobile apps were getting at the time, but we can't really know the company's intentions.
We do know what Mark Zuckerberg said about HTML5: first, there was a past-tense statement that HTML5 "just wasn't there"; another was forward-looking about being "long-term, really excited" about HTML5. Our interest in building Fastbook was simply to show anyone who cared about the state of HTML5 today, in the present tense. Based on the kind of response we got, it seems a lot of people care!
.net: In your blog post, you seem to argue much of the problem with the HTML5 app Facebook built was its poor underlying architecture. Are people dismissing HTML5 thinking too much like web designers and not like application developers?
Kopacki: Yes. HTML5 is very powerful as an app development platform, but if you approach application development with a website development approach, you are likely to run into trouble. Sophisticated modern apps require comprehensive architectures, different coding techniques, and professional-grade tools and frameworks. That's no different on HTML5 than on any other platform.
.net: What can be done to combat this?
Kopacki: Get people to do less talking and more coding. HTML5 doesn't have a marketing department like proprietary platforms, but it's open and easy to get started with, and the proof is in the doing. We built Fastbook with our Sencha Touch framework, which is completely free, and provides developers a model-view-controller framework, reusable components, and everything else they need to do app dev. We also have a free 30-day trial of Sencha Architect, our visual app dev tool, which makes the whole process a lot easier. Finally, we just announced our HTML5 is Ready App Contest, where we are offering up $20K in prizes to developers to build other great apps that prove the power of HTML5.
.net: Is there an argument that Facebook wanted to be strong on mobile and therefore required native integration, in terms of feel and other features, which can't be fully replicated with web-oriented apps?
Kopacki: Our answer is no. We think we proved with Fastbook that there is nothing required that can't be built with HTML5. But every app is a little different, and each developer needs to make their own choices based on the specifics of their app and their use cases. There may be cases where building native makes technological sense for one reason or another – certain kinds of games maybe. But in choosing, they need to think about more than the technologies of the platform – there's also the tools, the app distribution system, and how comfortable you are with a proprietary platform.
Facebook chose native, but very few companies can afford what they can – hiring separate development teams and maintaining separate codebases for iOS and Android, and presumably Windows Phone 8 and BlackBerry 10 next. For many developers and app projects, HTML5 is a better choice because it is an open standard. You can do what we call universal app development, with one development team and reuse of code to target every mobile and desktop device. An open standard also means there's no proprietary lock-in – the platform is owned by everyone. And finally, because of the resilience of web technologies, what you build with it is largely futureproofed and your code will be useful for a very long time.
.net: But aren't there shortcomings regarding mobile and HTML5 that occur owing to the extremely slow upgrade cycle on Android that would affect an app like your Facebook tech demo?
Kopacki: Fastbook actually demos reasonably well on older Android devices, but what we're most excited about is where Android is today. Jelly Bean and the latest Chrome releases are quite good from an HTML5 perspective – they are very strong platforms. When combined with the latest hardware, apps like Fastbook deliver stunning user experiences. We're confident we're past the point where developers need to worry about upgrade cycles very much – on today's platforms, if you're building with the right frameworks and tools, you can focus on the app and not the upgrade cycle.