"The Good Enough Revolution" - As it applies to js

M

Matt Kruse

I found this article interesting:
http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenough?currentPage=all

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity. This is a
trade that most js developers are willing to make.

Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

But for most people, these purists are missing the point. "Good
Enough" really is Just Fine.

Just a thought.

Matt Kruse
 
S

Stevo

Matt said:
I found this article interesting:
http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenough?currentPage=all

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity. This is a
trade that most js developers are willing to make.

Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

But for most people, these purists are missing the point. "Good
Enough" really is Just Fine.

Just a thought.

Matt Kruse

I completely agree. The makers of libraries like jQuery and prototype.js
are just trying to re-use code and that's a good aim to have. They start
out small and simple (and probably clean and well organized) and then
the new requirements come in by the bucketload and it just gets out of
control. Anyone who then comes along and takes a look just sees the mess
it's become and completely disregards the good intentions that were
there at the beginning.

Your point-and-shoot camera is a perfect analogy. It's not a $20,000 top
of the range Nikon which the purists demand, but it fits in the pocket,
takes near-zero knowledge to use and gets a basic job done.

The same should apply to the JS libs but generally doesn't. It's a
losing battle of wanting to be so flexible in their API that it becomes
very complex to make something simple like putting a DIV on a page and
moving it across the screen. That sounds simple, and if you were writing
your own function it would be, but the function in a super-flexible lib
would need to offer dozens of options for that simple display and
animate function that it becomes difficult. Of course, if they didn't
offer all those options, then people would complain it's no good for
them. Catch 22.

I've never used any of the often criticized libs, but I respect the
people that made them enough not to talk trash about them.
 
J

Jorge

I found this article interesting:http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenou...

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity. This is a
trade that most js developers are willing to make.

The more complex a page becomes the sooner they'll start to appreciate
libraries like JQuery.

There are many people here in cljs still worried that javascript might
be disabled. That just proves that they're still living in the past,
when pages were just pages and not (web) applications.
Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

But for most people, these purists are missing the point. "Good
Enough" really is Just Fine.

Just a thought.

Matt Kruse

Libraries are, and have ever been, pieces of code that perform a/some
function(s) to use when you don't want to write (for whatever reason)
your own piece of code to perform that/those function(s). There's
nothing wrong with this, and, often, those libraries were written by
people with more experience than you in the problem at hand.
 
E

Eric Bednarz

Matt Kruse said:
Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models.

Analogies are like … oh, wait.

(I recommend becoming a graphic designer and trying to smuggle your good
enough point-and-shoot material past the art director without getting
cat o’ nine tailed)
 
P

Pherdnut

In any working coding situation it's always about 'good enough.' We
can spend colossal amounts of time making things faster, better,
stronger, more flexible and we rarely get the time needed just to
satisfy our own pride as developers but the reality of the situation
is that we're getting paid to produce and the time we'd like rarely
agrees with the time considered 'acceptable.' Some people skip the
pride part and never work longer than 40 hours a week if they're not
asked to. They'll just poop it out and move to the next deadline.
Sadly those are the ones who tend to end up managing and determining
what is an acceptable time frame. A well-written, well-maintained
framework that focuses on the basics of what makes dealing with the
DOM and cross-browser issues tedious and time-consuming is not about
mediocrity for me. It's about buying more time to do it as right as I
can with the time allotted plus the ten to twenty extra hours I put in
a week making it 'good enough' to fit my standards.
 
G

Garrett Smith

Matt said:
I found this article interesting:
http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenough?currentPage=all

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity.

Nope. It's a poorly designed library.

This is a
trade that most js developers are willing to make.

Nope. jQuery has the classic signs of religion. I learned in the first
grade that you can't argue with religion. My classmate taught me that,
imploring me to prove that god did not exist.
Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect,

JS purist? What is that? Sounds like trying to put a label on someone
who tries hard.

Things not being perfect does not provide a good reason for doing them
half-assed.

