Jens Oliver Meiert

Web Development (5)

How Running Your Own Website Is Much Better for You Than You Think

The typical reason for why professionals don’t have their own websites is that they don’t want to make the commitment, and yet that misses how the disadvantages people see are actually advantages. Renewed thoughts on how running your own website is an asset.

#234 · · design

An HTML Optimizer’s Config for HTML Minifier

Jad Joubran asked me about my configuration for HTML Minifier the other week, and in a hurry I pointed him to the config I had worked out for sum.cumo. In my own projects, however, I work with a different, more ambitious setup.

#233 · · html, performance, optimization

When to Open Links in a New Tab

Always open links in the same tab unless doing so could 1) disrupt a process, 2) risk data loss, or 3) confuse users.

#232 · · design, usability

CSS: When to Use Logical Properties

Logical properties are great and long overdue. They are great because they solve an ugly problem of international, multi-directional web development in that directionality does not need to affect your writing and managing of CSS anymore…

#231 · · css

Website Optimization Measures, Part IX

Random improvements and notes around compression and caching, content security and feature policies, IndieWeb markup, protocols in links, entity references, image formats, and ISBNs in URL paths.

#230 · · optimization

Cover: Upgrade Your HTML.

Upgrade Your HTML

I’ve written a very short book on improving HTML code: Upgrade Your HTML. Upgrade Your HTML is about one thing: Picking examples of HTML in the wild, and explaining how to make that code better. Kindly. Constructively. Thoroughly, as finding a balance between detail and brevity permits.

#229 · · books, html, minimalism, optimization

On Writing Better Markup

As HTML is so important and yet also so easy, everyone writes HTML, and everyone says they can write HTML. And with that they don’t just mean they are able to write HTML, but that they write good HTML, where “good” means “high quality.” That would be great news.

#228 · · html, quality

The Developer’s Fallacy of Close Collaboration With Designers

Working closely with designers makes sense and is awesome, notably for mutual understanding and efficiency. And yet there are also good reasons not to work closely with designers. For developers it’s important, for otherwise foolish, to be aware.

#227 · · design

Definition of Web Developer

Web developer, n.: A person who—

#226 ·

“Must Work Without JavaScript”

That websites should work without JavaScript has a long professional tradition, and for apps much the same has been asked for. Yet with the success and ubiquity of scripting, how relevant is it to make sure sites and apps “work without JavaScript”?

#225 · · javascript

Optional HTML: Everything You Need to Know

Optional HTML can be left out to improve performance, to guide code comprehension, and to hone the craft. An overview over all optional tags, rules around quotes for attribute values, and omissible attribute value defaults, as well as notes on pitfalls and tools.

#224 · · html, performance

When to Use “img,” “img@srcset,” and “picture” and “source”

I’ve disliked srcset and the whole family of ideas around it from the start because doing the same thing for the same purpose several times has usually looked like too much DX cost for too little UX gain to me. Two angles at what to use when.

#223 · · html

Image Compression: How to Super-Easily Set Up Automated Base Optimization

Setting up image compression tooling is easy—and for those who want to err on the safe side automatically employing lossless compression, it’s even easier with a solution from sum.cumo: Merlin.

#222 · · performance, optimization

The Problem With Web Development Checklists, or: The Frontend Checklist, Revised

Checklists are a great way to make sure nothing gets forgotten, yet they are problematic when they contain items that aren’t important. A few general thoughts and a very specific review of The Frontend Checklist—of which 33 guidelines appear useful, and 41 not (yet).

#221 · · html, css, javascript

Understanding Image Compression: Tooling and Context

Image compression plays an important role in performance optimization. It seems straightforward but is a little deceptive, however, because it consists not of one but two parts—and it’s usually lack of understanding of one part that causes problems.

#220 · · performance, optimization

A Crime Called Favicon

