Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was there, 3,000 years ago.

I remember fights over whether or not navigation in frames was bad practice. Not iframes, frames. Who here remembers frames?

I remember using HTTP 204 before AJAX to send messages to the server without reloading the page.

I remember building... image maps[1]... professionally in the early 2000. I remember spending multiple days drawing the borders of States on a map of the country in Dreamweaver so we could have a clickable map.

I remember Dreamweaver templates and people updating things wrong and losing their changes on a template update and no way to get it back because no one used version control.

I remember <input type=image> and handling where you clicked on an image in the backend.

I remember streaming updates to pages via motion jpeg. Still works in Chrome, less reliably in Firefox.

I remember the multiple steps we took towards a proper IE PNG fix just to get alpha blending... before we got the ActiveX one that worked somewhat reliably... Just for tastes to change and everything to become flat and us to not really need it anymore.

I remember building site navigations in Java, Flash, and Silverlight.

I remember spacer gifs and conditional comments and what a godsend Firebug was.

I don't know when I got old, it just happened one day.

1. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...



I developed web software with frames and I thought it was perfectly fine. To this day I still don't understand the issue with frames. People sometimes mention accessibility for screen readers, but nothing more specific than that, so I still don't know what the actual problem is.


> so I still don't know what the actual problem is.

1. Not adaptable to the variety of display form factors we have today. In other words, not responsive enough.

2. As others mentioned, not being able to link a specific page. Maybe it can be overcome with modern browser history replacement API's nowadays.

3. A link to one of the frames not opening with necessary navigation elements. That used to be solved by redirecting the user to another page that would decorate the same page with the frames around it. Quite cumbersome.

4. Since all frame components are individual web pages, the communication between them isn't straightforward except for opening a link in another frame. Programming more complicated logic (such as dragging from one to another, or sharing components in other ways) would be quite difficult.

5. Every frame has its own scrollbar. It's less accessible, and looks terrible too.

6. Analytics is harder to track.


If you right click a link and open in new window (or middle click), the frameset was gone and only the piece in the frame was visible. Also you could not bookmark anything. I remember doing a frameset per content frame url automatically and also redirecting to that frameset from inside the page via javascript if the content frame's url was directly opened.


Framesets were great.

>If you right click a link and open in new window (or middle click), the frameset was gone and only the piece in the frame was visible.

Feature, not bug in my book. Same thing happens in today's iframes. But for situations where that is a problem, the spec could have been extended to support every page being able to identify a preferred parent frame. Or browsers could have changed behavior to by default duplicate a frame's parent and siblings when opening a frame in a new window.

>Also you could not bookmark anything.

Again a limitation of the spec that could have been addressed rather than throwing out a useful feature. We support have text fragment identifiers in URLs these days; surely we could have supported URLs with multipart frame targets.


They could! window.parent exists for this! Also, the target attribute on a.

For multipart frame targets, the fix then, as it is now, is to parse out the URL fragment params into something reasonable. SPAs use the path for state; no reason you couldn’t use it for frames.


If browsers got around to actually implementing basic features on browser level like making a frame navigation work instead of coming up with new CSS properties that nobody is going to use we could be all building websites without any javascript.


It generally got a bad reputation because it was abused to keep people on portal-like and aggregator sites. These sites would parasitically add navigation banners and ads(!) to content they didn't own. You had to be somewhat web-savvy to know how to escape an annoying frame.

They also wouldn't fly these days because of CSP and general web security.

When Google Image Search first launched, it surprised people because they found a legitimate use for frames that wasn't user-hostile.


All content on the web should have a unique, linkable, URL. Frameset breaks that.


That doesn't stop today's dynamically updating pages that also break the back button.


Frames also broke the back button when they were first introduced!

Together with the other early problems - ugly borders, proliferation of scrollbars, and limited browser compatibility - it meant that frames were seen as a usability disaster right from the start.

They never managed to fully shake that reputation even as browsers improved in the later 90s.


That ship has long since sailed. We live in a world of web apps with dynamically created content, AJAX, and so on. The main entry point for the app has a URL, and then within the app all bets are off. Same with framesets.


