Difference between revisions of "1367: Installing"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Explanation)
(Explanation: simplified and expanded some wording; minor link edits; minor formatting/punctuation edits)
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
{{incomplete|First draft.}}
+
{{incomplete|Expanded and (hopefully) clarified somewhat from first draft, but could be expanded more if needed.}}
This comic refers to the kind of "inventions" which seem new from the point of view of the user in the context of smart-phones (hand-held computers) but the ideas have been implemented for a long time in desktop computers.
+
This comic refers to the kind of "inventions" which seem new from the point of view of a {{w|smartphone}} (handheld computer) user, but have 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 and replace them with links to applications that would download the appropriate data and then run.
 
  
This concept however is already implemented in web applications. Clicking a link will make the browser download the web page and execute the contained HTML and javascript code.
+
[[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.
  
In the title text [[Cueball]]s idea for local application storage is also already contained in the HTTP protocol with {{w|HTTP_cookie|cookies}} and more recently the HTML 5 protocol added the more flexible {{w|Web_storage|web storage}}.
+
However, web pages and {{w|web application}}s 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.
  
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 phones resources, like notifications and sensors.
+
In the title text, Cueball's idea for local application storage already exists in the HTTP protocol as {{w|HTTP cookie|cookies}}. 
 +
More recently, the HTML 5 protocol added the more flexible {{w|Web storage|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.
 
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.
  

Revision as of 09:06, 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

Ambox notice.png This explanation may be incomplete or incorrect: Expanded and (hopefully) clarified somewhat from first draft, but could be expanded more if needed.
If you can address this issue, please edit the page! Thanks.

This comic refers to the kind of "inventions" which seem new from the point of view of a smartphone (handheld computer) user, but have 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. 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: 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?
I felt pretty clever until I realized I'd invented webpages.


comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

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)
On windows/Mac most programs are distributed as binaries - already compiled to support a wide variety of platforms, very rarely do they contain control-paths for specific hardware implementations. Java on the other hand: It gets compiled at runtime and can get hardware specific optimisations (and if the JRE detects critical sections it will dedicate more time and resources on optimizing that part making it even faster). Javascript also can get compiled, depending on the webpage this can also be done on the server-side as to make it harder to manipulate the js. 10:20, 31 July 2019 (UTC)

The phrase "[...] a phone that has every app "installed" [...]" from Cueball's dialogue seems to conflict with the explanation. I understood it as the phone would have all the apps installed, but with only the "header" data. In the Android context, I suppose that would be the AndroidManifest.xml. In the Windows context, I suppose that would be the registry entries. 188.114.99.189 00:30, 11 November 2015 (UTC)

progressive web apps

seem similar to this