16×16, 30×30, 32×32, 48×48, 57×57, 60×60, 64×64, 70×70, 72×72, 76×76, 90×90, 96×96, 114×114, 120×120, 128×128, 144×144, 150×150, 152×152, 160×160, 167×167, 180×180, 192×192, 195×195, 196×196, 228×228, 256×256, 270×270, 310×310, 558×558.

#219 ·

How Can We Make Website Maintenance Work More Visible?

The maintenance and maintainability of websites is a much neglected topic. This is problematic because: We cannot not maintain. Yet primarily we may deal with a visibility problem that we could explore more options for.

#218 · · maintainability

Print Styling, the 3 Basics

Many sites are not prepared for print, and yet our users print, and they save through print. Therefore: Have a print style sheet, and be it a negative one. Hide what’s not usable or useful. Always test, and tweak when you want better.

#217 · · css, design

Optional “@lang”

The lang attribute is one of HTML’s global attributes. If one doesn’t simply take it for granted, it begs a number of questions—and these suggest to drop W3C requirements around it, and to demand software to do the job.

#216 · · html, accessibility

What Happened on Google+, the Web Development Archives

Following a few philosophy posts to be archived, here are past entries related to web development. Nothing more, nothing less.

#215 · · html, css, design

HTML and Performance: Leave Out Optional Tags and Quotes

As experts we should know what code is optional and leave it out, and our production systems should do a better job assisting us with that. After all the years of neglecting basic HTML optimization, let’s think about taking the next step and not ship optional HTML markup.

#214 · · html, performance, minimalism

Google Lighthouse and PWA

A review of Lighthouse’s PWA audits and the PWA category as a whole. Just in time to see it be superseded by Lighthouse 4, the major update that solves some (unfortunately not all) of those issues.

#213 ·

7 Questions for Jens Oliver Meiert About the GDE and Chrome Dev Summits 2018

#212 · · interviews

On Visions for Performance, or: Performance Optimization Is a Process

It’s smart to have a vision for what one wishes to achieve for the performance of a site or app. Yet even the soundest approaches to performance visions have their problems, and in them we recognize that performance, or performance optimization, is indeed a process.

#211 · · performance, optimization

Should Designers Code

Arguments for a “no” to a recurring question: Why we may want to give designers all freedom in the world, not to be limited in what they’re trained to do best.

#210 · · design

Performance Rule #1: Do What You Need to Do—But Not More

Web Performance has over the age of the Web not only turned into a discipline by itself, but also a complex one at that. While important much less so for revenue but for user experience and accessibility reasons, there’s a particular angle at performance that makes the matter very simple: the pragmatic angle.

#209 · · performance

How to Configure Lighthouse for Balanced Quality Websites

Google’s Lighthouse is a great tool even though it has some issues. Fortunately, it’s possible to configure Lighthouse to one’s own views on what matters. Here’s the config that I like to use.

#208 · · quality

A Short Guide to Minimal Web Development

There’s an art and even a bit of magic around simple frontend code. Writing such code comes with a few preconditions: perhaps a firm understanding of core technologies, a lot of practice, public scrutiny, and then some. Thoughts.

#207 · · minimalism

Web Development and the GDPR

Who shares or presents code has a special responsibility, because for both the uninitiated and the quality-minded such code should be of a considerable standard. European privacy legislation ups the ante.

#206 ·

37 Theses on CSS and Web Development

CSS Optimization Basics ends with a list of key ideas. From acknowledging that we don’t always write perfectly efficient and maintainable and understandable code to leading by example.

#205 · · css

AMP, a Strategy

There are problems with AMP. My recommendations: Avoid AMP; or use it, exclusively, on the most relevant pages; or go all-in, for AMP-only.

#204 · · maintainability

The Craft of CSS

When we type down CSS like we’ve done 20 years ago, and when we work with ever more abstractions, what does that mean for our craft?

#203 · · css

The Dangers of Being a Web Developer

Video, slides, and resources for my talk at beyond tellerrand in Düsseldorf.

#202 ·