SPAs were a low point, but I've found consistent and linkable URLs has gotten better with developers recognizing the importance due to "SEO".


Also crawlers can now evaluate SPAs. Googles crawlers will run JavaScript on the page making the SPA SEO issue much less of an issue now.

Idk if that counts as a low point or a high point.


There se excretes to this, particularly if you value speedy vs delayed updates to your indexing


We should have frozen the web from 2006 - 2010 or so.

We had Ajax, lots of modern CSS, but weren't hell-bent on CSSifying and "SPA"-ing everything. Web standards hadn't yet jumped the shark.

It's also before Steve Jobs murdered Flash.

Killing Flash was one of the biggest mistakes we've made. The modern HTML/CSS/JS stack can't replicate how simple and functional it was. We're easily dealing with 100x the complexity now.

We let Google trick us into going down this path. And now they're going to kill the web to keep us on their LLMs and platforms.


> Killing Flash was one of the biggest mistakes we've made.

Flash was a proprietary extension to the Web. That important parts of the Web were implemented with it was a travesty and reason enough for it to be killed as it threatened and subverted the open nature of the Web. The useful functionality it provided has been incorporated into Web standards and current implementations are no more complex or less efficient than Flash was. The rest is fluff which can readily dispensed with, there is no need to re-implement it, although lately I have been wondering if it is possible to replicate its functionality with a combination of SMIL and SVG.


Flash was a bigger privacy hole than HTML5 canvas. I think we need to mandate browsers that block those APIs on default and only enable them via permission. <canvas> is often used in fingerprinting. So blocking its introspection APIs would already benefit us.