this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

But for most people, these purists are missing the point. "Good
Enough" really is Just Fine.

That speaks of a low standard of personal achievement. I find this to be
a widespread problem in the USA.
Just a thought.

Didn't like it. The part of "good enough" is uninspiring and depressing.
The generalization and labeling goes to the extreme. It's not just being
lazy and making excuses, it's making a scape goat out of those who try
hard. That makes me angry.

I did like this:-
Don't ship shit.
http://www.artima.com/weblogs/viewpost.jsp?thread=7588

- along with mostly everything he's written, but in particular, "Agile
Software Development, Principles, Patterns, and Practices."

Garrett
 
G

Garrett Smith

Jorge said:
The more complex a page becomes the sooner they'll start to appreciate
libraries like JQuery.

I hope this silly jQuery craze is not going to last much longer.
There are many people here in cljs still worried that javascript might
be disabled. That just proves that they're still living in the past,
when pages were just pages and not (web) applications.
Sounds more like you want a reason to understand why javascript might be
disabled, and so you've made one up.

Plenty of awful sites misusing javascript to be "web 2.0". PubMed and
Yelp are good examples of such abuse.
 
D

Doug Gunnoe

There are many people here in cljs still worried that javascript might
be disabled. That just proves that they're still living in the past,
when pages were just pages and not (web) applications.

My blackberry came with javascript disabled.
 
G

Gregor Kofler

Matt Kruse meinte:
I found this article interesting:
http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenough?currentPage=all

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity.

That depends of course on the definition of those latter terms...
This is a
trade that most js developers are willing to make.

What now? Are you talking about "JS developers" or "library-users" (in
the sense of "script kiddies").
Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

Interestingly enough, I hardly ever see professional photographers
(those who get paid for taking photos) with a point-and-shoot camera.
But for most people, these purists are missing the point. "Good
Enough" really is Just Fine.
Just a thought.

True. We never had this "discussion" before...

Gregor
 
J

Jorge

(...) Much of Apple's software
appears to be built around the "good enough" principle; it's shiny, easy
to use, and even my dad would know where to click, because there's only
one button. The downside is... there's only one button. If you want to
do something else, you're out of luck - but hey, 95% of the time, one
button is "good enough". (...)

LOL, software quality is directly proportional to the number of
buttons... ?
 
J

Jorge

That's rich. How do you keep your pages (or applications) accessible, if
you require JavaScript?

So, do you still buy -nowadays- that a web app should run 100% server-
side, and serve just pure html and as few unobtrusive javascript as
possible ?

I'd bet you $10 that this (bs) isn't going to last for much longer...

A browser without javascript *enabled* is going to end up being as
useful and desirable as a PC without an internet connection...
Summary: if you like JQuery, good for you, but don't expect the "purists
in cljs" to suddenly see the light, because there's nothing new to see
in JQuery. It's not the holy grail, and it's not the worst tool you
could choose either, it's just a very popular library, that's all.

JQuery is one of them. More are yet to come. Sooner or later you'll
find the one that you like, and you'll use it. Because the need is
there. Because the API the browsers provide is a pitiful mess and the
need for a better-thought higher-level one exists. The desire is
inside you too already, although you may not have noticed it yet :)
 
J

Jorge

(...)
Plenty of awful sites misusing javascript to be "web 2.0". PubMed and
Yelp are good examples of such abuse.

And plenty of awful sites too, built around the tired old <form> comes
<form> goes model, completely ignoring the (client-side) browser's
scripting true capabilities.
 
P

paolochiodi

In my point of view libraries like jQuery can help when you have to
work with the dom, working out browser incompatibility specially when
doin simpla action in a traditional web site;
But they became quite unusefull when building big applications.
Some times (mobile, embedded) the trade off speed is significant.

Paolo
 
J

John G Harris

I found this article interesting:
http://www.wired.com/gadgets/miscellaneous/magazine/17-09/ff_goodenough
?currentPage=all

