Jens Oliver Meiert

Code as Craft, Life as Agency (12)

Articles and books on the craft of web development (with a focus on HTML/CSS optimization and maintainability), engineering management, and practical philosophy.

CSS, HTML, and the Problem of Spec Fragmentation

We have not one but two fundamental problems with CSS. One is unrestricted growth and complexity leading to poor understanding and poor code. Another one is spec fragmentation, also an issue with HTML, which results in inefficiencies. We should look for a better balance.

#173 · · development, css, html

“No” to DRM in HTML

It has been quiet around DRM lately so I like to share my opinion, in brief: DRM doesn’t belong into nor anywhere near HTML.

#172 · · development, html

Cover: 100 Things I Learned as an Everyday Adventurer.

New Book! “100 Things I Learned as an Everyday Adventurer”

I wrote a new book! Not about web development, again, not about philosophy or social sciences, yet, but about all the different activities I’ve been doing over the last few years, in all my infinite free time. And what I learned in one hundred of them.

#171 · · books, adventure

How I Read 10 Books a Month

I read 10–15 books a month. As I’ve been doing this for a few years and thus developed a routine, I thought it could be interesting to share a few notes, tips, and quirks—I remember how hard it can be to even read 1 book a month.

#170 · · misc

The Curious Case of Breadcrumbs in HTML

We had an interesting thread about breadcrumbs on W3C’s public-html the other day. At first just targeting delimiters, it spawned a debate about the appropriate markup. Here’s my view on breadcrumbs in HTML.

#169 · · development, html, semantics

About Cost in Web Development

Cost is an interesting topic. Oftentimes we think of cost as in “this costs so-and-so much.” Like, the software license costs $2,500. Or three man hours cost $450. I’m not an economist but I like to think of this as something like primary cost. Yet, there’s more…

#168 · · development

A Social-Philosophical Journey in 25 Quotes

I was reviewing my Google+ posts the other day. In there I rediscovered a good number of quotes. What connected most of them were my studies. And when I looked at them I found they sort of tell a little story.

#167 · · philosophy

9 Tips to Become a Better Driver

What makes a good driver? I don’t know whether I know. I’ve driven much, have deepened my skills, I fit stereotypes—and I’ve also screwed up. What I do know is that I’m a driver who cares. A few ideas on what could make people better drivers.

#166 · · misc

The Art of Saying Thank You, One Thousand Times

But not here, on onethousandthankyous.org.

#165 · · misc, advocacy

A URL Policy for Web Projects

Do your projects suffer from URL inconsistencies? I just noticed how mine do. I also noticed that I did some unnecessary things, like omitting protocols when they were actually useful. And I noticed that I’ve seen similar problems in corporate projects before. So I jotted down a quick “policy.”

#164 · · development

Surveillance Kills Democracy

I meet people who think that mass surveillance, as with NSA and GCHQ spying, is okay because they don’t have anything to worry about. The argument is either that they don’t have anything to hide or that what they’re doing is not important enough…

#163 · · misc, advocacy

The Meanings of Googliness

The words “googley” and “googliness” are not found in common language. Even at Google, where they’ve been coined, it’s not clear to everyone what these words mean. And that’s no surprise: You don’t get a handout with a description…

#162 · · misc

Object-Oriented HTML, and OOCSS

“Object-oriented CSS” is the idea of treating page elements as objects, giving all these objects classes, treating objects’ classes as single entities in style sheets, and taking it from there. I reviewed the old OOCSS site and Smashing Magazine’s introduction.

#161 · · development, html, css

Goodbye Google, San Francisco, California, and United States

I’m resetting my life. I’ve quit at Google, I’ve quit my apartment in San Francisco, I’ve sold most of what I own and put the rest in storage. I’m now about to backpack the world to pursue my studies and goals and to build a new life somewhere else. Here’s a little story.

#160 · · misc

How to Order CSS Selectors

There are a number of ways to write style sheets. The domain of style guides, many of them go into some detail. What I, despite my work on a number of guides, have so far missed, is a reference to sort selectors and rules, as proposed here.

#159 · · development, css

My Year in Activities, 2012

48 more ways to use one’s time.

#158 · · adventure

My Year in Cities, 2012

Beside working and growing and trying new things, I’ve been in the great position to also travel a little. I’m very grateful. This year I visited 5 continents, more than 20 different countries, and probably more than 50 different cities…

#157 · · adventure

The CSS Problem

CSS is growing too large while CSS 2 has not nearly been understood by authors. This non-sustainable growth is a big problem for CSS.

#156 · · development, css

On Browser Testing

The primary goal for cross-browser testing is to make sure that documents are usable and consistent across different user agents and devices. Even if you understand this to include both functionality and design, the definition of “usable” is interesting.

#155 · · development

HTML and Non-Script Styling

If you are to style a document differently based on whether certain technology is available, you should keep two things in mind: HTML itself is static and separation of concerns is important for maintainability…

#154 · · development, html, maintainability

Maintainability: One Story and Three Concerns

To make this a little story, for a long time in my career I wasn’t very concerned about maintainability. I was maintaining projects but didn’t have an idea about whether what I maintained was actually effective to maintain. I got a sense that things weren’t quite right…

#153 · · development, maintainability

“window.scrollTo()” or: When to Stay Clear of User Agents

If you were to ask me whether you as a web designer or developer should do anything about user agent issues, my answer was a clear “no.” It’s not your responsibility. You may lack important insight into decisions made on the user agent side…

