Jeff'd Again


  • :belt_onion:

    I despise Internet Explorer. And yes, old computers running old OS versions and old browsers represent security risks to their users.

    Yet what of the users who don’t understand how to upgrade? Who don’t have anyone to help them upgrade? Are we to tell them that they matter not at all? Is the plan to ignore them as much as possible until they’re all dead and gone? Newsflash: This category of users will always exist!

    This issue rose to the top of my morning queue today when I saw a tweet from Jeff Atwood (@codinghorror). Jeff is the force behind the creation and evolution of Discourse, and was a co-founder of Stack Exchange.

    Yet this morning we engaged in the following tweet thread:

    Jeff: At this point I am literally counting the days until we can fully remove IE11 support in @discourse (June 1st 2020)

    Lauren: I remain concerned about the impact this will have on already marginalized users on old systems without the skills or help to switch to other browsers. They have enough problems already!

    Jeff: Their systems are so old they become extremely vulnerable to hackers and exploits, which is bad for their health and the public health of everyone else near them. It becomes an anti-vaccination argument, in which nobody wins.

    Lauren: Do you regularly work with extremely elderly people whose only lifelines are their old computers? Serious question.

    Somewhere around this point, he closed down the dialogue by blocking me on Twitter.



  • It sucks for those users but Jeff is really not to blame for this. Or do we expect everyone to never drop support for older systems? Where do we draw the line?



  • @anonymous234 but how will I browse the forums on my 386 running Windows 95 and Netscape 4 over a 33.6k modem!



  • To repeat a point made repeatedly years ago when we were still on Discourse:

    It's forum software. It serves text.

    There should be no reason for it not to work/gracefully degrade on Lynx, much less a modern(ish) browser with fancy monkey dancing features. You don't need an infini-scrolling SPA that reimplements basic browser features in Javascript to deliver text content over HTTP



  • @hungrier What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    I basically agree, but there are limits.


  • :belt_onion:

    @anonymous234 said in Jeff'd Again:

    It sucks for those users but Jeff is really not to blame for this.

    Jeff is not to blame for blocking someone on Twitter because they asked him a serious question?

    Or do we expect everyone to never drop support for older systems? Where do we draw the line?

    How about you draw the line at "we support software that is currently included in the latest newest version of Windows" (Internet Explorer).

    IE sucks, I get it. I'm not a fan. But there are currently some websites I have encountered, run by fairly large companies, that don't display properly when using Firefox but work perfectly fine if I spoof my UA to say that I'm using IE11.

    https://i.imgur.com/VRF3PXl.png


  • Fake News

    @El_Heffe said in Jeff'd Again:

    IE sucks, I get it. I'm not a fan. But there are currently some websites I have encountered, run by fairly large companies, that don't display properly when using Firefox but work perfectly fine if I spoof my UA to say that I'm using IE11.

    Well... That's their problem.


  • :belt_onion:

    @JBert said in Jeff'd Again:

    @El_Heffe said in Jeff'd Again:

    IE sucks, I get it. I'm not a fan. But there are currently some websites I have encountered, run by fairly large companies, that don't display properly when using Firefox but work perfectly fine if I spoof my UA to say that I'm using IE11.

    Well... That's their problem.

    It's also my problem if I need to use that website.


  • Discourse touched me in a no-no place

    @Benjamin-Hall said in Jeff'd Again:

    What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    None of this applies to IE11 though. A browser that's still supported by Microsoft (on later than Windows 7).



  • @loopback0 said in Jeff'd Again:

    @Benjamin-Hall said in Jeff'd Again:

    What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    None of this applies to IE11 though. A browser that's still supported by Microsoft (on later than Windows 7).

    Correct. Jeff is still a wrong jerk. No questions there. But the "must support everything" reaction is also wrong.


  • Considered Harmful

    My main issue with IE11 isn't that it's a lot more work to support (it is), or that it's full of bugs (it is); it's that any features that came out after 2013 just aren't supported at all.

    I'm left with the options of either not using anything that's come out in the last 7 years, or designing and maintaining two separate forks of my site. It's not tenable.



  • @error I was going to say there are polyfills available, but then I remembered that IE doesn't support arrow functions


  • Considered Harmful

    @hungrier said in Jeff'd Again:

    @error I was going to say there are polyfills available, but then I remembered that IE doesn't support arrow functions

    6b5.jpg

    I do bend over backwards to transpile everything to ES3. Some things just can't be faked though. Like WebGL2.



  • @Benjamin-Hall said in Jeff'd Again:

    @hungrier What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    I basically agree, but there are limits.

    I'd draw the line at security, agreed. But degrading gracefully due to (lack of) browser features is usually independent of that.

    Degrading to something usable through Lynx would also have the advantage of working under adverse network conditions (i.e. being on mobile with Edge-level connectivity)



  • @Rhywden said in Jeff'd Again:

    @Benjamin-Hall said in Jeff'd Again:

    @hungrier What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    I basically agree, but there are limits.

    I'd draw the line at security, agreed. But degrading gracefully due to (lack of) browser features is usually independent of that.

    Degrading to something usable through Lynx would also have the advantage of working under advserse network conditions (i.e. being on mobile with Edge-level connectivity)

    Don't get me wrong. I believe in graceful degradation where possible. Heck, I even teach my Web Design students to do everything by hand, in plain HTML/CSS. But the "where possible" is an important thing. Many sites would struggle with such things even if they could be completely re-designed. It works great for non-interactive, static text. Anything more and you're asking for a horrible mess (either in the browser or in the back-end) to handle all the possible differences.

    And in this case, I sympathize slightly (only very slightly) with Discourse. Dealing with "your site is horribly ugly!" complaints because it degraded down to the lowest common denominator (which is all you can do with all the possible combinations of support/lack-there-of for polyfills, etc) is damaging to the brand of being the most modern thing out there and not something you'd want to do lightly. It's a huge amount more work for a minimal amount of benefit (as seen from the devs' perspective).



  • @El_Heffe said in Jeff'd Again:

    "we support software that is currently included in the latest newest version of Windows" (Internet Explorer).

    But IE11 is explicitly included in Windows for backwards compatibility only. It literally tells you not to use it when you open it.


  • Notification Spam Recipient

    @El_Heffe said in Jeff'd Again:

    Lauren: Do you regularly work with extremely elderly people whose only lifelines are their old computers? Serious question.

    Yes, and they were shoehorned into Windows 10 and Edge years ago, if they even have a computer (extremely elderly people tend not to be involved much in society,including computing).

    My last holdout was a guy named Frank who insisted that the reason his computer was slow was Windows was using Serial ATA instead of IDE, because with IDE you could enable DMA for RAM Speed Access.

    His actual issue was that the hard drive have several hundreds of bad sectors and had run out of replacements years ago.

    His version of Windows did not tell him that.


  • Considered Harmful

    Toby faire, I've been making games lately, so it's not exactly something that can degrade gracefully to plain HTML.


  • Notification Spam Recipient

    @levicki said in Jeff'd Again:

    managed to build MORE WITH LESS.

    One of these days I'll get Windows running smoothly on 128mb again...


  • Notification Spam Recipient

    @levicki said in Jeff'd Again:

    @Tsaukpaetra I wonder what language would Javascript be written in if people did not manage to write and use BCPL and later C in less RAM than an average script-laden webpage is taking today while not offering anything substantially more worthy than a regular desktop app?

    The fact that you expressed your question in a run-on is indicative.



  • @levicki I don't know about you, but being able to use CSS Grid (instead of the utter hacks that went before) was a total godsend for making even static pages without tearing your hair out.

    And that sort of thing really can't be worked around. Either you don't use those features for anyone (which sucks and causes stagnation IE 6-style), or you do some complex, fragile polyfill that takes dozens of times more work both to make and to upkeep. Plus bloats pages horrifically. Or you accept that people need to update their browsers just to keep them safe against malicious actors and so you can not worry so much about the @Lorne-Kates of the world who insist on running browsers that have been abandoned.


  • Notification Spam Recipient

    @levicki said in Jeff'd Again:

    Next question.

    Hold on hold on hold on, just skimming the article I saw:

    f8d4f5a5-0700-4de7-9f3c-f8a24eee2107-image.png

    So, again "Modern browsers moved on. But, if you want IE to work, don't do modern things".

    Literally skimming and the article undermines itself.


  • Notification Spam Recipient

    @levicki said in Jeff'd Again:

    instead of going "Waaah!!! CSS grid broken in IE!!!! I can't work without it!"

    Quote me where I said anything like that, I dare you. Don't make me go blakey on you!



  • Tables worked great.
    Hipsters cried about it, boo hoo something something semantics.
    Hipsters invented inferior DIV solution after inferior DIV solution.
    Eventually, grid maybe kinda sorta works, only in the latest Chrome derivatives.
    Hipsters want to kill IE (and, I expect, the table tag, because reasons).

    Drink bleach, hipsters.



  • @Zenith Tables did not work fine. Believe me, I have to deal with a web application where the entire UI is a (deeply) nested table, each one having only one table element until the very bottom. It's a fragile, kludgy, ugly PoS. It also uses post-backs and full page-reloads for every action, including changing dropdown options. And breaks at random times for random reasons.

    So no. The old way was not fine. Not to mention it takes tons of hand-crafting to get it looking decent on a single screen format (resolution, browser width, dpi, etc). And then moving to mobile or even changing the browser width breaks it entirely.



  • @Benjamin-Hall You're talking to somebody with a table layout that nobody's been able to reproduce with DIVs.



  • @Zenith said in Jeff'd Again:

    @Benjamin-Hall You're talking to somebody with a table layout that nobody's been able to reproduce with DIVs.

    Maybe for good reason (ie things that should not be done in the first place)? And what I said above about the "utter hacks"? That was about the div-based attempts.

    Sure, tables can look good. At one particular viewport size, resolution, and as long as the content doesn't significantly change in size or characteristics. I agree that divs rarely look good (for anything more complicated than a full-page-width "block" design). But grid (plus flexbox when needed) is actually a pretty decent solution for 99.999% of cases. Except that we "have to" support older browsers that can't even do CSS3 at all, let alone anything since the stone age. And in those browsers, just about everything else (AJAX, etc) will fail as well.



  • @Benjamin-Hall As to your postback problem, that sounds more like a WebForms problem. I used AJAX back in IE6 and it did what I expected.

    I did compatibility work for years. My bureau went from IE-only to Netscape, Firefox, Safari, Chrome, and Opera. Every time, it was "IE does this logically and X does this stupid variation." Opera, for instance, used to strip line breaks from form submissions for some reason. It was always less work to start from IE (my non-IE shim was a few KB). That's where people fall down. They start from Chrome and have to backport not just to IE but the rest of them. And they really fall down trying to do pixel perfect layout because none of the non-IE browsers are consistent with their nightmarish box models.



  • @levicki said in Jeff'd Again:

    He at least tried to solve a problem when presented with it instead of going "Waaah!!! CSS grid broken in IE!!!! I can't work without it!" -- for that he has my respect and you and the others who just complain and who can only do Lego programming and cry when their favorite bricks are missing get none of it.

    You want web devs to do things a certain way because it's more compatible. But that way takes a bit more work. People don't like doing work for free if you catch my drift.


  • Considered Harmful

    @Zenith said in Jeff'd Again:

    IE does this logically and X does this stupid variation.

    What earth do you come from?

    My experience was always "everybody else follows the spec but in IE you have to use this weird CSS hack to trigger the hidden hasLayout property, which only works because IE thinks there's a parent element of the html tag."



  • @error The one where Chrome, to render a 3 cell table non-evenly as specified by both its TD and COL tags, needs a 4th COL tag set to a nonsensical width.


  • Notification Spam Recipient

    @Zenith said in Jeff'd Again:

    do pixel perfect layout

    Which works for exactly One True Resolution/Window Size and FUCK EVERYONE ELSE!!!

    ❓


  • Considered Harmful

    @Zenith said in Jeff'd Again:

    @error The one where Chrome, to render a 3 cell table non-evenly as specified by both its TD and COL tags, needs a 4th COL tag set to a nonsensical width.

    I've never seen that problem, and I've been doing web dev long enough to remember needing to test for document.all vs document.layers to handle the 2 incompatible DOM APIs in Netscape vs IE5.



  • @error exactly. IE is and was known for being the least standards-compliant of the browsers. Especially before v10(? Could be 11), when they actually started trying.

    Of course now the big annoying one is mobile safari, which just does it's own thing and 🖕 to anyone who wants something else.


  • Considered Harmful

    @Benjamin-Hall said in Jeff'd Again:

    Of course now the big annoying one is mobile safari, which just does it's own thing and 🖕 to anyone who wants something else.

    Oh, the biggest 🖕 is when they decided you can't debug or emulate the browser without a Mac.


  • Notification Spam Recipient

    @error said in Jeff'd Again:

    @Benjamin-Hall said in Jeff'd Again:

    Of course now the big annoying one is mobile safari, which just does it's own thing and 🖕 to anyone who wants something else.

    Oh, the biggest 🖕 is when they decided you can't debug or emulate the browseranything without a Mac.

    Can you debug or emulate Apple anything without a Mac?


  • Considered Harmful

    @Tsaukpaetra said in Jeff'd Again:

    Can you debug or emulate Apple anything without a Mac?

    I had a Hackintosh for a while, but I got sick of patching the kernel every time they released a minor patch to the OS.



  • @error said in Jeff'd Again:

    @Zenith said in Jeff'd Again:

    @error The one where Chrome, to render a 3 cell table non-evenly as specified by both its TD and COL tags, needs a 4th COL tag set to a nonsensical width.

    I've never seen that problem, and I've been doing web dev long enough to remember needing to test for document.all vs document.layers to handle the 2 incompatible DOM APIs in Netscape vs IE5.

    Maybe because you fought through every "it'll work this time I swear" DIV layout variation instead of sticking with tables?

    I remember the all vs layers bit too. Looked something like this at some point.

    function SelectObject (Key)
    {
      if (window.document.all)
      {
        return window.document.all[Key];
      }
      if (window.document.layers)
      {
        return window.document.layers[Key];
      }
      //some stuff to fix getElementById() vs getElementsByName() differences
      return null;
    }
    

    I did basically the same thing for AJAX and XSLT objects (ActiveX in IE, built-in elsewhere). Then there are some lines to fix children/childNode, parentElement/parentNode, innerText/textContent, keyCode/which, and events. After that I usually tossed in some prototype alterations for missing functions, browser detection, and control shortcuts.

    Just wasn't a big deal to me. It was about making everybody's browser work, not forcing people to align with my preferences.


  • Considered Harmful

    Christ, I never thought I'd meet a web developer pining for the Bad Old Days.



  • @Zenith

    That's where people fall down. They start from Chrome and have to backport not just to IE but the rest of them. And they really fall down trying to do pixel perfect layout because none of the non-IE browsers are consistent with their nightmarish box models.

    Dude, what? For two decades, IE has been the only browser with a "nightmarish box model". Every other browser released in this millennium just implemented the CSS spec.

    If you've been trying to make tables look exactly the same across different browsers released between 2000 and 2010, then I might be able to somewhat understand your frustration. But you should have realized that the problem was you using table-based layouts, not the browsers, and definitely not the CSS box model. I'm not sure how well the table layout algorithm is defined these days, but back then, I'm pretty sure the spec allowed you to do whatever you wanted to make the content fit somehow.



  • @Tsaukpaetra said in Jeff'd Again:

    My last holdout was a guy named Frank who insisted that the reason his computer was slow was Windows was using Serial ATA instead of IDE, because with IDE you could enable DMA for RAM Speed Access.

    Sounds like the folks I had calling in back in my tech support days who were extremely frustrated that they couldn't check the 32-bit disk and file access checkboxes in Windows 3.1(1). Trust me, sir or madam, it's not going to make Solitaire load any faster on your POS Compaq that not only doesn't support hard drives over 504 MB but has the BIOS config program on the old hard drive so we have to go through all sorts of hoops to make it so you can still get to it on the new one. :headdesk:



  • @Tsaukpaetra said in Jeff'd Again:

    Yes, and they were shoehorned into Windows 10 and Edge years ago,

    And that is an issue by itself, that Microsoft (and the whole IT industry) is very poorly, if at all, addressing. No one is specifically to blame for that, but everyone is responsible for it, at every job in the industry.

    Practical example: my mother had the switch pushed on her (like everyone else) one day, by surprise as far as she was concerned (she probably had some warning popups and similar infos, but being a standard non-IT user, she likely fell for the pushy "you need to upgrade now and we pinky-promise swear that you won't see a difference"). As a result she got confused by a lot of seemingly small things that changed -- even a button moving from place to another in a menu is an added strain when you're not dealing with computers all day long. She's still not that old that she couldn't adapt, but I can definitely see that when (I almost wrote "if", but things being the way they are, I know it's not a matter of "if" but "when"...) that happens again, it will become harder and harder for her.

    I'm not sure what the solution to the whole thing is, but I feel that as more and more older people are using, and relying on, computers, this needs to be taken into account. So while I understand some of the constraints that web devs and others may face, I think Lauren (whoever she is) is right to point this out.



  • @levicki said in Jeff'd Again:

    Should I refuse to write complex code because that's more work?

    If the less complex code gets the job done, at the cost of not running on some old computers, I know what 90% of programmers (and bosses) will choose.



  • @El_Heffe said in Jeff'd Again:

    But there are currently some websites I have encountered, run by fairly large companies

    Like... AT&T? I gave up trying to navigate that on FF. Some of it works. Most of it just fails (like trying to access the phone history). So I use IE.



  • @Benjamin-Hall said in Jeff'd Again:

    @hungrier What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    I basically agree, but there are limits.

    Unless Jeff has done something even more terrible than I'm used to, Discourse does not implement its own TLS library.



  • @Tsaukpaetra said in Jeff'd Again:

    @levicki said in Jeff'd Again:

    managed to build MORE WITH LESS.

    One of these days I'll get Windows running smoothly on 128mb again...

    "smoothly"

    393565f2-5cef-4453-b163-4721890390f1-image.png


  • BINNED

    @ben_lubar said in Jeff'd Again:

    @Benjamin-Hall said in Jeff'd Again:

    @hungrier What about browsers that don't support modern authentication ciphers? Running a mixed-security (http & https) forum seems like a bad idea, and cipher fall-backs are dangerous from a security perspective.

    I basically agree, but there are limits.

    Unless Jeff has done something even more terrible than I'm used to, Discourse does not implement its own TLS library.

    Stop giving them ideas!

    Wait, actually, go on. I'll get the 🍿



  • @ben_lubar said in Jeff'd Again:

    Unless Jeff has done something even more terrible than I'm used to, Discourse does not implement its own TLS library.

    …yet.



  • @error said in Jeff'd Again:

    Christ, I never thought I'd meet a web developer pining for the Bad Old Days.

    "Oh me, oh my, it's so hard to write 4KB of shim code for differently named properties/objects. Everybody should just change their workflow and buy new hardware instead." - Hipsters Everywhere In Between Yet Another Round Of Break Fix For Lack Of Any Forethought Or Responsibility

    I'll totally switch to a spyware browser and an OS that updates with more ads and fewer features whenever it fucking wants to save you a few hours of work over the life of a project!



  • @Zenith said in Jeff'd Again:

    @error said in Jeff'd Again:

    Christ, I never thought I'd meet a web developer pining for the Bad Old Days.

    "Oh me, oh my, it's so hard to write 4KB of shim code for differently named properties/objects. Everybody should just change their workflow and buy new hardware instead." - Hipsters Everywhere In Between Yet Another Round of Break Fix For Lack Of Any Forethought Or Responsibility

    I'll totally switch to a spyware browser and an OS that updates with more ads and fewer features whenever it fucking wants to save you a few hours of work over the life of a project!

    the part you're not mentioning is that someone else has written those 4KB of shim code already


Log in to reply