HTML5 is Quietly Changing the App Landscape

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?

Paul Fischer: HTML5 is shorthand for HTML, CSS and JavaScript: JavaScript is the logic, and HTML and CSS are the user interface. They’re all tightly linked pieces that work as a unit. HTML5 is the common term for the trio.

Originally, you weren’t dealing with large applications when working with this trio. You were dealing with little widgets: making things spin and move around the screen, things like that. HTML4 represents that original usage model, where JavaScript is lightly used to provide some level of animation and interactivity. HTML5 expanded the scope, going beyond just animating web pages.

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.

It’s useful for two things, primarily. If you know how to create a user interface using HTML and CSS and how to write in JavaScript, and you want to make a web app, then this is a nicer environment for you to work in. And because this little mechanism exists on all those platforms, it means you can write an app that will run on all those platforms with little or no change to your code. It’s not perfect; if I create it here it will not run exactly the same over there. But 90% of your code will be the same.

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?

PF: The thing about the HTML5 programming environment is that it’s rapidly changing. It’s a very young environment. Even though JavaScript has been around since the mid-‘90s, using JavaScript, CSS and HTML in this way has only been around for 4 or 5 years. There are old ways of writing web pages that don’t apply. We’re trying to help people understand that they have to think about this differently: You’re not building a web page, you’re building an app. Some people can’t get their head around what that means. Others take to it like ducks to water.

There’s this built up history about how people use HTML and JavaScript. We’re using the same technology in a different way, in a way a lot of people aren’t used to using it. What it comes down to is that we have to break a lot of bad habits.

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

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *