Surfing the Modern Web with Ancient Browsers
virtuallyfun.superglobalmegacorp.com
virtuallyfun.superglobalmegacorp.com
I recently talked to my kids about the American postal service and how you can still send things "general delivery." It's a little used option and you can't use it to replace a regular mailing address, but when I worked in insurance, I did send a check "general delivery" once. I think the family in question was living out of an RV and traveling around regularly. Maybe they were retired. I did not really know. They had me send the check to the nearest post office. These new fangled RV lifestyles would not work so well if you could not occasionally use this very old fashioned thing called general delivery.
While I was working in insurance, every time they upgraded, it introduced new bugs and some upgrades (where we would migrate something to a whole new system) failed to be backwards compatible. This created real problems. It was still necessary to preserve old information and old methods of doing things. For example, most of the claims were done on a computer using digitalized images of the paperwork which had been submitted. Once in a while, it was necessary to do an actual paper claim. Not everyone knew how to do a paper claim but it was information that had been preserved. I repeatedly ran into situations at work where things could potentially just go to hell in a hand basket if some old methodology were not somehow still preserved and available in spite of being outdated.
Someone, somewhere still uses these browsers for various reasons. I am glad someone sometimes works on this type of issue, never mind how silly might appear to folks who take it for granted that upgrading your system to the latest thing is the norm. It may be for you. It isn't for everyone.
Creating sites that are compatible with super-old browsers is costly, and makes development of things like JS based webapps either complex or not even possible.
Why should we spend money or time fixing things for a tiny percentage of the population who have options?
I didn't have a typewriter and I did not know anyone who had one. I called many copy/printing places in the city to see if there was one for rent - not one place had one to use or rent.
I found some that I could buy, but it was $100+, and I didn't want to pay that much to use it once.
Eventually I asked my soon to be ex-wife, who worked for the city, and she was able to locate one which I used and was able to successfully file the document.
I'm guessing it wanted typed letters but had carbon copies and thus required a struck letter to generate the carbon copies?
I am interested to know (pure curiosity) what those reasons are for those folks. I can only think of a few using my imagination (locked down OS in a hospital, crusty old server filling a vital need with no funds to upgrade or maintain), but I bet these edge cases would make for some thoughtful reading. (Perhaps for a separate HN post?)
It makes a person want to start over, from scratch while keeping it simple adding as little as possible. Of course something like that would have to be done extraordinarily well to be worth it at all to avoid https://xkcd.com/927/
There isn't an intelligence capable of designing big open standards like the web, rather they only move forward by natural selection, much like terrestrial life has.
In the end I think we've gotten some pretty remarkable things this way, remember before the web there was no such thing as cross-platform, instantly-available globally, and accessible to any person with any disability multimedia. Few people seem to recognize how much of an accomplishment this is: http://www.youtube.com/watch?v=uEY58fiSK8E
I think the problem here is big.
How about small standards with a limited scope? I don't want these huge standards that take millions of lines of code to implement.
Again, the point is it's too big to be designed.
In the process it's degraded pretty badly as a document delivery system. If you start over I recommend separating those two projects.
And then people were making websites entirely in Flash.
And then people realized that was a bad idea because Mobile, and everything got better.
Until the App Store came along. Fine, so now program delivery has been separated from document delivery, but every document provider that used to just be a website now requires you to use a special program from the App Store instead of using a web browser or some other generic "document viewer". Or, at the very least, you have to tell them you don't want it every time you visit their website.
The problem isn't that the web is a bad document delivery system -- it's not. The problem isn't even that the web is just as good at delivering programs as it is at delivering documents. The problem is that there are a large number of people who know nothing about best practices and are way too enthusiastic about making things look flashy. They create documents and they don't care how you want them to look. If that means they have to create a Program instead of a Document, that's fine with them.
(Accept)
Having said that, it's possible that we might be in for a second era of webdesign, as MS retire support of XP and the browsers that have dragged down web development.
Well let's see if we can make a short list:
1) Can I look up almost anything? Yes [0]
2) Can I learn a foreign language for free? Yes [1]
3) Can I fund something interesting? Yes [2]
4) Can I communicate with my family and friends for free? Yes [3]
5) Can I learn stuff for free? Yes [4]
Seriously I didn't even try, yes progress has got us somewhere. Admittedly we do now have n+1 standards
[3] Honestly there are so many - email, skype, facebook, whatsapp, etc ...
edit - edited
Indeed all those sites mentioned are just manifestations of an idea that is really independent of any "progress in web standards", and had someone thought of the idea 20 years ago, they could've just as easily (or maybe even more easily - because of the relative lack of complexity back then) set up a site for it.
And your 4) we could do that in the 90s as well. Email isn't a 21st century invention and doesn't depend on web technologies. Same with instant messengers. Skype - for video, bandwidth is the thing the 90s lacked to support this system. WhatsApp - widespread mobile devices was necessary for this, 90s lacked that. And none of them, other than Facebook, is wholly dependent on web stuffs, they're internet technologies and platforms.
Well, I know your 20 years is hyperbole, but let's see:
1) We can display video and play sounds. We can do it using native browser controls now, but in 1994 you couldn't do it at all - plugins weren't introduced until Netscape Navigator 2.0 which came out a year later.
2) We can display updated data without reloading the entire website. This let's us do stuff like chat or use collaborative tools.
3) We can disassociate content from styling, so styling data can be transmitted once and can be changed en masse with ease.
4) Cookies showed up 19 1/2 years ago, so you wouldn't be able to store user login data without it showing up in the URL - it makes sending URLs to other people very awkward.
5) Oh wait, you wouldn't be able to log in because forms weren't in the HTML spec yet, HTML 2.0 didn't come out til 1995.
6) We can actually... do layouts of web content. Tables didn't come around til HTML 3.0.
The initial version of the web was pretty much a prettier version of Gopher - with some inline graphics and styling. This site in would not be able to exist in 1994, unless you wanted to submit comments via email?
See http://www.jwz.org/hacks/http10proxy.pl for a workaround.
(Unfortunately SSL was developed in an HTTP/1.0 world and it's taken nearly 20 years for us to get the equivalent functionality with SNI.)
Of course you don't need an Sun box to run it.
In Firefox, you can force the global JS engine to GC on the `about:memory` page.
It does also highlight how many sites actually depend on large numbers of external sites for basic functions on their own site.
As an example - a site would not load at all, because it was trying to load dogshit like Disqus. Sigh!
Hence the point of this image-rendering proxy. I'd be more interested in a proxy that does the reverse -- strip websites down to bare blue links on grey by any means necessary, including OCR of images. That could be fun. For a few minutes. ;-)
You can compare Pocket with Instapaper, ReadItLater and similar sites.
1] strips out all the extraneous cruft from an article, keeping only the text (in a typeface and font size of your choosing) and any included photos/videos;
2] acts as a centralized archive of articles, which can be tagged and favourited at will (so you don't need to bookmark articles in the browser for later reading); and
3] is available across multiple devices (phones, tablets, PCs) for a single account, including offline access.
It's an awesome experience to simply right-click-save interesting articles in your desktop browser during a work break, knowing that you'll be able to read them whenever and however you like, for example on your tablet in bed in the evening.
Give it a try yourself, that's the only sure way to find out.
It was quite popular in Eastern Europe where having computer with Internet access was something out of reach for a large fraction of population. I was using Nokia 3510i for that purpose :)
It's not really analogous to, say, driving old, restored cars. These browsers are rootkit magnets. The people who use this unmaintained software are inherently less safe.
Never could get it to load.
I don't think that my tablet is a root kit magnet, nor that I'm inherently less safe. I just find that this hardware works well enough for most of my needs, except now for browsing the web, which I never thought would happen...
Although come to think of it, if all the rendering is being done on the server side, and nothing but an image map is being delivered to the older browser it should be perfectly safe for these ancient browsers to navigate to even the most dangerous websites, provided that the server side component doesn't get hacked, because the server side component will be delivering nothing but safe images.
The general diversity of ways people connect to the internet on all kinds of different hardware is enough of a reason, provided there is someone interested in putting the hack together. And there was such a person, so, yay. There's no Court of Hack Justifications one must appeal to, to do this stuff.
Personally, if I was making a film set in the 1990's I would go for the IBM WebExplorer browser (http://virtuallyfun.superglobalmegacorp.com/wordpress/wp-con...). It has awesome graphics.
This makes everything reproducible for multiple takes, lets your art guys have ultra-fine control over the presentation of everything, and lets the actor focus on acting, not driving a computer.
Alternatively have the keyboard set up as one big "anykey" to advance the animation. The advantage of this being that keyboard strikes would be synced with screen updates, if there is ever a shot where you can see both the fingers and the screen (which is typically avoided, but still).
One thing the software industry has been very good at doing is driving the sales of hardware, by requiring more and more resources --- only to do much of the same things as before, maybe with some improvement in specific areas. Many users have no need for the latest hardware nor software, yet they're constantly encouraged to upgrade for security, "new features" they'll never use, etc. (I'll admit that some of these, like security, could be valid concerns.) Upgrading to newer software with higher resource consumption, they wonder "why is it so slow?", and that eventually leads to perfectly fine hardware going to waste. In particular, the extremely fast upgrade cycles of browsers makes their contribution to this gross waste a bigger part than a lot of other software.
> The people who use this unmaintained software are inherently less safe.
A lot of exploits today won't even run on older systems. Older browsers also having less features is also a reduction in attack area - e.g. if there was something vulnerable in HTML5 video or CSS3 animation, a browser that didn't support those features would be inherently immune.
(posted with w3m, written in a linked-in Emacs tab…).
Edit: Screenshot: http://chubig.net/t/w3m-hn.png
https://github.com/acg/w3m/commit/5946c2784d4eae46ec06e52390...
It's mostly advanced HTML5 features, scripting, and CSS that aren't supported in older browsers, but basic text formatting and forms shouldn't be any issue.
I have the a Vagrant template for setting this up here:
https://github.com/rcarmo/vagrant-templates
...all you need to do is read the Vagrantfile. I use the vagrant-lxc plugin to set up and tear down these environments on Digital Ocean.
Also, why? Outside of the joy of hacking
I wonder how Google's proxy would work in Mosaic or Lynx?
So if there are ways to make pages accessible to older systems, that is a very good thing. Of course, I'll never be able to use it, but someone else probably can.
Just because something exists(or can be called "legacy") doesn't mean it should be supported. I would venture to guess that nobody in the world uses any of the browsers shown on any regular basis. And if they do, they have absolutely no expectations of it working correctly.
When IE 1.5 was launched 8MB of RAM was acceptable and people were excited about 28.8k modems.
It depends on where they work. We have to support IE6/7 because our users are largely accessing the webapp from hospitals... which means they're using computers that are very strictly controlled by the IT department, because upgrades can break other, very expensive legacy software that relies on old IE versions or other particular quirks of old OS versions. And if you break some essential medical software, lives can be at stake, so they can't take it lightly.
To be sure, they don't assume that our webapp will work in the browsers they're forced to use. But if it doesn't, we can't possibly get them as a customer until some distant day when they are ready to lay out the serious investment required to upgrade.
Now instead of rerendering the entire screenshot of the page, it should only render the region where the change occured. For example, if a mouse moves over a menu, it will figure out which region the image has changed as a result of this (onDomChange probably) and render that portion, send it back to the client.
Still looking for this or maybe I should build it.