Difference between revisions of "2224: Software Updates"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Transcript: add category)
m (Reverted edits by Donald Trump (talk) to last revision by CRLF)
 
(38 intermediate revisions by 26 users not shown)
Line 1: Line 1:
 
{{comic
 
{{comic
 
| number    = 2224
 
| number    = 2224
| date      = November 5, 2019
+
| date      = November 4, 2019
 
| title    = Software Updates
 
| title    = Software Updates
 
| image    = software_updates.png
 
| image    = software_updates.png
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
{{incomplete|Created by a CLOUD APPLICATION. Please mention here why this explanation isn't complete. Do NOT delete this tag too soon.}}
 
 
 
As time passes, upgrades to most products are inevitable, with software being no exception.
 
As time passes, upgrades to most products are inevitable, with software being no exception.
  
 
However, as many updates create multiple versions, support for all of them can become a bit of a hassle for the company that creates them, so old versions frequently become unsupported after some years, or in some cases even months, of their releases.
 
However, as many updates create multiple versions, support for all of them can become a bit of a hassle for the company that creates them, so old versions frequently become unsupported after some years, or in some cases even months, of their releases.
  
For users that prefer to stay on old editions because of unfavorable changes in the newer programs, this can mean that they are left unsupported, causing them to become more susceptible to hard to solve bugs, or in videogames, softlocks.
+
{{w|Software as a Service}} (SaaS) is a software licensing and delivery model in which software runs on the vendor's computers (servers), accessed by customers remotely. The software is said to run "in the cloud" as "cloud applications". Customers purchase subscription licenses. Since the only copy of the software is that which the vendor runs on their own computers, all customers use the one latest version of the software, which is upgraded whenever the vendor chooses to.
 +
 
 +
The benefits of SaaS is that the customer mostly does not have to worry about whether their machine is able to run the software, and both the vendor and customer only have to concern with managing one version instead of being familiar with multiple ones. The downside of SaaS, however, is that if the vendor alters or removes a feature that the customer prefers or requires, or introduces a bug, the customer has no ability to remain with an older version, losing a feature of the software that they depend on, or get impacted by a new bug that is introduced by an upgrade to the software with no ability to run the older version.
 +
 
 +
This downside of SaaS is frequently pointed out by skeptics of SaaS, who like to argue that the traditional purchase model allows the consumer to theoretically able to operate that version indefinitely; there is no obligation to pay ongoing fees or to upgrade to later versions. Indeed, some users do stay on old editions because of unfavorable changes in the newer versions, which is not something SaaS customers can do.
 +
 
 +
Randall argues that in reality, though, because even these traditional pieces of software have versions and are equally susceptible to having a feature axed by the developer, as well as the problems of running increasingly old software - mainly concering bugs and later-discovered security vulnerabilities that would only be patched via upgrades, the practical upshot of these trends is that it's rarely plausible to buy a single copy of software and continue to run it indefinitely. Almost all consumers who continue to use a particular piece of software will eventually need to upgrade to and pay for new versions. While this isn't precisely the same as paying regular licensing fees and running software that automatically updates, it's an effectively similar model. In that sense, "All software is Software as a Service".
 +
 
 +
The title text refers to a different aspect of cloud applications. Since they run "in the cloud" on remote computers, they are subject to the limitations of network speed to the servers. The time for data to be sent to a server and a response to be received back is called the "ping time".
 +
 
 +
Since a "cloud server" is just a computer, there is no fundamental difference between software running remotely and software running locally on a user's computer. The biggest difference is that software running locally will respond almost instantly to user input, whereas software running remotely may take longer to respond, since the data first needs to be sent over a network (the internet), processed, and then sent back to the user's computer. In addition, the chance of data loss (packet loss) may cause the response to be even slower, as data has to be re-sent, or often result in no response at all. Hence, in practice, this can have an enormous impact on the experience of using remote software vs software that runs locally (as anyone who has tried online gaming on a laggy server can attest).
 +
 
 +
However, technically speaking, there is a nonzero time taken for the data to travel from the user's keyboard onto the computer, across the various circuitry, and back to the monitor. Hence there is a "ping" time even for a local computer (in fact, many "gaming" monitors advertise low input lag, in the order of 1-5 milliseconds, as a feature). Therefore, you could technically say that all applications are cloud applications, just that some (local computers) have very fast ping times whereas for others (servers on another continent) it may be quite slow.  
  
 +
This ignores the fact that being a "cloud application" implies that it runs on a server in a remote location. The joke is similar to the one that claims everyone commutes to work - including those that "work from home" - but their commute times just vary a lot. For example, consider the "commute" from your bedroom to your home office.
  
 
==Transcript==
 
==Transcript==
{{incomplete transcript|Do NOT delete this tag too soon.}}
+
:[A graph with two axes. Over and right of the axes are two labeled arrows pointing along the two axes:]
 +
:X-axis: Time
 +
:Y-axis: Software Version Number
 +
 
 +
:[The graph consists of three lines. Two gray lines moves in upwards step from left to right. The upper line begins a bit up the Y-axis, the bottom line begins somewhat down the X-axis. From there both lines move upwards in steps of different height. The distance between them stays on average about the same for the entire graph, but moves from bottom to top of the graph. Labeled arrows point to the top and the bottom gray line. The area between them is shaded light gray and has a gray label written in the middle. The third line is black. It begins from a dot just under the second step in the upper gray line. This line also makes steps, keeping close to the upper line, although it makes fewer steps than that line. But a bit over halfway to the top, it stops stepping, staying on the same level for the rest of the graph; thus eventually it falls outside of the light gray area between the other two lines, where it had been until the bottom line stepped above it. This black line is also labeled, with normal black text written beneath the first full step inside the gray area. There is one other point labeled on the black line: a dot just after the final step, under the next large step in the upper gray line. At the end of the black line there are question marks with an arrow beneath pointing right. The arrow has a label to the left.]
 +
:Upper gray line: Newest Version
 +
:Bottom gray line: Oldest Supported Version
 +
:Light gray area: Support Zone
 +
:Black line: My current version
 +
:Start dot: First Install
 +
:Second dot: An update finally breaks a feature I'm unwilling to lose
 +
:End of black line: ???
 +
:Arrow label: The Abyss
  
 +
:[Caption below the chart]:
 +
:All software is Software as a Service.
  
 
{{comic discussion}}
 
{{comic discussion}}
  
[[Category:Charts]]
+
[[Category:Line graphs]]
 +
[[Category:Timelines]]
 
[[Category:Programming]]
 
[[Category:Programming]]

Latest revision as of 19:57, 26 May 2022

Software Updates
Everything is a cloud application; the ping times just vary a lot.
Title text: Everything is a cloud application; the ping times just vary a lot.

Explanation[edit]

As time passes, upgrades to most products are inevitable, with software being no exception.

However, as many updates create multiple versions, support for all of them can become a bit of a hassle for the company that creates them, so old versions frequently become unsupported after some years, or in some cases even months, of their releases.

Software as a Service (SaaS) is a software licensing and delivery model in which software runs on the vendor's computers (servers), accessed by customers remotely. The software is said to run "in the cloud" as "cloud applications". Customers purchase subscription licenses. Since the only copy of the software is that which the vendor runs on their own computers, all customers use the one latest version of the software, which is upgraded whenever the vendor chooses to.

The benefits of SaaS is that the customer mostly does not have to worry about whether their machine is able to run the software, and both the vendor and customer only have to concern with managing one version instead of being familiar with multiple ones. The downside of SaaS, however, is that if the vendor alters or removes a feature that the customer prefers or requires, or introduces a bug, the customer has no ability to remain with an older version, losing a feature of the software that they depend on, or get impacted by a new bug that is introduced by an upgrade to the software with no ability to run the older version.

This downside of SaaS is frequently pointed out by skeptics of SaaS, who like to argue that the traditional purchase model allows the consumer to theoretically able to operate that version indefinitely; there is no obligation to pay ongoing fees or to upgrade to later versions. Indeed, some users do stay on old editions because of unfavorable changes in the newer versions, which is not something SaaS customers can do.

Randall argues that in reality, though, because even these traditional pieces of software have versions and are equally susceptible to having a feature axed by the developer, as well as the problems of running increasingly old software - mainly concering bugs and later-discovered security vulnerabilities that would only be patched via upgrades, the practical upshot of these trends is that it's rarely plausible to buy a single copy of software and continue to run it indefinitely. Almost all consumers who continue to use a particular piece of software will eventually need to upgrade to and pay for new versions. While this isn't precisely the same as paying regular licensing fees and running software that automatically updates, it's an effectively similar model. In that sense, "All software is Software as a Service".

The title text refers to a different aspect of cloud applications. Since they run "in the cloud" on remote computers, they are subject to the limitations of network speed to the servers. The time for data to be sent to a server and a response to be received back is called the "ping time".

Since a "cloud server" is just a computer, there is no fundamental difference between software running remotely and software running locally on a user's computer. The biggest difference is that software running locally will respond almost instantly to user input, whereas software running remotely may take longer to respond, since the data first needs to be sent over a network (the internet), processed, and then sent back to the user's computer. In addition, the chance of data loss (packet loss) may cause the response to be even slower, as data has to be re-sent, or often result in no response at all. Hence, in practice, this can have an enormous impact on the experience of using remote software vs software that runs locally (as anyone who has tried online gaming on a laggy server can attest).

However, technically speaking, there is a nonzero time taken for the data to travel from the user's keyboard onto the computer, across the various circuitry, and back to the monitor. Hence there is a "ping" time even for a local computer (in fact, many "gaming" monitors advertise low input lag, in the order of 1-5 milliseconds, as a feature). Therefore, you could technically say that all applications are cloud applications, just that some (local computers) have very fast ping times whereas for others (servers on another continent) it may be quite slow.

This ignores the fact that being a "cloud application" implies that it runs on a server in a remote location. The joke is similar to the one that claims everyone commutes to work - including those that "work from home" - but their commute times just vary a lot. For example, consider the "commute" from your bedroom to your home office.

Transcript[edit]

[A graph with two axes. Over and right of the axes are two labeled arrows pointing along the two axes:]
X-axis: Time
Y-axis: Software Version Number
[The graph consists of three lines. Two gray lines moves in upwards step from left to right. The upper line begins a bit up the Y-axis, the bottom line begins somewhat down the X-axis. From there both lines move upwards in steps of different height. The distance between them stays on average about the same for the entire graph, but moves from bottom to top of the graph. Labeled arrows point to the top and the bottom gray line. The area between them is shaded light gray and has a gray label written in the middle. The third line is black. It begins from a dot just under the second step in the upper gray line. This line also makes steps, keeping close to the upper line, although it makes fewer steps than that line. But a bit over halfway to the top, it stops stepping, staying on the same level for the rest of the graph; thus eventually it falls outside of the light gray area between the other two lines, where it had been until the bottom line stepped above it. This black line is also labeled, with normal black text written beneath the first full step inside the gray area. There is one other point labeled on the black line: a dot just after the final step, under the next large step in the upper gray line. At the end of the black line there are question marks with an arrow beneath pointing right. The arrow has a label to the left.]
Upper gray line: Newest Version
Bottom gray line: Oldest Supported Version
Light gray area: Support Zone
Black line: My current version
Start dot: First Install
Second dot: An update finally breaks a feature I'm unwilling to lose
End of black line: ???
Arrow label: The Abyss
[Caption below the chart]:
All software is Software as a Service.


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

Discussion

Not related to this comic in particular, but the advertisements on this site have become a little (well, actually well past that) too obtrusive for use on a computer that won't let you install an ad blocker (like, uh, a managed Chromebook). Oh, imagine trying to use a computer that won't let you install something as necessary in 2019 as an ad blocker in 2019. 172.68.59.42 01:11, 5 November 2019 (UTC)

Yup. I've added the ongoing discussion to the bottom of this talk page. --NeatNit (talk) 12:03, 5 November 2019 (UTC)

Really? For me it's only a tiny rectangular ad in the bottom left when I disable my blocker. 172.69.34.20 01:53, 5 November 2019 (UTC)

I saw bunches of ads artificially injected in here between these comments last week, this week I see literally none, so I think whoever added them - so horribly intrusively that it sparked an ongoing discussion that transcended the separate comics - saw the complaints and turned them back off. NiceGuy1 (talk)

I bet that this is in reference to the removal of close other tabs from Chrome. 173.245.54.37 03:23, 5 November 2019 (UTC)

I doubt it. The feature is easily duplicated by simply tearing out the tab you want to keep and then closing the other window. I doubt that would be a dealbreaker. Plus, well, Chrome doesn't play nice with trying to stay on the older version. Trlkly (talk) 03:29, 5 November 2019 (UTC)
Yeah, there are far too many other examples of unwelcome changes to far too many pieces of software to think this is referring to this in particular.--162.158.75.166 10:35, 5 November 2019 (UTC)
However, there are quite lot of very unwelcomed changes specifically in major browsers ... Mozilla's decision to stop supporting original format of their extensions comes into mind ... -- Hkmaly (talk) 04:43, 6 November 2019 (UTC)

It's not so clear to me that SaaS requires the software to run in the Cloud. Adobe's Creative Cloud is argued to be Software as a Service, but the programs actually run on the local system. Trlkly (talk) 03:29, 5 November 2019 (UTC)

The definition in the Wikipedia article on SaaS includes that requirement. I would describe Adobe Creative Cloud more like the way its Wikipedia article does, as providing a combination of software applications delivered on a subscription model, mobile apps, and cloud services, with only the latter being the SaaS part. Bugstomper (talk) 03:51, 5 November 2019 (UTC)

Yes, Photoshop is installed on my machine, and I can run it when I'm not connected to the Internet. Definitely not SaaS. SaaS doesn't have to be from the cloud, but it must be something served when you use it. — Kazvorpal (talk) 06:20, 5 November 2019 (UTC)

I think the explanation is probably misinterpreting the intent of the title text. Given the point of the main comic, rather than saying some have very fast ping times, I think it's saying they may have very slow ping time, on the order of months or years, between times when they decide to download an updated version. The explanation written here definitely feels off, as lots of software running doesn't involve even a local office server, but runs entirely on the computer in front of the user, and again it doesn't relate to the main comic.--108.162.216.46 06:58, 5 November 2019 (UTC)

I was going to say the same. Cloud software will include some frontend code to display data to the user; often some javascript in a webpage. I think the title text is treating 'regular' software as if the developers and their computers creating updates are the part which runs "in the cloud". In some cases, this might mean actually sending off for disks for an update (a 'ping time' in weeks), and the timeout before disconnection causes an error could be years or longer. 141.101.77.50 09:22, 5 November 2019 (UTC)
The part about a "server in the same office" should just be removed. Software on your own computer is also running in the cloud - there's no fundamental difference between software running locally or remotely except for the connectivity issues (latency and packet loss etc.) in transferring the data. Your own computer is a "cloud server" with extremely fast (a few milliseconds) ping, whereas accessing a server on another continent may cause latency of a few hundred milliseconds (or more, if packet loss is bad enough) and this is what the "ping times vary a lot" line is referring to. I don't think it's referring to software updates. -- Pureawes0me (talk) 09:45, 5 November 2019 (UTC)
Again, that interpretation would be a lot more credible if the primary topic of the main comic wasn't about updating software with very long intervals in between. Making the point you are saying doesn't match at all, and isn't nearly as clever or entertaining of an observation. The very absurdity of claiming waiting weeks or months for a software update is a "ping time" (which is normally something measured in milliseconds) seems to match the typical kind of humor of this comic. Reminds me of that comic a bit ago with the fruit vending machine that required you to wait for a tree to grow.--162.158.75.166 10:35, 5 November 2019 (UTC)
It could refer to both. Therefore they vary a lot.

Oh, hey, that looks like my Android version (because Google apparently thinks no one would want to record their own calls). 162.158.142.118 09:50, 5 November 2019 (UTC)

Nor do they think people use background utilities like Google Translate or Join that read the clipboard, or automation to manage wifi connections... I am planning to not upgrade to Android 10+ until both my phone and its backup physically break and I have no other option. davidgro (talk) 22:54, 8 April 2021 (UTC)

Would just like to mention that the definition of 'software as a service' is actually that you pay for a subscription, that is a regular reoccurring fee. That's not usually the case. 17:28, 5 November 2019 (UTC)

If you have to be compatible with other users and the file formats (or whatever) change, it could end up being a "regular recurring" fee for all practical purposes, paid at whatever interval your friends or colleagues allow before they expect you to have upgraded. Angel (talk) 18:14, 5 November 2019 (UTC)
That would be an 'irregular' reoccurring fee, as opposed to a 'regular' one. A 'regular' one is one that's periodic and the period is the same each time. 162.158.214.82 18:39, 6 November 2019 (UTC)

I am confused about the location of the label Newest version. Wouldn't the newest version be located at the highest line in the diagram? Unless the lines above "Newest version" are future versions? Rtanenbaum (talk) 18:02, 5 November 2019 (UTC)

The arrow is pointing to the upper edge of the shaded region. The upper edge of that region represents the "newest version" at any moment in time, while the lower edge of the shaded region represents the oldest supported version. Angel (talk) 18:14, 5 November 2019 (UTC)
Thanks, now it makes sense. It would be a little clearer if the arrow for Newest version was pointing to the upper horizontal line and the arrow for Oldest version was pointing to the lower horizontal line of the shaded area, instead of pointing to the vertical lines. To my interpretation, vertical lines mark points in time and horizontal lines mark versions. What do you think? Rtanenbaum (talk) 18:32, 5 November 2019 (UTC)
I think it is only because you saw it the wrong way to begin with. The arrow points to the two darker gray lines, surrounding the light gray area. The lines represents the newest version number existing and the oldest version number supported. It does not matter which part of the line that the arrows point to, as it is the entire line that is representing what the labels say. It is not where the arrow point to the lines that is important. As the label is for the entire line. This is unlike the two points marked with dots on the black line, which is a particular point in time. --Kynde (talk) 14:05, 6 November 2019 (UTC)

Speaking of unsupported... Now that Apple is dumping all support for 32-bit apps, it's worse than just using an unsupported app: those of us with "legacy" 32-bit apps will have to run an unsupported Operating System that no doubt will not work with all sorts of upcoming apps. I don't even want to think about the number of apps that I will have to pay to upgrade to 64bit. Cellocgw (talk) 12:23, 6 November 2019 (UTC)

There is one app, that I think we can all agree is a blessing that it has gone away, Flash Player! Good riddance! Rtanenbaum (talk) 14:08, 6 November 2019 (UTC)

No, we do not all agree. :) Also I won't consider it gone until sites stop using it, and I haven't seen that yet. NiceGuy1 (talk) 05:00, 8 November 2019 (UTC)

Funny, this comic so well encapsulates where I just got with iTunes. Except that "break" was intentional, LOL! Idiots split off Books and a few other things into separate apps, because of course people would rather have 10 programs clogging up their computers than just 1. Since I actually use the Books feature, to sync to my iPad, that's a deal breaker, no more updates for me. And "app" doesn't sound like something available for a Windows computer, just mobile devices and strangely Macs because Apple is a collection of weirdo idiots who've lost touch with the real world. LOL! NiceGuy1 (talk) 05:00, 8 November 2019 (UTC)

I'm not telling you whether this comment is being written on my Dell Latitude laptop (still running XP) or my Tab 3 (still running Android 4.4.2), but this comic relates to me in so many ways... 162.158.154.175 00:07, 10 November 2019 (UTC)

My brother refused for years to update to IOS 7 on his iPad because he didn't like the new aesthetic. 172.68.70.70 14:25, 11 November 2019 (UTC)

Interesting, I interpret the title text completely differently. I think Randall sees the "ping" from the SW manufacturer's perspective. In a client-installed software, the manufacturer still has the ability to force their updates upon the customers (by means of withdrawing support), but the "ping" (upgrade response from the customers) is heavily delayed. 162.158.92.70 13:35, 8 April 2020 (UTC)

this reminds me of when upgrading from windows 7 to 10 one of my favorite features was removed :( --an user who has no account yet 172.68.134.116 (talk) 23:19, 1 September 2023 (please sign your comments with ~~~~)