Are we in a scripting-dependency backlash?

I agree with this and I agree with knowing the target market 100%.

Then expect it to work with JS turned off. :confounded:

The site may. Because it’s just a site with some links. The linked apps certainly do not (which are what I was referring to).

Right, and it’s a matter of people who are setting those requirements sometimes not really fully understanding what they’re asking for. Yes, this could be prettier - or even more functional, if we do XYZ during the redesign. But we may be introducing ABC points of failure or complexity as well to add those features. They have to decide what it’s worth to them without having actually used the dreamy new thing they’re thinking of, which I suppose may be difficult.

I’ve rarely been in the position to be the one setting the requirements for a project, so I suppose I shouldn’t be too harsh on people :smiley:

And with proper form markup and submit buttons, the linked apps would work fine. Merely proves my point (IMHO).

What about deleting, ordering, completing, modifying, counting, and sorting?

I mean, it’s a simple app. Yes, it would be easy to recreate using HTML and a traditional backend. But it needs to be recreated in order to achieve that. And the point is you now you have 2 apps to support instead of 1. It’s not the same app with some minor changes, it’s a completely different app that only <2% of general audiences need.

Then with the exception of the sorting (which would be clunky at best with js disable), I would argue it wasn’t built the right way. Anytime I’ve build sites like this, I’ve built the supporting methods so they would work with either the client side or the server side in mind (in other words, one item at a time, or all items at once)

[quote=“DaveMaxwell, post:45, topic:175614”]I would argue it wasn’t built the right way.
[/quote]

And that’s why I think even giving progressive enhancement a consideration is a bad practice to get into the habit of. You are now severely limiting what over 98% of your users can do and experience, because you want to appease less than 2% of them.

When you drop that notion, a whole world of possibilities start opening up. And your time can be spent on those things instead.

The whole thing would be clunky, because you’ll have to constantly refresh the page to do anything. Users don’t like clunky.

1 Like

We’ll have to agree to disagree. You look at it as appeasing, I look at it as not losing 2% of potential customers, especially if they are paying customers. If you have 100,000 customers a year (a low number for most sites), you are really willing to overlook 2,000 customers?

At any point, did I ever say that the experience had to be the same with JS disabled? No, but functional should be expected.

Then you need to evaluate cost vs reward. Do those 2,000 spend enough to justify the extra hours/days or hiring more developers it will take to maintain 2 separate apps? How many of those 2,000 can you just convince to turn on JS? If it’s a corporate need, can you (or they) just call their IT and tell them it doesn’t work so that they can add that site to a whitelist?

And why does it need to be two separate apps? Progressive Enhancement is about adding behaviors which make for a better experience, not for a totally separate experience. So an infinite scrolling functionality calls the method - one just returns one instance, one returns a “page” worth. But the method can be the same.

It takes a little more planning, but there is very little additional work in the long run.

Nice discussion, guys, some good thoughts from all sides.

One thing I’d like to say about PE techniques:

While @mawburn is right, I don’t believe stuff built in AngularJS (or another framework) is going to “break” in 5 years, I do believe that in 5 years, a website built with 5-year-old Angular code is going to be a nightmare to try to update or maintain.

In my opinion, PE techniques ensure that a website is fairly easy to maintain. When you have your 3 layers — content, presentation, and behaviour — in their assigned places, you can go back to the project in 5 or even 15 years and it shouldn’t be that hard to make sense of what’s happening.

But that being said, I have never worked with AngularJS or other such frameworks, so I’m probably not in a position to judge if they will be maintainable in the years down the road.

Just my extra 2 cents. :smiley:

4 Likes

So you are saying that you could make a Angular JS application work without ANY JavaScript with perhaps a 5% increase in time it would take to make the app that only works with JavaScript turned on. I seriously doubt that unless the app has a very small scope and even than you would need two separate sites.

This whole argument is like saying if I take the engine out of my car it should still run, ridiculous. JavaScript is a dependency of the internet. If you turn it off or it is not accessible don’t expect a site to work any different than that of a electronic that has the batteries removed.

2 Likes

This topic has been discussed million times already…but let me chime my own opinion.

To understand my point, one needs to understand that the best technologies invented are the lazy people. For example, ‘TV remote controller’. Just about all technologies get criticized such as ‘TV remote controller promotes obesity because you get less exercise’. This is what’s happening in the JS world. All the lazy people are coming w/ great MV* inventions and they are getting criticized. This is to be expected until it becomes the ‘norm’. I like to use MV* because it’s made by smarter people than I am, I can do the task quicker, and I get to go home on time. Also, they provide bug patches that I don’t need to do, constantly improving performance, and features for ‘free’. I’m not saying DIY Javascript developers are bad. I mean… more power to you but in general most people are lazy (like myself). So go make your house w/ nails and hammers while I would buy a pre-built house where I just need to do minor customization. I realize that no matter what I say can’t convince you pro ‘site must work w/o js’, but you can’t deny that people are generally lazy. With that being said, I am very proud and honor to use any technology to make my job easier.

1 Like

There is no way to get such stats since JavaScript can be turned on and off automatically for different web pages and in some cases such as with this forum needs to be turned on and off while interacting with the web page. If I want to copy/paste content into a post I am making on this site then I need to turn JavaScript off in order to be allowed by the site to do the copy/paste and then turn it back on in order to post. So what fraction would you include in stats for whether I have JavaScript enabled just for this one site - perhaps 1/2 - or should is be off since that part of the site processing is broken for me when JavaScript is on.

There are plenty of other sites with antiquated broken JavaScript that require that you have JavaScript off all the time in order for those sites to function at all. Since not everyone knows how to turn JavaScript on and off as needed those who regularly visit sites with broken JavaScript would have it turned off all the time in order that those sites work.

Enough sites use progressive enhancement that if you decide not to bother then there are plenty of your competitors that those people you don’t cater for can use instead. What might make a difference to you is if they convince all their friends to do the same and their friends do as well. You might find that for each person who your site doesn’t cater for that they and 10,000 of their friends and friends friends etc use your competitors site instead.

You will never get everyone to have JavaScript on all the time until people stop writing JavaScript that breaks.

<noscript> tags will fire if you turn JavaScript off while browsing a page. So you can still test who doesn’t have JavaScript using images.

Unless the plugin specifically disables this behavior or <noscript> tags. But that data would just be considered outlier data and probably shouldn’t be factored in anyway.

Why would it - the page has already rendered.

I don’t see any noscript content suddenly appearing when I temporarily turn JavaScript off here in order to copy/paste and nothing disappears when I turn JavaScript back on.

I do in Chrome and FireFox and I’m pretty sure it does it in IE too, but I’m not sure about Opera.

A good reason for NOT using those browsers. Being half way through an interaction with a web page and losing everything you have done so far because you need to turn JavaScript off temporarily is ridiculous. You’d never be able to finish.

Anyway web pages designed for browsers more recent than Netscape 4 shouldn’t be using the noscript tag as there is a far more powerful alternative for more modern browsers called JavaScript. Sites that use noscrript are almost prehistoric.

LOL

If you look at view-source you will see that this Discourse page has a large section of mark-up inside noscript tags.
And the Dircourse Team “supports only the current versions” of browsers.

I have no idea why this is so, as I also feel that noscript tags, though in some ways “easy”, are a thing of the past.

This has literally never happened to me.

Felgall has made lots of special customizations to his browser, and lots of sites don’t work for him. But don’t worry… he’s certain that his customizations are completely unobtrusive, and the numerous problems on numerous sites that only he runs into are obviously everyone else’s fault. :wink:

1 Like