#152 · · development

My Year in Activities, 2011

Or: 43 things that make someone who has no idea about anything he’s doing look like he knows everything, the 2011 edition.

#151 · · adventure

On Semantics in HTML

As web developers we like to talk about “semantic markup,” a somehow inaccurate short form for “markup that is meaningful and used how it’s supposed to be used.” But where is all that meaning coming from? Let’s take a look.

#150 · · development, html, semantics

Print Style Sheets and URLs

Print style sheets are awesome. They’re easy to write, too. Site owners and developers who care about print typically know what to do. Alas there’s one thing that’s done rather the wrong than in any right way: printing URLs…

#149 · · development, css, design

Web Development Principles: Develop for What Is, Not What Could Be

For any given project, web developers fare best when focusing on what is, not what could be. To fend off the first misunderstandings, that focus includes what absolutely will be.

#148 · · development

Exposing Reset Style Sheets

Finally, a Chrome extension to highlight alternative approaches to CSS.

#147 · · development

Driving: Tips and Thoughts

It’s time for a heart-warming post about driving.

#146 · · misc

On Correct Punctuation

Let’s speak the unspeakable: Correct punctuation, here referring to the use of the correct characters for quotation marks, apostrophes, dashes, and ellipses, will forever remain a dream online…

#145 · · design

HTML, “@width”, and “@height”

As the width and height attributes are to remain part of HTML, limit their use. The reason to avoid @width and @height is that they are presentational and hence constitute potential maintainability issues.

#144 · · development, html, maintainability

My Year in Activities, 2010

31 activities, 0 vacation days. Mr. Meiert’s guide on how to make good use of your time and make 1 year feel like 3.

#143 · · adventure

Testing Tricks: CSS Bookmarklets

On complex development environments and CSS bookmarklets as a testing complement. Complement as in you’ve done everything you can but want to err on the safe side.

#142 · · development, css

One Photo: Reset Style Sheets

It never gets boring.

#141 · · development

The Secret of Web Development

Playfulness.

#140 · · development

CSS: How to Host Right-to-Left Styling

For international projects, don’t use separate style sheets for right-to-left (RTL) styling: use natural (@dir) or artificial (@id, @class) hooks instead. The only exception are unbearable performance issues due to hundreds of RTL rules…

#139 · · development, css, maintainability

Teamwork, Democracy, and Decisions

As great as democracy is to prevent negative outcomes, as unsuitable is it to achieve “best” outcomes.

#138 · · management, misc

On Solutions

Solutions require problems. If you don’t have a problem, you don’t need a solution. This is exactly why you should, whenever someone proposes a solution—which includes design and technical changes—ask what problem that solution solves…

#137 · · development, misc

CSS Validation and Vendor Extensions: Throw Warnings, Not Errors

If you understand valid code as a quality baseline, you validate your code. If you validate style sheets, you come across errors like “Property -moz-border-radius doesn’t exist’”…

#136 · · development, css, conformance

Real Web Developers Don’t Need Debugging Tools

Bottom line: Try to limit your use of web dev debugging tools—like Firebug or Chrome’s Developer Tools—in order to grow your skills.

#135 · · development

How to Relocate, the Alternative Guide

If there’s one area of expertise I’m only involuntarily linked with, it’s moving. I moved 25 times so far, spanning cities, countries, and now continents; my career stats mean .81 relocations per year, or 1.24 years per relocation. Some lessons I learned.

#134 · · misc

“px” Is Dead, Long Live “px”

It’s over. There is no ban on px anymore. The only reason why we as web developers had to adjust coding practices were user agents that failed to meet user agent accessibility guidelines.

#133 · · development, css

How to Become a Solid Web Developer, the Short Version

Every once in a while people ping me on how to master web development and design. Given how much there’s still to learn for me this makes me blush. Chronically short on time I typically reply in just a few sentences…

#132 · · development

WDR #4: Having Conversations in HTTP

The Web Dev Report, issue #4.

#131 · · development

My Year in Cities, 2009

From Amsterdam to Berlin to Cardiff… all the way to Zurich. The same procedure as at least last year.

#130 · · adventure

SUS: How to Easily Grade Your Site’s Usability

The System Usability Scale (SUS) is a Likert scale-based questionnaire to grade the usability of systems, which John Brooke created back in the 80s. SUS results yield a score between 0 and 100, with 100 indicating “best” usability…

#129 · · design, usability

HTML/CSS Frameworks: Useful, Universal, Usable, Unobtrusive

A high quality HTML/CSS framework needs to have four attributes: useful, universal, usable, and unobtrusive. The four U’s.

#128 · · development, html, css, frameworks, quality

The 3 Ground Rules for Writing HTML

The fundamentals every web developer should know: on respecting syntax and semantics, avoiding presentational and behavioral markup, and leaving out everything that is not absolutely necessary.

#127 · · development, html, conformance, semantics

Product of the Environment

Philosophy, live from Zurich airport.

#126 · · philosophy

HTML, CSS, and Web Development Practices: Past, Present, and Future

Articles with a title consisting of more than 15,000 characters don’t need an introduction.

#125 · · development, html, css, maintainability

Website Optimization Measures, Part VII

In this episode: Unquoted attribute value syntax, q elements, Google Friend Connect, feed styling, work/life balance. Served in no time.

#124 · · development, optimization