• LCrawford (unregistered)

    Even today, Gary is off in a corner using his own custom developed system FSS (Frame Style Sheets, or for this site Frist Style Sheets).

  • Ondřej Vágner (google)

    I kinda want to start using the phrase "In short, the whole industry is wrong on this issue and Ondřej is right" in any work email.

  • Troll (unregistered)


  • (nodebb)

    The date of the original isn't shown in the article, so here it is: It was first posted (as an article) in January 2008.


  • TruePony (unregistered)

    “I am right and the entire Industry is wrong.” Humility in a developer is directly proportional to how easy they are to work with.

  • Rene (unregistered)

    Who framed Roger Rabbit? Now we finally know.

  • Kim (unregistered) in reply to Medinoc

    And as we all know today, 11 years later, everyone now uses GF or GaryFraming.

    What a revolutionary, this man!

  • (nodebb) in reply to Medinoc

    Wait, was this "(original)" link always there?

  • ray10k (unregistered)

    It's been a decade, and yet Gary strikes me as outright slimy.

  • (nodebb)

    Slight nuance: Both Gary and I are always right, except that Gary hardly ever is.

  • Loko8765 (unregistered)

    I once had an intern who declared that TCP was a nice but very badly executed idea, and explained to all who would listen what should be fixed. Most of them managed to hold their laughter until they closed the door behind them when leaving the office... but not all.

  • Decius (unregistered)

    Gary didn't send those emails. He was...


  • (nodebb) in reply to Ondřej Vágner

    Bonus points if you get "Secure multi-mediation is the future of all webbing" in there as well.

  • Dave (unregistered)

    Whereas 'almost all the industry is wrong and I'm right' is often true for experts.

    Of course it helps if, after he's rejected your sales pitch about how physical security is usually overlooked by the rest of the industry, you're sitting at his desk when he comes back from a meeting. Then you can tell him you're right and they're wrong.

  • löchlein deluxe (unregistered)

    Frankly, the clue level in web frontends is so low, disagreeing in and of itself is not a warning sign at all. Just look at the five iterations of hoops to jump through to load fonts with javascript because you don't trust the browser to do its job, which is to prioritze and parallelize loading of resources and to cache them.

  • Daemon (unregistered) in reply to Ondřej Vágner

    Isn't that what signatures are for? ;-)

  • Daemon (unregistered)

    Frames, my ASCII. I've been using tables to build my web-interfaces for the last 12 years. I can write a web-management console in 3 Kb of code. Take your CSS and shove it.

    Added bonus: I once showed this concept to a web-designer friend and it made her smile (or laugh.... But that counts as smiling, right?)

  • NoLand (unregistered)

    Observation: While none of the problems where addressed back then (but by custom JS), the same issues reoccurred with the modern web, where they were eventually addressed.


    • Frames & bookmarking: single page websites, hash mark URLs, and the history API
    • Frames & missing embedded content: dynamic client side rendering and error handlers
    • Frames & accessibility: landmark region navigation
    • Frames and cross scripting (across frames and origins): CORS
    • Related similarity: table layout & CSS grid

    Still a problem: menus dropping down from a top bar (crossing borders into a content frame) and fetching an entire viewport content (by curl, etc) for scraping.

    No direct equivalent solution in the modern web: persistent controllers and data during a visit involving multiple URLs (however, compare web storage and session variables to persist state).

  • Bubba (unregistered)

    That's it...I'm reimplementing our web UI in ncurses

  • (nodebb) in reply to TruePony

    At least Gary explained. A person that explains is at least thinking and might be able to be persuaded with solid arguments. I'd prefer that to the "X is a best practice because best practice" parroting that I see from so many others. They don't know why anything is or isn't a best practice, just that somebody told them so. Won't see the train until it hits them and certainly won't innovate any solutions.

  • isthisunique (unregistered)

    I often find the industry is wrong about a lot of things. It's also always changing, for better or for worse. Everything in the industry is a stepping stone to the next best thing or a trapdoor. Solution elitism is one of the biggest problems in the industry. That consists of things such as thou must use git and no other VCS may be considered. What we have here is a strange kind of elitism. Usually it's the other way around, thou shall never use frames. You usually use frames when you have a really good reason for that. They're not out of the question though the traditional frames got taken out in favour of iframe which can be laid out however you like with less confusion, though layouts with frames isn't ideal for most types of website.

    The industry can have pains sometimes. I remember the time when one blog post shouted out angrily that you shouldn't use tables for layout. It was all well and good in principle but no one seemed to mention there were things you could do with tables for layout that weren't so easily reproduced with CSS, if at all. This would lead to horrible hacks such as having -10000% offsets or -50% offsets. When CSS finally started to catch up in a uniform fashion (being available for most users), it relied upon tables (CSS tables instead of HTML tables). CSS has never been that amazing for dynamic content based layout in none trivial scenarios, especially webpages as apps.

    I think it's important to challenge the industry, most importantly to ask questions rather than plodding along. Sometimes everyone is wrong. Gary clearly has his own methodology but doesn't entirely understand the impact of frames fully. I suspect Chris upset Gary just saying it's an industry standard. That's rarely a good argument but rather one made because it's easy to serve and hard to deflect. Frames could see more scope for use with well thought out standards for different situations though like any external resources frames can quickly introduce a lot of complexity such as versioning.

  • tlhonmey (unregistered)

    I mean, frames definitely have their place as a dirt-simple way to be able to do partial-page updates and are quite useful if you don't want a big pile of javascript libraries but still need to keep your bandwidth usage down (a novel concept, I know.)

    But Gary obviously doesn't actually understand what they do or how they work. Or else he's got the wrong definitions of a whole bunch of technical terms...

    If your site randomly returns 404 errors you've got a problem that has nothing to do with whether you choose frames or not for your layout and using frames to maintain partial functionality is definitely the wrong solution.

  • Ondřej Vágner (google) in reply to Watson

    It's now our Slack welcome message.

  • isthisunique (unregistered) in reply to tlhonmey

    I suspect the 404 errors are from the versioning issue or basically person loads parent frame A, nice as it's load once but nasty because when you rearrange anything, change links, etc then the user gets suck with an other frame with broken links. The way the web works, this can happen any way from the node your on, it can go out of data, as with any non-transactional or synchronised graph traversal, though with frames it can be a bit worse when the user is stuck with a broken outer frame. Gary might think this is desirable presumably keeping the user on the site though that's probably counter productive. From an application perspective that might be desirable but the web is different. User just hits back.

    Accessibility is an issue because it's not always a priority. In web dev, I've hardly ever seen anyone actually test accessibility heavily in commercial. In that case the main things to make sure that is accessible is some way to submit help or report that you can't access the site. It's very hard to justify being as exhaustive with accessibility as it is for the vast majority of traffic. For government sites then you have to have strong accessibility by law but for commercial sites it's not always the case. People get mixed up on this, they think certain standards are mandatory for all sites when it's only for certain types. Conversely, in webdev it is standard to follow standards for accessibility where it's easy. The problem is that it isn't always so easy. Especially if creating complex applications and using the web to the max to produce the UI best for people with standard vision. In that case you end up wanting to make a separate UI for accessibility (though most people find more value in this for SEO). For somethings it's really not reasonably possible, for example, making an image editor that's accessible tends to be a fools errand.

    Navigation is definitely a pain with frames. Though it's also a problem with multiple page javascript applications which has workarounds for it.

  • Snake Oil Salesman (unregistered)

    Gary sounds like one of those quacks trying to sell some scam medicine to Cancer patients.

    "I am God's gift to the world and have been charged with bringing this 100% effective breast cancer medicine to you all with no side effects! The entire medical industry oppresses me because of this gift, for they don't want to admit that they have it wrong the whole time or want me stealing their profits! The entire world's doctors are wrong and I alone am right!"

  • 🤷 (unregistered)

    In short: Use frames, because if you use frames, you are using frames. And because you like frames we put frames in your frames, so you can frame the frames while you are framing frames.

  • Mattrq (unregistered)

    Sure this is not a “You’ve been framed”. Or are we taking this out of context and not framing it correctly 🥴

  • Craig (unregistered)

    There's the inkling of a good idea in there. He's almost describing a sandbox (without, of course, any of the isolation required) and front-end microservices (without a pipeline, or components). Can we call this pattern litterboxing? It's a sandbox until you look closer and see it's full of catnip.

  • OlegYch (unregistered)

    Gary is actually cool too bad modern web is such a shitshow as to render any advice useless

Leave a comment on “Classic WTF: I Am Right and the Entire Industry is Wrong”

Log In or post as a guest

Replying to comment #:

« Return to Article