Progressive enhancement with handlers and enhancers | hiddedevries.nl
The tone is a bit too heavy-handed for my taste, but the code examples here are very handy if you’re weaning yourself off jQuery.
It’s very early days for ServiceWorker, but Jake is on hand with documentation and instructions on its use. To be honest, most of this is over my head and I suspect it won’t really “click” until I try using it for myself.
Where it gets really interesting is in the comments. Stuart asks “What about progressive enhancement?” And Jake points out that because a ServiceWorker won’t be installed on a first visit, you pretty much have to treat it as an enhancement. In fact, you’d have to go out of your way to make it a requirement:
You could, of course, throw up a splash screen and wait for the ServiceWorker to install, creating a ServiceWorker-dependant experience. I will hunt those people down.
Scott’s trying to find out the best ways to load critical CSS first and non-critical CSS later. Good discussion ensues.
Don’t get me wrong: jQuery is great, but for a lot of projects, you might not need 90% of the functionality it provides. So try starting with vanilla JS and only pulling in jQuery if and when you need it.
Another good ol’ rant from Tom. It’s a bit extreme but the underlying lamentation with the abandonment of progressive enhancement is well founded.
Go, Dan, go!
A terrific piece by Remy—based on a talk he gave—on when he uses jQuery and, more importantly, when he doesn’t. His experiences and conclusions pretty much mirror my own, but of course Remy is far more thoughtful and smart than I.
Really good stuff.
I like the sound of the book that Chris is writing for Smashing Magazine. It sounds like a very future-friendly approach to front-end development.
This is handy: a look at which DOM properties and methods cause layout thrashing (reflows).
Remember when I made that canvas sparkline script? Remember when Stuart grant my wish for an SVG version? Well, now Tom has gone one further and created a hosted version on sparksvg.me
Not a fan of sparklines? Bars and circles are also available.
This looks like a handy way of enhancing forms to have input masks (Luke W. would approve). Right now it’s a jQuery plug-in but I’m sure someone as smart as you would be able to create a standalone version, right?
This looks great! It’s a CC-licensed book by Cody Lindley (whose work I’ve admired for many years) aimed at teaching DOM Scripting for modern browsers. You can read the whole thing online or wait for the paper version from O’Reilly.
Here’s something that Josh debuted at Smashing Conference: a script for responsive designs to adjust font-sizes based on a desired line-length.
Inevitably, it’s a jQuery plugin but I’m sure somebody could fork it to create a standalone version (hint, hint).
This is excellent! Scott, Wilto, and the gang at Filament Group have released the tools they use to help them craft performant responsive sites. Lots of excellent resources for conditional loading here.
I really like this trend of small standalone scripts rather than plug-ins that require the presence of a library.
This cracked me up. There are two possibilities: either this is really is very funny or I am very nerdy.
That Scott is one smart cookie. He has come up with a workaround (using the accelerometer) for that annoying Mobile Safari orientation/zoom bug that I blogged about recently.
I still want Apple to fix this bug as soon as possible—the fact that such smart people are spending so much effort on ingenious hacks shows just how much of a pain-point this is.
I’ve found myself using jQuery less and less recently. Partly to avoid the extra download and file size but also—as shown here—when it comes to DOM manipulation, there’s a lot you can do straight out of the box.
An in-depth look at browser polyfills: what they are, how they work, and how you can make your own.
Jake Archibald has a blog now. Subscribed.
I wonder if it’s the use of class names or jQuery that allows it to work here?
A quick overview and explanation of web intents.
This is your one-stop shop for envelope-pushing in the browser:
This could be a handy: a client-side spellchecker. The dictionary files are a bit big of course—maybe local storage could help.
A $15 PDF book on jQuery from Cody Lindley.
Asteroids implemented using HTML5's canvas.
Brendan Dawes pointed me to this wonderfully playful creation. It's Flash-free, believe it or not.
Here's an interesting idea: generating a sparkline when you input a password ...familiarity with the generated sparkline acts as a visual aid to the user.
A detailed comparison of jQuery and MooTools.
Stuart has an interesting take on ARAI attributes. Why can't they be set declaratively in an external file in the same way as we set styles?
A nice way to play around with Google's APIs. Example code is provided which you can edit and immediately see the results.
Remy teaches non-techies how to use jQuery in a responsible way.
An excellent overview of Ajax and optimisation.
John Resig offers an alternative user interface for selecting a time.
A wonderful example of why the patent system is so totally b0rked and completely unsuited to software. Someone patent Ajax (or Remote Scripting, if you prefer) back in 2001. Un. Bel. Eeeevable.
Christian is using the prize money he won at Mashed to put on an event in London in September devoted to "ethical hacking": creating mashups to make social networks more accessible.
Cam's latest experiment is insane but brilliant ...sort of like Cam himself.
Simon's slides and demos from his half-day workshop at XTech.
Ignore the attention-grabbing headline. Brothercake is something more nuanced here (and he's backing it up with examples).
A handy cheat sheet of jQuery methods to print out and keep on hand.
This is a good straightforward hands-on explanation of Ajax: succinct and clear.
PPK has once again been doing sterling work. He's updated the DOM compatibility chart and things are actually looking pretty good.
From the people who brought you jQuery comes a set of widgets built using jQuery complete with documentation and tutorials.
Okay, this started as a joke but then I couldn't resist writing a bit of code. Usage: OH_HAI.I_CAN_HAS_ELEMENT_BY_ID("Id") and OH_HAI.I_CAN_HAS_ELEMENTS_BY_TAG_NAME("tag").
DOM Scripting... now also available in Korean.
What excellent taste this web design shop has. I don't mean the fancy scrolling—I'm talking about what's on the bookshelf.
A collection of scripts. There might be some good stuff here but use with care and discretion.
A brilliant list of New Year's Resolutions for Coders.
A PDF of Dan's slides from RailsConf. Looks like it was an excellent presentation.
A French translation of my most recent article for A List Apart.
The Spry framework from Adobe looks like it could be worth further investigation. I certainly like the underlying philosophy: lightweight, standards-based, and declarative.
Cameron has written a great article on using APIs with Ajax. I love the idea of using .htaccess to fake a proxy and get around the same-site restriction.
Garret gives an excellent, excellent round-up of the factors involved in the behaviour layer of front-end architecture (that's 'building websites' to you and me).
The slides of the Hijax talk from the Ajax Developer's Day at XTech 2006 in Amsterdam.
John has been working behind the scenes on this for quite a while and now it's ready for launch. Lots of yummy standards-based goodness in bite-sized chunks.
Douglas Crockford has written a wrapper function to allow the easy interchange of JSON data between servers.
Respect the DOM t-shirt
This <a href="http://bingo.adactio.com/">looks familiar</a>. Great minds think alike. (For some reason, this page has 76 divs and 50 tables. Yikes!)
Yes, Ajax is over-used but here are some cases where it really helps.
My fellow Brightonian geek, Dom, has written an article about using Perl and Ajax.
A transcript of the Q&A session with Dave.
"...it must degrade well. It must still be accessible. It must be usable. If not, it is a cool useless piece of rubbish for some or many people."
One great web development tip for every day in the Advent calendar, courtesy of Drew McLellan
Who knew? The way I do my Ajax is a microformat. AHAH: Asynchronous HTML and HTTP.
The W3C proves that it can move with the times: "The mission of the W3C Web API Working Group is to develop specifications that enable improved client-side application development on the Web." This is very good news indeed.
Download the PDF of the slides and play around with the demo from Tim Lucas' recent presentation.
Ajax in The Guardian.
Yet another Ajax implementation, but this one is making some bold claims regarding accesibility. I must investigate further.
A nice introduction the XMLHttpRequest object by Cameron Adams.
An excellent alternative to the inline cruft so common in most Ajax applications.