Accessibility and Low-Powered Devices | Brad Frost
Brad points out the importance of supporting—which is not the same as optimising for—the non-shiny devices out there.
I really like using the Kindle’s browser as a good baseline for checking that information is available and readable.
Progressive enhancement with handlers and enhancers | hiddedevries.nl
Keeping it simple: coding a carousel by Christian Heilmann
I like this nice straightforward approach. Instead of jumping into the complexities of the final interactive component, Chris starts with the basics and layers on the complexity one step at a time, thereby creating a more robust solution.
If I had one small change to suggest, maybe
aria-label might work better than offscreen text for the controls …as documented by Heydon.
Let Links Be Links · An A List Apart Article
A superb piece by Ross Penman on the importance of being true to the spirit of the web.
With a spoonful of flexbox by Charlotte Jackson, Front-end developer
Charlotte has experimenting with a nice discrete bit of flexbox on her personal site. Here she documents what she did, and what the fallback is.
Playing With Flexbox and Quantity Queries, From the Notebook of Aaron Gustafson
Aaron documents his process of implementing Heydon’s clever quantity queries in CSS.
I am really looking forward to hearing Heydon’s talk at Responsive Day Out.
Purple: A UI kit for Heroku’s web interfaces
Hot on the heels of Github’s pattern library, here’s Heroku’s.
Home · Primer
Github’s pattern library.
As always, it’s great to see how other organisations are tackling modular reusable front-end code (though I can’t imagine why anyone other than Github would ever want to use it in production).
Responsive News — We’ve made it.
The responsive BBC News site is live! Hurrah!
Here’s a look at the highs and lows of the site’s story, emphasising the importance of progressive enhancement and all that enables: feature detection (by “cutting the mustard”), conditional loading, and a mobile-first approach.
Experiment: Using Flexbox Today - Chris Wright
Practical examples showing where you can use flexbox right now, along with some strategies on how to start doing it.
What Does My Site Cost?
A terrific little tool from Tim that puts performance into perspective by measuring how much money users are spending just to view your website on a mobile device.
A JS framework on every table - Allen Pike
The Path to Performance // Speaker Deck
The slides from Katie’s recent talk.
Performance is a rising requirement for building successful websites, but successful performance begins far earlier than development. So how do you get your entire team excited by it, specifically aesthetic-heavy designers?
Quantity Queries for CSS · An A List Apart Article
A terrific bit of smart CSS thinking from Heydon Pickering.
You know he’s speaking at Responsive Day Out, right?
localFont - A localStorage solution for web font loading
A quick drag’n’drop way to base 64 encode your web fonts so you can stick ‘em in local storage.
Harnessing Flexbox For Today’s Web Apps - Smashing Magazine
This time it’s a great article by Karen Menezes filled with practical examples showing where you can use flexbox today.
flexbox in 5 minutes
A really handy interactive intro to flexbox. Playing around with the properties and immediately seeing the result is a real help.
Access Optional - TimKadlec.com
It will come as no surprise that I agree with every single word that Tim has written here.
Awesomplete: Ultra lightweight, highly customizable, simple autocomplete, by Lea Verou
Lea wasn’t happy with the lack of styling and extensibility of the datalist element, so she rolled her own lightweight autocomplete/type-ahead widget, and she’s sharing it with the world.
Who Should Pay?, From the Notebook of Aaron Gustafson
When I look around, I see our community spending a lot of time coming up with new tools and techniques to make our jobs easier. To ship faster. And it’s not that I’m against efficiency, but I think we need to consider the implications of our decisions. And if one of those implications is making our users suffer—or potentially suffer—in order to make our lives easier, I think we need to consider their needs above our own.
A great description of progressive enhancement.
Progressive enhancement in its basic form means not making assumptions
Better SVG Fallback and Art Direction With The <picture> Element
Smart thinking from Sara on providing a PNG fallback to browsers that don’t support SVG. Although, actually what I like about this solution is that it’s less about providing PNG as a fallback, and more about treating PNG as the baseline and SVG as the enhancement (an approach that the picture element is perfect for).
Grid by Example
We were discussing the CSS3 grid layout module in the Clearleft office today, so naturally Rachel’s name came up. This is such a great resource for diving into this stuff.
Progressive Enhancement and Data Visualizations | CSS-Tricks
A nice little pattern for generating a swish timeline in SVG from a plain ol’ definition list in HTML.
The Practical Case for Progressive Enhancement — sixtwothree.org
You know what? Just go and read everything that Jason writes, okay?
Ruddy good stuff.
Designing Experience Layers — sixtwothree.org
The engineering benefits of building websites with a layered approach.
Why, yes, I am talking about progressive enhancement yet again! Why do you ask?
The “Web Application” Myth — Medium
Sensible words from Christian.
Web applications don’t follow new rules.
And frameworks will not help:
A lot of them are not really fixing fundamental problems of the web. What they do is add developer convenience. … This would be totally OK, if we were honest about it.
Responsible Social Share Links — Jonathan Suh
If you insist on having “social” sharing buttons, here’s a way to avoid bloating your page unnecessarily.
But you might want to reconsider whether you need them at all.
Experience Development pt. 2: Progressive Enhancement with Jeremy Keith on Huffduffer
I really enjoyed chatting with the guys on the The Dirt podcast about progressive enhancement, but my goodness; it certainly sounds like I need to switch to decaf! Yappity-yapity-yap!
Over It by Brad Frost
A Long Journey Reaches a Happy Conclusion: The Uncertain Web is Out In All Formats
Rob Larsen was published a book with O’Reilly called “The Uncertain Web: Web Development in a Changing Landscape”. I like it:
A refreshingly honest look at the chaotic, wonderful world of web development, with handy, practical advice for making future-friendly, backward-compatible websites.
The Shifting Definition of Front-End Developer
I don’t agree with the conclusion of this post:
But I think the author definitely taps into a real issue:
The real problem is the perception that any code running in the browser is front-end code.
This is something we’re running into at Clearleft: we’ve never done backend programming (by choice), but it gets confusing if a client wants us to create something in Angular or Ember, “because that’s front end code, right?”
Front end and back end - QuirksBlog
The difference between back-enders and front-enders is that the first work in only one environment, while the second have to work with myriad of environments that may hold unpleasant surprises.
The challenge for web designers in 2015 (or how to cheat at the future)
Designing primarily in a laptop web browser and testing with a mouse rather than fingers may come to look very out of date soon.
The problem with Angular - QuirksBlog
I have doubts about Angular 1.x’s suitability for modern web development. If one is uncharitably inclined, one could describe it as a front-end framework by non-front-enders for non-front-enders.
How we use web fonts responsibly, or, avoiding a @font-face-palm by Filament Group
Smart thinking here on the eternal dilemma with loading web fonts. Filament Group have thought about how the initial experience of the first page load could be quite different to subsequent page loads.
Advice for writing Sass. I don’t necessarily agree with everything, but on the whole, this is a solid approach.
It’s worth bearing Chris’s advice in mind.
CSS: Just Try and Do a Good Job
Good advice from Chris, particularly if you’re the one who has to live with the CSS you write.
As Obi-Wan Kenobi once said, “You must do what you feel is right, of course.”
Taking Chrome DevTools outside of the browser. — Kenneth Auchenberg
Kenneth has isolated Chrome’s dev tools into its own app. This is a big step towards this goal:
Why are DevTools still bundled with the browsers? What if clicking “inspect element” simply started an external DevTools app?
With DevTools separated from one specific browser, a natural next step would be making the DevTools app work with other browsers.
Poor Man’s Styleguide | A frontend styleguide for the pragmatic
A handy starting point for creating a front-end styleguide: a single document of HTML elements.
Implement Server-Side Rendering for SEO · Issue #9938 · emberjs/ember.js
Watch this space.
Responsive Enhancement ◆ 24 ways
My contribution to this year’s edition of the web’s best advent calendar.
Websites of Christmas Past, Present and Future ◆ 24 ways
A superb article by Josh on planning for progressive enhancement—clearly laid out and carefully explained.
Bruce Lawson’s personal site : On the accessibility of web components. Again.
I completely share Bruce’s concern about the year-zero thinking that’s accompanying a lot of the web components marketing:
Snarking aside, why do so few people talk about extending existing HTML elements with web components? Why’s all the talk about brand new custom elements? I don’t know.
I’m a fan of web components. But I’m increasingly worried about the messaging surrounding them.
Performance Budget Metrics - TimKadlec.com
Some good practical advice from Tim on setting a performance budget.
Use rule-based metrics to make sure you haven’t overlooked simple optimizations.
Use quantity-based metrics as guides to help designers and developers make better decisions about what goes onto a page.
This isn’t a scientific data sample, but Jonathan’s anecdotal evidence seems to suggest that most web designers and developers are still thinking with a desktop-first mentality. Which is crazy.
Style Guide Resources
A very handy collection from Anna: articles, books, talks, podcasts, and examples of front-end style guides. If something’s missing, feel free to add it.
Overwhelmed by Code · An A List Apart Blog Post
Focus on what you want to learn; not what you think you should learn.
There is a lot of pressure out there: to learn new things, to spend all your time coding, to be the super developer. I now believe that to be impossible and unhealthy. It means you aren’t living a balanced life and it also means that you’re living under constant stress and pressure.
Responsive Images in Practice · An A List Apart Article
A great primer on using
picture. I think I’ll be referring back to this a lot.
7 Principles of Rich Web Applications
ARIA Quicktip: Labelledby vs. Describedby, From the Notebook of Aaron Gustafson
Yesterday, Aaron gave a great talk at BD Conf about forms. In one example, he was using
aria-describedby. I was a bit confused by the differences between
aria-labelledby, so Aaron has very helpfully clarified the distinction.
Stop Breaking the Web
Angry, but true.
Don’t lock yourself into a comprehensive technology that may just die within the next few months and leave you stranded. With progressive enhancement you’ll never go wrong. Progressive enhancement means your code will always work, because you’ll always focus on providing a minimal experience first, and then adding features, functionality, and behavior on top of the content.
JS Bin: Vertical centering is impossible in CSS lol!
Four different techniques for vertical centring in CSS, courtesy of Jake.
Replacing Radio Buttons Without Replacing Radio Buttons
A great technique from Heydon for styling radio buttons however you want.
Solved By Flexbox — Cleaner, hack-free CSS
The boring front-end developer - Adam Silver, Front end developer, based in London
My name is Jeremy and I am a boring front-end developer.
Progressive Enhancement Basics
Some thoughts on progressive enhancement, although I disagree with the characterisation of progressive enhancement as being the opposite choice to making “something flashy that pushes the web to it’s limits”—it’s entirely possible to make the flashiest, limit-pushing sites using progressive enhancement. After all…
it’s much more a mindset than a particular development technique.
56 Experts reveal 3 beloved front-end development tools
Turns out that Brian LeRoux and I gave the same answer to this question:
I think I just saved you a click.
Using ServiceWorker in Chrome today - JakeArchibald.com
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.
A Fundamental Disconnect, From the Notebook of Aaron Gustafson
Extensible Web Summit Berlin 2014: my lightning talk on Web Components | soledad penadés
Soledad Penadés also went to the Extensible Web Summit in Berlin, where she gave a lightning talk. Sounds like it was really good.
This also includes some good advice that, again, Alex might want to consider before denouncing any disagreement on Web Components as “piffle and tosh”:
If the W3C, or any other standardisation organisation wants to attract “normal” developers to get more diverse inputs, they/we should start by being respectful to everyone. Don’t try to show everyone how superclever you are. Don’t be a jerk. Don’t scare people away, because then only the loud ones stay, and the quieter shy people, or people who have more urgent matters to attend (such as, you know, having a working business website even if it’s not using the latest and greatest API) will just leave.
Notes on notes (of smart people) about web components
Uncomfortably Excited – Infrequently Noted
Alex’s response to my post about Web Components, in which he ignores my excitement and dismisses my concerns as “piffle and tosh.”
I gotta say: I think cautious optimism and nervous excitement are healthy attitudes to have about any technology. For Alex to dismiss them so summarily makes me even more worried. Apparently you’re either with Web Components or you’re against them. Heaven forbid that you might voice any doubts or suggest any grey areas.
The beatings will continue until morale improves.
A device agnostic approach to inlining CSS | Blog | Decade City
I very much agree with Orde’s framing here: I don’t think it makes much sense to talk about “above the fold” CSS …but it makes a lot of sense to talk about critical CSS.
And, yeah, it’s another example of progressive enhancement.
Improving accessibility on GOV.UK search | Technology at GDS
Alice Bartlett shares her experience of getting aria-live regions to work in a meaningful way.
CSS Guidelines – High-level advice and guidelines for writing sane, manageable, scalable CSS
Harry has written down his ideas and recommendations for writing CSS.
Tablesaw - A Flexible Tool for Responsive Tables
Those lovely people at Filament Group share some of their techniques for making data tables work across a range of screen sizes.
We Work in a World of Assumptions – The Pastry Box Project
Dan Donald gets to the heart of progressive enhancement:
Assumptions in themselves don’t have to be inherently bad but let’s recognise them for what they are. We know very little but that can hopefully enable us to be far more flexible and understanding in what we create.
How we make RWD sites load fast as heck
Scott shares the code that Filament Group are using to determine which style declarations are critical (and can be inlined) and which are non-critical (and can be loaded asynchronously). It makes quite a difference in perceived performance.
By the way, I really, really like the terminology of “critical” and “non-critical” CSS, rather than “above the fold” and “below the fold” CSS.
RWD Bloat - daverupert.com
Dave wanted to figure out if having a responsive site necessarily meant taking a performance hit, so he ran the numbers on his own site. It turns out all of performance-related issues are not related to responsive design.
Ten facets of web development that you can choose to focus on. One of them is from me …but other nine are worth paying attention to.
Full-width pinned layouts with flexbox
Zoe uses one little case study to contrast two different CSS techniques: display-table and flexbox. Flexbox definitely comes out on top when it comes to true source-order independence.
I can relate to every single word that Bastian has written here.
The longer I look at boilerplates, build tools, frameworks and ways to make my life as a developer easier, the more I long for the basics.
Let’s Talk About RTL
Some very handy techniques for working with right-to-left text.
A Maintainable Style Guide - Ian Feather
The challenges of maintaining a living breathing front-end style guide for an always-evolving product (the Lonely Planet website in this case).
The Developer’s Dystopian Future – The Pastry Box Project
My interest in rich client-side apps has almost entirely reversed, and now I’m more interested in doing good ol’ server rendering with the occasional side of progressive enhancement, just like we did it in 2004.
This post resonates with me 100%.
What it means to be a Front-end Developer in 2014 – The Pastry Box Project
I can very much relate to what Dan is talking about here. I have no idea what I do any more.
No doubt we’ll always feel we’re behind the curve as there always seems like more to learn. That’s OK. No-one knows it all, but it is hard knowing what people expect of you.
Data attributes and progressive enhancement - Simply Accessible
Derek’s excellent advice on avoiding over-reliance on data attributes has this brilliant nugget of insight:
In the web front-end stack — HTML, CSS, JS, and ARIA — if you can solve a problem with a simpler solution lower in the stack, you should. It’s less fragile, more foolproof, and just works
Aerotwist - Web Components and the Three Unsexy Pillars
A healthy dose of scepticism about Web Components, looking at them through the lenses of accessibility, security, and performance.
I share some of this concern: Web Components might look like handy ready-made out-of-the-box solutions, but the truth is that web developers have to do much more of the hard graft that was traditionally left to the browser.
Robin Rendle › A Visual Lexicon
Some great thoughts in here about web development workflow and communication between designers and developers.
I believe that the solution is made up of a variety of tools that encourage conversation and improve our shared lexicon. Tools such as styleguides, pattern libraries, elemental and modular systems that encourage access not only by developers, but by designers, shareholders and editors as well.
Getting Started With Pattern Libraries ∙ An A List Apart Blog Post
A great post from Anna on the front-end styleguides she’s worked on for A List Apart and Code for America. ‘Twas a pleasure working with her on the Code for America project.
A-mer-ica! Fuck yeah!
A List Apart Pattern Library
Another front-end style guide for the collection. This time it’s from A List Apart. Lovely stuff!
Why is Progressive Enhancement so unpopular? — All in the head
Like Drew, I’ve noticed some real hostility to the idea of progressive enhancement recently. Like Drew, I don’t really understand where this attitude comes from. It’s not like progressive enhancement prevents you from doing anything you would do otherwise: it’s just another way of approaching the way you build for the web.
I hope I’m wrong, but I suspect that some developers are letting their tools dictate their principles—the tail wagging the dog (where the tail is Angular, Ember, etc.).
Pattern Library | MailChimp
The markup for the patterns that Mailchimp use on their products. I love getting a glimpse of how companies handle this kind of stuff internally.
Is HTML Relevant in the Age of Web Apps? by John Allsopp
John addresses the price of increasing complexity in front-end development.
Yes, tooling can make our life easier. We type fewer keystrokes, and commit more code. But as software engineers learned a long time ago, most of the life of an applications is not in its initial development. It’s in maintaining it. This is something we on the web have had the luxury of being able to largely ignore up to now. After all, how many of the things you build will last years, decades?
I know jQuery. Now what?
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.
A List Apart Issue № 371
This issue of A List Apart is a great double-whammy. Lara Swanson has a ton of practical tips for front-end performance enhancements, and Brian dives deep into making your own icon fonts.
The Vanilla Web Diet by Christian Heilman
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.
A primer to front-end SVG hacking by David Bushell – Web Design & Front-end Development
Everything you ever wanted to know about using SVG today.
Front-end performance for web designers and front-end developers by Harry Roberts
A really good introduction to front-end performance techniques. Most of this was already on my radar, but I still picked up a handy tip or two (particularly about DNS prefetching).
At this stage it should go without saying that you should be keeping up with this kind of thing: performance is really, really, really important.
Front-end London - A New London Based Meetup for Front-end Developers, hosted by Made by Many
This looks like being an excellent (free) event in London featuring three talks related to front-end web development.
The inaugural event this month features a talk on responsive design, a talk on data visualisation, and a talk on accessibility.
Andy Hume: CSS for Grownups, SXSW 2012 - YouTube
The slides and audio from Andy’s exceptional talk earlier this year at Southby, combined into one video.
It really is excellent, although he does make the mistake of pulling the “dogma” card on those who woud disagree with him, and he really doesn’t need to: his argument is strong enough to stand on its own.
The Vanilla Web Diet | Smashing Coding
I wholeheartedly agree with Christian’s diagnosis of the average web page: it’s overweight to the point of obesity. Fortunately Dr. Heilmann has some remedies.
Fear and Coding in Brighton : Full Frontal 2012
A terrific write-up of this year’s Full Frontal conference, with a descriptive rundown of each talk.
isolani - Web Standards: Web App Mistakes: Condemned to repeat
Some great thoughts from Mike Davies about the strengths of the web, prompted by some of the more extreme comments made by James Pearce at Full Frontal last week.
I should point out that James was being deliberately provocative in order to foment thought and discussion and, judging from this blog post, he succeeded.
The Web’s independence from the hardware and software platform people use is a feature. It’s better than cross-platform frameworks which are constantly criticised for not producing exact native-feeling apps on the multitude of platforms they run on. The Web is above that pettiness.
Trimming the Fat — Paul Robert Lloyd
A great in-depth description by Paul of how he optimised his site. More of this please!
Base CSS | Pasteup | Guardian News
The Guardian’s front-end patterns library. The modules section contains their equivalent of a pattern primer. Very nice!