Being Mobile | Blog
The (Native) App is Dead; Long Live the (Web) App
When Apple introduced the iPhone in April 2007, it made good sense to create a new type of software to run on a new type of computing device. The app was born! The app was a small piece of functionality — check the weather; send a text; make a face-to-face call; play a quick game – those are apps. In contrast, a text editor or a spreadsheet – those are applications.
And, the app eco-system was also different: expensive, shrink-wrapped, CD-based software was history; apps were 99 cents – or free! – downloadable, from the Apple App Store, in an instant to satisfy the got-to-have-it-right-now needs of the on-the-go, mobile user.
When Android OS-based smartphones came to market, they too continued with the app concept, e.g., one bought apps and downloaded them instantly from the Google Play Store.
Native apps – Apple or Android – made the browser-based World Wide Web look old and actually creepy. Malware, viruses, zero-day exploits were prominent on the Web and plagued the user experience: Download an innocent-sounding application from the Web and it could literally destroy your computer or hold your files for ransom.
So, in 2008, (native) apps were a welcome change – antiseptic, inviolate, code that ran in a private "sandbox." By Apple’s design one rotten app couldn’t destroy the barrel!
There are some negatives, of course, to the isolated, in its own silo, app: being isolated and in its own silo! Apps weren’t able to talk to other apps and share data; copy/paste, a way to share info between apps, didn’t arrive until 2009, in iOS3. We are at iOS9, and apps are no longer as isolated; finally. Still, Apple apps run on Apple gear, and Android apps run on Android gear. Yes, Microsoft’s Windows 10 will support Android and iOS apps; but the apps are still iOS apps, Android apps. Closed pieces of code.
Never discount the heart of a champion! Yes, it has taken a few years, but the open Web is back!
HTML5. Under development for 15+ years, but only approved by the international W3C organization on October 28, 2014, HTML5 is a humongous improvement to HTML4: HTML5 enables developers to create highly interactive Web apps that run inside a browser. Hmm. Let’s unpack this opportunity.
- Browsers run on smartphones, tablets, laptops, desktops, etc. So a Web app is not confined to run on only a specific device. In other words, apps written in HTML5 are device-agnostic; all that is needed on a computing device is a browser that obeys the standards set forth by the W3C. The Holy Grail of software development is at hand: write once, run everywhere!
- The Web apps that can be created in HTML5 embody the same sorts of interactivity and functionality that have previously been afforded only by standard programming languages like Java and C++.
- Web apps can “play” with each other. Unlike the native apps, Web apps are not isolated pieces of code; rather, Web apps are “just a Web page” – just another tab in a browser. For example, a student could have a concept mapping Web app open in one tab, switch to a new tab and open the Google search engine, and then open a third tab that runs a simulation – and then hit the tab with the concept mapping app and go back to using that app! A lesson, then, can be just a collection of open tabs in a browser; a lesson can be a package of Web pages – some of them displaying content, some enabling students to create artifacts, etc.
Our digital cobblers at IMLC – the Intergalactic Mobile Learning Center – spent the summer productively by rebuilding all our collabrified apps – and more – in HTML5! WeCompose, WeMap, WeKWL, WeSketch ... all collabrified, all written in HTML5, all able to run on ALL devices – smartphones, tablets (iPads, Androids), laptops (Windows, Macs) and desktops. Need educational apps for Chromebooks? – No problem! Drop by our Web site ... and support your students as they collaborate!
Given the benefits of writing a Web app versus writing a native app, why would anyone write a native app again? Good question! Some would argue:
- Performance. Native apps may well execute faster than a comparable Web app. And we know that 10 more nano-seconds really make a HUGE difference with respect to the user experience.
- Functionality. Native apps can reach deeper into the specific hardware (e.g., a heart monitor) and make that unique functionality available to the user. Fair point. But Web apps today can access the camera, the GPS, the accelerometer, etc. Where is all that unique hardware that is inaccessible to HTML5?
- Look and Feel: An iOS app “looks” different than an Android app. Fair point. Life is a trade-off – is that look and feel so much more important than write once, run anywhere? Your call.
From a K-12 perspective the above three “benefits of native apps” simply don’t hold water.
It’s clear: BYOD will rule the K-12 classroom. Diversity of devices is the norm. Schools that can afford to go with only iPads, or now, only Chromebooks, are not in the majority. Bring your own device is the future of the K-12 classroom.
In a BYOD classroom, there is no room for “native” apps. In a BYOD classroom, the only viable app is the Web app! A Web app runs in a browser that runs on virtually any and all end-user-oriented computing devices, i.e., on BYOD devices.
At least for K-12, the (native) app is dead; long live the (Web) app!