News for hackers. Stuff that matters.
Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Monday September 05, 2022 @09:24AM (#32724015)
"The earliest websites are viewable on modern browsers."

The problem with this statement is that a website is not the same thing as an application. The web was designed to publish documents, it was never intended to build applications. Saying that a document from the early web is still viewable while a fully interactive application from the same time is not is a bit disingenuous.

As a platform for developing interactive applications the web is simply terrible. There is no good way to develop a UI in HTML/CSS/JS, all attempts to do so rely on layers upon layers of wat are essentially hacks to build something resembling a UI toolkit on top of a document markup language. The result a UI that is unnecessarily complicated and fragile. Laying out and rendering HTML and CSS is incredibly complex compared how traditional UI toolkits do the same task. That complexity comes at a cost, both in development time and in UX.

Re:Writing an app is like coding for LaserDisc by frivoal on Monday September 05, 2022 @11:16AM (#32725257)
> The web was designed to publish documents, it was never intended to build applications.

I find that repeated a lot, but to me, it's somewhere between an overstatement and a misconception.

Sure, the early web wasn't anywhere near the versatility of what we have today, and interactivity was extremely limited (and as you say, is still more complex than it ought to be). But the semantics of HTTP+HTML, from the early days, allowed for application development. If all we had had were <p>, <h1>, <aside> and GET, sure, documents it is. But we had forms and POST and everything you need to make a CRUD application from the early 90s. It was pretty basic, but so was support for documents (tell Desktop Publishing people that HTML in the 90s was good for documents, and they're not likely to agree much).

Just as one example, what is this, of not an application: https://thehistoryoftheweb.com/postscript/pizzanet/

Re:Writing an app is like coding for LaserDisc by whoisthemachine on Monday September 05, 2022 @12:05PM (#32725865)
I consider (paper) forms to be documents as well. In my opinion, it's a minor evolution of what is considered a "document" to go from a paper form to a dynamic, interactive form. A media application or video game in a browser is quite different. That doesn't mean it's not now a valid use of browsers, it's just not what the intended use of the web originally was.

Further, to quote Tim Berners-Lee directly on his intention when he created the first version of the WWW (emphasis mine):

"Creating the web was really an act of desperation, because the situation without it was very difficult when I was working at CERN later. Most of the technology involved in the web, like the hypertext, like the Internet, multifont text objects, had all been designed already. I just had to put them together. It was a step of generalising, going to a higher level of abstraction, thinking about all the documentation systems out there as being possibly part of a larger imaginary documentation system." — Tim Berners-Lee

https://en.wikipedia.org/wiki/Tim_Berners-Lee#Career_and_res...

edit: cleaned up formatting and attributed emphasis.

Re:Writing an app is like coding for LaserDisc by npalli on Monday September 05, 2022 @12:18PM (#32726009)
The early '90s only had GET in the HTTP protocol (0.9) so you couldn't actually build any CRUD applications. Quite far from it. POST came in 96 (1.0) and PUT, DELETE in 97 (1.1). REST was introduced in 2000 by Fielding and the idea that the web could used to build large scalable applications slowly gained momentum as CRUD was mapped to POST/GET/PUT/DELETE and the proposal gathered steam in '00s. In the meantime massive amount of engineering went into making JavaScript workable, performance wise (Chrome/V8). Everything came together only in the late 2000's. So, quite far from claiming web as a viable mechanism for building applications in the early '90s.
Re:Writing an app is like coding for LaserDisc by icedchai on Monday September 05, 2022 @01:31PM (#32726853)
HTTP POST was in common use well before 1996. It was standardized with HTTP 1.0 in 1996, but form POSTs were common well before then. People were developing "web apps" in the 90's using Perl CGIs, ASP pages (VB script), and even Javascript (Netscape's web server supported server side Javascript applications.)
Re:Writing an app is like coding for LaserDisc by cxr on Monday September 05, 2022 @04:25PM (#32729021)
It's funny that there's contention on this. Here's someone trying to answer the question in 2002:

> The purpose of this document is to answer the question "When did we start seeing web-forms that captured credit-card details, and passed them to CGI-scripts, thereby enabling interaction with server-side applications

<http://www.rogerclarke.com/II/WCBirth.html>

Re:Writing an app is like coding for LaserDisc by cxr on Monday September 05, 2022 @03:31PM (#32728331)
In addition to icedchai's comment, there are two more issues worth quibbling about what's written here:

It's odd to say something like "REST was introduced in 2000 by Fielding", since it makes it sound like support for a feature. But REST is just a description of how the Web works. Fielding's dissertation is a retrospective, documenting what the real work of standardization at IETF and among browser makers and server distributions had already earlier enabled.

Secondly, JS was workable performance-wise in the early 2000s in Netscape 6, even without a JIT.

Re:Writing an app is like coding for LaserDisc by grogenaut on Monday September 05, 2022 @02:09PM (#32727281)
Yet there I was building online shopping apps in 96 in my internship. Get was more than good enough for a search of the catalog to find what you needed. Our system just sent an order email in and we called you for payment. That was via post.

Amazon went public a year later.

Re:Writing an app is like coding for LaserDisc by bawolff on Tuesday September 06, 2022 @01:03AM (#32733074)
You can definitely make a crud app with only GET. E.g. PHP used to have support for automatically adding session ids to urls in links, for people who didn't like cookies.
Re:Writing an app is like coding for LaserDisc by NonNefarious on Monday September 05, 2022 @10:50PM (#32732178)
I think it's right on the money. The Web has long sucked even for presentation, let alone for application delivery. It's not that you can't do it now; but it's still a hack upon a hack.

I also don't think the longevity of Web sites will necessarily continue. The earliest sites will render today, but will the same be said of today's "single-page-application" sites that rely on scripting?

And finally, I think the LaserDisc comparison is dumb. LaserDiscs from the '70s were playable through the format's demise in the 2000s. "Coding" for it... makes even less sense.

Re:Writing an app is like coding for LaserDisc by c7b on Monday September 05, 2022 @11:48AM (#32725658)
Sure, you could write apps using forms and POST, but how prevalent was it? One of the most popular frameworks for early-ish apps was Flash eg, for which support has been thoroughly discontinued.
Re:Writing an app is like coding for LaserDisc by rkangel on Monday September 05, 2022 @11:57AM (#32725765)
Maybe my memory is fuzzy, but I don't remember Flash being used for apps. It got used for video playing and games mostly, as well as unnecessary animation on restaurant/hotel websites. The occasional enterprise app used it, but generally they were ActiveX.

What we had was server-side frameworks. Generated HTML, click a link that does a GET or POST. That's how my webmail at University worked, that's how the control panel for my web hosting worked etc.

I think my first exposure to proper clientside UI was GMail (lunched 2004, I think I signed up ~2006).

Re:Writing an app is like coding for LaserDisc by nemothekid on Tuesday September 06, 2022 @12:06AM (#32732703)
>Maybe my memory is fuzzy, but I don't remember Flash being used for apps

Flash was used for apps; I remember one webmail provider which had built their frontend in Flash (can't remember the name sadly), and there various enterprise apps that were deployed with Adobe Flex (I remember Paychex being one of them).

Re:Writing an app is like coding for LaserDisc by egypturnash on Monday September 05, 2022 @12:42PM (#32726298)
Adobe really wanted it to be used for serious stuff. There was AIR, a Flash desktop runtime. They started integrating Flash into their tools, I recall a few Illustrator palettes that would make my computer’s fans come on just by opening them because they would make the Flash runtime wake up and start busy-waiting for input on them.

They had the same vision for it that Sun had for Java, with the same flaws that would become apparent when that vision was finally manifested in Electron: write once, run anywhere, and be hideously inefficient compared to native code.

Re:Writing an app is like coding for LaserDisc by c7b on Monday September 05, 2022 @12:08PM (#32725897)
That's what I remember too - but what's the difference between an app and a game? Usually your score would be sent back to the server too.
Re:Writing an app is like coding for LaserDisc by cozzyd on Monday September 05, 2022 @09:53PM (#32731742)
A managed switch we use somewhere for something uses flash to display port status (I think?). I guess that part doesn't work anymore...
Re:Writing an app is like coding for LaserDisc by grogenaut on Monday September 05, 2022 @02:30PM (#32727563)
Up through 2008 we made very heavy use of posts in web apps where I worked, js was more of an accelerant for things like autocomplete and client side validation. Amazon retail was still building mostly post based experiences when they were doing the universal detail page project in 2015.

I never used flash seriously from 1996-2015 when I switched to an electron front end and then mostly to backend work.

Re:Writing an app is like coding for LaserDisc by layer8 on Monday September 05, 2022 @11:31AM (#32725392)
> But we had forms and POST and everything you need to make a CRUD application

The same is true for PDF, yet it’s still primarily a document format.

Re:Writing an app is like coding for LaserDisc by blacksmith_tb on Monday September 05, 2022 @11:57AM (#32725762)
Not to mention it has a js interpreter[1]...

1: https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsd...

Re:Writing an app is like coding for LaserDisc by astrobe_ on Monday September 05, 2022 @01:17PM (#32726690)
"App" is short for application, which is just a fancy word for program. If a page does computations locally (using javascript), then it is a program; if the page does nothing locally but push requests to the server (get/post), then this is a user interface. By this distinction, the early Web even with POST had no application, it was just at best a remote interface.
Re:Writing an app is like coding for LaserDisc by monocasa on Monday September 05, 2022 @01:29PM (#32726833)
A remote interface to an application living on the server.
Re:Writing an app is like coding for LaserDisc by j-krieger on Monday September 05, 2022 @10:18AM (#32724585)
> As a platform for developing interactive applications the web is simply terrible. There is no good way to develop a UI in HTML/CSS/JS, all attempts to do so rely on layers upon layers of wat are essentially hacks to build something resembling a UI toolkit on top of a document markup language. The result a UI that is unnecessarily complicated and fragile. Laying out and rendering HTML and CSS is incredibly complex compared how traditional UI toolkits do the same task. That complexity comes at a cost, both in development time and in UX.

This is so disingenuous and untrue that I‘m close to calling it an outright lie. Development of UI has never been easier, more accessible and better for the disabled than with web tooling. Any businesses from tiny startups to gigantic corporations can build value creating applications which generate billions of dollars of revenue which runs on almost all devices, using just one language and one code base. Browsers HTML and CSS parsers are incredibly generous in what they accept, allowing small markup mistakes in a latest update to not grind your operation to a halt. Modern HTML and CSS are dead simple to use, deliver sane defaults and capabilities which most browsers understand all the same. Never before has it been so easy to develop an application for your business with a language and frameworks millions of developers speak. Prototyping is incredibly simple. Modern browsers deliver incredibly tight sandboxes so malicious applications can neither access the information of other applications nor anything else on a targeted users system. Fake applications can be identified with SSL certificates in ways native applications never could.

The web enables the famed „write once, deliver anywhere“ which native desktop always aspired to be. My apps run on android, iPhones, MacOS, rare Linux operating systems, Windows and Tablets alike. The only thing they need is a browser. I only need one programming language for this.

One developer can do with the web what 10 couldn‘t do with native. How one could take a look at fortune 500 companies which are almost all at their size in thanks of the web and its advantages and then go on to declare the latter the worst platform to build is beyond me.

Re:Writing an app is like coding for LaserDisc by blibble on Monday September 05, 2022 @11:09AM (#32725187)
I'm sorry, but the web development experience is god awful compared to the 90s development experience using something like delphi or even (ugh) visual basic

the UI was consistent across the entire platform, all the accessibility worked out of the box

yes, the main advantage is that the web runs on "everything", but then the added complexity of needing 4 different programming languages and half a dozen build tools don't put it in a state where it has "never been easier"

even Java+Swing was better in pretty much every respect (other than providing employment for tens of "web developers")

Re:Writing an app is like coding for LaserDisc by namdnay on Monday September 05, 2022 @11:13AM (#32725223)
For me, VB + Visual Studio was the highlight of late 90s programming - true drag&drop wysiwyg ui design, a clean link between code and ui, lightning fast prototyping. ahhh good times
Re:Writing an app is like coding for LaserDisc by edgyquant on Monday September 05, 2022 @01:29PM (#32726835)
It’s hilarious seeing people praise VB when at the time it was a running joke holding the same reluctant acceptance among devs as JS does today.
Re:Writing an app is like coding for LaserDisc by blibble on Monday September 05, 2022 @04:49PM (#32729262)
those people didn't try Borland's tools :)

(same as people who <3 visual studio today obviously haven't tried JetBrains...)

Re:Writing an app is like coding for LaserDisc by gjvc on Monday September 05, 2022 @11:59AM (#32725778)
correct. as an industry we threw out battle-tested GUI toolkits and programming models for something completely backward. 15-20 years later we have excel in the browser. great. The no-deployment (for deployment is too often an after-thought of the main functionality) model was too attractive and blinded people to the costs.

The 90s were great, not because they had the best experiences possible at the time, but because there was such anticipation for the future. Sadly the web did not evolve quickly enough, and we have been paying the price ever since.

The only place where GUI apps have reigned supreme is in trading applications in finance, although I suspect that dominance is beginning to erode.

Re:Writing an app is like coding for LaserDisc by cxr on Monday September 05, 2022 @04:49PM (#32729269)
> the added complexity of needing [...] half a dozen build tools

You don't need those for the Web. You can choose to use them. You can choose not to, too.

Re:Writing an app is like coding for LaserDisc by pohl on Monday September 05, 2022 @10:30AM (#32724700)
The web enables the famed „write once, deliver anywhere“ which native desktop always aspired to be

We recommend viewing this sentiment in Chrome. It’s not been tested elsewhere.

Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Monday September 05, 2022 @10:54AM (#32724990)
> Browsers HTML and CSS parsers are incredibly generous in what they accept

Yes, that is part of the problem. Parsers should be fail-fast and deterministic, this is one of the many problems of the web. Developers don't notice their incorrect code due to this and without noticing rely on the implementation-specific way one browser handles the issue. Then 3 versions later or in a different browser they whole house of cards comes tumbling down.

> One developer can do with the web what 10 couldn‘t do with native

Building a non-trivial app is always faster to do native. By a huge margin.

Re:Writing an app is like coding for LaserDisc by cxr on Monday September 05, 2022 @04:53PM (#32729316)
> Parsers should be fail-fast and deterministic

Raise your hackles about the choice not to fail fast if you want, but when they fail, they do fail deterministically. It's a too-common myth that they don't. (A little perverse that people who make a big deal out of others unable to follow spec, but by doing so prove they haven't checked what the spec says—because if they did, they'd know this...)

Re:Writing an app is like coding for LaserDisc by chucksmash on Monday September 05, 2022 @11:50AM (#32725674)
> Parsers should be fail-fast and deterministic, this is one of the many problems of the web. Developers don't notice their incorrect code due to this and without noticing rely on the implementation-specific way one browser handles the issue.

This was XHTML documents when sent with the correct Content-Type. "Just don't display anything if the document is malformed" is worse for users if devs still create malformed documents.

Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Monday September 05, 2022 @12:54PM (#32726409)
The only reason developers write malformed documents was because they can get away with it. And yet, millions of lines of code are written every day in programming languages that absolutely do not accept malformed code, and that all works out just fine.

Another problem with it is that everyone who can get something to display in their browser suddenly thinks of themselves as a developer.

Re:Writing an app is like coding for LaserDisc by chucksmash on Wednesday September 07, 2022 @01:50PM (#32753787)
How does such a system reconcile the need to be opt-in to maintain backwards compatibility with the web as it exists with the likelihood that the audience you want to reach (developers who can't be bothered to Do It Right) are just the ones who will not opt in?

Ancient history now, but HTML5 was developed by WHATWG specifically as pushback against priorities of W3C at time (chief among which was push for XHTML).

That's not to say things cannot be improved, just to say this has all happened before and it will all happen again (and it is worth paying attention to what happened last time).

Re:Writing an app is like coding for LaserDisc by namdnay on Monday September 05, 2022 @11:12AM (#32725204)
I think you misunderstand the comment you're replying to. He's not saying that the internet is bad, or that it doesn't make it much more convenient or profitable to deploy and sell software. he's just saying that's it's much easier to develop an application with say Windows Forms rather than HTML+CSS+JS
Re:Writing an app is like coding for LaserDisc by jfengel on Monday September 05, 2022 @01:13PM (#32726647)
I'm not sure that's true if you consider the "last mile" of packaging and distribution.

The ability of web apps to be instantly installed and updated is a huge win, as is the fact that it runs on everything from a phone to a desktop with zero additional effort. Certainly it comes with tradeoffs, but if your goal is not just to write code but to put it in front of customers, it's hard to do better than Html plus JavaScript.

Re:Writing an app is like coding for LaserDisc by rektide on Monday September 05, 2022 @10:42AM (#32724846)
It's simply toxic behavior, to show up & flame something obviously quite capable like they had.

There's a lot of people receptive to this toxicity- it's fact-free rage people want to hear, it's viral & it spreads- but the truth is webdev works fine & we have many perfectly reasonable frameworks to pick from that do a very fine job. Even straight vanilla js is not unreasonable an option, especially with webcomponents.

Re:Writing an app is like coding for LaserDisc by galangalalgol on Monday September 05, 2022 @11:23AM (#32725308)
I didn't see it as rage. It simply pointed out that the web as it exists is a document format that had self modification, and then full apps bolted on. It is a hacky mess and I don't understand how anyone just using js wouldn't find that readily apparent? There exists great tooling to hide that fact, but even then I have to agree with the gp that we still aren't to a place that is as cohesive or easy to use, or as predictable a UX for the end user as those 90s tools he mentions. There is no hate there, just hope. I am hoping that wasm and webgl can bypass html css and js for people who just want to make a webapp. Direct calls into the dom with no js wrapper should be here any minute, and webgl hopefully will follow? Once that is all sorted you'll see some development environments like delphi pop up I suspect.
Re:Writing an app is like coding for LaserDisc by rektide on Monday September 05, 2022 @11:59AM (#32725786)
> I didn't see it as rage. It simply pointed out that the web as it exists is a document format that had self modification, and then full apps bolted on

I dunno, it looked pretty aggressive to me. There was maybe a kernel of fact, but mostly opinion:

> As a platform for developing interactive applications the web is simply terrible.

Many disagree. Many would rather use Electron than native apps & find it nicer.

> There is no good way to develop a UI in HTML/CSS/JS, all attempts to do so rely on layers upon layers of wat are essentially hacks to build something resembling a UI toolkit on top of a document markup language.

I laughed out loud. There were already interactive buttons & form controls from the start. Vanilla JS is fine today. One of the web's strongest suits is that you can take a static page & sprinkle in just a little interactivity, just a little applicationization, if you want. Ultra-thin ultra-simple libraries like Enhance are doing great to provide just a little common shape & definition, tiny code but some norms & practices to adopt. It can be extremely incremental to move from document to application, with very little work at each step. We see what we want to see, and a lot of people want to see it as hard, as hugely complicated, but here's an industry heads down cranking without a ton of internal complaint, plenty of simple ways of doing things, and plenty of people doing fine.

> The result a UI that is unnecessarily complicated and fragile.

Sources wanted. Not all sites are perfect but a huge amount of things work very well. And unlike apps, users have a toolkit of capabilities they can learn & apply everywhere to help them (forward, back, bookmark, share link). Extensions let users go further than apps permit. Again, it's just, like, ya'll's downer opinion, man.

Anyhow, I like your note on hope. A lot. I don't see this ancestor post as having much hope there; it seemed set up to ruin. Trying to identify more constructive opportunities, trying to figure out new architectures we might layer onto the platform: that stuff should be exciting.

One place I lose excitement rapidly though is replacing the web with rendered canvases, as you say here:

> I am hoping that wasm and webgl can bypass html css and js for people who just want to make a webapp.

This is my nightmare. If folks want to do something else, fine, go somewhere else. But don't break the web. Don't break every user agent. Don't break view source, scraping, & accessibility tools. Just because alternate paradigms are succeeding as much as laserdisc doesn't mean they should come in & break the web next. That should be enragening.

The web is for more than pushing pixels into peoples faces. There's some value here, some shared expected experience, & coming in crashing it all because the only stakeholder you can imagine is those who "just want to make a [not-so-web]app" and damn all the rest.

I've had this bone to pick with Flutter, which is doing this imperialistic web takeover plan with CanvasKit, effectively turning the browser into a vnc session for an app. Incredibly hostile & deeply cruel way to snub hypertext & make yourself unintelligible to the rest of the ecosystem.

(The "direct calls into the DOM" wasm desires are going to be a bit chaotic & hurtful to view-source, but we've already made that hard; so ok, fine, and yeah, it is exciting to give people a post-JS web.)

Re:Writing an app is like coding for LaserDisc by galangalalgol on Monday September 05, 2022 @01:27PM (#32726812)
I'd really like to keep both webs, but the reality is that everyone trying to monetize wants an app, and failing that a webapp that is a complete black box. So that is probably the way it will go. I like document only websites for conveying information. Know a lot about X and want to share your knowledge? Make a document. I can see room for some partial interactivity for hands on tutorials, like notebooks. But I don't really want any interactivity on my news sites, sadly they will head for the blackbox model first for the money. For a payment portal, a banking app, a multiplayer videogame, probably even a web ide or chat client, I don't want any document like behavior, I just want an app, and if it can be sandboxed in my browser, all the better.

Ideally I want security sensitive apps to turn into blackbox webapps. I want most everything else to be pure html+css. With interactivity there when you really need it to convey your meaning or to generate documents more quickly.

In reality, I think your nightmare scenario is far more likely. It just makes serving ads so much easier. And they still will keep making native apps for things that should be websites (which is my nightmare) because that makes it even easier to get valuable data.

Re:Writing an app is like coding for LaserDisc by Apocryphon on Monday September 05, 2022 @09:50PM (#32731719)
> I've had this bone to pick with Flutter, which is doing this imperialistic web takeover plan with CanvasKit, effectively turning the browser into a vnc session for an app. Incredibly hostile & deeply cruel way to snub hypertext & make yourself unintelligible to the rest of the ecosystem.

This is nothing new. We used to have Flash, after all. (And I doubt Flutter on web will come close to reaching the ubiquity of that platform.)

Given how the web is embarking a takeover of desktop via Electron and of mobile to a much lesser degree with Ionic, to the annoyance of many users, turnabout is fair play.

Re:Writing an app is like coding for LaserDisc by psychlops on Monday September 05, 2022 @11:03AM (#32725097)
Do you guys actually use the word disingenuous in face to face conversations?
Re:Writing an app is like coding for LaserDisc by Macha on Monday September 05, 2022 @11:10AM (#32725191)
Usually gets couched more softly for the person being accused of it, but when talking about statements it certainly gets used
Re:Writing an app is like coding for LaserDisc by chaboud on Monday September 05, 2022 @11:54AM (#32725722)
I said “I think that argument is disingenuous, at best” to someone recently.

Their response wasn’t glowing.

Re:Writing an app is like coding for LaserDisc by whiskey14 on Monday September 05, 2022 @12:57PM (#32726454)
I had a boss that said this in a variety of contexts at least once per week. He was fun…
Re:Writing an app is like coding for LaserDisc by MontyCarloHall on Monday September 05, 2022 @09:35AM (#32724140)
>Saying that a document from the early web is still viewable while a fully interactive application from the same time is not is a bit disingenuous.

Indeed, though running a Java Applet from 1995 is a lot easier than running an iOS app from 2010. Although browsers haven’t natively supported Applets for a very long time, there are several third-party tools that let you run them as standalone applications. Good luck virtualizing a 10 year old version of iOS to do the same for the old app.

That said, the argument in the OP holds true if we don’t go back in time quite as far. Most JavaScript-based single-page applications from 2010 should still run flawlessly in modern browsers.

Re:Writing an app is like coding for LaserDisc by danjoredd on Monday September 05, 2022 @10:36AM (#32724768)
I discovered this unfortunate reality recently myself. In 2012 I was gifted by my parents a first gen Kindle Fire. I got a lot of free apps back then because Amazon had a "free game of the week" deal going on where a lot of normally paid apps would be temporarily free.

Out of nostalgia I downloaded the Amazon App Store to my phone last month and found that not only were most of my favorite apps not in my library anymore, but that the few left over were built for a version of Android so old that it is no longer compatible with my phone. It was a very sad moment for me, as I had a lot of fun with those games

Re:Writing an app is like coding for LaserDisc by mysterydip on Monday September 05, 2022 @11:41AM (#32725564)
As a hobbyist game developer with several games of my own no longer available due to the marching on of OS versions, I sympathize. There just isn't enough time or incentive for me to keep old codebases current with arbitrary API changes.
Re:Writing an app is like coding for LaserDisc by danjoredd on Monday September 05, 2022 @12:13PM (#32725957)
I wish Android had a compatibility layer, along with some sandboxing measures to keep security threats from being too serious. That way old programs can still stick around, and leave more time for devs to focus on new programs instead of maintaining old ones.
Re:Writing an app is like coding for LaserDisc by cxr on Monday September 05, 2022 @04:37PM (#32729142)
This is why it's important to oppose the ambitions of people who pose the threat of making their way into influential positions at browser makers and arguing that it's okay to throw the whole thing out the window and start treating browser-based app development like any other platform. There is no other platform like the Web.

Previously:

<https://news.ycombinator.com/item?id=28056416>

<https://news.ycombinator.com/item?id=27368152>

Re:Writing an app is like coding for LaserDisc by jayd16 on Monday September 05, 2022 @11:57AM (#32725756)
>iOS app from 2010

Isn't this an Apple thing? Seems like you should still be able to find and run old Android VMs. They ship with the SDK unless they retroactively pulled them.

Re:Writing an app is like coding for LaserDisc by statictype on Monday September 05, 2022 @09:57AM (#32724338)
> Indeed, though running a Java Applet from 1995 is a lot easier than running an iOS app from 2010

Applets weren’t even easy to run in 1995.

Re:Writing an app is like coding for LaserDisc by mikepurvis on Monday September 05, 2022 @10:06AM (#32724433)
But somehow still way easier than booting up an old iOS.
Re:Writing an app is like coding for LaserDisc by cmsj on Monday September 05, 2022 @10:39AM (#32724816)
> Most JavaScript-based single-page applications from 2010 should still run flawlessly in modern browsers.

If they're purely client-side, sure, but there's a good chance that anything we could reasonably call a web application, also has a backend component on a server. How confident are we that the backend code from 1995 will still run?

1995 is when Microsoft Frontpage launched. PHP was a year old. I'd be surprised if anything written in those sorts of environments still functions without being run on a 1995 version of Windows/Linux on 1995 era hardware.

Software is a process, it always has been, it always will be.

Re:Writing an app is like coding for LaserDisc by Macha on Monday September 05, 2022 @11:12AM (#32725209)
Honestly I think Perl CGI scripts stand a better than most chance of still being executable 25 years later. Maybe just behind win32 apps. Whether you'd want to with the high rate of command/sql/html injection vulnerabilities in those days is another question.
Re:Writing an app is like coding for LaserDisc by 1shooner on Monday September 05, 2022 @11:06AM (#32725134)
> How confident are we that the backend code from 1995 will still run?

This seems like it would apply equally to native and web.

Re:Writing an app is like coding for LaserDisc by KerrAvon on Monday September 05, 2022 @11:37AM (#32725476)
You can run pretty much any native app from 1995 for any platform in emulation. Network requirements were uncommon outside of networking-specific apps.

You can render a web page from 1995 but you can’t run any server-side logic if you don’t have a copy of the server.

Re:Writing an app is like coding for LaserDisc by layer8 on Monday September 05, 2022 @10:16AM (#32724565)
Win32 applications from (almost?) 30 years ago also still run on modern Windows. By a far margin, it’s a choice of keeping compatibility or not.

In contrast, I had to stop using my favorite SSH application on iOS because the author had died and Apple stopped supporting 32-bit apps instead of providing a compatibility layer.

Re:Writing an app is like coding for LaserDisc by RajT88 on Monday September 05, 2022 @10:51AM (#32724951)
I run all 64 bit Windows 10. But, if I was on 32 bit, I wouldn't count out Windows 1.0 16 bit PE's from running:

https://docs.microsoft.com/en-us/troubleshoot/windows-client...

If you want to try, extract disk4-apps.img:

https://winworldpc.com/product/windows-10/101

Re:Writing an app is like coding for LaserDisc by jcranmer on Monday September 05, 2022 @11:04AM (#32725107)
> Windows 1.0 16 bit PE's

Point of order: 16-bit applications used the NE format, while PE was introduced to support 32-bit applications.

Re:Writing an app is like coding for LaserDisc by hedora on Monday September 05, 2022 @11:04AM (#32725114)
Win32 apps also run extremely well in dosbox on Linux, etc.
Re:Writing an app is like coding for LaserDisc by ChrisLTD on Monday September 05, 2022 @09:33AM (#32724116)
> The web was designed to publish documents, it was never intended to build applications.

But the web has been evolving in that direction with the help of standards bodies and browser vendors since at least the late 1990s.

Re:Writing an app is like coding for LaserDisc by capableweb on Monday September 05, 2022 @11:38AM (#32725497)
> with the help of standards bodies and browser vendors

Who are made out of people (developers) building for the web, and users of the web as well.

Lets not pretend that these web applications were forced upon us by outside forces.

Re:Writing an app is like coding for LaserDisc by badrabbit on Monday September 05, 2022 @11:59AM (#32725781)
> The web was designed to publish documents, it was never intended to build applications.

This is false. Various inputs and forms were in html since its early days, these are not required to simply publish and view a document but to interact with text and graphical content.

It did lack the ability to do "rich" content/apps and flash tried to fill in that gap, html5 came a bit late but I hope it is forward compatible. Would an html5 app from 2015 run fine in 2035?

Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Monday September 05, 2022 @01:04PM (#32726527)
> This is false. Various inputs and forms were in html since its early days

The same is true for PDF files, they support forms and can even POST to a server. Would you consider PDF a format designed to build apps instead of one designed to publish documents ?

HTML is great for these kinds of 'apps', like this website. This is where HTML is fulfilling its original purpose. Reading text, filling out a few forms, that's exactly what it is for. I'm not arguing against interactive websites such as e.g. Reddit or Slashdot. What I'm arguing about is actual full-fledged apps built in HTML. Photoshop should not be a web app, nor should Visual Studio.

Re:Writing an app is like coding for LaserDisc by badrabbit on Monday September 05, 2022 @02:26PM (#32727513)
You are changing the topic with photoshop and VS, I or no one else on this thread claimed they should be web apps. PDF like say word and excel documents can be made to write applications.

With classic html, you can do similar things as with PDF but it was used to write anything from IRC clients, school exams, games and a lot more. Like PDF, it contained support for scripts to allow applications not mere documents to be implemented but unlike PDF it was especially made for the web.

People did implement full fledged apps in plain html powered by powerful server side languages like php or jsp. The trend of doing a lot of heavy lifting in clients is fairly modern after clients were able to handle such workloads and internet speeds were not a deterrent. For clienr capabilities of the time, html was very much meant to implement apps in the browser with all the heavi lifiting done on the server side because pentium 1 with 500mb ram,dialup and windows 98 can't do modern types of apps even with flash well.

Re:Writing an app is like coding for LaserDisc by yesimahuman on Monday September 05, 2022 @10:02AM (#32724383)
Many, many web developers would disagree with your assertion that you can't build great apps (including desktop and mobile (hello Electron and Capacitor)), or that the UI technologies available to web developers are a "hack" or aren't actually extremely productive and enjoyable to use. The argument that the web is only for documents and not app experiences is simply a relic of a different time.
Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Monday September 05, 2022 @11:01AM (#32725078)
> your assertion you can't build great apps (including desktop and mobile (hello Electron and Capacitor))

I have yet to see a great app built on web technology. All Electron apps provide a terrible UX, they are slow, unresponsive and feel out of place with the rest of the OS I'm running on. I want my apps to feel native, to look and feel exactly like all other apps.

One of the greatest tragedies of web UI's is the lack of a standard UI toolkit. Almost evert web-based app has to roll their own UI components, there is no consistency. This is terrible for usability, especially for users that are not as tech-savvy as we are. It's one thing to have to explain what a certain UI component is and does once, but it gets infinitely worse if every app has their own spin on it. Who doesn't love teaching their grandma 1232043 different variations on a checkbox ?

Re:Writing an app is like coding for LaserDisc by VBprogrammer on Monday September 05, 2022 @11:56AM (#32725737)
In fairness we seem to have managed to cock up the standard UI toolkit on native applications as well. Things like office, chrome, Spotify all invent there own UI these days.
Re:Writing an app is like coding for LaserDisc by layer8 on Monday September 05, 2022 @02:40PM (#32727683)
That’s strongly influenced (actually, caused) by mobile UI design, though. For all the benefits of mobile, it is destroying the desktop UI experience.
Re:Writing an app is like coding for LaserDisc by yesimahuman on Monday September 05, 2022 @11:54AM (#32725721)
This is just your opinion and perception then, because Electron apps have been hugely commercially successful and teams using it have built very strong experiences that users love. If they were so "terrible" and "out of place" users would reject them, and they don't. The HN crowd has been consistently wrong about this.
Re:Writing an app is like coding for LaserDisc by layer8 on Monday September 05, 2022 @02:38PM (#32727646)
> strong experiences that users love

Oh my god, that sounds so cringey, right out of a marketing copy. It’s hard to wrap my head around someone writing this with a straight face.

Re:Writing an app is like coding for LaserDisc by yesimahuman on Tuesday September 06, 2022 @10:59AM (#32737983)
Ah yes, the classic attacking of the author instead of engaging in a debate on substance
Re:Writing an app is like coding for LaserDisc by Aaargh20318 on Tuesday September 06, 2022 @12:01PM (#32738975)
> If they were so "terrible" and "out of place" users would reject them, and they don't.

You are acting like users have a choice. For example: Microsoft Teams is an abomination of an app. It's slow, clunky, eats memory like there is no tomorrow and feels totally out of place on macOS. Still it's a huge commercial succes and I use it every day, even though as a user I absolutely hate it. I simply have to use it because my employer chose it as the company collaboration tool. And they didn't choose it because of it's incredible UX, they chose it because we already have an Office365 subscription and it was included in that, so we already paid for it anyway.

Some Electron apps have been huge commercial successes despite their terrible UX.

Re:Writing an app is like coding for LaserDisc by yesimahuman on Tuesday September 06, 2022 @12:52PM (#32739782)
You are certainly entitled to feel that way about Teams and these kinds of apps. My point is that's just your opinion and doesn't necessarily reflect the majority of the users of those products. I can just as easily say that I love the UX of Spotify/Slack/Discord/etc and don't care at all that they don't use platform UI controls to render most of the app.
Re:Writing an app is like coding for LaserDisc by spideymans on Tuesday September 06, 2022 @03:50AM (#32734207)
> or that the UI technologies available to web developers are a "hack"

In the year 2022, multitouch gestures on the web still feel janky and wierd and just don’t work all that well.

Re:Writing an app is like coding for LaserDisc by danwee on Monday September 05, 2022 @09:30AM (#32724081)
Sure, but the lesson here is to improve the web (or to create some platform for apps, in the same spirit of the web), not to jump into walled gardens.
Re:Writing an app is like coding for LaserDisc by layer8 on Monday September 05, 2022 @02:34PM (#32727608)
From a certain perspective the browser is much more of a walled garden than native desktop development.
Re:Writing an app is like coding for LaserDisc by drewcoo on Monday September 05, 2022 @03:02PM (#32727950)
From the article, in the same paragraph, just before the quote you lifted:

"The web has none of that."

I'm pretty sure that indicates that the author knows web pages aren't like apps.

And cherry picking quotes out of context to misrepresent what's said isn't cool.

Re:Writing an app is like coding for LaserDisc by amadeuspagel on Monday September 05, 2022 @12:15PM (#32725972)
> Saying that a document from the early web is still viewable while a fully interactive application from the same time is not is a bit disingenuous.

The earliest fully interactive web apps are still usable, and native apps from the same time are not.

Re:Writing an app is like coding for LaserDisc by peanut_worm on Tuesday September 06, 2022 @07:38AM (#32735700)
The statement is still true though. A over engineered react app built in 2022 should still work perfectly fine in 2032.
Re:Writing an app is like coding for LaserDisc by ravenstine on Monday September 05, 2022 @10:11AM (#32724484)
> As a platform for developing interactive applications the web is simply terrible.

This is where you lose me. For such a "terrible" platform, it sure has a lot of users now, don't it? Maybe you mean from a developer's perspective, and it's not unreasonable that someone might consider web tech terrible, so I'd be interested to know why they see it that way.

> There is no good way to develop a UI in HTML/CSS/JS

Nonsense. Most UIs suck in general. On the web, they suck a little more because HTML/CSS/JS have such a low barrier to entry, and the industry requires very little intellectual rigor that would cause one to think twice about "just npm install that shit, bruh." Despite that, there's no sensible reason why a "good" UI can't be built with web tech. The web is what you make of it.

> all attempts to do so rely on layers upon layers of wat are essentially hacks

You're going to have to explain what makes working within the confines of a webpage a "hack." Sometimes we create workarounds, but everything may need workarounds.

> to build something resembling a UI toolkit

It is a UI toolkit.

> on top of a document markup language.

Which many people agree is well suited for describing UIs, whether it's HTML or something else.

> The result a UI that is unnecessarily complicated and fragile.

The cause not being something wrong with webpages, but the choices developers make and the way organizations approach software development. Give me a fragile web app and I'll show you a fragile and hard to work with native codebase.

> Laying out and rendering HTML and CSS is incredibly complex

It's as complex as you make it out to be. None of what's on a webpage has to be complex. We make it complex because of a lack of actual engineering mindset and because HTML/CSS is relatively abstract and forgiving. If one doesn't prefer something that's forgiving, they can work with native code or something that transpiles to HTML/CSS. Doesn't mean HTML and CSS aren't capable of performing the job they've been doing for almost my entire lifetime now.

> compared how traditional UI toolkits do the same task.

Depends on the task. Depends on the toolkit.

> That complexity comes at a cost, both in development time and in UX.

As already stated, that complexity comes from no one but the developer. Given reasonable time, a developer should be able to build most UIs using web tech and have it working as intended. HTML, CSS, and even JS aren't really what most people consider complex about web development. What's insanely complex about modern web development, that people frequently complain about, is everything we've done to turn web development into Java development (i.e. a churn of build steps, toolchains, transpilers, runtimes, and so on).

Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @09:50AM (#32724267)
With CSS Flexbox and Grid, the web is the best GUI app platform I know of (and I was a WinForms developer before). It is made for apps now, and it has been the goal for some time already - since HTML 5 at least, but I'd say it began as stated goal with DHTML.
Re:Writing an app is like coding for LaserDisc by VBprogrammer on Monday September 05, 2022 @10:06AM (#32724440)
I don't know. Some of the things I could do with a pirated copy of VB5 as a 14 year old would take me 10x as long to do on the web even using modern tools which I'm reasonably familiar with.
Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @10:09AM (#32724467)
Hmm, your Vb5 apps were responsive? Mine definitely weren't - but it's fairly easy with Flexbox/Grid.

But yeah, having such a nice GUI designer would be awesome - I miss Delphi a lot, and the WinForms designer was good too. Now finally Flexbox/Grid have support on all major browsers so perhaps we could get this part of the workflow back.

Re:Writing an app is like coding for LaserDisc by VBprogrammer on Wednesday September 07, 2022 @08:34AM (#32749745)
Haha, mobile phones came with snake at the time. No one expected to be browsing the internet on them (which had barely passed into mainstream use). I remember around the time my dad's friend coming over with his work laptop (a rare thing at the time) to show us "the internet". Everyone just assumed a lowest common denominator resolution and got on with it!
Re:Writing an app is like coding for LaserDisc by YesWeWill on Wednesday September 07, 2022 @09:47AM (#32750568)
My pet peeve was not being able to use 2 windows next to each other on my 1280x1024 screen because the UIs assumed full screen usage.

Phones - for sure, that's a modern development. But it's been more than a decade now, there are adult people who don't remember world without iPhones and Androids! Crazy... Myself, I started on Windows 98, but it's Windows XP (and Delphi) that defines my childhood.

Re:Writing an app is like coding for LaserDisc by kuschku on Monday September 05, 2022 @11:17AM (#32725263)
So tell me how I can build an infinite scroll panel that supports (a) jumping to any point without a single dropped frame, (b) smooth sub-pixel scrolling on browsers that support it, e.g. edge or firefox, (c) full accessibility support

Pretty standard on any other platform, but on the web, no one gets it right.

Re:Writing an app is like coding for LaserDisc by bob1029 on Monday September 05, 2022 @10:10AM (#32724475)
> With CSS Flexbox and Grid, the web is the best GUI app platform I know.

This is exactly how I would summarize it too. Before we had grid, I would be forced to agree with the original comment.

Now that we have these things, thick CSS/JS frameworks like Bootstrap aren't really a big deal anymore. 95% of the reason I used this stuff in the past was because I couldn't figure out the magic spell for getting things positioned properly. We even have media queries now, which can be combined with Grid to toggle between 2 or more layouts depending on viewport or other device factors. Our current web app handles all of the dynamic/responsive layout crap within about 30 lines of js & css.

I will only go back to native application development if someone pays for a one-off contract deal that only has to be supported for <3 years. For any long-term project with a user interface, I feel like the web is the safest default for building your product. We are signing contracts with B2B clients right now with terms measured in half-decades, so I really don't want to be playing games in traffic with 5 major versions of iOS and Android if I can avoid it.

Re:Writing an app is like coding for LaserDisc by yesimahuman on Monday September 05, 2022 @10:05AM (#32724421)
Agreed. Flexbox and Grid are the most productive I've ever been with a UI toolkit, and I've used pretty much everything available for native mobile and desktop dev. CSS is certainly weird at first, but once you really learn it it can be far more productive than traditional UI programming.
Re:Writing an app is like coding for LaserDisc by pjmlp on Monday September 05, 2022 @10:02AM (#32724390)
Ironically the CSS grid is based on WPF grid, and was originally proposed by the WPF team.
Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @10:03AM (#32724405)
Don't see the irony, WPF was a nice idea that should be copied - unfortunately they axed it before it could grow and then the general uncertainty forced me off the platform.
Re:Writing an app is like coding for LaserDisc by pjmlp on Monday September 05, 2022 @10:23AM (#32724620)
It is still there on Visual Studio, and with a more certain future than WinUI will ever get.

The irony that the Web needs to keep copying native development experience, and it is still miles behind of what VB and Delphi were offering 30 years ago, unless one is paying for stuff like OutSystems or PowerApps.

Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @10:47AM (#32724900)
WPF might be there, but with all the "deprecated - oh not deprecated again - not deprecated but no updates for many years - deprecated again - not deprecated again" cycles I'm not going to touch it with 10-meter pole for anything that I need to support - same with anything else related to .NET.

Also the UI designer experience for WPF is much worse than it used to be with WinForms - so bad I just wrote the code manually, and at that point I can just write HTML/CSS. But perhaps they fixed that - I left .NET in 2015.

It doesn't run in the browser anyways - and the browser is what my customers want, because everyone has a browser, but not everyone has Windows desktop - especially today, when many people don't even own a PC and use something with Android/iOS as their primary computing device.

Re:Writing an app is like coding for LaserDisc by pjmlp on Monday September 05, 2022 @11:35AM (#32725454)
Blend is your friend.

The only reason I went back to cloud and Web development, is that pre-covid it was the best way to get 100% remote jobs, so I put up with it.

By the way, most of those iOS/Android users are using apps and not Websites.

Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @11:41AM (#32725557)
They might be using apps, but my customers don't want to pay for developing for four or more separate platforms (Windows, macOS, Android, iOS - also notice that nobody would develop for Linux), so they solve it by having a single platform - the web. Many of my customers previously had (only) a Windows app but found out that onboarding new customers is much faster (and thus happens more) with web apps.

.NET is dead to me, I simply don't trust the platform/libraries to continue existence and receive updates. Also the JS/NPM ecosystem is much larger and that's truly what's keeping me there.

Re:Writing an app is like coding for LaserDisc by pjmlp on Monday September 05, 2022 @01:04PM (#32726525)
Yeah we don't get NuGet packages that only offer a single function...
Re:Writing an app is like coding for LaserDisc by YesWeWill on Monday September 05, 2022 @01:05PM (#32726543)
Much better to have a bunch of one-function packages that you can simply avoid than to have a dead package registry with 1/10 of the useful stuff (so not the one-function packages).
Re:Writing an app is like coding for LaserDisc by pjmlp on Tuesday September 06, 2022 @12:57AM (#32733033)
With the difference that in 10 years those packages will still have support, just like VB 6 runtime and MFC are still shipping on Windows 11.
Re:Writing an app is like coding for LaserDisc by rchaud on Monday September 05, 2022 @01:00PM (#32726483)
Flex box and Grid only help in creating layouts. It doesn't help anything with regards to reactivity, which is what most web UIs can lack compared to a desktop application.

IMO Flexbox and Grid only remove the need to have a stylesheet dedicated to layout like Bootstrap and foundation. That may be important for building tiny sites with no dependencies, but for an application, there will usually be a bunch of npm cruft required anyway. Having a bootstrap.min.css in the mix doesn't really impact my quality of life.