🔥 Doctor, my leg hurts when I stab it with this JavaScript!


  • I survived the hour long Uno hand

    @accalia said:

    @lucas said:
    JS being on is the expected pre-requisite

    💢

    no website should require JS to be enabled for browsing the site.

    You're confusing "websites" with "web applications". Especially with "single-page applications", which were the context of the post you've selectively quoted.
    An investment bank can afford not to care if their (supposedly semi-internal) retail system is easily crawlable by spiders.


  • FoxDev

    A web application is a website. That is, unless you're intent on rewriting the dictionary.


  • Discourse touched me in a no-no place

    @RaceProUK said:

    A web application is a website. That is, unless you're intent on rewriting the dictionary.

    I have a web application1. It looks like a webpage, but it is of no use at all to Google and in fact they can't reach it; it's only visible from our intranet. I simply assume that the users of said page are going to have JS enabled. I also know that the authorised users (a group of 15 people) don't have any need of assistive technologies. I can just make the whole page any way that I want.

    I do check that it works with up to date browsers, but apart from that I really don't care.

    1 It's doing scientific instrument data acquisition, and is basically a glorified wrapper around rsync and sha1sum.



    • a locally hosted phpMyAdmin instance
    • my home router's administrative web UI
    • a GitLab interface for use within an office LAN
    • a web interface to the ticket database, available to the company's intranet
    • a CRM/B2B panel a salesman has to log into to get supply from his wholesale partner

    These are all really "websites"?
    And is it really as prepostrous as you both dramatically try to imply to require JS support from a user that specifically wants to use all these particular applications?


  • FoxDev

    @dkf said:

    it's only visible from our intranet

    @dkf said:
    I also know that the authorised users (a group of 15 people) don't have any need of assistive technologies.

    Which is a completely different situation, and one in which I too wouldn't worry about graceful degradation; it's a lot easier to convince 15 people to stick to a company policy than it is to expect millions of users to always use the site the way you want them to.


  • FoxDev

    When you're done moving the :moving_goal_post:, let me know



  • Not until you tell me which of these are not web applications and/or are websites. And which of these fall out of the scope of possible single-page applications use, when "JS being on is the expected pre-requisite".

    Please stop assuming that people who object to your sweeping generalizations here would want to host a blog or an e-commerce thingy on Angular and can't see a difference between use cases where accessibility is important and use cases when you can afford to roll out a fancy JS-dependent interface.


  • FoxDev

    @emkael said:

    Not until you tell me which of these are not web applications and/or are websites.

    Work it out:
    @RaceProUK said:
    A web application is a website.

    And stop assuming that you know better than everyone else; it just makes you look like a penis.


  • ♿ (Parody)

    @RaceProUK said:

    When you're done moving the :moving_goal_post:, let me know

    I think he was just putting it back after you took it.



  • @emkael said:

    a locally hosted phpMyAdmin instance
    my home router's administrative web UI
    a GitLab interface for use within an office LAN
    a web interface to the ticket database, available to the company's intranet
    a CRM/B2B panel a salesman has to log into to get supply from his wholesale partner

    I definitely would expect all of these to provide a useful set of functionality with Javascript disabled. In particular,
    @emkael said:

    my home router's administrative web UI

    Should not even use Javascript for anything more than maybe some convenience functions.

    I also believe that SPAs represent everything that's wrong today with the internet and should die in a fire.



  • Nothing about Angular prevents you from sticking a <noscript>Get a real browser, caveman</noscript> (or maybe something a little more useful) in an Angular app, same as any website that's used Javascript since the 90s.


  • FoxDev

    My argument is, and always has been, this: Why do we all complain about poor user experiences, but for some reason JS-heavy websites get special dispensation to fuck over their users? It's been web design best practice for years that sites degrade gracefully, and as far as I can tell, that is still the case. So why do we just sit back and watch while site after site throws that out the window?


  • FoxDev

    You're right, nothing does. But how many devs actually bother to do so? IME, far fewer than there should be.


  • FoxDev

    @hungrier said:

    Nothing about Angular prevents you from sticking a <noscript>Get a real browser, cavemanJavaScript is disabled, Some website features may be degraded or unavailable.</noscript> (or maybe something a little more useful) in an Angular app, same as any website that's used Javascript since the 90s.

    FTFY. telling the user they are doing it wronk is a reall Jeff thing to do.



  • @RaceProUK said:

    You're right, nothing does. But how many devs actually bother to do so?

    :moving_goal_post: 💨

    @accalia said:

    FTFY

    @hungrier said:

    (or maybe something a little more useful)


    Filed under: We need a backwards 💨 emoji, maybe the :moving_goal_post: is moonwalking away


  • FoxDev

    @hungrier said:

    @RaceProUK said:
    You're right, nothing does. But how many devs actually bother to do so?

    :moving_goal_post: 💨

    Not even slightly; as far as I'm concerned, a notice informing the user that JS is required is graceful degradation. At a minimum, it's a fuckton* better than a blank white screen.

    *Imperial or metric? Yes.


  • FoxDev

    @hungrier said:

    :moving_goal_post: 💨

    A farting goalpost?


  • BINNED

    @RaceProUK said:

    it just makes you look like a penis.

    Can you spoiler that the next time?



  • @accalia said:

    no website should require JS to be enabled for browsing the site.

    Well as I said Angular JS (I don't like Angular JS 1.X) is supposed to be for Single Page Applications which means that unobtrusive web stuff is off the table. TBH that is absolutely fine.

    @accalia said:

    I'm willing to have degraded experience (no fancy popups or ajax content loaded without JS, but the browsing functionality should still be there.) and i'm even willing to be locked out of active interactions (no JS = readonly) if that's absolutely "required", but that's it.

    the sight must remain accessible to users without JS.

    While I agree in principle. It simply isn't the reality and it is a PITA to build everything unobtrusive and nobody that pays me cares about it ... so fuck me.

    @accalia said:

    for one thing Google's spiders certainly don't use JS and they need to crawl your site, if google can't crawl your site ain't nobody gonna find your site.

    HAHA. You render the site in Phantom JS server side using node. Hacky and evil but everyone does it.



  • Only if you are being a pedant.

    I wouldn't call something like Google Docs a website ... while it does have a web address. It is a Office suite written in JavaScript. I think everyone would agree that a office suite is a group of applications.

    EDIT: Google Docs isn't just a word-processor.


  • FoxDev

    Does it have a URL starting with http? Yes? Then it's a website.



  • Don't be a dick. I expect this shit from that @blakeyrat.


  • FoxDev

    Sorry, did someone change the definition of website recently? Because I thought a website was something that you go to in a browser by using a URL that starts with http.



  • Firstly HTTP is a protocol. An XML document can be served via HTTP, I wouldn't call an XML doc a website ... all HTTP means is that it is a URL that is going responded to by a web server. A fucking PDF can be served via HTTP, according to your definition a PDF of my car insurance policy is now a website.

    In any case, these are links to well accepted definitions of terms used in the conversation so far.

    EDIT: DISCO EDIT BEING A DICK.


  • FoxDev

    From the first line of one of your links:

    A single-page application (SPA) is a web application or web site

    Oh look, a single-page app is a website. Just like I said.

    And from another:

    The general distinction between an interactive web site of any kind and a "web application" is unclear. Web sites most likely to be referred to as "web applications" are those which have similar functionality to a desktop software application, or to a mobile app.

    Which covers Google Docs. Which, being an SPA, is a website, as per this:

    A single-page application (SPA) is a web application or web site


    TIp for the future: When you next try to prove me wrong, try not to use links that prove me right.



  • They differ significantly by the amount of client side logic taking place.

    • A website generally has a small amount of JavaScript for interaction and nothing more.
    • A web application might have a lot of JS but there is still a lot of content delivered directly by the server.
    • An SPA just has enough HTML to bootstrap the page and everything is ajax-ed or similar onto the page.

    TBH I just feel like you are being a bit of dick to prove a point now.

    They obviously differ in the level of complexity between what is happening between the client and the server.


  • FoxDev

    Right, so somehow, as if by magic, more JavaScript means it's not a website. Despite being built from a collection of webpages just like a website, served over HTTP just like a website, and viewed in a browser just like a website, running more JavaScript makes it not a website.

    I guess by that logic a Mondeo is not a car because it has more doors than a Ka. Or a centipede isn't an insectarthropod* because it has more legs than a fly.

    *Finally got around to making this biologically correct


  • I survived the hour long Uno hand

    I feel like @lucas 's definitions result in a number of the issues we often see with SPAs. People think that just because they're doing a "web application" that they need to learn nothing about HTTP, TCP/IP, how pages are served, how people have been optimizing website performance for decades, because "lol this isn't a website". Then they go on and make SPA's when a traditional site would be more performant, and insist on using more and more complex frameworks because obviously moving processing to the server would be blasphemy, this is Javascript land now.


  • FoxDev

    They're also using it as an excuse not to put this in the host page/shared layout/whatever-term-your-favourite-framework-uses:

        <noscript>
            <div class="alert alert-danger text-center">
                <i class="glyphicon glyphicon-alert"></i>This site requires JavaScript, but it is currently disabled.
                <br />To enable JavaScript, follow <a href="http://www.enable-javascript.com/" target="_blank">these instructions</a>.
            </div>
        </noscript>
    

    And that is me* going above-and-beyond to make it easy for the user; most could get away with something far simpler:

        <noscript>This site requires JavaScript</noscript>
    

    Seriously, how hard is that?

    *I'm not kidding; that is a direct dump from a single-page app I wrote myself



  • @Yamikuronue said:

    Then they go on and make SPA's when a traditional site would be more performant, and insist on using more and more complex frameworks because obviously moving processing to the server would be blasphemy, this is Javascript land now.

    Yes some people do this. It is using what is most appropriate for the job.

    However the initial post I replied to was about Angular JS which is quite obviously meant for Single Page Applications.



  • @Yamikuronue said:

    I feel like @lucas 's definitions result in a number of the issues we often see with SPAs. People think that just because they're doing a "web application" that they need to learn nothing about HTTP, TCP/IP, how pages are served, how people have been optimizing website performance for decades, because "lol this isn't a website".

    I don't thnk any web professional thinks this. I constantly worry about performance because of the increasing use of mobile devices (I have complained many time on the performance on discourse, I have a MOTO X+1 and the performance is still just good enough).

    I think a lot of web developers now don't know when it is best to use JavaScript or not use JS and resort to JS without learning how form submits work etc. A lot of web developers just use jQuery without understanding JavaScript.

    However this doesn't change the fact that different website can be classified differently on the amount of client side logic going on. Large companies are using similar if not the same terms, what I am saying certainly isn't revolutionary.



  • @lucas said:

    Don't be a dick. I expect this shit from that @blakeyrat.

    I'm not a pedantic dickweed. The main product I work with EVERY DAY is a REST API served over HTTP which is expressly not a website.

    Don't drag me into this.


  • Java Dev

    @dkf said:

    I also know that the authorised users (a group of 15 people) don't have any need of assistive technologies.

    You're going to have a problem when they get a job interviewee who does require assistive technologies.



  • @anonymous234 said:

    What will happen is either they realize at some point how stupid it was and roll back

    And fire you for being the instigator of the stupid, probably.

    @anonymous234 said:

    or they end up with a dysfunctional company that will go bankrupt in a year

    And you lose your job, along with everyone else.

    @anonymous234 said:

    It's win/win.

    Where "win" usually means "lose your job"... yes.

    @accalia said:

    @hungrier said:
    Nothing about Angular prevents you from sticking a <noscript>Get a real browser, cavemanJavaScript is disabled, Some website features may be degraded or unavailable.</noscript> (or maybe something a little more useful) in an Angular app, same as any website that's used Javascript since the 90s.

    FTFY. telling the user they are doing it wronk is a reall Jeff thing to do.

    :whoosh:

    oh yes, I went there. It was a joke, and you fixedruined the joke, so that's a :whoosh:.



  • @RaceProUK said:

    Or a centipede isn't an insect because it has more legs than a fly.

    In fact, a centipede isn't an insect, because it has more legs than a fly (among other distinctions). Insects, by definition, have three pairs of legs, and are members of subphylum Hexapoda, class Insecta. Centipedes can have anywhere from 30 to 354 legs and are members of subphylum Myriapoda, class Chilopoda. Other differences include the fact that insects always have three body segments, while centipedes have at least 16. Insects, by definition, have compound eyes; some centipedes have ocelli clustered into what are technically compound eyes, but some have only individual ocelli, and many lack eyes entirely.


  • FoxDev

    Yeah… that occurred to me as I was driving home 😊


  • ♿ (Parody)

    @blakeyrat said:

    I'm not a pedantic dickweed.

    Except for when you are.



  • @boomzilla said:

    @blakeyrat said:
    I'm not a pedantic dickweed.

    Except for when you are awake.


    FTFY.



  • @HardwareGeek said:

    In fact, a centipede isn't an insect

    Dammit, I misread @RaceProUK's "centipede" as "caterpillar" and was waiting for somebody to say "caterpillars have more than six legs!" so I could go all pseudo-leg pendant on them. Foiled!



  • @lucas said:

    Only if you are being a pedant.

    I wouldn't call something like Google Docs a website ... while it does have a web address. It is a Office suite written in JavaScript. I think everyone would agree that a office suite is a group of applications.

    EDIT: Google Docs isn't just a word-processor.


    It is not a website. It is a webpage hosted on sites of Google.



  • @accalia said:

    The use of javascript to define "custom" tags so that no one could look at the source and know what <skrftlqwyprts href="https://what.thedailywtf.com/t/website-hacker/54674/10">click here!</skrftlqwyprts> was supposed to be!

    @CatPlusPlus said:

    Angular

    Being an Angular developer, I'm certain I would not stand for elements named squirtyparts, or however you pronounce that string of random characters. It violates basic code maintainability principles as listed in the 2nd amendment (you know the one - any member of the local militia is allowed to use their pair of bear arms to heft the clue bat...).

    For one thing, while you can make custom elements, I personally prefer custom attributes, since you only need to type them once, and you can pass them a variable if you fancy it.

    As for whether websites should decay gracefully without javascript... I think we're moving out of the age of non-javascript websites now. I find a decent SPA to be much nicer to navigate than static-page websites, unless the website is very basic.



  • @RaceProUK said:

    Or a centipede isn't an insect because it has more legs than a fly.

    The more legs the more insecty it is to me. I don't like anything with more than 4 legs, if I'm not missing anything.



  • @fbmac said:

    I don't like anything with more than 4 legs, if I'm not missing anything.

    How do you feel about dragons? I mean real dragons, the ones that aren't real, not any of the real things are called dragons but aren't really.

    ...wait, that's still only four legs, even though they're mostly hexapods. Damn.



  • @RaceProUK said:

    Right, so somehow, as if by magic, more JavaScript means it's not a website. Despite being built from a collection of webpages just like a website, served over HTTP just like a website, and viewed in a browser just like a website, running more JavaScript makes it not a website.

    Because it no longer weighs the same as a duck, so it isn't made of wood. Do keep up.



  • @HardwareGeek said:

    Centipedes can have anywhere from 30 to 354 legs and are members of subphylum Myriapoda, class Chilopoda.

    There is only one important thing to know about centipedes, and it is this: after skinny dipping, shake out your shorts.



  • @Shoreline said:

    As for whether websites should decay gracefully without javascript... I think we're moving out of the age of non-javascript websites now.

    Maybe. Not a good thing, though. Vast majority of websites doesn't and shouldn't need 10MB of jabbascript to work properly. But no, we gotta make it 100% React because we have 3 XHR calls across the entire site, and infiniscrolls, and trying not forget to reimplement proper navigation, and other annoying bullshit that's worthless but trendy. I wish we went back to web 1.0. Or 0.9 even. I'd rather browse GeoCities than deal with this.

    @Shoreline said:

    a decent SPA

    😆


  • :belt_onion:

    Burn herit



  • @flabdablet said:

    There is only one important thing to know about centipedes, and it is this: after skinny dipping, shake out your shorts.

    Yes; however, for you at least, that is merely a specific form of the general statement, "There is only one important thing to know about Australia, and it is this: Everything wants to kill you, and will, given half a chance."



  • And this uniting against the common enemy business is why Australians tend not to want to shoot each other.



  • @fbmac said:

    I don't like anything with more than 4 legs, if I'm not missing anything.

    So a turducken is out of the question?


Log in to reply