Cover: CSS Optimization Basics.

CSS Optimization Basics

My latest little book, covering mindsets needed for writing effective style sheets, optimization options during operation and for production, and useful resources to aid and inform the work with CSS.

#201 · · books, css, optimization

User-Centered Web Development

When we think of user focus we easily think of usability tests, following a usually strong wish to produce something that’s actually useful. For us as web developers, focus on the user has a tendency to appear distant though…

#200 · · usability, accessibility, performance

HTML, CSS, and Dependency Direction

Adam Wathan wrote one of the most interesting web development articles I’ve read in the last few months: CSS Utility Classes and “Separation of Concerns.” At least until “Phase 3” there’s much to learn about current web development…

#199 · · html, css

How Declaration Repetition Developed Over Time, a Statistically Insignificant Sample

We know that there’s excessive declaration repetition in the Web’s style sheets, that each declaration is on average repeated 2–3 times, often needlessly. We know that this repetition is a little less bad on tech sites…

#198 · · css

The Compact Guide to Web Maintainability: 200 Tips and Resources

The result of reviewing, normalizing, rephrasing, sorting, and testing 134 responses to a maintainability survey that yielded more than 500 data points, to form a new guide, a new and more definite guide to web maintainability.

#197 · · html, css, maintainability

The Two Extremes of Writing CSS, and What We Can Learn From Them

Extremes can be useful. In practice they help get the maximum out of a given approach, and in theory they can show what we’re headed to. Compare two ways of writing CSS—like Tachyons or Atomic CSS, and 2000’s idealistic engineering.

#196 · · css

Expert Web Development: A 3rd Key Differentiator

As web developers we have decisions to make and our decisions depend on a few variables. Two that have become much more important over the years are the one of code for research or production, and the one of web site or app…

#195 ·

An Ode to Smashing Magazine

Excitement about a success story.

#194 ·

Performance of CSS Selectors Is Still Irrelevant

From my upcoming book on CSS optimization: Selector performance is not something to optimize for as the price we pay for it is terrible: We micro-manage our work for gains that aren’t noticeable.

#193 · · css, performance

On Big Picture Thinking in Web Development

Thoughts on thinking outside the box, in tech, with examples ranging from selector performance to a general development vision, to illustrate how very different issues can all reach beyond their perimeter.

#192 · · performance, maintainability, accessibility, design

CSS: The Reason Why Selectors Should Be Ordered, Too

We’ve talked a lot about declarations as declarations are at the heart of our work with direct consequences for the quality of our style sheets. We’ve not talked much about selectors, though, and that may be a mistake.

#191 · · css

Static Site Generation With Grow: How to Set Up Syndication Feeds

Grow is a static site generator that I’ve slowly been switching to on my own projects. Here I wish to lay out how to do something with Grow that’s not overly difficult, but also not well-documented—to set up syndication feeds.

#190 ·

DRY CSS: How to Use Declarations Just Once, Effectively

Using declarations just once is one way to control repetition in style sheets. It’s not a silver bullet, as we’ve seen with recent data, but it’s so powerful as to make for a key style sheet optimization method.

#189 · · css, optimization

5 Reasons Against Resets, Normalizers, Reboots

A word about one of CSS’s horsemen of the apocalypse.

#188 · · css

The 3 Levels of Code Consistency

Consistency is a factor for code quality and one of the key reasons why we need coding guidelines. Interestingly enough there are three levels of consistency: individual, collective, and institutional.

#187 · · quality

Understandable-Simple vs. Minimal-Simple Code

Code simplicity seems to be a goal quite worthwhile, contributing to better understanding, greater robustness, and higher quality. That’s at least what comes to my mind when looking at the matter…

#186 · · minimalism

On Enforcing Coding Guidelines

Surprisingly a snippet from The Little Book of Website Quality Control, not the one of HTML/CSS coding guidelines, a few thoughts on enforcing coding standards.

#185 · · management