Flash was basically a remote shell with some animation tools on top. The Windows malware hell of the early 2000s, with random websites (even a banner ad on the New York Times once) doing drive-by-installs of early ransomware. (Thankfully, cryptolocker ones hadn't started yet...) And if you were a Windows escapee, the Flash experience was absolute trash on OS X and Linux.

It also became clear that the source code was borderline unmaintainable and/or Adobe lost everyone who knew or cared about it after they bought Macromedia.


That sounds like a big deal until you realize that nothing was private back then.

Most internet traffic wasn't even over SSL. It wasn't enforced until 2018!

No CORS (first standardized in 2014), no cross-site protection (first standardized in 2012).

Everything was the Wild West.

Flash was fine and could have adopted the same mechanisms.

If Adobe (or the earlier owners) had open sourced the player and the format standard, they could have won and had the best authoring tool for the format.

To this day, Flash is the only downloadable binary bundle format that can still run on your PC after being downloaded. You can't download and SVG animation. It's a bundle of brittle web tech slop.


> No CORS (first standardized in 2014), no cross-site protection (first standardized in 2012).

This is not correct. CORS doesn’t protect anything, it removes security barriers. The same-origin policy that stops cross-site requests goes back to the 90s, it’s been in there about as long as JavaScript.


Adobe killed Flash by letting it die. It had plenty of issues, none of them unfixable. Adobe didn't fix these issues (security, accessibility,...) all while keeping everything proprietary. It was unsustainable and unfortunately, Flash had to go.


I agree. Personally I think we'd be better off without social media sites or smart phones


Punch cards. We need to go back to punch cards.


Why would we want to do that? The data density is quite low.


Oh man, the good old times when you could get a job just knowing a bit of HTML, CSS and JS. I so wish I could go back.

Now I am micromanaging a LLM that gets to do the fun parts. I have become the middle management I always hated.


Frames had multiple UX issues. For example they didn’t work well with search engines. Since search engines indexed individual pages, the search result would link to the page without the framing. Some developers would counteract this with js contraptions which reloaded the frameset, usually losing the context and breaking the back-button.


> I still don't understand the issue with frames.

I paid for 1024x768. Because of your frames, the content I'm actually interested in is now restricted to some disgusting and dismaying fraction of that. The borders of my bitchin' 15" CRT are now committed to navigation (which I have to scroll horizontally to actually make sense of) and what is likely a LinkExchange banner on the bottom that adds absolutely nothing to my experience.


Hm, have you been on the web lately? I've got bad news for you.


I remember working for a client who needed to support IE6 (with all the insane bugs/quirks/limitations) and I’d despair every time the designers would hand over a Photoshop design with rounded corners. They also needed it to be responsive (at the time mostly just different desktop sizes). Would usually require cutting the corners out and positioning them in table cells. There’s a certain amount of dev resilience you build having to do stuff like that by hand!


We worked with an internal design team, but basically just one UX specialist who has zero comprehension of how HTML, CSS or and web related technologies worked. At one point we where meet with "I don't like that the site blinks!" ... What do you mean by "blinks", we built it, it doesn't blink. Turns out she didn't like that that switching pages would cause the browser to load the next page and in turn there would be an ever so brief moment where the browser would show a blank page while loading the next page. This was in the initial ASP.NET and Ajax days, to the end result was "wrap the whole damn thing in an update panel".

For those who doesn't know the ASP.NET update panel was basically HTMX before HTMX. The browser would do a background request and replace the content of the update panel with the html returned by the background request. Normally you'd just use if for a form submit, e.g. like a comment box. The user puts in their comment, the backend return all the comments, including the new one and the browser replace the current list of comments with the new one. We essentially put the entire site in to the update panel.


At least table rows didn't unexpectedly wrap to a new line like float-based layouts.


Even though it was a long time ago I still have IE6/7 workarounds burned into my brain, most of them float related but also having a whole stylesheet for that damn browser... <!--[if lte IE 6]>:

https://code.google.com/archive/p/universal-ie6-css/


I’m only 20 but when I immediately recognized this I felt so old.


I remember using the "Sliding Doors" technique.

https://www.htmlgoodies.com/css/how-to-create-sliding-doors-...


Or just telling the designers "we can't do rounded corners for this client" (the client likely didn't care at all).


For some reason I actually really loved doing this. I remembering feeling disappointed when css got border radius.


I remember meticulously using the photoshop slice tool

To export gifs meant to be positioned perfectly in HTML tables

For designs suited best for 800x600

All those moments lost in time, like tears in the rain


> I remember meticulously using the photoshop slice tool

I made so many newsletters using that tool back in 2009. I remember a new designer was appalled I used it, and did not write the HTML code manually... 70% of our receivers were using Outlook and the horrible Word-based HTML renderer. I'm not writing anything manual for that piece of crap.


I remember meticulously perfecting every trick that the slice tool eventually automated before it existed using Jasc Paintshop Pro: squeezing every kb for maximal presentation from pieces of a larger image into gifs or jpgs so that the parts of it which needed to animate or be interactive could do so and the large parts that didn't could remain as high quality as possible.

And then I remember the slice tool appearing one day and being equal parts annoyed that they were biting my style and amazed that they did as thorough and well considered of a job as they did.


That is what Fireworks was great for: https://en.wikipedia.org/wiki/Adobe_Fireworks


>Who here remembers frames?

I visit a site with frames several times a week. Nobody's ever told the Open Group/POSIX people they're not supposed to use them these days.


Plenty of modems/routers still use frames in their management interfaces.


I explained the concept of frames to a developer born after the millennium, and their reaction was that it is a pure magic.


I made a webchat with frames; an infinitely-loading top part for the text, and the bottom an input box that received 204 to not reload when you sent a message. I guess that was the most elegant way to do it in the IE4+ days. The top part could also receive a small <script> that would reload the frame on the right, containing the user list. Fun times. Used it with a couple class mates around 2000 iirc.


I managed to get real-time chat (and other real-time colab) working on IE4+ using long polling, by continuously adding <script> tags from JavaScript. The server would delay answering until there were new messages available, or some timeout. This was even before xmlhttprequest. Who needs websocket? :-)


Sounds fancy! My solution back then was infinitely auto-updating a frame with a meta refresh tag. It would receive a new <script> block that would update the contents of other frames. This of course wouldn't give real-time functionality.


Fun, until you had dial up so slow the refresh happened again before anything on the page fully loaded (mostly an issue with images)


A webchat that I used to go to back in the day implemented this too. I used to spend a lot of time there - it was my Internet home for several years. I miss it terribly.


It's still a way (with a frame autorefresh) to make chats on Tor, since many users will have JS turned off


Spacer gifs, OMG, the memories! <table> should be enough for everyone.

What is the motion jpeg hack? I made my own streaming too before websocket... but I never heard of this.


I was expecting you to tell me that all of these moments will be lost in time, like tears in the rain.


b800h, meet jameslk (see post a few lines above yours)


"I've seen things you people wouldn't believe..."


> Who here remembers frames?

Low value comment: ME!

Bonus - Server Side Includes changed my life.


I wish I could upvote this comment twice. Thank you for the walk down memory lane.

I recall, in about 2010, hiring a young engineer to help with small marketing pages at an agency in New York City. His work was pixel-perfect at a time when we’d spend days just trying to get things looking reasonable in IE6. He was fast. It was incredible.

He was gone for the day when a last-minute change came in, so another dev went to update his latest work. Turns out he had been exporting the entire designs (from Photoshop, of course, no Sketch or Figma back then) as a BACKGROUND IMAGE and then ABSOLUTELY POSITIONING form fields.

I thought it was brilliant. No one else but the boss agreed. Testing for all of his work had been flawless cross-browser. It just didn’t work well on mobile. But he didn’t have to center things in a div - it was all smoke and mirrors.

I miss those days sometimes.


Been there, have done (most of) this. Never used Silverlight, but did use VRML, Java Applets, and Chromeffects.

I remember writing image maps by hand, getting the point coordinates directly from the image in Photoshop.

Re version control: learned very early on to make a backup of a website before making any changes. Our version control was /site/yyyymmdd/


I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-Beams glitter in the dark near the Tannhäuser Gates. All those moments will be lost in time, like <blink> and <marquee>.


2. <BGSOUND>


I remember a website about Ski-Doo snowmobiles that my friend was obsessed about (both the website and snowmobiles) in 1998 or so. It was from Canada, and the bgsound was the website owner saying something in French.

To us, it sounded like: fjänfny, hmmhmmhmm, dadadada. I only realized lately that the first word must be "bienvenue". It would be amazing to find it again on archive.org but unfortunately I dont remember more than this. :)


