Internet Explorer is evil (1996)
toastytech.com
toastytech.com
Internet Explorer Is Evil (2002) - https://news.ycombinator.com/item?id=23013001 - April 2020 (75 comments)
Internet Explorer is evil - https://news.ycombinator.com/item?id=4740890 - Nov 2012 (10 comments)
Edit: btw, since http://toastytech.com/evil/ieisevilstory.html references Netscape 7.1 and that was released in 2002 (https://en.wikipedia.org/wiki/Netscape_7), it seems like the previous submission was more likely to have the year right?
Web Browsers really make poor client application runtimes for all but the most basic of things. ActiveX is a security nightmare and counter to making cross-platform applications. The web is a constantly changing and evolving standard separate from Microsoft or any specific operating system, as such implementing an application for just one specific browser and version with no intent to keep it updated is just asking for disaster. Tying local help files or other local content to a "live" web browser that may change in functionality is a bad idea.
But, nobody ever listened to anything I have to say."
Narrator: And nobody listened to anything he said.
Another option is to simply use distro packages. Users of good distros who use distro packages have software that's vetted built from source independently, and compatible with the rest of the system.
I do.
> AFAIK there still aren’t many quick provisioning tools for e.g. VMWare
I use VirtualBox. I boot just about any Linux distribution's live Desktop image without any hard drive attached (so, ramdisk only). Then curl a script to download and install any dependencies. After a few minutes I'm off to the races.
What? I made my own script. I don't need to mount any ISO.
> you risk losing all of your application state if the machine crashes since there is no storage
That's a feature given that apps these days insist on being in a browser with cloud storage, there's no loss here.
> Why don't we have something like Vagrant where you can quickly provision a VM from the command line following a template?
That'd be great, actually. I'd do it if I knew Vagrant better. The biggest blocker for me using Vagrant is that it uses Ruby. Give me Vagrant in something like Bash instead. Or like docker-compose.
Java or single operating system applications were the alternative. Where would we be today if you couldn't swap between Mac and Windows laptops -- or worse, had to have both -- because you depended on applications that had no common operating system?
The reason we can use linux as a desktop is because of web applications. Now, it's possible that we could have ended up with Web Start or some alternative, but we didn't.
Even today, cross-platform applications are terrible or expensive or both. Even today, it's a giant pain to write cross-platform apps in anything but C or C++. (QT's documentation is not great for the alternatives IMO, and you end up needing to understand C++ anyway.)
If we want to get back to this, we need a better option. It turns out that nobody is willing to put in the effort when we already have web applications.
Worse is better.
Is this a form of denialism by hardcore "I-Hate-Javascript"ers? I would like to add that I absolutely hate the subset of modern websites that choose to be slow, but I think the parent is completely right. If we keep making it hard to use useful applications across platforms, then we're going to continue to see pushes toward the lowest common denominator that consumer computers can run. Yes, yes, I know techies like you and I believe installing stuff is trivial if you spend even just a little amount of time, but _this doesn't matter to average users_
It's a nightmare even installing Python, Ruby on Rails packages properly without juggling a million virtual environments, and those are supposed to be tools that you can run with a single CLI command and it gives you debugging information if things go wrong. It's a bit much to think that average users can survive without any of the tools or knowledge we have, being locked in a stupid GUI, and at the rate that we encounter defective software (seems like I encounter bugs more frequently as time goes on).
Now we are definitely going to add ARM complexity into the mix because what Apple pushed (M1) is just too good and everyone else is jumping on board for it
Regarding the comment about consumer-Linux, I feel less strongly on your point about web applications being the killer reason why Linux desktop users exist. Anyone using Linux desktop is almost certainly a tech-hacker to begin with and isn't necessarily tied to web applications as their go-to reason, but it certainly helps surviving with it. There are tons of reasons to use Linux desktop with no relation to web, but for market share, it's going to need consumer applications bordering on exclusivity that makes Linux first-priority and dumps support for macOS/Windows. Many Windows users don't want to switch to macOS or Linux because of gaming
Windows games kept me tied to the platform until my life became more focused on software. I only left Windows entirely after I learned that programming was a first-class citizen on Linux and macOS. Yes, you can program on Windows, but making software and using other people's software is more enjoyable elsewhere. So to wrap up this example, what can we learn about this? Well I knew life/job functions would be easier if I replaced Windows, but me doing software is coincidental. Give people a reason to use Linux. Make their lives easier, somehow, and make it clear that it will only happen if they leave their current platform. Otherwise you start coming up with systems like Windows Subsystem for Linux which... I'm not entirely sure why it exists.
I think the oft-repeated ire for modern web does not add anything at this point without understanding that there are good reasons people prefer to use web applications
Or, rather, web applications /are/ the common, universal cross-platform applications that we theorized, just that it arrived in less ideal ways
Point of fact: pg, the founder of HN endorsed downvoting for disagreement much to my chagrin.
Sadly here we are now with bigger computers, better performing JVMs, great Java dev tools, and still losing to the browser due to massive inertia.
Although what is interesting is that with the Java solutions, it was the user who felt the pain where developers had a decent experience. As the web platform has evolved, users have avoided most of the issues and the pain has been experienced by developers. This would go a long way to explaining why users have never had it so good as they have right now and every developer I know is trying to figure out how to get out of the industry, or at least get out of web dev.
Ever tried to use HP ILO's Remote Console via Web Start? (For additional nerd points, try doing that with Apple M1 machine). Compared to that, the HTML5 version just works.
For complex desktop apps I don't really think Java was a viable option until the 1.3 release in 2000 (from memory). You also always had that problem that you couldn't guarantee what version of Java somebody would have installed so you'd have to bundle whatever JRE version you needed into the installer. Deployment was always a challenge.
In the browser Java never really got past 1.1 because Sun and Microsoft fell out so you had to install a separate plugin, which almost nobody did, or just live within the restrictions of AWT.
Couple this with the fact that, as you've pointed out, Java Web Start was so late to the party and it's easy to see why it didn't do better, either on the desktop or in the browser.
Until Android came along I really thought Java was a dying technology platform. Obviously since then its fortunes have significantly improved.
I recall back in the 2000s there being a few Java apps for macOS that used Cocoa UIs via the Cocoa-Java bridge that used to exist. These tended to be embraced almost as readily by users as full-native Mac apps, and I think that was largely because these apps tended to start up more quickly and fit into the user's desktop better, removing those two barriers to adoption.
Not really - you could write cross-platform GUI applications from a single code base in 1996 if you wanted to without using Java. It was unpleasant, but it was absolutely possible.
>Where would we be today if you couldn't swap between Mac and Windows laptops -- or worse, had to have both -- because you depended on applications that had no common operating system?
Those days are still here, depending on the application.
>The reason we can use linux as a desktop is because of web applications.
I wouldn't say that's the reason. Certainly a reason, but not the definitive one.
There are still cross-platform applications from a single code base. This is actually easier due to better cross-platform toolkits that were developed and would have continued development even if webapps hadn't become a thing.
>Even today, it's a giant pain to write cross-platform apps in anything but C or C++
Python and Java are relatively painless in this regard.
>It turns out that nobody is willing to put in the effort when we already have web applications.
Web applications certainly do have the advantage from a monetization, time to market, and network effect standpoint, no doubt.
Right - as seen by Netscape. We can also speak about codeweavers and others we have, but in '96, those were out of reach by all but the largest applications. (Pagemaker, word, etc.) However, the honest truth is that web apps were an order of magnitude cheaper for anything that wasn't desktop-heavy in 1996.
Again, worse is better.
> Python and Java are relatively painless in this regard.
Does your user have the right version of python? Are you bundling python with your application? I haven't worked with pyinstaller - it might be better today, but
And as far as writing python gui applications... Tkinter and WxPython are ugly. PyQt and PyGtk, last I looked at it, was painful and effectively meant knowing C++, and Qt licensing from non-oss is rough. Jython is punting the java problem above. In what world is this not painless?
I wrote a JavaFX app just for myself a bit back because I didn't want the overhead of Electron for my simple app. The experience in bundling it for each was not straightforward, especially with post Java 9. Jpackage and jlink and graalvm exist today, but the work around them are not as straightforward as getting a webapp up and running.
The experience does not, by its very nature, have to be worse than web applications, but we've had two orders of magnitude in engineering effort to make the web application developer experience better. In 1996, even with as small as the internet was at that point, enterprise application deployment was so painful that web applications were a giant competitive advantage.
As an aside, I do still think that if a cross-platform application framework that were built from the ground-up for secure Internet-delivered application use had ever materialized in a robust way, we would probably be in a better place as an industry. But, that didn't happen, and it certainly wasn't for lack of trying - see Java Applets/Web Start/JavaFX, Silverlight, and of course the elephant in the room Flash / Flex.
Instead, HTML evolved into dynamic HTML / "the DOM" / HTML5, and each layer of abstraction built there was "good enough" to dethrone all challengers - in no small part due to, again, people heeding the advice of the OP quote and not implementing browser-locked software.
People say Flash was bloated but try running Slack on 2008-era hardware and let me know how it goes. And there’s no reason Flash couldn’t have been adapted to use responsive breakpoints and such for mobile friendliness.
And not coincidentally, html5 banner ads will do the same thing on a G4/G5 today in TenFourFox, if you disable the built-in adblocker.
Which is to day, I actually think modern websites are much heavier. What changed is the hardware.
Its over-engineered idiocy (monikers? apartment threading? quirks mode? wtf?) slowed down the development of good internet applications by decades, and caused tens of thousands of lost developer and tester hours that we can never get back.
Gates was too greedy to understand why it was a problem. Ballmer was too stupid. Now, Nadella finally figured out that developers might stop hating his company if he finally flushed that toilet. And flush it he did.
Edgium is good. As good as all the takes-16-hours-to-compile stuff running on modern desktops.
Quirks mode was a necessary measure to ensure backwards compatibility for a majority of websites at the time (circa 2000 - this was IE5).
If they had switched every website to standards mode, most of the internet at the time would have appeared broken, and people would have blamed Microsoft, not the websites.
(To be fair, IE5 through IE7 had a very broken standards mode, but it was much less broken than quirks mode.)
A bigger concern than the changing standards mode in other browsers was the fact that IE6 just wouldn’t die.
I had people challenging me “why are you developing for Firefox first and then adapting your app to work on IE? Shouldn’t you be doing it the other way around?” Over 10 years later those apps I built are still working great on the latest browsers, with no layout fixes since then. Meanwhile, many of those “rich”, forward-thinking apps developed for IE and Silverlight are long dead.
So a lot of customers I worked with couldn't move past IE6. "No way, everybody need to be able to see those XRays images."
We even tried, without success, to organize the quick development of some sort of replacement for that, umm, "legacy" ActiveX control.
Out of those 3 one did not crash as much, was faster, and was already installed. Before Firefox, Netscape would crash if you looked at it wrong.
Netscape started off decent but quickly devolved into something just as bad of a mess as IE.
That was our choices as a consumer. So we worked with what we had.
It was not until Firefox came along and showed everyone 'hey there is a better way' that anything happened. Even that took a few years.
The bad things (and what the web page is mostly complaining about) are the political shenigans from MS; e.g. bundling it with Windows, and then slowing down development significantly when they got to the monopoly position.
And for those that believe MS is now politically better than it was a couple decades ago, just try a recent Windows 10 build. Not only it _still_ bundles Edge as if the EU court ruling was a joke, it will periodically nag you about making it your default browser, even in completely irrelevant places such as Settings.
This is all like 20 years ago except that no one seems to care about desktop browsers anymore.
https://www.versionmuseum.com/history-of/internet-explorer
Factoid: There were versions of IE for both Mac and Solaris.
And here's a 1999 Wayback Machine archive of the IE for Unix site on microsoft.com:
http://web.archive.org/web/19991128115223/http://www.microso...
"Internet Explorer 5 for UNIX offers the most complete support of Internet standards and technologies, including XML and DHTML"
On the flip side, the only time I can remember hearing an entire crowd boo Stebe Jovs was when he announced that IE 4.5 would ship as the default browser in Mac OS 8: https://youtu.be/WxOp5mBY9IY?t=142
I always wondered why Tasman never got backported to Windows to act as a next-gen replacement for Trident.
Opera had an earlier version of tabbed browsing, but it was tacked on to their existing Windows MDI interface.
In the 90s, MS Visual Studio 6 had a 3rd-party plug-in that would add tabs to their existing MDI interface.
Borland's Delphi and C++ Builder may have been the first apps to provide a true tab-based document handling in the early-mid 90s.
You can possibly blame Steve Wright, Radio 2 talk show host/DJ for popularising the term with that meaning in the UK.
Favor the meaning people actually use and let the history of factoid be an interesting factoid.
(I can't help but feel interfaces were more usable those days, being a millennial)
> Web Browsers really make poor client application runtimes for all but the most basic of things.
Aged like milk
"Microsoft is really going down the toilet." - april 12, 2018