← Back to context

Comment by alganet

8 hours ago

> full page reloads

grug remember ancestor used frames

then UX shaman said frame bad all sour faced frame ugly they said, multiple scrollbar bad

then 20 years later people use fancy js to emulate frames grug remember ancestor was right

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

Classic frames were quite bad. Every frame on a page was a separate, independent, coequal instance of the browser engine. This is almost never what you actually want. The header/footer/sidebar frames are subordinate and should not navigate freely. Bookmarks should return me to the frameset state as I left it, not the default for that URL. History should contain the frameset state I saw, not separate entries for each individual frame.

Even with these problems, classic frames might have been salvageable, but nobody bothered to fix them.

  • > Every frame on a page was a separate, independent, coequal instance of the browser engine. This is almost never what you actually want.

    Most frames are used for menu, navigation, frame for data, frame for additional information of data. And they are great for that. I don't think that frames are different instances of the browser engine(?) but that doesn't matter the slightest(?). They are fast and lightweight.

    > The header/footer/sidebar frames are subordinate and should not navigate freely.

    They have the ability to navigate freely but obviously they don't do that, they navigate different frames.

    • With a frameset page:

      History doesn't work right

      Bookmarks don't work right -- this applies to link sharing and incoming links too

      Back button doesn't work right

      The concept is good. The implementation is bad.

      14 replies →

  • Iframes are no longer the thing? I must have slept over this scene

    • By "classic frames", I mean <frameset> not <iframe>. Though iframes have some of the same problems, they don't have all of the same problems. They also tend to be used differently, though you can certainly create a frameset-like experience using only iframes.

  • You can see frames in action on the POSIX spec:

    https://pubs.opengroup.org/onlinepubs/9799919799/

    They can navigate targeting any other frame. For example, clicking "System Interfaces" updates the bottom-left navigation menu, while keeping the state of the main document frame.

    It's quite simple, just uses the `target` attribute (target=blank remains popular as a vestigial limb of this whole approach).

    This also worked with multiple windows (yes, there were multi-window websites that could present interactions that handled multiple windows).

    The popular iframe is sort of salvaged from frame tech, it is still used extensively and not deprecatred.

    • An iframe is inherently subordinate. This solves one of the major issues with classic frames.

      Classic frames are simple. Too simple. Your link goes to the default state of that frameset. Can you link me any non-default state? Can I share a link to my current state with you?