1367: Installing

Explain xkcd: It's 'cause you're dumb.
(Difference between revisions)
Jump to: navigation, search
(Explanation)
(Explanation: Comparison with Firefox OS)
Line 21: Line 21:
  
 
Native phone applications and web applications are not completely interchangeable.
 
Native phone applications and web applications are not completely interchangeable.
The web browser that is needed to run web applications on a mobile phone doesn't allow access to several of the phone's resources, like notifications and sensors.
+
The web browser that is needed to run web applications on a mobile phone doesn't allow access to several of the phone's resources, like notifications and sensors. The [https://developer.mozilla.org/en-US/Firefox_OS Firefox OS] project is trying to standardize these resources so that the entire user interface can be a web app, while projects like [http://cordova.apache.org/ Apache Cordova] try to make these resources available to web applications, but they do this by creating a native application wrapper for the web application.
Projects like [http://cordova.apache.org/ Apache Cordova] try to make these resources available to web applications, but they do this by creating a native application wrapper for the web application.
+
  
 
==Transcript==
 
==Transcript==

Revision as of 10:33, 12 May 2014

Installing
But still, my scheme for creating and saving user config files and data locally to preserve them across reinstalls might be useful for--wait, that's cookies.
Title text: But still, my scheme for creating and saving user config files and data locally to preserve them across reinstalls might be useful for--wait, that's cookies.

Explanation

This comic refers to the kind of "inventions" which seem new from the point of view of a smartphone (handheld computer) user, but have already been around for a long time on desktop or laptop/notebook computers.

Cueball has a clever idea to skip the downloading and installing of applications on mobile phones: he would host the applications online instead, and provide links to the servers. The apps wouldn't stay on the phone all the time; instead the phone would download each app again every time the user wanted to run it.

However, web pages and web applications already work like this. Clicking a link will make the browser download a web page and execute the contained HTML and any JavaScript it contains or plugin data (such as Flash applets) that it links to. The page usually isn't saved long-term on the user's computer; instead the browser downloads it again when needed.

In the title text, Cueball's idea for local application storage already exists in the HTTP protocol as cookies. More recently, the HTML 5 protocol added the more flexible web storage, which does much the same thing.

Native phone applications and web applications are not completely interchangeable. The web browser that is needed to run web applications on a mobile phone doesn't allow access to several of the phone's resources, like notifications and sensors. The Firefox OS project is trying to standardize these resources so that the entire user interface can be a web app, while projects like Apache Cordova try to make these resources available to web applications, but they do this by creating a native application wrapper for the web application.

Transcript

[Cueball and Megan are standing next to each other.]
Cueball: Installing things has gotten so fast and painless.
Cueball: Why not skip it entirely, and make a phone that has every app "installed" already and just downloads and runs them on the fly?
[Caption:]
I felt pretty clever until I realized I'd invented webpages.
comment.png add a comment!

Discussion

explainxkcd has it pretty easy with this one since the comic explains a lot of itself. Maybe explain what a smartphone is and how apps work? 108.162.237.218 05:28, 12 May 2014 (UTC)

For some reason, this reminded me of the old Snaptu app. (https://en.wikipedia.org/wiki/Snaptu) 108.162.225.147 07:02, 12 May 2014 (UTC)

Maybe it should be mentioned that sometimes you DON'T want to auto-install every application and give it access to all your phone resources. Because, you know, malware. -- Hkmaly (talk) 09:47, 12 May 2014 (UTC)

I wonder why he chose cookies over localStorage... seems like localStorage does a better job of storing configs. greptalk12:06, 12 May 2014 (UTC)

document.cookies was invented before localStorage. --108.162.246.4 22:19, 12 May 2014 (UTC)

Firefox OS can technically do this, and technically does this. greptalk12:07, 12 May 2014 (UTC)

Web pages and native apps still has a few essential differences that prevent us to interchange them practically, at least for now. The latter can be compiled and optimized into binaries that executes performantly on the specific device/platform. Current web standards don't make pages/sites/apps this way, the web browser needs to load the text codes then interpret and run them on the fly, which is much slower. 199.27.128.79 08:33, 16 May 2014 (UTC)

Native apps on PCs? Sure. But on phones? Apps on phones rarely contains any native code and in fact often ARE written in web-compatible languages. I mean in java or javascript. Also, in many situations, combination of extremely optimized Java virtual machine and poorly optimized native code results in interpreted code running FASTER that compiled one. Not speaking about fact that not many applications NEEDS to run so fast - they spend most time waiting for disk, net, user input or screen refresh anyway. -- Hkmaly (talk) 10:22, 16 May 2014 (UTC)


Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox

It seems you are using noscript, which is stopping our project wonderful ads from working. Explain xkcd uses ads to pay for bandwidth, and we manually approve all our advertisers, and our ads are restricted to unobtrusive images and slow animated GIFs. If you found this site helpful, please consider whitelisting us.

Want to advertise with us, or donate to us with Paypal or Bitcoin?