> Who here remembers frames?

I was there, writing sites professionally when this was rolled out.

They're more or less deprecated, but I missing having a 1st-class building block that allows you to resize areas of the screen. Recommendations are to use anything but a <frameset>, but there's no replacement for that one feature.

https://html.com/frames/

> I remember building site navigations in Java, Flash, and Silverlight.

Don't forget ActiveX (actually, yes, we should all try to forget)


I remember building fluid views with rounded corners before border-radius.


Memories. Made my first website in 1998. In Notepad. I had fun with HTML but not many ideas about what I could create. So I learnt HTML by making, in HTML, an HTML tutorial website. I was 12.


I remember cgi.pm and the magic of communicating two ways.


> Who here remembers frames?

Don't worry, they are still alive, the swedish crime statistics website still uses them [0]. It's a great experience for everyone.

[0]: https://statistik.bra.se/solwebb/action/index


> spacer gifs

Hacker News actually still uses these for comment indentation, check this page’s source code.


My personal website uses an image map for its main navigation menu. It still works just fine.


You're in good company, Paul Graham's site does as well.

https://paulgraham.com/index.html


Started in 1998 with front page.


Fancy! Not even Front Page Express first?


Don't remind me, Front Page Express' generated HTML was the stuff of nightmares.


Still better than Microsoft Word.


Don't know if it was intentional, but your ramble reminded me of the lyrics of Losing my edge by LCD Soundsystem. However, as someone who also experienced most of this stuff, it was a fun read either way :)


Oh, man, this takes me right back. Scary how time gets away from you.


I remember when display flex was still new, experimental, and not universally supported :)


I remember WML <card> tag, essentially SPA 20 years before SPA even became a term.


3000 years ago, when Ancient Egyptians argued over how they should format Papyrus text.


I think this is a reference to a LotR meme. https://youtu.be/Q63_FxegFsQ?feature=shared


For those who prefer not to visit yt, the quote "I was there, Gandalf. I was there three thousand years ago" refers to Elrond talking about the time when Isildur took the One Ring from Sauron.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: