HTML5 is quietly changing how mobile apps are developed, and for whom. Until recently, many of the tools that app developers relied on were designed for traditional desktops and web apps, and were proven to be either too complex or platform-specific to fully unleash the potential of mobile app technology.
But HTML5, declared officially complete in October of 2014, could be a breakthrough for mobile app developers. It works on any platform. It can accommodate developers trained in different programming languages. And that large and growing base of developers is using it to design niche apps for small groups (for example, historical societies and school clubs) who lacked the money or expertise to get an app built for their needs before.
Motherboard spoke with Paul Fischer, a technical consulting engineer and Evangelist at Intel, about the promise of HTML5 and the future of mobile apps.
Motherboard: Can you tell me a bit about HTML5 and why we needed it?
HTML5 is a different way to develop an app for, let’s say, mobile devices. Without HTML5, you have to use tools that the mobile platform vendor provides. That means you have to use Xcode for making an Apple* IOS app, or Java for building an app for Android*, or C# for Windows*.
MB: So HTML5 standardizes things?
PF: I would say it normalizes things. It takes advantage of a feature on all those platforms that helps execute HTML5 code within a window on an app. The original intent behind this feature was to make it easy to display an element of your app already written in HTML5, like a portion of a web page, so you could reuse that stuff. It wasn’t really intended to be the main part of your app. It’s been taken over as a way of creating an entire app. Forget about a window in your native-code app—let’s just make it the entire app.
HTML5 allows for easy ports between multiple platforms.
MB: What’s Intel’s role in this?
PF: In the mobile world, you don’t see as many Intel devices. We want to ensure that Intel devices aren’t left behind, and that developers are aware of them and can take advantage of them. And we’re creating tools to make that happen. We created the Intel® XDK, for instance, which takes advantage of a project that’s known as Cordova*. It’s a way to leverage HTML5 for the development of mobile apps. The Cordova system allows you to go way beyond just building a web app; you can build an actual mobile app that you can install on the device.
And the Intel XDK creates apps that run on both ARM and Intel devices. We’re agnostic. We can provide ways for you to add stuff that will further support Intel hardware, but we don’t do it in a way that makes it exclusive, unless it’s a feature like Intel® RealSense™ technology, where it only exists on an Intel device.
Cordova iOS package
MB: Can you put that distinction between a mobile app and a web app in laymen’s terms?
PF: A web page is normally hosted on a server and, by definition, is guaranteed to have a network connection; otherwise you wouldn’t see the page. A mobile app is not hosted on a web site and is not guaranteed to have a web host or a network connection, or it may have a very inconsistent or slow network connection. Many of the assumptions regarding the resources and connections you have available to you as a web app developer are not valid when you are a mobile app developer.
MB: Ok, got it. HTML5 sounds pretty wonderful. Is there a downside to all this?
PF: Security is an issue for HTML5 apps, mostly because these apps aren’t turned into binary code. The way apps are delivered, they’re just these little zip packages that you can open up in order to take a look inside at all the code.
MB: What are some of the solutions you guys are working on?
PF: There is no “silver bullet” solution. Mostly there are tools to “mangle and obfuscate” your code so it is hard to read and understand. But, unfortunately, there are tools to “de-mangle and beautify” such code. The most secure technique I’m aware of is to have some key parts of your app stored in some other location that requires an encrypted connection. This might be some key data that’s required by the app or some key functions, or the app might even require usage of a server backend to be useful. In essence, there is no perfect solution to this problem.
MB: What are some of the other challenges developers are running into when adopting HTML5?
MB: What’s the potential, once people finally get their heads around it?
PF: The potential is the ability to create mobile apps for a larger audience. It’s not like every app needs to be a #1 hit that makes millions of dollars. There are lots of very utilitarian apps that small groups need, and they need help from somebody to create them.
We have seen apps created for a small town’s historical society, for instance, or for use by a school or a club. These are apps directed at a very specific group with a common interest—not for the purpose of making money or serving a company. HTML5 means more opportunities for specialty apps that otherwise might be out of reach due to lack of money or technical expertise. These tools really expand the scope of who can be creating apps, and who can get an app for a very special purpose.
To learn more information about the Intel® Evangelists Program, go to evangelists.intel.com