And had a thought about javascript libraries like jQuery, et al.

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity. This is a
trade that most js developers are willing to make.
<snip>

The article mentions the 80/20 principle. 80% of the work of a JQuery
web page is done by the 20% that is HTML+CSS. Let's be good enough and
get rid of the other 80%.

John
 
G

Garrett Smith

Doug said:
My blackberry came with javascript disabled.

I received report the older blackberry had CSS disabled.

BTW, which version of blackberry support postMessage?

Garrett
 
P

Pherdnut

  <snip>

The article mentions the 80/20 principle. 80% of the work of a JQuery
web page is done by the 20% that is HTML+CSS. Let's be good enough and
get rid of the other 80%.

  John


I regularly reduce old code on the sites I work on by more than half
using JQ and I'm being conservative. It's probably been used to knock
out megabytes worth of crap-code on our sites in just the last couple
months. That's worth a one-time cache of 15K for the user. If you had
say... 3-5 static page sites that just needed some form validation in
mind, I could see your point.
 
R

RobG


I don't think "good enough" is a revolution, the concept has been
around ever since humans have been selling products. It's one of the
reasons Windows killed OS/2.

And had a thought about javascript libraries like jQuery, et al.

The difference though is that the users in this case are developers
who don't use the product they make. The users of the product have no
say in the matter - the result might be different if they did. How
many sites offer alternative versions to see which "product" users
like better?

I believe this is the point that many library-users try to make that
js "experts" seem to miss. jQuery (as the popular example) is "good
enough". It trades power, perhaps some speed, and certainly some
compatibility for flexibility, convenience, and simplicity. This is a
trade that most js developers are willing to make.

But are the end users aware the developer choices are forcing upgrade
costs onto them? Many sites now require the use of a recently released
browser, end users aren't aware that it was a developer who decided
not to support their otherwise perfectly functional browser, not the
owner of the site.

I recently re-installed Windows 2000 Pro. As soon as it was installed,
I ran Windows update, which refused to work unless I upgraded to IE
6. Microsoft's download site refused to work with IE 5.5 - so how was
I supposed to upgrade? A great catch-22.

Unsurprisingly, the Firefox download site worked fine so I installed
Firefox and Googled for IE 6 downloads.

A classic example of developers simply not bothering to support their
user base. Or perhaps it's a deliberate strategy to make life
difficult for Win2k users - either way, the effect is that because
their site depends on users having the latest and greatest browser,
anyone else is left out in the cold.

Although the js "purists" will always argue that libraries are _not_
"good enough" because they are never perfect, this is the same
argument that camera purists may make about cheap point-and-shoot
cameras that do not have the quality of the more advances models. Or
any purists in any field who argues against the "good enough"
technology.

I don't think it has anything to do with being a "purist", but much
more to do with valuing quality. It is very easy to use technology to
unwittingly discriminate against users who don't have the latest and
greatest PC or browser. Placing arbitrary constraints on the use of
the web purely because a developer's ignorance disenfranchises a class
of users is the antithesis of the fundamental reasons for the World
Wide Web and the internet as a whole.

The use of libraries can also lead to so very poor development choices
with shockingly inefficient code - again, this forces users to
consider upgrades because their otherwise perfectly functional PCs
become more and more sluggish.

But for most people,

Where "most people" means inexperienced developers.
these purists are missing the point. "Good
Enough" really is Just Fine.

No, it isn't. Those who promote libraries, refuse to listen to valid
criticism and don't see that they aren't "just fine" are the ones
missing the point.

The argument against libraries is not just related to javascript, but
is of general interest for most programming languages. The site I am
working at has developed a number of VB applications over the years
using MS development tools. Recently, they have been forced to
upgrade certain parts of their technology stack, and now half of those
VB programs must be re-written because the current libraries don't
support things that were use in previous versions.

So while at the time they might have been seen as "good enough", they
certainly aren't now.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,534
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top