7 ms·
The beauty of the web as we know it has nothing to do with its efficiency. For applications, it is, as you wrote, inferior in speed, as well as many other attri
by Fej 6y ago
The beauty of the web as we know it has nothing to do with its efficiency. For applications, it is, as you wrote, inferior in speed, as well as many other attributes (memory usage, CPU usage, plenty of others). That is not the point. The point is that web apps are distributed instantly to users, on demand, anywhere, extremely cheaply, with no middlemen necessary. (The web is not the only technology with these traits, but in practice it is the only widespread one.)
Back before the web was prominent, software had to be distributed via physical media, usually floppies and later CDs. This inherently limited the reach and complexity of software - physical media is expensive, especially floppies - so it required either the mailing of software by the creator(s) to users, who would have to pay a fee, or a substantial investment by a publisher, which again incurs a (larger) cost to the end user. Almost any widespread software would require a middleman (publisher) and the end user having to go to a store to purchase it.
Allowing anyone to create and distribute software in a format simple enough to be used easily by anyone has democratized this system. With more programmers who might not practice the craft professionally, and a desire for speedy development, higher-level languages and frameworks sprung up to fill the knowledge gap and enable even easier development.
That's not to say that we should not appreciate older software - as you wrote, the aesthetics ought not belie the challenge and art of software which had to fit into tight spaces, and the constraints required usually forced developers to place function over form. It's a different, not necessarily better or worse, software development paradigm, and older software can be as impressive as or even more so than newer software. But we shouldn't write off the new things either, even if they're worse in areas.
(I don't think all of it looks completely ugly, either: Windows 3.1, for example, exhibits a number of traits of modern flat design - single colors, mostly a lack of shadows, many simple icons and interface elements. Windows 1.0 even used the hamburger menu icon. What's old is new again.)
- justin66 6y agoSo much BS above. > Back before the web was prominent, software had to be distributed via physical media, usually floppies and later CDs. This is blatantly false. Home users could digitally obtain software via online services or BBSes, businesses with minis or mainframes could obtain software from their vendor or reseller via modem, and universities could trade software via ftp. All these sources could (and did) cross-pollinate.
- jussij 6y agoThis is even more amazing when you consider the modems of that era had download rates that started at 300 baud. https://en.wikipedia.org/wiki/Modem#300_baud https://en.wikipedia.org/wiki/Modem#300_baud It's a great indicator of how software download size has exploded over the decades.
- Fej 6y agoThe general public did not use any of these services. Yes, BBSes and the like were notable, but used by a tiny minority. Most computer users bought boxed software, and that was it. Was anyone actually selling software over the internet in the 80's/early 90's at scale? I was under the impression that the answer is "no", but if there is a counterexample I'd love to see it.
- einr 6y agoWas anyone actually selling software over the internet in the 80's/early 90's at scale? https://en.wikipedia.org/wiki/3D_Realms#The_Apogee_Model_(1987%E2%80%931996) https://en.wikipedia.org/wiki/3D_Realms#The_Apogee_Model_(19...
- Fej 6y agoApogee distributed shareware versions of some of their games over BBSes, but purchases of games required a mail order and games were shipped on disk.
- einr 6y agoThat's true. A lot of people got the shareware versions online (whether by FTP or more likely from a BBS) and decided to buy them after trying, so in that sense it's selling software online, but I get what you're saying, it's still physical media.
- justin66 6y agoForgive me if I'm pointing out something obvious about shareware, but often no further digital download was needed because the shareware or nagware download already contained the complete software package. (does not apply when you're distributing one level of a ten level video game) A user could complete the purchase of the full software and receive a key to unlock it via phone, snail mail, or email, with no transfer of physical media. And lest we forget, a lot of shareware was based on nothing more than an appeal in a readme.txt and the hope that users would send money if they felt the software was useful - nothing more formal than that.
- tomcam 6y agoThese are good points but in practice it wasn't that hard to deal with floppies, CDs, etc. I made a living the first third of my career programming products that used physical media (from my own language distributed on floppies to Visual Basic 5&6 at Microsoft). It wasn't fun, but arguably the product introduction/update cadence was not worse than what we have now. Back then you had to be super careful about creating a strong product that wouldn't require too many updates. Now you have CI churning out multiple new versions a day, but one could argue we've got lazy about quality & documentation. And for the power user it was good to have complete control over whether you installed an update (and equally bad for the company because it was hard to know who had what version). These days you have to look for release notes, newsgroups, Slack channels, Discord channels, tweets, FAQs, KBs, and so on to make sure you know what's going on. Gets a bit tiring. As a web developer I of course love the fact that I always know what version of the software my users are on, modulo browser differences. Not arguing for a return to the past, not at all. I'm just saying that after 30+ years as a developer I don't feel that we've served customers any better in 2020 than in 1985.
- systemvoltage 6y agoThis was especially true for games. Remember when games had to be absolutely 100% complete? Any bugs would then be known as easter eggs.
- aidenn0 6y agoOh man, the US release, at least of the original Final Fantasy had so many bugs in the combat system, you could just about throw the manual in the trash. - All weapons special effects would never trigger - They failed to dereference the index for critical hits, so the higher index the weapon had, the better its critical rate - A bunch of spells either don't work or have the opposite effect they are supposed to - The code for calculating run chance is so terribly messed up, it reads the wrong field from 2 characters down (so the last two characters read from some coincidental memory location causing them to be unlikely to run) [edit] Found a fairly comprehensive list of bugs; totaling nearly 50: https://gamefaqs.gamespot.com/boards/522595-final-fantasy/45575058 https://gamefaqs.gamespot.com/boards/522595-final-fantasy/45...
- earthboundkid 6y agoAn example that illustrates the point: I went to a restaurant tonight. Because of COVID-19, we were seated outside. Instead of being given a menu, we were told to scan a laminated QR code on the table. That loaded a website with the menu. From one point of view, this is a huge waste of compute. The phone camera is scanning for QR code whenever it’s open, which is a waste. We’re calling up cell towers to do megabytes worth of downloading to get a website, when the text of the menu is at most a couple of dozen items. On the other hand, the restaurant knew we’d have phones and didn’t want to either sanitize laminated menus or print and toss plain paper menus. You could imagine a system in the 80s where you’d use a CueCat style scanner to get a simple barcode for a text menu… but nothing was ever as widespread then as smartphones are now. The sheer ubiquity of computing makes it easy to solve a novel problem with overwhelming resources.
- systemvoltage 6y agoDo you think artificially constraining compute resources would bring great software into being? For example, Pico-8 gaming engine: https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php and TIC-80 computer: https://tic80.com/ https://tic80.com/ These are way too limited, but I could imagine something a little more powerful - 1024x768 pixel buffer, 64 MB ram and 100 MB space. All apps natively running on this (or even emulation) would instantly load and the latency would be unreal.
- cfcosta 6y agoAdding to your point, even with the artificial limitations of pico-8, massive hits have been born in it, such as Celeste: https://www.lexaloffle.com/bbs/?tid=2145 https://www.lexaloffle.com/bbs/?tid=2145
- neilpanchal 6y agoAnyone interested in building something like this in physical form? Have access to ME/EE expertise and supply chain that's second to none, contact info in the profile.
- christmm 6y ago
- chongli 6y agoFor applications, it is, as you wrote, inferior in speed, as well as many other attributes (memory usage, CPU usage, plenty of others). That is not the point. The point is that web apps are distributed instantly to users, on demand, anywhere, extremely cheaply, with no middlemen necessary. (The web is not the only technology with these traits, but in practice it is the only widespread one.) Apart from the speed and convenience of clicking a link to visit a web app, those attributes all sound to me like tradeoffs that benefit the developer at the expense of the user. The software I remember, from the 90’s and earlier, put the user in control. Licenses were one time costs and they were perpetual. Software was much more thoroughly tested before being released to manufacturing (through the golden master process) since it was a major gaffe to release a broken app that had to be updated with fresh physical media. Unlike today, there was never any sense that the developer could pull the rug out from under your feet, at any moment. The title of the article is a testament to the (now archaic) notion that software might be considered “complete”. That it seems so quaint is such a terrible shame. Now we have so much software offered for rental only, like Adobe stuff, or ad-driven free sites which are liable to changed drastically (with no option to skip the “upgrade”) or cancelled outright like so many Google products [1]. Somehow, in the past few years I’ve picked up a nostalgic fever for retro computing [2] which has only intensified since Covid began. I don’t know how to explain it, but here we are. Perhaps I’m just getting old and finding it increasingly difficult to relate to young people, who seem to jump from one social media fad to another, like locusts. [1] https://killedbygoogle.com/ https://killedbygoogle.com/ [2] https://medium.com/message/networks-without-networks-7644933a3100 https://medium.com/message/networks-without-networks-7644933...
- ryandrake 6y ago> The title of the article is a testament to the (now archaic) notion that software might be considered “complete”. That it seems so quaint is such a terrible shame. Your comment reminds me of a pretty jarring experience moving from embedded systems into mobile (iOS) apps. I asked the lead how we know the software is “done” and can ship. He looked at me like I had horns growing out of my head. “We are never done. We just keep developing and releasing until they tell us to work on something else.” This idea that your program can be done and you release the final version is turning into a relic from a lost age. It’s also sad from the user’s point of view: as updates get more automatic, you have to take deliberate action to stay on an old, working, familiar version. If you’re not careful, you can reboot and your software looks and behaves entirely different. And in the web world it’s impossible! You don’t even have a choice. You are running whatever version the developer decrees you should be running.
- wott 6y ago> The point is that web apps are distributed instantly to users, on demand, anywhere, extremely cheaply, with no middlemen necessary. Back before the web was prominent, software had to be distributed via physical media, usually floppies and later CDs. You're conflating "web apps" with "distributing through Internet" and forgetting that between floppies and web apps, for about 15 years the main way of getting applications was downloading regular pieces of software through FTP and HTTP ("download the installer" in Windows world, a package manager in Unix-like worlds, etc.).
- oblio 6y agoThat's not the same thing. Yes, you have distribution over the internet. For that grandpa needs to: 1. Find the site: not always easy. Still, same level of difficulty for webapps. 2. Find the HUGE download button: not easy, it's incredible how many people don't figure it out. Still, same difficulty as creating an account or logging in. 3. Download the file: might be blocked by security policies or corrupted by overzealous antiviruses. 4. Find the downloaded file: quite challenging for a good chunk of people, so challenging that mobile apps try to do everything possible to hide files to not scare users (ergo the app-centric OS models). 5.Launch the installer: see security policies, installer bugs, corrupted or out of date local OSes, plain old user error, memory or disk space issues. 6. Find the installed app afterwards: not an easy challenge for many people. The desktop funnel was so long and fraught with peril that the vast majority of desktop users would get help from family or people they'd know. There were/are thriving PC help businesses around. Also, despite me being a PC fan, PCs could never reach ubiquity, unlike mobile devices, despite being the only option for 30 years and the web helping them with usability.
- II2II 6y agoPeople were accessing applications and data on remote systems and using digital distribution for software. The big differences are the available bandwidth (which does not depend upon the web) and that HTML/CSS/JS are platform independent client side languages. That said, much of the inefficiency of the web comes down to implementation. A site like HN is efficient since it has a well defined purpose and the design reflects that purpose. Many websites have less clearly defined purposes, provide a much larger scope of functionality, of depends upon general purpose frameworks. Those are all ways to diminish performance with little perceptible benefit to the end user, a.k.a. bloat. As for modern development, I'm not sure it is much more accessible than it was in years past. Yes, a big part of the appeal of web development in the 1990's was its accessibility. On the other hand, that was comparing mature general purpose development tools to one that had limited scope. You certainly weren't developing standalone applications in HTML/CSS/JS in the early days, and most of what was developed for online use was geared towards accessing data an less so to content creation.
- projektfu 6y agoConsidering the relative size of run of the mill systems: 1985, 512k ram, 1.2MB floppy drive, 20MB hard disk, 1.2kbps modem. ~1 MIPS. 2020, 8GB ram, 4.7GB DVD-R, 1TB storage, 50Mbps internet link. >2000 MIPS.