<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Matthias Ott</title>
        <link href="https://matthiasott.com/" />
        <atom:link href="https://matthiasott.com/rss" rel="self" type="application/rss+xml" />
        <description>Articles and notes by Matthias Ott, User Experience Designer from Stuttgart, Germany.</description>
        <managingEditor>mail@matthiasott.com (Matthias Ott)</managingEditor>
        <webMaster>mail@matthiasott.com (Matthias Ott)</webMaster>
        <language>en</language>
        <pubDate>Thu, 04 Jun 2026 02:52:10 +0200</pubDate>
        <lastBuildDate>Thu, 04 Jun 2026 02:52:10 +0200</lastBuildDate>

                    <item>
                <title>Ad Infinitum</title>
                <link>https://matthiasott.com/notes/ad-infinitum</link>
                <pubDate>Thu, 21 May 2026 00:05:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/ad-infinitum</guid>
                <description><![CDATA[
                    
																																	<p>At Google I/O this week, the company announced <a href="https://techcrunch.com/2026/05/19/google-search-as-you-know-it-is-over/">the biggest change to Search in 25 years</a>. The ten blue links? Gone. Instead, you get — first at times? soon always? — “generative UI”, an “intelligent search box” with custom interactive widgets, built on the fly by Gemini. You get “information agents” that monitor the web for you around the clock. You get mini-apps you can build right inside the search box, using natural language. And with <a href="https://www.theverge.com/tech/934172/google-io-gemini-ai-trust-personal-data">Gemini Spark</a>, you get a personal AI agent that runs 24/7, connected to your Gmail, your Drive, your calendar, your photos, and soon your local files and third-party services.</p>
<p>It’s ambitious and also impressive at times, no question. It’s also a staggering gamble. Google is dismantling the very product that built its empire – and rebuilding it into something entirely different. Watching the demos, I kept asking myself two questions. First: what if people don’t actually want to use search this way? And second: </p>
<p><em>Where did the ads go?</em></p>
<p>Google made <a href="https://www.sec.gov/Archives/edgar/data/0001652044/000130817926000344/goog014907-ars.pdf">$295 billion in advertising revenue</a> last year, out of $403 billion in total. And yet, across all these announcements – the new search box, the generative UI, Spark, the agents – there wasn’t a single mention of how any of this will be monetized. Not one word about ads.</p>
<p>That seemed odd. I mentioned this on Mastodon, and <a href="https://shrimp.vijf.life/@sijmen">Sijmen</a> replied with a link that sent me down a rabbit hole.</p>
<p>It turns out there’s a <a href="https://blog.reachsumit.com/posts/2024/08/ads-llm/">small but growing body of research</a> – some of it from Google’s own researchers – exploring exactly how ads could work inside LLM-generated output. And the ideas are as fascinating as they are unsettling.</p>
<p>One approach, proposed by Google Research, is what you might call a <a href="https://arxiv.org/abs/2310.10826">“token auction.”</a> In this model, advertisers don’t buy ad slots on a page. Instead, they bid, token by token, on the actual text the model generates. Each advertiser brings their own LLM, and an auction mechanism decides whose model gets to influence the next word. The output is a weighted blend of competing interests, shaped by who’s willing to pay more.</p>
<p>Another approach – also from Google researchers – fits the new “Search” much more precisely. It’s called <a href="https://arxiv.org/abs/2404.08126">“prominence allocation.”</a> Here, when a user submits a query with commercial intent, the system runs an auction that doesn’t just decide <em>which</em> ads appear, but <em>how prominently</em> the LLM writes about each one. The auction outputs a prominence score for each advertiser, essentially telling the model: give this product 35 words, that one 20, and this one zero. The ad isn’t <em>next to</em> the answer. The ad <em>is</em> the answer. Or rather, it shapes how much space and enthusiasm each product gets within the answer.</p>
<p>Now think about what Google just announced. Generative UI means there are no more discrete ad slots. The search result is a dynamically generated experience – a synthesized narrative, an interactive widget, a curated set of recommendations. In that world, you can’t place a banner ad next to the output. The only thing you can auction is prominence <em>within</em> it.</p>
<p>But it’s not just the ads that disappeared from the keynote. The links did, too.</p>
<p>For 25 years, Google Search was built on a contract. The web provided the content – billions of pages, freely linked, freely crawled. In return, Google sent people back. The link was the unit of exchange. It’s what made the Web thrive as an information system: you publish, Google indexes, users click through, and value flows back to the source. Win-win.</p>
<p>That contract is <a href="https://adactio.com/journal/22540">now broken</a>. Generative UI doesn’t link to your article, necessarily. It absorbs your article, synthesizes it into a widget, and presents it as Google’s own answer. Information agents don’t send users to websites. They deliver “synthesized updates” with maybe a link or two buried at the bottom. The web was the scaffolding Google needed to build its index, to train its models, to accumulate the world’s information, and put ads next to it to get filthy rich. Now that the content is <em>inside</em> the system, the scaffolding is no longer needed. Google is creating its own context.</p>
<p>Google thinks it no longer needs the Web to deliver answers. And it no longer needs ad slots to deliver ads. What it needs is <em>you</em>. Your emails, your files, your calendar, your purchase history, your travel plans – all flowing into Spark, all building the richest possible picture of who you are and what you’re likely to click on. That’s exactly the kind of personal context those auction models need to work. The prediction module in the prominence allocation framework doesn’t run on keywords. It runs on <em>knowing you</em>.</p>
<p>None of this was mentioned at I/O. The entire keynote was framed as a story about usefulness and possibility and trust. Will you opt in to sharing your data? Will you let Spark read your inbox? The pitch is productivity. But the infrastructure being built – a deeply personalized agent, connected to commercial services, generating natural-language recommendations with no visible boundary between organic and paid content – is a monetization engine.</p>
<p>Then, one day later, Google held <a href="https://ppc.land/google-marketing-live-2026-every-announcement-that-actually-matters/">Marketing Live</a>, its annual keynote for advertisers. Same campus, same week, different audience. And there, the language changed completely. Vidhya Srinivasan, VP of Google Ads, put it plainly: “The best ads must be answers.” Ads are already running inside <a href="https://blog.google/products-and-platforms/products/search/ai-mode-search/">AI Mode</a>. They’re not banners next to the output. They’re generated by Gemini to read as part of the conversation. And advertisers who want to appear in the new AI search? They must hand over creative and targeting control to Google’s system. “You can’t choose keywords anymore,” Srinivasan said.</p>
<p><em>Edit:</em> <a href="https://blog.google/products/ads-commerce/google-marketing-live-search-ads/">Google’s own blog post</a> now spells out exactly what this looks like in practice. When AI Mode gives you a list of recommendations, paid placements can now appear as items on that list. Google calls them “Highlighted Answers.” When you search for a product, Gemini writes a custom explainer for the advertiser, framed as objective advice about why this product “may be the right choice for you.” The language throughout is about being “helpful” and “building trust.” The mechanism is paid content inside AI-generated recommendations, written by the same model that’s supposed to give you neutral answers.</p>
<p>So yes, Google didn’t talk about ads in the I/O keynote. Everything they announced <em>is</em> the new ad system. One that, in the eyes of Google, no longer needs the open web as an intermediary. And now, they’re gradually turning it on. </p>
<p>But there’s still that first question. The one about whether people actually want any of this. The people building these systems seem so deep inside their own world that they sometimes forget to check. You might have heard that, over the past few days, <a href="https://techcrunch.com/2026/05/17/if-youre-giving-a-commencement-speech-in-2026-maybe-dont-mention-ai/">commencement speakers across the US, including former Google CEO Eric Schmidt, have been booed off stage</a> the moment they mentioned AI. Not just politely ignored. Booed.</p>
<p>Google is betting its entire future on a world where people eagerly hand over their emails, their files, their habits, and their trust – to an AI system that will quietly auction off their attention, word by word, to the highest bidder. The ad infrastructure is ready. The question is whether the audience is.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Lazy and Prompt</title>
                <link>https://matthiasott.com/notes/lazy-and-prompt</link>
                <pubDate>Thu, 07 May 2026 15:56:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/lazy-and-prompt</guid>
                <description><![CDATA[
                    
																																	<p>Chrome 148 shipped this week, and in <a href="https://developer.chrome.com/release-notes/148">the release notes</a> you’ll find one of the best things to happen to web performance in a long time: <code>loading=&amp;quot;lazy&amp;quot;</code> for <code>&amp;lt;video&amp;gt;</code> and <code>&amp;lt;audio&amp;gt;</code> elements. </p>
<p><a href="https://scottjehl.com/">Scott Jehl</a>, an engineer at Squarespace focusing on performance and accessibility, has been the driving force behind this. Scott and a small team of engineers <a href="https://engineering.squarespace.com/blog/2026/squarespace-and-web-standards-how-we-helped-bring-html-video-and-audio-lazy-loading-to-todays-browsers">proposed the spec change, wrote the implementation, and got it through the WHATWG HTML spec process</a> with positive signals from all three major browser engines. If you want to understand the full story behind it, Scott <a href="https://shoptalkshow.com/712/">talked about it in detail on ShopTalk Show</a> and Squarespace published an excellent <a href="https://engineering.squarespace.com/blog/2026/how-to-use-standard-html-video-and-audio-lazy-loading-on-the-web-today">post on how to use the feature today</a>. This is what working with the web platform looks like: identify a real problem, propose a solution, build consensus, ship it. A good story.</p>
<p>But that’s not the story of Chrome 148. The story of Chrome 148 is that Google – in the very same release – shipped the Prompt API, a feature that was met with explicit opposition from both Mozilla and WebKit, that the W3C TAG raised deep concerns about, and that the web community has been vocally and overwhelmingly against.</p>
<p><a href="https://wil.to/posts/googles-prompt-api/">Mat Marquis wrote the definitive piece on this</a>, and I won’t retell it here because he puts it in much better words than I ever could. Go read his post. But to understand the scope of the problem: the Prompt API, as shipped, is not a standardized interface for interacting with language models in general. It’s an API for interacting with Google’s Gemini Nano – a 4 GB model that Chrome has already silently downloaded to your machine, without asking, and that it will re-download if you remove it. Any website you visit can now send prompts to that model, using your processing resources, without requesting permission. When both other browser engines explicitly oppose a feature, calling it a “web standard” is a bit of a stretch. I’m not involved in any of this. But after working on the Web for over 25 years, I know how web standards work. This is not one. This is a Chrome feature wearing the costume of a web standard.</p>
<p>And that’s not all. To use the API as a developer, you must agree to Google’s Generative AI Prohibited Uses Policy – a corporate policy attached to what is supposed to be a web platform API. <a href="https://jakearchibald.com/">Jake Archibald</a>, who is now at Mozilla, <a href="https://github.com/mozilla/standards-positions/issues/1213#issuecomment-4347988313">called this out explicitly</a> (and got over 800 likes for it btw): elements of this policy go beyond law, and it sets a dangerous precedent for APIs that come with vendor-specific terms of use. As Mat writes, imagine the Geolocation API requiring you to agree to Google Maps’ Terms and Conditions. Think about what this means if we accept it: the next browser API could come with its own corporate terms, too. And the one after that. The web platform has always been open, implementable by anyone, and governed by specs – not by a single company’s usage policy. This is a line that, once crossed, is very hard to uncross.</p>
<p>There’s also the question of what the browser is even <em>for</em>. A browser is a <em>user agent</em> – it’s supposed to act on behalf of the user, not the vendor. Silently downloading 4 GB of AI model to your machine, re-downloading it if you remove it, and then letting any website access it without your permission – that’s Chrome acting as Google’s agent, not yours. And it’s hard not to notice how many Google products stand to benefit from having an LLM pre-installed on every Chrome user’s machine. With opt-out, of course.</p>
<p>And how did Google justify shipping it over the opposition of the other browser makers? By listing developer sentiment as “strongly positive” in their <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/iR6R7-nQeHI/m/gN4iEGEdAQAJ">Intent to Ship</a>. But the evidence behind that claim doesn’t really hold up. The blink-dev thread where the feature was approved consisted entirely of browser engine insiders – Chrome engineers and one Microsoft Edge representative. No external developers participated. A <a href="https://github.com/webmachinelearning/prompt-api/issues/74">GitHub issue</a> Google created specifically to capture developer interest in the API received exactly two responses in seven months. Satisfaction scores came from a survey Google administered to its own <a href="https://developer.chrome.com/origintrials/#/trials/active">Origin Trial</a> participants — self-selected early adopters who had actively signed up to test experimental Chrome APIs — with no sample sizes disclosed. The <a href="https://github.com/webmachinelearning/prompt-api/blob/main/README.md#stakeholder-feedback">stakeholder feedback page</a> cited one promotional blog post, one post on Twitter, and a now-broken link. This seems to be the foundation on which “strongly positive” was built.</p>
<p><a href="https://adactio.com/journal/tags/chrome">Jeremy Keith has documented this pattern</a> over the years: Google’s habit of shipping first and standardizing later, or not at all. AMP. FLoC. Privacy Sandbox. Chrome ploughing ahead and unilaterally implementing whatever it wants, even if there’s no consensus from other browser makers. The Prompt API isn’t an exception. It fits the pattern.</p>
<p>What makes this particular instance so frustrating is that the contrast is right there in front of us, in the same set of release notes. There’s lazy loading for audio and video: carefully proposed, properly standardized, welcomed by all implementers. A true gift to the web community. And then, there’s the Prompt API: rammed through despite broad opposition. One feature shows how the standards process can and should work. The other shows what happens when a company with dominant browser market share decides that the process doesn’t apply to them. The fact that my posts on <a href="https://bsky.app/profile/did:plc:go53xbllmkjw3vp65vmrcjol/post/3ml7k34qjes2z">Bluesky</a> and <a href="https://mastodon.social/@matthiasott/116529519003053585">Mastodon</a> sharing Mat’s article are (still) getting hundreds of reactions while Google&#039;s own <a href="https://github.com/webmachinelearning/prompt-api/issues/74">call for developer interest</a> in the Prompt API received two responses in seven months tells you everything you need to know.</p>
<p>Chrome 148 could have been a celebration. It should have been about lazy loading. About the power of the web standards process. Instead, Google made sure that all anyone’s talking about is how they’ve once again shoved something down our throats that nobody asked for.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Buckle Up</title>
                <link>https://matthiasott.com/notes/buckle-up</link>
                <pubDate>Wed, 06 May 2026 11:42:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/buckle-up</guid>
                <description><![CDATA[
                    
																																	<p>You might know that I – with the generous help from <a href="https://brandonkelly.io/">Brandon Kelly</a> on the Craft 5 version – wrote and maintain a <a href="https://github.com/matthiasott/webmention">Webmention plugin for Craft CMS</a>. Today, I shipped <a href="https://github.com/matthiasott/webmention/releases/tag/v1.3.0">version 1.3.0</a>. It’s a security and abuse hardening release, and if you’re running the plugin, you should upgrade.</p>
<p>The backstory of this one is, at least to me, kind of interesting.</p>
<p>Back in March, I added a new feature to the plugin: a Failed Webmentions view in the Craft control panel. The reason was simple. Building a Webmention endpoint that both sends and receives reliably is genuinely hard. There’s a lot of sifting through specs and documentation involved. You have to handle a wide range of markup flavours, work around different interpretations of microformats, and add fallbacks for all the times when somebody didn’t implement something the way you’d expect, the parser falls over, and you still want to recover gracefully. The whole thing is supposed to follow the <a href="https://en.wikipedia.org/wiki/Robustness_principle">robustness principle</a>: be conservative in what you send, be liberal in what you accept. And to me, Webmentions have always felt a bit like a black box. Rough and uncharted territory.</p>
<p>As it turns out, adding the Failed Webmentions view was a pretty good idea.</p>
<p>Because what it revealed was this: unlike a few years ago, when nobody outside our little corner of the Web really knew about Webmentions, bad actors have caught up. They’ve started probing the endpoint.</p>
<p>I first noticed it on my way to <a href="https://indieweb.org/2026/D%C3%BCsseldorf">IndieWebCamp Düsseldorf</a>, the weekend before <a href="https://beyondtellerrand.com/events/dusseldorf-2026">beyond tellerrand</a>, while looking for something to work on at the Sunday coding session. I opened the Failed Webmentions view – and was flabbergasted. (What a great word, by the way. 😁)</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/Screenshot-Webmention-plugin-failed-webmentions-view.png 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/Screenshot-Webmention-plugin-failed-webmentions-view.png 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/Screenshot-Webmention-plugin-failed-webmentions-view.png" alt="Screenshot Webmention plugin failed webmentions view" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Line after line of automated probing, with the fingerprints of tools like <a href="https://sqlmap.org/">sqlmap</a> all over it:</p>
<ul>
<li>Time-based blind SQL injection in every flavour of database – MySQL <code>sleep(15)</code>, PostgreSQL <code>pg_sleep</code>, Oracle <code>DBMS_PIPE.RECEIVE_MESSAGE</code>, MSSQL <code>WAITFOR DELAY</code> – stuffed into the source field, the target field, sometimes both at once.</li>
<li>Boolean payloads like <code>-1&amp;#039; OR 5*5=25 --</code> and the more elaborate <code>-1&amp;#039; OR 2+99-99-1=0+0+0+1</code>.</li>
<li>Double-URL-encoded escape characters like <code>%2527%2522\&amp;#039;\&amp;quot;</code>, fingerprinting how my input filter decodes things.</li>
<li>Classic XSS patterns: random tokens trailed by <code>&amp;lt;&amp;#039;&amp;quot;&amp;gt;</code> to see if anything would reflect back.</li>
</ul>
<p>And the sheer volume of it! One short sentinel had been retried against a single note 693 times. Another, 451. Most of these were never going to work. Craft itself is a really secure CMS – Pixel &amp; Tonic have put a lot of care into sensible defaults: parameterized queries, output escaping, CSRF protection, all the foundation work that means a stray apostrophe in an input field won’t take you anywhere interesting. But the plugin layer still is mine, and I’d rather not rely solely on the framework catching things downstream.</p>
<p>So I sat down and hardened the plugin. I completed a few small fixes at the IndieWebCamp and a few more over the last couple of days. URLs are now validated at both ends – when they’re stored and when they’re rendered – so anything that isn’t <code>http://</code> or <code>https://</code> is rejected outright, along with whitespace, embedded credentials, illegal hosts, and anything longer than 2048 characters. The public endpoint now has a per-IP rate limit, configurable with a sensible default, and a failure-backoff threshold so that the same broken or malicious source/target pair doesn’t get retried forever. Identical submissions arriving within a five-minute window are deduplicated at the controller of the plugin, so a flood can’t amplify outbound HTTP fetches. There’s also a new <code>trustedSourceHosts</code> setting that lets a host like <code>brid.gy</code> bypass the rate limit, so a viral wave of mentions through <a href="https://brid.gy/">Bridgy</a> doesn’t get dropped on a busy day. I might add a few more exceptions over time.</p>
<p>Again, if you are using the plugin in production, I recommend you update the plugin as soon as possible. Although I am not aware of any successful exploits, it will definitely harden your setup. And if you run into any issues, let me know or <a href="https://github.com/matthiasott/webmention/issues">open an issue</a>.</p>
<p>We are now living in wild times when it comes to infosec. Earlier this year, <a href="https://matthiasott.com/articles/webspace-invaders">I wrote about how my site was being hammered into oblivion by LLM crawlers</a>, to the point where I had to move to a VPS and harden the whole setup. Two weeks ago, <a href="https://matthiasott.com/notes/at-machine-speed">Bastian shipped a security release for Kirby CMS</a> that really challenged the small team. And every week there’s a new round of advisories, vulnerable dependencies, and reports landing in the inboxes of maintainers.</p>
<p>A lot of this has to do with LLMs getting more capable, month after month. The whole offensive playbook – recon, payload generation, evasion, writing custom tooling – is getting cheaper to run. The bad actors are using Opus 4.7, too.</p>
<p>So if you maintain a small plugin, an open endpoint, client websites, or your own little corner of the Web: time to buckle up and secure your stuff.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>At Machine Speed</title>
                <link>https://matthiasott.com/notes/at-machine-speed</link>
                <pubDate>Fri, 24 Apr 2026 10:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/at-machine-speed</guid>
                <description><![CDATA[
                    
																																	<p>Yesterday, I opened Discord to a message from my friend Bastian Allgeier that I had never quite seen in all the years I’ve been building sites with his <a href="https://getkirby.com/">Kirby CMS</a>. “Today we are releasing our biggest security release in the last 14+ years,” Bastian wrote. “The last few weeks have been intense, to say the least. We received 8 reports within just a couple of days.”</p>
<p>Six of those eight security reports turned out to be valid vulnerabilities. The resulting <a href="https://github.com/getkirby/kirby/releases/tag/5.4.0">Kirby 5.4.0 release</a> ships with a list of advisories that reads less like a changelog and more like a triage report. Nothing critical, nothing exploited in the wild, luckily – but for a small team that has been quietly maintaining a beautifully designed CMS for more than a decade, this is unlike anything they’ve had to deal with before.</p>
<p>And Kirby is far from alone.</p>
<p>A few weeks ago, Anthropic’s red team <a href="https://red.anthropic.com/2026/zero-days/">described</a> how their large language model <a href="https://en.wikipedia.org/wiki/Claude_Shannon">Claude</a> Opus, pointed at a handful of open source projects, autonomously found and validated more than 500 high-severity vulnerabilities – some of them in code that had been aggressively fuzzed and reviewed by humans for years. Earlier this month, the same kind of work went public in a much bigger way. <a href="https://www.anthropic.com/research/glasswing">Project Glasswing</a>, Anthropic’s partnership with AWS, Apple, Google, Microsoft, the Linux Foundation, and roughly forty other organisations, uses an unreleased model called Claude Mythos Preview to find vulnerabilities in the software that runs pretty much everything. Thousands of zero-days. Including a <a href="https://www.infosecurity-magazine.com/news/anthropic-launch-project-glasswing/">27-year-old bug in OpenBSD</a>, an operating system famous for its security hardening. A model, Anthropic says, capable enough that they have decided not to release it.</p>
<p>There is, obviously, a marketing layer to all of this. Glasswing is a beautifully staged announcement, complete with partner logos and a butterfly metaphor. Independent researchers have <a href="https://news.aibase.com/news/27173">pointed out</a> that the list of CVEs directly attributable to the project is, at the moment, much shorter than the headline numbers would suggest. And there are <a href="https://www.promarket.org/2026/04/22/the-antitrust-risks-of-anthropics-project-glasswing-and-the-ai-avengers/">legitimate antitrust concerns</a> about a private consortium of the world’s largest tech companies having exclusive access to a tool like this. And yet, if you look around, even the more sceptical voices in security seem to be treating this as a genuine inflection point. Rich Mogull at the Cloud Security Alliance has been calling it the <a href="https://cloudsecurityalliance.org/blog/2026/04/08/anthropic-s-mythos-is-here-defending-from-the-vulnpocalypse">“Vulnpocalypse”</a> – the moment when language models can find zero-days and write working exploits faster than we can patch them.</p>
<p>What this means on the ground, for the people actually maintaining the software, is a flood.</p>
<p>In January, Daniel Stenberg, who has maintained <a href="https://curl.se/">curl</a> for nearly three decades, <a href="https://daniel.haxx.se/blog/2026/01/26/the-end-of-the-curl-bug-bounty/">shut down the project’s bug bounty program</a> because he and his security team were drowning in AI-generated slop. A few months later, the slop receded. But it was replaced by something harder to dismiss: genuinely <em>good</em> security reports, almost all done with the help of AI, arriving at a frequency his team has never seen before. The quality went up. The workload did not go down.</p>
<p>And that’s the problem: generating a finding is cheap. Validating and patching it is not. And that cost then falls entirely on the maintainers – on people like Bastian and his <a href="https://getkirby.com/team">Kirby team</a>, on the Linux kernel reviewers, on the handful of volunteers who keep the dependencies of the dependencies of the dependencies alive. If the only realistic answer to machine-speed discovery is machine-speed triage and patching, then the maintainers who are drowning in reports don’t just need more time and more hands – it feels like at some point, they will need the same kind of tooling that is drowning them. The tool is both the flood and the pump.</p>
<p>But the pump has a price tag. Right now, that pricing is softened by subsidy – the big AI companies are losing money on every query while they compete for market share. When prices adjust – and they will, in fact, <a href="https://github.blog/news-insights/company-news/changes-to-github-copilot-individual-plans/">they already are</a> – the bill lands somewhere. Big companies will pay it without flinching. The corporate security industry is already busy selling them tools to handle attacks “at machine speed” – agentic AI, autonomous SOCs (security operations centres), hyperautomation platforms. But who pays the bill for a small team like Kirby’s, or the maintainer of a Craft CMS plugin, or the PHP library three layers down that half the web quietly depends on? All of this is also going to become a governance question for open source, and I don’t know whether we have an answer yet.</p>
<p>And ultimately, we, as an industry, are the downstream.</p>
<p>I run Kirby in several client projects and I trust the team and their work. Every time a security release lands, I update quickly and quietly, usually covered by a reasonable maintenance retainer. But the cadence is changing. The usual “let’s skip a few minor updates to save the budget for the bigger ones” will probably not hold up anymore – at least not if you care about security, which you should. And for each update, someone has to read the release notes, test the update, and push it to production, ideally the same day. That is going to become a much more explicit part of the conversations I have with clients.</p>
<p>And of course, it’s good that these bugs are being found. And they need to be fixed. The 27-year-old hole in OpenBSD was there all those years – we just couldn’t see it. Making bugs visible is a gift, even when the gift arrives wrapped in a pile of work. But visibility is only the first step. What matters is whether we can really close the gap between finding and fixing – and whether we, as clients, as agencies, as developers, as a community, are willing to fund, staff, and support the people doing the work.</p>
<p>But also: what can we do, together, to make the software we depend on more secure? In budgets, in update routines, in client conversations, in the way we contribute to and pay for the projects we use every day. I will see Bastian at <a href="https://beyondtellerrand.com/events/dusseldorf-2026">beyond tellerrand Düsseldorf</a> next week and we’ll certainly talk about all of this a bit. But I know I’ll also be having that conversation with every one of my clients in the coming weeks. And I’d love to hear your thoughts on this as well: how does it all play out for the projects and websites you maintain?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Design and Engineering, As One</title>
                <link>https://matthiasott.com/articles/design-and-engineering-as-one</link>
                <pubDate>Tue, 14 Apr 2026 14:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/design-and-engineering-as-one</guid>
                <description><![CDATA[
                    
																																	<p>In the winter of 1898, a mechanical engineer named <a href="https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor">Frederick Winslow Taylor</a> arrived at the Bethlehem Steel Company in Pennsylvania with a stopwatch and a conviction. Taylor had been thinking for years about why industrial work was so inefficient, and he believed he had found the answer: the problem was that the people who <em>did</em> the work were also the people who <em>decided how to do</em> it. Workers brought their own habits, their own rhythms, their own judgment. All of that variation was, in Taylor’s view, waste.</p>
<p>His solution was to separate thinking from doing, cleanly and completely. Management would plan the work – the optimal method, the optimal pace, the correct tool for each task. Workers would execute it. <a href="https://en.wikipedia.org/wiki/The_Principles_of_Scientific_Management">He called it scientific management</a>, and over the following decades, it became the template for how industrial organisations structured almost everything they did.</p>
<p>Nobody planned for it to also become the template for digital product teams. But when the first agencies and studios needed a process, they borrowed from what existed. And what existed was the industrial model. Plan. Design. Produce. One phase hands off to the next. The designers design; then the engineers build. A specification travels one way, downstream, and something is produced at the other end.</p>
<p>The only problem is that building complex digital products is nothing like shovelling pig iron more efficiently at Bethlehem Steel. Yet over a hundred and twenty years later, most of us are still running product teams on a model that was designed for a problem we don’t have.</p>
<h2>Two Lenses</h2>
<p>I’ve been in the meeting where this model starts to show its seams more times than I can count – on the design side, the engineering side, and also in the middle where you can see exactly what both people mean and why they still can’t hear each other.</p>
<p>A designer walks the team through a carefully designed flow. The layouts are balanced, the visual language holds together, and all the interactions make sense. About four screens in, however, an engineer leans back and says: “That’s going to be complicated.”</p>
<p>The designer asks why. What follows is one of those conversations where both people are clearly smart, clearly well-intentioned, yet somehow still unable to land in the same place. The engineer explains the constraint. The designer reframes the intent. The engineer nods. But not quite in agreement – more in the way people nod when they’ve decided to resolve something later, “offline.” The meeting ends.</p>
<p>Two weeks later, when the feature ships, it works. Technically. But something got lost between what was designed and what was built. It isn’t wrong, exactly. But it also isn’t quite right.</p>
<p>If you’ve seen this pattern enough times, you might be tempted to call it a communication problem. I used to think that, too. Better specs, more detailed annotations, clearer handoff documentation – and the gap would close. But the gap never closed. Because it isn’t only a communication problem. It’s a mental model problem. And the distinction matters, because the fix for one is a better process, and the fix for the other is something fundamentally deeper.</p>
<p>Designers and engineers are not only trained differently. They think about the same product through genuinely different lenses – each one invaluable, but also incomplete on its own.</p>
<p>A designer looks at a screen and sees composition, hierarchy, and intention. They’re thinking about what a user needs to feel and understand at a particular moment. They hold the whole experience in their head as a kind of narrative: the user arrives here, notices this, does that, and feels – ideally – how the product understands them. Design is about managing perception and guiding attention through space and time.</p>
<p>An engineer looks at the same screen and sees structure, state, logic, and constraints. They’re thinking about what happens when the data doesn’t arrive, when the user does something unexpected, when the component needs to work in a dozen different contexts simultaneously. Engineering is about managing complexity and building things that hold up under the pressure of reality.</p>
<p>Neither lens is wrong. Both are necessary. But they produce different vocabularies, different intuitions, and – crucially – different instincts about what the right question even is.</p>
<p>When a designer says “make it feel lighter,” they have something precise in mind: less visual weight, more breathing room, perhaps a subtle change in transition timing. When an engineer hears “make it feel lighter,” they hear an instruction with no acceptance criteria. What does <em>done</em> look like? The designer isn’t being vague. The engineer isn’t being obstructive. They’re speaking different native languages and assuming, very often incorrectly, that they share one.</p>
<h2>Productive Friction</h2>
<p>Here’s the thing, though: this tension, by itself, is not the problem. In the right conditions, it’s actually one of the most valuable assets a team has.</p>
<p>Because designers and engineers don’t have the same blind spots. They have complementary ones. A designer optimising for perception and narrative can miss structural fragility – the interaction that feels wonderful but buckles under real-world data. An engineer optimising for robustness can miss experiential quality – the error state that handles every edge case correctly but leaves the user feeling abandoned. When those two lenses collide early enough, each one catches what the other would miss. Quality goes up because the team is running two different threat-detection systems at once.</p>
<p>But it goes further than that. When both disciplines stay in dialogue, constraints from one domain become creative inputs for the other. Take the “make it feel lighter” conversation again: if the designer and the engineer actually sit down together, the engineer might say, “I can’t reduce the weight of that component without breaking the layout in three other places – but what if we changed the transition timing instead?” And suddenly there’s a solution that is both structurally sound and perceptually better than what the designer originally had in mind. The constraint didn’t limit the design. It redirected it somewhere more interesting. This is what working with a material feels like: the material pushes back, and the pushback makes the work better.</p>
<p>And the negotiation itself has value. When a designer has to explain <em>why</em> something should feel lighter – not in aesthetic terms but in terms of what the user needs to experience at that moment – the thinking gets sharper. When an engineer has to explain <em>why</em> something is complicated – not in jargon but in terms of what the system is actually doing – the architecture gets clearer. The friction is a forcing function for clarity on both sides. As <a href="https://daverupert.com/2026/03/people-are-not-friction/">Dave Rupert recently put it</a>, people are not friction – but <a href="https://matthiasott.com/notes/the-shape-of-friction">friction is where good work gets its shape</a>.</p>
<p>Two incomplete lenses, brought together early enough and often enough, produce something richer than either would alone. A designer who learns to anticipate structural constraints starts making better decisions. An engineer who learns to see compositional intent starts building with more sensitivity. Given enough shared time and enough feedback loops, the two perspectives don’t merely coexist. They teach each other.</p>
<p>The question is whether the process gives them that chance.</p>
<h2>The Fault Line</h2>
<p>In most teams, it doesn’t. And this is where Taylor’s inheritance does its real damage.</p>
<p>A sequential process – where design finishes before engineering begins, and a specification is the primary bridge between them – does something that is quietly destructive: it takes a manageable cognitive difference and makes it catastrophic. Not by <em>creating</em> the tension between the two lenses, but by <em>removing</em> every mechanism that could make that tension productive. In a sequential process, there’s no shared material to point at. No immediate feedback when a design decision collides with a technical constraint. No moment where the engineer’s question reshapes the designer’s thinking in real time, or where the designer’s intent becomes visible to the engineer before it’s cast into a deliverable.</p>
<p>What remains is translation. And translation always loses something.</p>
<p>And so, every time a decision falls into the space between design and engineering, it gets made by whoever happens to be closest to it at that moment. An engineer makes a spacing decision because the specification wasn’t precise enough. A designer overrides a component behaviour in a mockup without realising that it is load-bearing elsewhere in the system. A product manager resolves the disagreement by picking whichever option is faster to ship this sprint.</p>
<p>These small, local decisions accumulate. The built product drifts from the design intent. The codebase drifts from the design system. And eventually, the team is looking at something that technically works but feels like it was assembled from parts that weren’t quite designed to fit together. Because, in a very real sense, it was.</p>
<p>The problem isn’t that people are making bad decisions. (Although we also do that at times.) It’s that the decisions are happening in the wrong place, by people working without full context, in territory they don’t feel entirely responsible for or comfortable in. Nobody put them there deliberately. It’s just what happens naturally when two disciplines work in sequence, each doing their best with what they’ve been handed.</p>
<p>And the conventional response – better tooling – doesn’t change this. Zeplin, Figma’s developer mode, Storybook, design tokens, and other tooling around design systems: these are genuinely useful things and I’m glad they exist. They reduce friction at the moment of transfer and provide helpful guardrails. But they make translation more efficient without questioning whether translation is the right model in the first place. The constraints that engineers understand deeply – what the browser actually does, how a component degrades at unexpected viewport sizes, what happens to the layout when real content is three times longer than the copy in the mockup, or <a href="https://www.youtube.com/watch?v=su6WA0kUUJE">what is now possible with the new CSS</a> – these things still don’t flow back upstream until it’s too expensive to act on them.</p>
<p>What teams need isn’t a better handoff process. They need fewer handoffs. And they need to address both sides of the problem: the structural process gap <em>and</em> the cognitive perception gap.</p>
<h2>Working in the Material</h2>
<p>The structural gap – the one Taylor’s model created – needs a structural fix. And the most effective one I know is also the most direct: bring design decisions into contact with the actual material as early as possible.</p>
<p>In 2015, <a href="https://frankchimero.com">Frank Chimero</a> gave a talk at Webstock called <em><a href="https://frankchimero.com/blog/2015/the-webs-grain/">The Web’s Grain</a></em> and asked a question that I’ve returned to many times since:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>What would hap­pen if we stopped treat­ing the Web like a&nbsp;blank can­vas to paint on, and start­ed treat­ing it like a&nbsp;mate­r­i­al to build&nbsp;with?”</p>
</blockquote>
												</figure>
																
																																	<p>When design decisions are made in tools that have no concept of state, of time, of viewport, of the real unpredictability of content, you stop designing for the Web. You design a fiction of the Web. And then you hand that fiction to engineers, who absorb in the process all the compromises and assumptions that were hidden inside the original fiction.</p>
<p>Prototyping in the browser changes this – something I’ve <a href="https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping">written about at length before</a> and which I’m more convinced of than ever. The browser isn’t only where the product ends up. It’s a place to explore ideas and test them. It’s a place to discover edge cases before they become engineering surprises. It’s a place to shape your design directly with the real material: the web platform with all its inherent flexibility and unpredictability. When design decisions are made in the medium where they’ll live, you encounter immediately what the platform supports and what it doesn’t. This is what <a href="https://adactio.com/journal/18982">Jeremy Keith calls declarative design</a> – designing with the grain of the medium rather than imposing control over it. And the products that come out of this process are better for it. They’re more resilient, more accessible, more performant, because the constraints that shape those qualities were present from the start, not discovered after the fact.</p>
<p>But here’s what prototyping alone doesn’t solve: it addresses the process gap – the lack of a shared material, the absence of feedback loops – but not fully the perception gap. You can put a designer and an engineer in front of the same browser window and they will learn from each other’s perspectives. But they will still, to some extent, see different things. The lenses don’t merge all of a sudden just because the medium is shared.</p>
<p>For that, you need something more.</p>
<h2>The Artist Who Builds</h2>
<p>In 1919, twenty-one years after Taylor arrived at Bethlehem Steel, an architect named <a href="https://en.wikipedia.org/wiki/Walter_Gropius">Walter Gropius</a> founded a school in Weimar, Germany, that was built on a deliberate refusal of everything Taylor stood for.</p>
<p>The <a href="https://en.wikipedia.org/wiki/Bauhaus">Bauhaus</a> didn’t separate the person who designed something from the person who knew how to make it. There were no handoffs. Artists and craftspeople learned together, thought together, built together, each one expected to understand both the vision and the material. <a href="https://bauhausmanifesto.com/">Gropius wrote</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>The ulti­mate goal of all art is the building!”</p>
</blockquote>
												</figure>
																
																																	<p>That ideal was largely lost in the industrialised world. We got Taylor’s model instead, because we craved efficiency, and separating planning from execution looked efficient – at least on a stopwatch. But Gropius understood something Taylor didn’t: the best work happens not when thinking and doing are separated, but when they can’t be pulled apart. When the person shaping the vision also feels the resistance of the material. When understanding how something is made changes your idea of what it should be.</p>
<p>I’ve felt this in my own work for years. When I design a layout, I’m already thinking about how the CSS will behave when the viewport narrows and what happens to the rhythm when real content replaces the placeholder text. When I write CSS, I’m not transcribing someone else’s vision – I’m making design decisions in real time, adjusting spacing and proportion and timing based on what the browser is actually showing me. These aren’t two separate activities that I switch between. They’re the same activity seen from two angles simultaneously. And the decisions I make as a result are different – and better – than the ones I’d make if I only held one lens.</p>
<p>But it’s not only that the work gets more coherent. Working at the intersection of both disciplines also lets you see possibilities that neither one would reveal on its own. A designer who understands what CSS Grid and container queries can do will imagine layouts that a designer working only in Figma would never conceive of. An engineer who feels compositional intent will reach for a scroll-driven animation or a view transition that a pure engineering mindset wouldn’t prioritise. These aren’t better compromises. They’re ideas that couldn’t have existed without both perspectives being present at once.</p>
<p>This is what the design engineering role actually is, at its best. Not a designer who codes or an engineer who has taste, but someone who holds both lenses at once and can think compositionally and structurally in the same moment. Someone who doesn’t translate between design and engineering for the Web because there’s nothing to translate – the understanding is native to both.</p>
<p>When that person, a web design engineer, exists on a team, something shifts. The gap between design intent and built reality doesn’t need to be managed with better specifications or smoother handoff tools. It doesn’t form in the same way, because the decisions that would normally fall into that gap are being made by someone with context on both sides. The cognitive difference between the two disciplines – the one that’s real and valuable and never going away – finally has a place where it’s held together rather than split apart.</p>
<p>The web design engineer is, in a very real sense, Gropius’s ideal brought to the Web. The artist who builds. The thinker who makes. The person for whom design and engineering are not sequential phases but a single, continuous act of judgment.</p>
<p>And judgment, more than anything, is what we need.</p>
<p>In a world where AI can increasingly handle execution – writing the boilerplate, generating the component scaffolding, shovelling the pig iron, if you will – what matters most is exactly what the sequential model suppresses: the ability to see both the composition and the constraint simultaneously, to make decisions that are aesthetically sensitive <em>and</em> structurally sound, to develop the kind of cross-disciplinary taste that no specification can encode and no amount of tooling can automate. The interdisciplinary mind isn’t a nice-to-have anymore. It’s the capability that matters most, precisely because it’s the one machines can’t replicate.</p>
<h2>Who Owns This Space?</h2>
<p>I don’t want to make this sound like a problem with a simple solution. It isn’t. Otherwise it wouldn’t persist. Organisations are complex, teams have histories, and the design-engineering relationship often carries a lot of accumulated tension.</p>
<p>But it’s worth being honest about where that tension comes from. It comes from a structural assumption – that design and engineering are sequential activities, that one finishes before the other begins, and that what passes between them is a specification rather than a conversation. And it’s amplified by a cognitive reality – that the two disciplines are trained and see differently, and that without shared time, shared material, and shared language, those differences compound into drift.</p>
<p>The structural problem needs a structural fix: work in the real material, prototype in the browser, make design decisions where they’ll actually live. The cognitive problem needs a different kind of fix: build shared vocabulary, learn from each other, invest in people who carry context across both worlds, create roles where design and engineering aren’t phases but perspectives held by the same mind. Ideally, you address both.</p>
<p>The question worth asking is: in your team, who owns the space between design intent and built reality? Who is responsible for making sure that what gets designed is what gets built – and that it’s built for the actual Web, with all its variability, its real content, its real constraints, and its real humans?</p>
<p>When you have a real answer to that – a name, a role, a shared commitment – you see the difference in the product. Fewer bugs. Better performance. Stronger accessibility. Less money wasted on rework that shouldn’t have been necessary in the first place. And, most importantly, better experiences for the people who use what you build.</p>
<p>Taylor separated thinking from doing because he believed the separation made the work better. Gropius reunited them because he understood it made the work <em>whole</em>. On the Web, we get to choose which model we build on. The material is right there and the distance between an idea and a working thing has never been smaller. The person shaping the vision can also be the person feeling the resistance of the material. The one who imagines the layout can be the one who writes the CSS. Maybe that’s how building things for the Web was always meant to be. </p>
<p>Design and engineering, as one.</p>
<p>❦</p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Hello Again, World</title>
                <link>https://matthiasott.com/notes/hello-again-world</link>
                <pubDate>Fri, 03 Apr 2026 21:46:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/hello-again-world</guid>
                <description><![CDATA[
                    
																																	<p>On December 24, 1968, Christmas Eve, astronaut <a href="https://en.wikipedia.org/wiki/William_Anders">William Anders</a> took what would become one of the most consequential photographs in human history. He was aboard Apollo 8, orbiting the Moon for the fourth time, when the spacecraft rotated and the Earth appeared in his window. A small, luminous sphere, blue and white, suspended in the blackness above the barren lunar horizon. Anders grabbed his Hasselblad camera, loaded a roll of Kodak Ektachrome color film, and pressed the shutter. The photograph would later be called <a href="https://www.nasa.gov/image-article/apollo-8-earthrise/"><em>Earthrise</em></a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/NASA-Apollo8-Dec24-Earthrise.jpg 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/NASA-Apollo8-Dec24-Earthrise.jpg 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/NASA-Apollo8-Dec24-Earthrise.jpg" alt="NASA Apollo8 Dec24 Earthrise" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>Image Credit: NASA</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>No one had planned for that image. It wasn’t on the flight schedule. When Anders said “Oh, my God! Look at that picture over there! Here’s the Earth coming up. Wow, is that pretty,” and reached for the camera, Commander Frank Borman joked: “Hey, don’t take that, it’s not scheduled.” But Anders did, and the result was a picture that showed humanity what no words ever could: a tiny, delicate world, hanging in the void of the universe, with no borders visible and no indication of all the wars, the politics, and the noise below.</p>
<p>Anders, who <a href="https://www.smithsonianmag.com/smart-news/william-anders-nasa-astronaut-who-captured-iconic-earthrise-photograph-dies-at-90-180984508/">died in June 2024</a> at the age of 90, <a href="https://www.forbes.com/sites/jimclash/2015/04/17/bill-anders-recalls-famous-earthrise-photo-he-took-from-moon/">once reflected on the Apollo 8 mission</a> and said something remarkable: They had gone all the way to the Moon – and what they really discovered was the Earth.</p>
<p>Fifty-eight years later, on April 2, 2026, another astronaut held a camera up to a spacecraft window. <a href="https://en.wikipedia.org/wiki/Reid_Wiseman">Reid Wiseman</a>, commander of NASA’s Artemis II mission, had just completed the translunar injection burn that sent the Orion spacecraft and its crew of four on a trajectory toward the Moon. Through the window, he saw the Earth, now eclipsing the Sun, flanked by two shimmering auroras and a faint band of zodiacal light. He took the photograph and it was downlinked to Houston shortly after. NASA titled it <a href="https://www.nasa.gov/image-article/hello-world/"><em>Hello, World</em></a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/art002e000192.jpg 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/art002e000192.jpg 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/art002e000192.jpg" alt="Art002e000192" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption left">
								<p>Image credit: NASA/Reid Wiseman</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>It is the first image of our planet taken by human hands from deep space in over half a century.</p>
<p>Wiseman, along with pilot Victor Glover, mission specialist Christina Koch, and Canadian Space Agency astronaut Jeremy Hansen, <a href="https://www.nasa.gov/blogs/missions/2026/04/02/artemis-ii-flight-day-2-orion-completes-tli-burn-crew-begins-journey-to-the-moon/">launched from Kennedy Space Center on April 1</a>. They are the first crew to travel toward the Moon since Apollo 17 in December 1972. Koch is the first woman on a lunar mission. Glover is the first person of color. Hansen is the first Canadian. Their <a href="https://en.wikipedia.org/wiki/Orion_(spacecraft)">Orion spacecraft</a>, which they named <em>Integrity</em>, will carry them around the far side of the Moon and back over the course of ten days.</p>
<p>Between Anders’s photograph and Wiseman’s, more than two generations have passed. Smallpox was eradicated. The Berlin Wall fell. The Web was born. A hundred and ninety-six countries agreed to protect the climate. A pandemic swept the globe. And yet the Earth in both images looks remarkably, stubbornly the same – a bright, quiet blue marble against an ocean of black, impossibly vivid, impossibly alone.</p>
<p>Some images ask nothing of you except that you look.</p>
<p>~</p>

																												            	]]></description>
            </item>
                    <item>
                <title>This, Still Not for Everyone</title>
                <link>https://matthiasott.com/notes/this-still-not-for-everyone</link>
                <pubDate>Wed, 01 Apr 2026 14:50:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/this-still-not-for-everyone</guid>
                <description><![CDATA[
                    
																																	<p>The new <a href="https://webaim.org/projects/million/">WebAIM Million report</a> is out, the eighth annual accessibility analysis of the top one million home pages on the Web. And after eight years of data, the picture is as sobering as ever.</p>
<p>In 2019, 97.8% of home pages had detectable WCAG conformance failures. In 2026, that number is 95.9%. That’s less than two percentage points of improvement in seven years – and this year actually reversed the (minimal) downward trend, climbing back up from 94.8% in 2025. A statistician would likely consider this just normal variation rather than a meaningful change. The average number of errors per page, however, rose to 56.1, up over 10% from last year. Pages are getting more complex, <a href="https://webaim.org/projects/million/#aria">ARIA usage is exploding</a> (up 27% in a single year), and the same six types of errors – low contrast text, missing alt text, missing labels, empty links, empty buttons, missing document language – still account for 96% of all detected failures. They have been the same six issues for the entire duration of this study.</p>

																												
																												<div class="chart-container">
  <h2 class="chart-title">Home Pages with Detected WCAG Conformance Failures</h2>
  <p class="chart-subtitle">
    Percentage of the top 1,000,000 home pages, 2019–2026.
  </p>

  <div class="chart-wrapper">
    <canvas
      id="wcagChart"
      role="img"
      aria-label="Line chart showing the percentage of home pages with detected WCAG conformance failures from 2019 to 2026. The rate started at 97.8 % in 2019, rose briefly to 98.1 % in 2020, then gradually declined to 94.8 % in 2025, before climbing back to 95.9 % in 2026."
    >
      <!-- Fallback for browsers without canvas / JS -->
      <p>Your browser does not support this chart. See the data table below.</p>
    </canvas>
  </div>

  <div class="data-table-wrapper">
    <button
      class="data-table-toggle"
      aria-expanded="false"
      aria-controls="dataTableContent"
      id="tableToggle"
    >
      Show data table
    </button>

    <div id="dataTableContent" hidden>
      <table class="data-table">
        <caption>Percentage of home pages with detected WCAG conformance failures</caption>
        <thead>
          <tr>
            <th scope="col">Year</th>
            <th scope="col">% with failures</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>2019</td>
            <td>97.8%</td>
          </tr>
          <tr>
            <td>2020</td>
            <td>98.1%</td>
          </tr>
          <tr>
            <td>2021</td>
            <td>97.4%</td>
          </tr>
          <tr>
            <td>2022</td>
            <td>96.8%</td>
          </tr>
          <tr>
            <td>2023</td>
            <td>96.3%</td>
          </tr>
          <tr>
            <td>2024</td>
            <td>95.9%</td>
          </tr>
          <tr>
            <td>2025</td>
            <td>94.8%</td>
          </tr>
          <tr class="highlight">
            <td>2026</td>
            <td>95.9%</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>

  <p class="chart-source">
    Data: <a href="https://webaim.org/projects/million/">The WebAIM Million</a>, annual reports 2019–2026. Only automatically detectable errors considered.
  </p>
</div>
<style>

  .chart-container {
    --color-line: var(--accent-color);
    --color-point: #2b6cb0;
    --color-point-highlight: #c53030;
    --color-bg: #ffffff;
    --color-border: #e2e8f0;

    position: relative;
    max-width: 48rem;
    padding: var(--space-l) 0;
  }

  .chart-title {
    font-weight: 700;
    margin-bottom: 0.25rem;
  }

  .chart-subtitle {
    font-family: var(--font-sans);
    color: var(--color-text-secondary);
    margin-bottom: 1.25rem;
  }

  .chart-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8;
  }

  .chart-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
  }

  /* Accessible data table fallback (visible to all for transparency) */
  .data-table-wrapper {
    margin-top: 1.25rem;
  }

  .data-table-toggle {
    font-family: var(--font-sans);
    font-size: var(--fluid-0);
    color: var(--color-line);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  .data-table-toggle:hover,
  .data-table-toggle:focus-visible {
    color: var(--color-text);
background: transparent;
  }

  .data-table-toggle:focus-visible {
    outline: 4px solid var(--color-focus);
    outline-offset: 3px;
    border-radius: 2px;
  }

  .data-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: var(--fluid-0);
    margin-top: 0.75rem;
  }

  .data-table caption {
    text-align: left;
    font-weight: 700;
    padding-bottom: 0.5rem;
    font-size: var(--fluid-0);
  }

  .data-table th,
  .data-table td {
    text-align: left;
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--color-border);
  }

  .data-table th {
    font-weight: 600;
    color: var(--color-text-secondary);
    border-bottom: 2px solid var(--color-text-secondary);
  }

  .data-table td {
    font-variant-numeric: tabular-nums;
  }

  .data-table tr.highlight td {
    font-weight: 700;
    color: var(--color-point-highlight);
  }

  .data-table-content[hidden] {
    display: none;
  }

  .chart-source {
    font-family: var(--font-sans);
    font-size: var(--fluid--1);
    color: var(--color-text-secondary);
    margin-top: 0.75rem;
  }

  .chart-source a {
    color: var(--color-line);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }
</style>
<script src="https://cdn.jsdelivr.net/npm/chart.js" defer onload="initChart()"></script>
<script>
function initChart() {
var years = ['2019', '2020', '2021', '2022', '2023', '2024', '2025', '2026'];
  var values = [97.8, 98.1, 97.4, 96.8, 96.3, 95.9, 94.8, 95.9];
  var ctx = document.getElementById('wcagChart').getContext('2d');
  new Chart(ctx, {
    type: 'line',
    data: {
      labels: years,
      datasets: [{
        label: '% of home pages with WCAG failures',
        data: values,
        borderColor: 'rgb(82, 80, 255)',
        backgroundColor: 'rgba(120, 122, 130, 0.05)',
        borderWidth: 2.5,
        pointBackgroundColor: function(context) {
          return context.dataIndex === values.length - 1 ? 'rgb(241, 35, 102)' : '#ffffff';
        },
        pointBorderColor: function(context) {
          return context.dataIndex === values.length - 1 ? 'rgb(241, 35, 102)' : 'rgb(82, 80, 255)';
        },
        pointBorderWidth: 2,
        pointRadius: 5,
        pointHoverRadius: 9,
        pointHoverBackgroundColor: function(context) {
          return context.dataIndex === values.length - 1 ? 'rgb(241, 35, 102)' : 'rgb(82, 80, 255)';
        },
        pointHoverBorderColor: '#ffffff',
        pointHoverBorderWidth: 2,
        fill: true,
        tension: 0.15,
        clip: false,
      }]
    },
    options: {
layout: {
    padding: {
      top: 24
    }
  },
      responsive: true,
      maintainAspectRatio: false,
      interaction: { intersect: false, mode: 'index' },
      plugins: {
        legend: { display: false },
        tooltip: {
yAlign: 'top',
          backgroundColor: '#2F3643',
          titleFont: { family: '"NaN Tresor VAR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', size: 15, weight: '600' },
          bodyFont: { family: '"NaN Tresor VAR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', size: 15 },
          padding: { top: 8, right: 12, bottom: 8, left: 12 },
          cornerRadius: 4,
          displayColors: false,
          callbacks: {
            title: function(items) { return items[0].label; },
            label: function(item) { return item.raw + '% with failures'; }
          }
        }
      },
      scales: {
        y: {
          min: 0, max: 100,
          ticks: {
            callback: function(v) { return v + '%'; },
            stepSize: 20,
            font: { family: '"NaN Tresor VAR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', size: 14 },
            color: '#84868e'
          },
          grid: { color: 'rgba(120, 122, 130, 0.3)', drawBorder: false },
          border: { display: false }
        },
        x: {
          ticks: { 
             padding: 10, 
             font: { family: '"NaN Tresor VAR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', size: 14, weight: '600' }, 
             color: '#84868e' 
           },
          grid: { display: false },
          border: { color: 'rgba(120, 122, 130, 0.3)' }
        }
      },
      animation: { duration: 800, easing: 'easeOutQuart' }
    }
  });
  var toggle = document.getElementById('tableToggle');
  var content = document.getElementById('dataTableContent');
  toggle.addEventListener('click', function() {
    var expanded = toggle.getAttribute('aria-expanded') === 'true';
    toggle.setAttribute('aria-expanded', !expanded);
    content.hidden = expanded;
    toggle.textContent = expanded ? 'Show data table' : 'Hide data table';
  });
}
</script>
																						
																																	<p>And these are only the errors that automated tools can detect. As anyone who has ever audited a website properly knows, the real numbers are always worse.</p>
<p>I know accessibility can feel like an uphill battle. And I know the discourse around it has become increasingly polarised in recent years, with more infighting, more blame, more frustration. I understand and feel the frustration, too. But blaming each other isn’t moving the needle. Just like accessibility overlays, it won’t make the Web more accessible. The numbers make that painfully clear.</p>
<p>What does move the needle is collaboration. It’s designers and developers sitting down together and caring about the basics. It’s teams making accessibility a shared responsibility from the start – not as an afterthought, not a compliance checkbox, not someone else’s problem. It’s treating the people who use our products with the respect they deserve. And it’s all of us helping each other, educating each other, pushing each other forward.</p>
<p>We are one community. But the Web we all love and care about still isn’t living up to its bold promise. It still isn’t for everyone. The only way we’ll make real progress is by working together – patiently, persistently, and with a whole lot less finger-pointing. One focus state, one component, one website at a time.</p>
<p>If your team needs support with accessibility – audits, training, or hands-on guidance to build more inclusive products – <a href="https://matthiasott.com/accessibility">I can help</a>. And we are many: professionals – humans – who deeply care and can help you make the Web a bit more for everyone.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Shape of Friction</title>
                <link>https://matthiasott.com/notes/the-shape-of-friction</link>
                <pubDate>Sat, 21 Mar 2026 11:59:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-shape-of-friction</guid>
                <description><![CDATA[
                    
																																	<p>Dave Rupert just wrote a piece called <a href="https://daverupert.com/2026/03/people-are-not-friction/"><em>People are not friction</em></a> and I just had to write a short reaction blog post, because Dave names something I’ve been thinking about for a while now. His main argument: the AI marketing dream of a “frictionless” workflow – where you automate away every task you don’t enjoy, every job you don’t know how to do, and every person who slows you down – is not efficiency. And a dangerous place to end up.</p>
<p>He’s right. But I want to take it a step further, because I think there’s something hiding behind the word “friction” that we need to reclaim: friction isn’t the enemy of good work. Friction is where good work gets its shape.</p>
<p>Think about what actually happens when a designer and an engineer disagree about an interaction pattern. There’s a moment of tension – maybe even frustration. The engineer says it’ll be fragile. The designer says it’s essential for the experience. Neither is wrong, necessarily. But the conversation – if your process allows for it to happen – that back-and-forth where both sides have to articulate <em>why</em> they believe what they believe, is where the design becomes robust and both people gain experience. Not in the Figma file. Not in the pull request. In the friction between two people who care about different things and are forced to find a shared answer.</p>
<p>That conversation can be slow, yes. It can feel cumbersome, inconvenient, and inefficient. It’s the kind of conversation a well-prompted agent will never ask you to have, because it doesn’t count as productive. But removing it doesn’t make the work faster. It makes the work <em>thinner</em>. It creates <a href="https://matthiasott.com/notes/continvoucly-morged-value">continvoucly morged</a> work.</p>
<p>The best creative work I’ve been part of always involved exactly this kind of productive resistance. A colleague who pushed back on an assumption I hadn’t questioned. A client who asked an awkward question that revealed a flaw in the concept. A developer who said “that won’t work the way you think it will” and was right. Every one of those moments felt like friction. Every one of them made the result better.</p>
<p>What the “frictionless” vision really sells is the removal of dependency on other people’s experience and judgment. And that’s the part that should make us uneasy (and also a bit angry, frankly). Because judgment is the one thing a large language model genuinely cannot provide. It can pattern-match. It can synthesise. It can produce something that <em>looks</em> like judgment if you squint, derived from the logical structures encoded in language. But as Dave points out, it doesn’t care if it’s right or wrong. It has no stakes. No skin in the game. No lived experience that makes it wince when a decision feels off. No introspection. No goals.</p>
<p>When someone on your team pushes back, that resistance carries weight precisely <em>because</em> they have context you don’t have. They’ve built things that broke. They’ve watched users struggle with the last version. They remember the architectural decision from six months ago that makes your clever idea a nightmare to implement. That friction isn’t making the work worse. That friction is the point.</p>
<p>There’s a concept in craft and material design that I keep coming back to (over and over again – human brains, you know …): working with the nature, the “grain” of a material rather than against it. The grain of collaborative human work <em>is</em> often messy and slow. It requires negotiation, translation, and sometimes genuine disagreement. If we try to sand all of that away in the name of speed, we’re not working with the real material anymore. We’re pretending it’s something it isn’t. Professional work always has friction.</p>
<p>So yes – <em>people</em> are not friction. But friction is essential to human work. Friction is what a sculptor feels when the chisel meets the stone. Friction is what turns a rough surface into something smooth and polished. The frictionless version of creative work isn’t faster creative work. It’s no creative work at all.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>WeissKlang L1 – Punching Above Its Weight</title>
                <link>https://matthiasott.com/notes/weissklang-l1-punching-above-its-weight</link>
                <pubDate>Sun, 08 Mar 2026 16:43:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/weissklang-l1-punching-above-its-weight</guid>
                <description><![CDATA[
                    
																																	<p>In November 1928, <a href="https://en.wikipedia.org/wiki/Georg_Neumann">Georg Neumann</a> and Erich Rickmann founded Georg Neumann &amp; Co. in a Berlin workshop and by the end of that year, Neumann had debuted the <a href="https://www.neumann.com/en-us/products/historical/cmv-3/">CMV 3</a>, the first mass-produced <a href="https://en.wikipedia.org/wiki/Microphone#Condenser_microphone">condenser microphone</a>. The CMV designation stood for <em>Condensator Mikrofon Verstärker</em>, condenser microphone amplifier, and the number three hints at the least two prototypes that didn’t quite make it. The broadcasters who got their hands on the CMV 3 didn’t dwell on those earlier failures. Nothing else captured a voice like that.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Neumann-CMV3.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Neumann-CMV3.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Neumann-CMV3.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Neumann-CMV3.jpg" alt="Neumann CMV3" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Nearly a century later, another Neumann microphone, the <a href="https://www.neumann.com/en-de/products/microphones/tlm-103">TLM 103</a>, has become the reference for many engineers and vocalists — a large-diaphragm condenser made in Germany, transformerless circuit, <a href="https://en.wikipedia.org/wiki/Microphone#Cardioid">cardioid</a>-only, introduced in 1997, retailing for around 1,200 EUR. Together with its bigger brother, the <a href="https://en.wikipedia.org/wiki/Neumann_U_87">U 87</a>, it’s the studio standard you’re quietly measuring everything else against.</p>
<p>So when <a href="https://weissklang.com/en/weissklang-l1/">WeissKlang</a>, a small company in Murr, Baden-Württemberg, Germany, puts their handmade <a href="https://weissklang.com/en/weissklang-l1/">L1</a> side by side with exactly that microphone in their audio comparisons – without naming it, just listing the specs – it’s either a really bold move or a very confident one. After having spent a bit of time with the L1 over the last few days, I think it might be both.</p>

																												
																																	<h2>On Paper</h2>
<p>The L1 is a cardioid-only large-diaphragm condenser built around WeissKlang’s own center-terminated WMK-1 capsule – a 32 mm gold-sputtered membrane the company spent three years developing. The circuit is transformerless and fully discrete, and the specs are, on paper, remarkable: a <a href="https://www.neumann.com/en-us/knowledge-base/neumann-im-homestudio/homestudio-academy/what-is-self-noise-or-equivalent-noise-level/">self-noise</a> of only 4 dB-A, which even the TLM 103 with its 7 dB-A can’t beat – anything below 10 is considered extremely low noise –, a <a href="https://en.wikipedia.org/wiki/Signal-to-noise_ratio">signal-to-noise ratio</a> of 90 dB-A, and a <a href="https://www.neumann.com/en-us/knowledge-base/neumann-im-homestudio/homestudio-academy/what-does-maximum-sound-pressure-level-max-spl-mean/">maximum sound pressure level</a> (max. SPL) of respectable 140 dB.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 36.979166666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/L1-frequency-response.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/L1-frequency-response.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/L1-frequency-response.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/L1-frequency-response.jpg" alt="L1 frequency response" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>The frequency response of the L1 shows a notable presence boost. Source: WeissKlang</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>The frequency response ranges from 20 Hz to 22 kHz, with a presence lift around 10–11 kHz that adds what WeissKlang describes as “transparency and exceptional clarity”. The transient capture time is quoted at 14 microseconds, which is an impressive figure compared to other mics. It means the microphone capsule reacts to fast-moving sources – so-called transients – with real fidelity. Like virtually all condenser microphones, it requires <a href="https://en.wikipedia.org/wiki/Phantom_power">48 V phantom power</a> to operate – something most audio interfaces or microphone preamps will supply.</p>
<p>WeissKlang offers this impressive package for a regular price of 349 EUR including shipping. And if you’re subscribed to their newsletter, you might also pick it up in a flash sale for even less, in my case only 199 EUR. (Yes, you read that right.)</p>

																												
																																	<h2>On Air</h2>
<p>What does all that actually mean in practice? The slight lift in the upper frequencies definitely is real. So the L1 isn’t flat or completely neutral. It adds what many people refer to as “air” – a kind of openness at the top end that makes a recording sound more detailed. But not in the harsh way some cheap microphones like the Audio-Technica AT2020 do, to trick your mind into believing the sound is clearer than it actually is. To my untrained ears, that presence boost in the L1 is quite tasteful and smooth. The same goes for the deeper registers. On my voice, they sound warm and present without being muddy, boomy, or harsh. The community consensus I’ve found – over at <a href="https://www.amazona.de/community/weissklang-das-neue-l1-grossmembran-mikrofon/">Amazona.de</a> and in <a href="https://gearspace.com/board/new-product-alert/1451785-weissklang-releases-l1-plus-ldc-microphone.html">Gearspace threads</a> – seems to confirm that: the L1 is an extraordinarily quiet microphone with a genuinely impressive resolution that competes well above its price range.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 76.041666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/weissklang-L1.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/weissklang-L1.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/weissklang-L1.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/weissklang-L1.jpg" alt="Weissklang L1" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>The mic really captures every detail, including, as I quickly discovered, the small sounds you’d prefer it didn&#039;t. The same detail retrieval that captures the breathiness and texture of a voice can also catch lip smacks and mouth noises like saliva clicks with equal faithfulness. This isn’t a criticism – it’s simply what a high-fidelity LDC does when it’s doing its job properly. A little targeted EQ cut around 4–6 kHz can tame the harshest of those transients, and a de-clicker plugin like <a href="https://www.izotope.com/en/products/rx.html">iZotope RX’s Mouth De-click</a> handles the rest in post. But also microphone placement can help mitigate those noises. Because they come straight out of your mouth and downward, placing the mic above your mouth and slightly off-axis will minimize them. Not being too close to the mic also helps.</p>
<p>The included MA-L shock mount does what a shock mount should: it isolates the capsule cleanly, adjusts angle easily, and contributes up to 20 dB of low-frequency isolation. The whole package – the mic, a shock mount, the documentation on a USB stick (paperless by design), all in a box made from FSC-certified wood – feels considered, albeit definitely a bit hand-made. But that’s the idea, I guess.</p>
<p>If you need more flexibility than a fixed cardioid, WeissKlang also makes the <a href="https://weissklang.com/en/weissklang-l1-plus/">L1+</a>, a multi-pattern version with switchable cardioid, omnidirectional, and figure-8 patterns, built around the dual-diaphragm WMK-1D capsule, at 399 EUR. <a href="https://www.professional-audio.de/2026/01/30/test-weissklang-l1-boutique-schallwandler-zum-budgetpreis/">professional-audio.de just tested it thoroughly</a> and came away equally convinced.</p>
<h2>On Point</h2>
<p>I’ve only had the L1 for a short time and I’m still working out how it performs in different recording situations. I can’t wait to try recoding my son and his violin with it, for example. But so far, the L1 sounds to me like an honest, detailed microphone that is transparent rather than flattering. It captures what’s actually there and, although it still sounds different, of course, gets surprisingly close to the Neumann mic everyone is quietly measuring everything else against. For a German-made, hand-assembled condenser at such an unbeatable price, that’s not something I expected to be writing. I’m pleasantly surprised.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Continvoucly Morged Value</title>
                <link>https://matthiasott.com/notes/continvoucly-morged-value</link>
                <pubDate>Mon, 23 Feb 2026 18:38:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/continvoucly-morged-value</guid>
                <description><![CDATA[
                    
																																	<p>You might have seen the diagram before. The one <a href="https://nvie.com/posts/a-successful-git-branching-model/">Vincent Driessen put up on his website</a> a few years ago to explain the concept of a Git branching model.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 132.55208333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/git-model@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/git-model@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/git-model@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/git-model@2x.png" alt="Git model 2x" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>Source: Vincent Driessen’s original Git branching model diagram</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>A few days ago, Microsoft published a page on their Learn portal that contained a diagram that looked … familiar. But only until you looked at it more closely. That’s when you noticed that something clearly wasn’t quite right. Arrows pointing the wrong way. Arrows missing their heads. Others making no sense at all or missing completely. And then, in one of the text boxes, the two words “continvoucly morged”:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 52.994791666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/continvoucly-morged-diagram.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/continvoucly-morged-diagram.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/continvoucly-morged-diagram.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/continvoucly-morged-diagram.jpg" alt="Continvoucly morged diagram" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>For a brief moment, “continvoucly morged“ became a meme. People online were having a good laugh – also because it felt so emblematic of the current moment: Careless AI-generated slop even slipping into official publications of multi-billion dollar companies.</p>
<p>But, as Vincent wrote on his blog, this whole story is also very saddening:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>What’s dispir­it­ing is the (lack of) process and care: take some­one’s care­ful­ly craft­ed work, run it through a&nbsp;machine to wash off the fin­ger­prints, and ship it as your own. This isn’t a&nbsp;case of being inspired by some­thing and build­ing on it. It’s the oppo­site of that. It’s tak­ing some­thing that worked and mak­ing it&nbsp;worse.”</p>
</blockquote>
												</figure>
																
																																	<p>I think we can all relate to that. It is a feeling we all know all too well, especially if we care about our craft – be it art, music, writing, coding, or design. Most of the time, AI output doesn’t take the human work it was trained with to the next level, but only hashes and rehashes it and vomits it out again as something that looks valid, something that looks finished. Something that resembles understanding and sometimes feels indistinguishable from <a href="https://adactio.com/journal/22399">magic</a> – but only at a quick, first glance of the untrained eye.</p>
<p>I guess by now, we’ve all played around a bit with a few AI tools out of curiosity, be it LLMs, text-to-image or text-to-speech generators, audio or video generation models, and more. At least for me, the result has always been the same. Besides from all environmental and copyright concerns, all those tools feel like they can be useful – but only if you need the type of content you can actually expect from them: recycled knowledge at a somewhat decent level that looks impressive at first, but that can and almost always will be incomplete, error-ridden, often uninspired and generic, and sometimes even comically wrong. And you never know when it happens. </p>
<p>That’s why LLMs and all their seemingly intelligent friends, regardless of how much you try to compensate for their flaws by bending over backwards (also called “prompt engineering”), are only really useful when you’re experienced and seasoned enough to spot the errors in the output. When you read an answer and stumble upon a piece of information that – as confidently as it is presented – seems either just a bit weird or also plain wrong. </p>
<p>Maybe that’s also why the output of LLMs always reads the most impressive and convincing in areas we have no clue about and thus are least equipped to judge it. Quantum physics? ChatGPT explains it so well! But CSS? Or JavaScript? Oh, look at all those funny little errors!</p>
<p>I’m not saying that AI can’t be useful. It can summarise. It can draft. It can suggest alternatives. It can translate and check your grammar. But you will always need someone who checks and reworks the output. AI output always needs curation. Human curation. Professional curation.</p>
<p>And that’s why “continvoucly morged” isn’t just a funny typo on some lazily ripped off diagram on a Microsoft portal. It’s also symptomatic of something deeper. Of a fundamental misunderstanding in the way many people see AI and what it can do at the workplace.</p>
<p>The first thing many people jumping on the AI bandwagon, often experimenting with ways to replace the work of skilled professional workers, seem to forget: before AI, organisations relied on the quiet labour of skilled professionals to compensate for weak process and poor decision-making. Designers who caught inconsistencies in the brief. Developers who corrected flawed requirements. Editors who smoothed rough edges before publication. Real humans with experience and a love for their craft who genuinely cared about what’s being created. </p>
<p>Care filled the gaps.</p>
<p>With AI, many executives seem to trust the machines more than the humans who used to do that invisible work. But who’s filling the process gaps now?</p>
<p>At the same time, the rise of AI tools seems to accelerate expectations around how quickly work should be done. You know the story. The loom didn’t free the workers but actually demanded higher output. In the same way, AI doesn’t buy us time. It compresses expectations. It demands higher velocity.</p>
<p>“Half a day for writing that summary? ChatGPT does it in ten seconds.”</p>
<p>“That app prototype? Claude Code can scaffold it in the blink of an eye.”</p>
<p>“That Git branching diagram? Just regenerate it.”</p>
<p>And then, just review it quickly. Just tweak it here and there. Just fix the weird bits and it’s done.</p>
<p>We are told to let the machine do the writing, the coding, the scaffolding – even the thinking. Our new role, we’re told, is oversight. Supervision. A light editorial pass. And it’s done.</p>
<p>This creates a serious problem: if you don’t own the work, if you didn’t think it through and understand it, <a href="https://www.media.mit.edu/publications/your-brain-on-chatgpt/">cognitive debt</a> accumulates. Simply put: if you create a piece of work yourself or together in a team, your brain learns and remembers important aspects of the work and your decisions. If you use an LLM to generate it, all that learning doesn’t happen and so it takes individuals and teams much longer to actually understand what’s going on and, for example, how a piece of overly complicated code actually works in case something needs to be changed. In the case of Vincent’s diagram, the person (or persons) in charge obviously did not understand the diagram in front of them. And, <a href="https://margaretstorey.com/blog/2026/02/09/cognitive-debt/">as Margaret-Anne Storey writes</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>Veloc­i­ty with­out under­stand­ing is not sustainable.“</p>
</blockquote>
												</figure>
																
																																	<p>But all this also means that humans are turned into mere correction engines. We apply our experience not to shape ideas from first principles, but to smooth out the edges of thoughtless, generic AI output. We are handed something that looks finished and are being asked to make it <em>actually</em> finished.</p>
<p>The underlying assumption: AI does in seconds what expensive humans take hours to do. Finally!</p>
<p>But that assumption not only confuses speed with substance and creates more cognitive debt. It also reveals a fundamental misunderstanding about the nature of work and human craft.</p>
<p>Because writing isn’t the typing itself or the word count. Coding isn’t the syntax or the amount of lines written. Scaffolding an app isn’t the folder structure and the component files.</p>
<p>The artifacts aren’t the work. They’re the residue of the work. And you can’t get them without the real work.</p>
<p>The real work is the process, the ugly first drafts, the reframing, the wrestling, the decision to remove a feature instead of adding one, the decision to replace a certain word because it carries the right weight and captures what should be said perfectly. The real work is the rendering of intent. The real work is understanding the problem and the solution. The real work is being inspired by something and building on it. And sometimes, it’s just following that gut feeling you can’t explain. But there are no shortcuts.</p>
<p>If we reduce professionals to reviewers of machine output, we don’t eliminate “the work”. We don’t make work more easy and efficient. And we also don’t increase the speed and quality of our work. We devaluate it. We displace it. We create more cognitive debt in our organizations. And I’d even say we create less happy and less motivated professional workers. Workers that might even stop going the extra mile because they suddenly feel undervalued and disrespected.</p>
<p>Because the writing is the actual work. The coding is the actual work. The thinking is the actual work. The understanding is the actual work. The designing of a diagram is the actual work. The struggling for the best outcome is the actual work.</p>
<p>The care is the work.</p>
<p>The care creates the value.</p>
<p>AI doesn’t care. AI is just another tool.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Webspace Invaders</title>
                <link>https://matthiasott.com/articles/webspace-invaders</link>
                <pubDate>Mon, 09 Feb 2026 01:00:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/webspace-invaders</guid>
                <description><![CDATA[
                    
																																	<p>A couple of weeks back, I’m sitting at my desk when a direct message from my frontend friend <a href="https://www.kevinpowell.co/">Kevin Powell</a> pops up. Kevin’s a genuinely kind guy. <a href="https://www.youtube.com/@KevinPowell">He makes CSS videos on YouTube</a> and he’s got this way of explaining things that never makes you feel stupid for not knowing them already. He’s one of those folks who still has faith in the Web.</p>
<p>“<em>Hey, hope you’re doing well!</em> </p>
<p><em>I was going to link to something of yours for an article I’m writing for <a href="https://piccalil.li/">Piccalilli</a>, but I keep getting a “This site can’t be reached” error in Chrome. I tried in Firefox, and it’s saying it can’t establish a secure connection... <a href="https://bell.bz/">Andy</a> just left a comment saying it’s working for him, so it might be a regional thing? I have </em>no<em> idea.</em>”</p>
<p>Wait. My site is down? </p>
<p>I switch into the browser and load the site. It’s fine. I hit refresh. Still fine. I pick up my phone and load the site there. Also fine. I feel a little lift of relief, followed immediately by confusion: If my site is down for Kevin but not for me, something’s definitely not right. Maybe it really <em>is</em> a regional thing?</p>
<p>So, I do what any legitimate web person does when confronted with a problem: I throw technology at it. VPN time! I connect through Canada, because that’s where Kevin is based, and sure enough – my website doesn’t load. And I get the same results checking availability through <a href="https://check-host.net">check-host.net</a> from a bunch of other locations: Brazil, Czechia, Hong Kong, India, Japan, and the Netherlands all fail to load the site, for instance.</p>
<p>After a few emails back and forth with my shared hosting provider <a href="https://all-inkl.com/">all-inkl.com</a> the issue is identified: they’ve indeed installed a filter that blocks entire countries from accessing my site. Without telling me. They just decided on their own that the best solution to whatever was happening was geographic surgery. “Your website is being accessed permanently and en masse. This is presumably a DDoS attack,” they wrote. “We have installed a filter that only allows access from certain countries so that we can protect the server from overload.”</p>
<h2>An Alien Invasion</h2>
<p>A DDoS attack? A botnet trying to hammer my server into submission? Really? I look at the access logs. No, this is something different. This is methodical. Millions (!) of requests over a couple of days from things with User-Agent strings reading GPTBot, OAI-Searchbot, Claude-SearchBot, or Meta-ExternalAgent, plus a whole bunch of IP addresses from Singapore, Shenzhen, and other parts of Asia scanning my articles and notes sections. That’s not a botnet DDoS attack. That’s an LLM bot “attack” by OpenAI, Meta, Anthropic, and many others.</p>
<p>In their hunger for data to train their large language models, companies from all over the world are systematically harvesting every word I’ve ever published, feeding it into their language models to keep them fresh – and the side effect, the collateral damage, is that Kevin in Montreal now can’t read my articles because my hosting provider decided the solution was to block Canada and half the rest of the world.</p>
<p>I sat there staring at those logs for a while. The irony wasn’t lost on me. This is my little corner of the web. My writing. With my weird little style mixer up there in the top right. And now it is simultaneously being strip-mined by AI companies and effectively made inaccessible to actual humans around the world who might want to read it.</p>
<p>This is where we are in 2026. There’s something happening on the Web at the moment that almost feels like watching that old arcade game <a href="https://en.wikipedia.org/wiki/Space_Invaders">Space Invaders</a> play out across our servers. Bots and scrapers marching in formation, attacking our servers wave after wave, systematically requesting page after page, relentlessly filling their data stores while we watch our access logs fill up.</p>
<p>The webspace invaders have arrived.</p>
<p>And the numbers are staggering. About 50 percent of web traffic is now coming from non-humans. Bots, crawlers, and agents are constantly moving across our servers in search for new pieces of content to absorb and while <a href="https://radar.cloudflare.com/year-in-review/2025#per-bot-traffic">search engine crawlers are still the highest traffic bot category</a>, AI/LLM bot traffic is constantly surging, with <a href="https://radar.cloudflare.com/year-in-review/2025#ai-crawler-traffic-by-purpose">AI training being the main crawl purpose</a>. According to Cloudflare’s 2025 Year in Review report, <a href="https://radar.cloudflare.com/year-in-review/2025#ai-traffic-share">AI bots originated 4.2 % of HTML requests</a>. But this number <em>excludes</em> Googlebot, which crawls for both search indexing and AI training, and averaged at 4.5 % of requests. Yes, according to Cloudflare, Google’s crawl volume is still bigger than all other AI crawlers combined. And in some months of 2025, the numbers were even more extreme. Take April 26, 2025, for example: on that day, human traffic only accounted for 34.5 % of HTTP requests worldwide. AI bots came in at 4.1 %. A number that is already high on its own but is being dwarfed by Googlebot with a whopping 11 % of HTTP requests. I repeat: 11 % of HTTP requests worldwide coming from Googlebot alone. The rest of “Non-AI” bots averaged at 50.1 % of requests that day. And this number might still include a fair amount of LLM training bots that hide behind fake User-Agent strings.</p>
<h2>The Open Web Subsidizing Big AI?</h2>
<p>Here’s the thing about running a personal site on modest hosting, the kind of hosting most of us are on: you notice when things change. The big platforms, they can absorb all this additional traffic without blinking. They have CDNs and server farms and maybe even entire teams of people thinking about handling bot traffic.</p>
<p>But me? I’m running a simple setup. A Craft CMS site on shared hosting, some static files here and there, nothing fancy. Just like the majority of people with a personal site or a blog. And suddenly, I’m getting hammered with enough traffic that my hosting provider is implementing emergency measures. And I’m not the only one. Just recently, <a href="https://remysharp.com/">Remy</a> did not only notice unusual spikes of traffic on his blog, but his project <a href="https://jsbin.com/">JS Bin</a> was <a href="https://front-end.social/@rem/115980811360095804">hit so hard by massive spikes in network inbound traffic</a> that <a href="https://github.com/jsbin/jsbin/issues/3583">he was struggling to keep the site online</a>. <a href="https://adactio.com/journal/21831">As Jeremy mentioned</a>, The Wikimedia Foundation <a href="https://diff.wikimedia.org/2025/04/01/how-crawlers-impact-the-operations-of-the-wikimedia-projects/">is also seeing unprecedented amounts of traffic generated by scraper bots</a>. While humans tend to browse with intention, those AI crawlers “binge read” indiscriminately and visit also the less popular pages. 65 % of this resource-consuming traffic they get for Wikipedia is now coming from bots. </p>
<p>And when I asked <a href="https://mastodon.social/@matthiasott/115994736479388596">on Mastodon</a> and <a href="https://bsky.app/profile/matthiasott.com/post/3mds2dm7cdc27">Bluesky</a>, plenty of people chimed in. Turns out I’m <em>really</em> not alone. People are seeing the same pattern on their own sites – often serious enough that they’ve had to take action. There’s even a classic tell at the moment: waves of “users” visiting from Singapore with suspiciously old Chrome User-Agent strings.</p>
<p>There’s a power imbalance at work here that’s hard to ignore. Large “AI” companies, the ones with <a href="https://hbr.org/2025/11/how-generative-ai-is-reshaping-venture-capital">billions in venture capital</a>, send their bots to harvest free content. Not only from big publishers or Wikipedia, but from small, independent websites, too. But we, the people running these sites – often as passion projects, as ways to freely share what we’ve learned, as digital gardens we tend in our spare time – we’re the ones paying for the bandwidth and server resources to handle all those additional requests while those companies profit from the training data they extract. It’s an asymmetric battle: small systems absorbing the demands generated at an entirely different, industrial scale.</p>
<p>These companies might not be plotting evil, but they’re <a href="https://drewdevault.com/2025/03/17/2025-03-17-Stop-externalizing-your-costs-on-me.html">externalizing their costs</a> and aren’t particularly concerned about the collateral damage. Sure, some still provide robots.txt compliance. They’ve <a href="https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler">published documentation about their crawlers</a>, albeit often incomplete. But even compliance and documentation won’t change the fundamental math: when you have dozens – no hundreds, soon thousands of companies (just look at <a href="https://huggingface.co/models">the download counts on Hugging Face</a> for any popular model), each running their own scrapers, each one binge-reading your site not once every two weeks like earlier versions of Googlebot used to do, but <em>several times a day</em>, the aggregate effect can quickly overwhelm a small site. And as long as the training data keeps flowing and the models keep improving, why would they change anything?</p>
<h2>Good Bot, Bad Bot</h2>
<p>Alright, it’s bad, obviously. But things get even messier. In Space Invaders, <a href="https://www.youtube.com/watch?v=MU4psw3ccUI">the aliens followed predictable patterns</a>. You could learn their behavior, anticipate their movements, and develop strategies to play the game longer and score higher. The game we’re playing on the Web now? It’s unpredictable.</p>
<p>Because on the Web, we’re now playing against adaptable opponents. Scrapers from Singapore that hide behind spoofed User-Agent strings, in an attempt to appear as though they are a real browser, instead of identifying themselves honestly. Scrapers that change their IP addresses regularly. Scrapers that obviously <em>don’t</em> give a penny about your cute robots.txt. Scrapers that obviously don’t care about the gentleman’s agreement that the web was built upon.</p>
<p>And we’re just entering the next phase. Agentic AI. Systems that can autonomously explore websites, adapt their scraping strategies based on what defenses they encounter, rotate IP addresses, work around rate limiting. The bots are getting smarter by the minute. More persistent. More capable of treating every attempt to protect our sites as a new puzzle to solve.</p>
<p>This isn’t Space Invaders anymore. Those aliens invading our webspaces are locking on and firing relentlessly, constantly adapting, learning, and getting stronger. And here I am – one human with a keyboard – trying to keep my site accessible to other real humans while it is being harvested and under fire from all directions.</p>
<p>And to cap it all, all of this is happening against a backdrop of genuine geopolitical competition where training data for large language models is being seen as strategic infrastructure. The countries and companies that control the best AI models are said to have real future advantages – economically, militarily, politically. This transforms web scraping from an annoyance into something that’s part of a much larger power struggle. Chinese AI companies might not be that concerned about conventions around robots.txt or polite crawling. But honestly, American AI companies are under pressure to maintain their lead, and when prioritizing growth over everyone else in your path is the business model, they’re perfectly willing to cut corners, too. Everyone’s racing, and the open web looks like free resources up for grabs. The result is that my personal blog – your personal blog – becomes collateral damage in this competition. The scrapers don’t care that you’re not Facebook or the New York Times. Your content is data. Data is valuable. And in this race, the externality of overwhelming small site owners is just the cost of doing business.</p>
<h2>“Just Use Cloudflare”</h2>
<p>So naturally, there’s a corporate solution being offered. Cloudflare, with its massive network infrastructure, <a href="https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/">provides (free) AI bot protection now</a>. You add some DNS entries, flip a switch in the Cloudflare dashboard, and let their systems handle the AI crawler traffic for you.</p>
<p>And from what I hear, it works fairly well. Cloudflare can identify and block malicious scrapers at a scale that individual site owners simply cannot. They can distinguish between real browsers and bots masquerading as browsers. They have the data, the machine learning models, the infrastructure, and the threat intelligence.</p>
<p>But I keep coming back to this question: should we all need to route our traffic through Cloudflare? Is that really the sustainable solution to the webspace invaders problem? Is that really the open, independent web we want?</p>
<p>Because here’s the thing: Cloudflare already sees an enormous percentage of web traffic. They’re a neutral actor now. But power structures change. Companies change. Countries and their governments change. Obviously. Every time we centralize infrastructure in response to a threat, we make the web a little less distributed, a little less resilient, and a little less ours. And we all saw last year what happens when half of the web relies on just one single point of failure. Within just one month, Cloudflare experienced two major outages: a global outage on <a href="https://blog.cloudflare.com/18-november-2025-outage/">November 18, 2025</a> took down roughly one in five webpages globally at the height of the incident, and one-third of the world’s 10,000 most popular websites, apps, and services, according to some estimates. Another significant incident occured on <a href="https://blog.cloudflare.com/5-december-2025-outage/">December 5</a> while Cloudflare attempted to detect and mitigate <a href="https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components">an industry-wide vulnerability in React Server Components</a>.</p>
<p>I sat with all this for a while, trying to figure out how I felt about it and what to do with it. On one hand, I don’t have the time or expertise to run sophisticated bot detection on my own. I have a day job. I have a life and a family. The idea of spending weekends maintaining IP blocklists and analyzing traffic patterns is exhausting just to think about.</p>
<p>On the other hand, every small site owner routing through Cloudflare means more consolidation, more centralization, more of the web’s infrastructure dependent on a single company’s good intentions and continued solvency.</p>
<p>I don’t have a good answer here. I really don’t. It’s one of those problems where all the solutions feel inadequate, somehow. </p>
<p>Still, I decided to give it one last try. And so, I spent the last few weeks moving my site from my shared hosting plan over to a virtual private server (VPS) where I have more control over the protection layers of my site and where nobody can add a country filter without my knowledge. I’ll write more about other aspects of the setup in future posts.</p>
<h2>Activating Your Site Shields</h2>
<p>But for now, let’s look at a few practical ways to fight back against those webspace invaders. Because although the bots and agents are getting smarter by the minute, there is still a lot we can do to better protect our sites and hosting bills.</p>
<h3>You, Robot?</h3>
<p>The first step (still) is to <strong>start with <a href="https://en.wikipedia.org/wiki/Robots.txt">robots.txt</a></strong>, even though this won’t stop them all. Create a robots.txt file in your web root if you don’t have one yet, and then explicitly disallow known AI scrapers of your choice:</p>

																												
																																						
																																	<p>If you want to go further, you can block wide whole range of known LLM bots with a list like the one at <a href="https://github.com/ai-robots-txt/ai.robots.txt">ai.robots.txt</a> or even serve a robots.txt that continuously updates via <a href="https://knownagents.com/docs/robots-txt">Known Agents</a> (formerly known as Dark Visitors – interesting name change, by the way). It’s not a complete solution, but it’s a starting point that takes a few minutes to set up.</p>
<p>However, using robots.txt will only work for the actors that actually honour this convention. If a crawler decides to ignore your robots.txt, nothing will stop it. That’s why a lot of people, <a href="https://ethanmarcotte.com/wrote/blockin-bots/">just like Ethan</a>, have also started blocking bots via <code>.htaccess</code>.</p>
<p>For my new VPS setup, I now use <a href="https://nginx.org/">nginx</a> to serve my site. And so, instead of using <code>.htaccess</code>, which does only exist on Apache, I added a user agent check to the <a href="https://nginx.org/en/docs/beginners_guide.html#conf_structure">nginx config</a> instead, similar to <a href="https://github.com/ai-robots-txt/ai.robots.txt/blob/main/nginx-block-ai-bots.conf">the one you can find in the ai.robots.txt repo</a>:</p>

																												
																																						
																																	<p>If the User-Agent string matches that of one of the bots on the list, the server now returns a <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/403">403 Forbidden</a> status code and blocks the request. In case you&#039;re running an Eleventy blog on nginx, <a href="https://rknight.me/blog/blocking-bots-with-nginx/">Robb has written about a similar approach</a> he is using to block bots on his site.</p>
<p>One important note, though: if you want to still allow the Internet Archive to archive your site, which you should, make sure to not block their <code>archive-org_bot</code> – like I did at first. ;)</p>
<h3>Rate Limiting</h3>
<p>If you control your server configuration, rate limiting also becomes essential. Real humans very rarely request fifty pages per second. But aggressive scrapers definitely do. Therefore, putting a cap on how often someone can repeat an action within a certain timeframe can help stop malicious bot activity and reduce strain on your server. If you’re on nginx, look into <code>limit_req_zone</code> and <code>limit_req</code>, as explained in <a href="https://blog.nginx.org/blog/rate-limiting-nginx">this post on the nginx blog</a>. Apache has <a href="https://httpd.apache.org/docs/current/mod/mod_ratelimit.html">mod_ratelimit</a>.</p>
<p>The tricky part is setting the right thresholds. Too strict and you risk blocking legitimate users or search engines. Too loose and the scrapers slip through easily. I’ve been experimenting with this, and honestly, it’s been a lot of trial and error and I’m still not 100 % sure if my settings are ideal. The general advice is to conservative – maybe 5 to 10 requests per second per IP – and adjust based on what you see in your logs.</p>
<p>My own setup, which complements the nginx config setup above, now distinguishes between three tiers of visitors based on User-Agent strings: the most aggressive bots and crawlers are blocked immediately, less aggressive crawlers – those that respect robots.txt – and user-initiated AI searches are moderately throttled, while everyone else (presumably humans, I hope, I’m still very hopeful, I guess) falls into the least restrictive tier. Using IP addresses would strengthen this approach even further, since, as we know, malicious actors will spoof their User-Agent strings. But for now, this additional rate limiting layer should help catch another significant number of aggressive invaders and cut off the peaks.</p>
<h3>Monitoring Your Access Logs</h3>
<p>I know, it sounds tedious. And it is. But you need to know what’s actually hitting your site. And means looking into the access logs of your server or webspace, not just your analytics dashboard. Because tools like Fathom or Plausible will only tell you half of the story. They apply their own filters to keep your analytics clean and bot-free, which is great for understanding human visitors. But that also means that there is no way around looking at your raw logs. </p>
<p>I recently spent hours going through mine, identifying the IPs with the most traffic and blocking them manually as a first, probably a bit unsustainable counter-measure. But it helped me to understand the problem better – and also to check whether my actions actually had an effect.</p>
<p>Tools like <a href="https://goaccess.io/">GoAccess</a> can be super helpful for this, because they give you real-time insights and even let you set up alerts for unusual traffic spikes. Because ideally, you want to know when something weird is happening, not discover it three days later when your hosting provider has already implemented their own “solution.” This goes double for client sites.</p>
<h3>Using IP Blocklists</h3>
<p>IP blocklists are part of any solid firewall setup, but you need to be thoughtful about it. There are well‑established resources that publish lists of IP addresses of known scraping networks, exploiters, spam sources, and other malicious actors – data centers that legitimate traffic would never come from. Useful resources include <a href="https://www.abuseipdb.com/">AbuseIPDB</a>, <a href="https://www.spamhaus.org/blocklists/do-not-route-or-peer/">Spamhaus’s Don’t Route Or Peer Lists (DROP)</a>, <a href="https://www.blocklist.de/en/index.html">blocklist.de</a>, or <a href="https://iplists.firehol.org/">All Cybercrime IP Feeds by FireHOL</a>. </p>
<p>You can then block those IPs with a firewall like Linux’s <a href="https://wiki.archlinux.org/title/Iptables">iptables</a> via <a href="https://wiki.archlinux.org/title/Ipset">ipset</a>. This, however, requires ongoing maintenance because those lists need updating. There are ways to configure your server so that the lists get updated automatically. In my case, I am now using <a href="https://hestiacp.com">Hestia Control Panel</a> on my server, which makes configuring iptables a bit more comfortable when blocking individual IPs or whole blacklists. But you should still be very careful to not block legitimate traffic or even yourself. It is all about finding the most trustworthy lists and not being overly aggressive. And again, watching your logs.</p>
<h3>Poisoning Well</h3>
<p>For the really aggressive invaders, especially if you’re concerned about LLM scrapers harvesting your content without consent, effectively violating your copyright, there’s another approach: <a href="https://heydonworks.com/article/poisoning-well/">serve different content to suspected bots</a>, or as Heydon put it, poison the well, actually. Feed them garbage data. It won’t stop the bandwidth drain, but it does something about the copyright violation.</p>
<h3>WAFs: Blocking the Baddest Baddies</h3>
<p>The final layer of protection would be to install a web application firewall (WAF) that includes bot protection. Open-source tools like <a href="https://www.bunkerweb.io">BunkerWeb</a>, <a href="https://safepoint.cloud/landing/safeline">SafeLine</a>, or the really interesting <a href="https://anubis.techaro.lol">Anubis</a> provide multi-layered defense against bot attacks through CAPTCHA verification or other challenges, dynamic protection, and anti-replay protection. They are basically an additional layer (a reverse-proxy) between your app or website and the internet that only lets the good traffic through.</p>
<p>But the bigger you make the concrete walls around your digital garden, the more likely it might also have negative consequences. You might block legitimate crawlers. You might hurt your accessibility and block real humans. And you might spend hours installing and maintaining systems that break in weird ways. To me personally, tools that put a challenge in front of real humans still feel a bit like admitting defeat.</p>
<p>So I haven’t yet tried Anubis, for example – although it might well be the best way to really get rid of the crawlers. But I’ll definitely keep exploring this space and try out this and other tools, now that I have my own virtual private personal website server.</p>
<h2>The Web We Wanted</h2>
<p>We built the web on optimistic assumptions. We assumed good faith. We assumed people would respect robots.txt because we all understood we were building something great together. We created these protocols and conventions because we believed in mutual respect and shared purpose. The Web was supposed to be for everyone.</p>
<p>But when training data becomes worth billions of dollars, when AI capabilities determine who wins and loses in global economic competition, when scraping is a strategic commercial activity, then those assumptions break down.</p>
<p>Part of me wants to believe that we can still maintain an open web without surrendering to corporate infrastructure or turning every website into a defensive fortress shooting webspace invaders. Part of me wants to believe that international cooperation could establish better norms over time and that the companies building these AI systems will take responsibility for the externalities they’re creating. (Haha.)</p>
<p>But I’m now also old enough to be an optimistic realist. I’m watching my access logs, I’m watching the arms race escalate, and I’m wondering how long places like mine can hold out. How long before every personal website needs enterprise-level protection just to function? How long before the cost of publishing your thoughts online becomes prohibitive for regular people? For some, it might be already. </p>
<p>It feels like we might soon be forced to choose between accessibility and survival. Between openness and sustainability. Between our ideals about what the web should be and the practical reality of keeping our sites online.</p>
<h2>An Infinite Game</h2>
<p>Stories like mine are now probably happening to more small site owners everywhere. Many of them might not even know why their hosting bills are climbing or why their sites are suddenly down in certain countries. And once they find out, many of them might not be able or willing to set up a VPS and spend hours fiddling with server logs, firewalls, blocklists, and nginx config files.</p>
<p>Yes, the AI companies need to do better. They actually should throttle their scraping to reasonable levels. They actually should respect the limited resources of small sites. They actually should develop industry standards that don’t externalize costs onto individuals who are just trying to share their work. This might even be in their best interest, because ultimately, they also risk destroying the very ecosystem they depend on – after all, what will their LLMs learn from when the independent web has been scraped into extinction? But I’m also not holding my breath for voluntary restraint when there are billions of dollars at stake. In the end, it is also on us to adapt to this new reality – clear-eyed and pragmatic.</p>
<p>So what do we do?  We document what’s happening. We block scrapers. We move to better, more capable servers. We share our approaches and learn from each other. We push for better standards and regulations where we can. We make noise about the problem instead of suffering silently. Because this is the Open Web and and the Web was designed so that we <em>can</em> still do all that. That’s the magic of it.</p>
<p>I for one am not giving up my little corner on the Web, of course. I&#039;ll continue to document and write about that journey that is my personal website. Over the coming weeks, I will share my experiences with my new VPS setup – how I configured the server, how I set up my continuous deployment pipeline for Craft CMS (yes, I have that now, Manuel! 😉), how I configured caching and other performance improvements, and I’ll also finally write more about the redesign and CSS of my site. Because that’s what our little corners on the Web are all about. That’s what <a href="https://matthiasott.com/articles/into-the-personal-website-verse">the personal website verse</a> is all about. And that’s what we are trying to protect here.</p>
<p>So, if you’re running a website, check your logs. Set up some basic protections. Share what you find. Be part of this conversation. <a href="https://daverupert.com/2026/02/futurescapes/">Write about the future you want</a>. Because the alternative is watching the independent web getting scraped into oblivion while we all wonder what happened to the Web we loved.</p>
<p>Here’s the thing about Space Invaders, the game: it didn’t end when the aliens reached the bottom. It just started over, harder and faster. Maybe that’s where we are now. It’s not game over. Not yet. Just the next level. And we need to get better at playing it.</p>
<p>👾👾👾</p>
<p><em>What has your experience been with AI scrapers? Have you found approaches that work? Have you “given up” or moved to Cloudflare? I’m genuinely curious what’s happening in your corner of the Web, because I suspect we’re all dealing with variations of the same problem. So let me know via Webmention, <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="https://bsky.app/profile/matthiasott.com">Bluesky</a>, <a href="mailto:mail@matthiasott.com">email</a>, or maybe even in a response blog post.</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>To Affinity and Beyond</title>
                <link>https://matthiasott.com/notes/to-affinity-and-beyond</link>
                <pubDate>Fri, 31 Oct 2025 09:36:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/to-affinity-and-beyond</guid>
                <description><![CDATA[
                    
																																	<p>If there is one thing that I’ve learned in my roughly 30 years of working with design tools, it is that they come and go and that you should always stay curious and be open and ready to learn something new. As a teenager, I made my first clip-arty design attempts in <a href="https://en.wikipedia.org/wiki/CorelDRAW">CorelDRAW</a>. Right after finishing high school, I dabbled in <a href="https://en.wikipedia.org/wiki/QuarkXPress">QuarkXPress</a> during an internship at BBDO. As a student, I fell in love with <a href="https://en.wikipedia.org/wiki/Adobe_FreeHand">FreeHand</a>, and for my diploma project, I built everything in Flash. Years later, I was running workshops for and with Adobe XD. All those products have since disappeared – or at least lost their industry relevance – but one tool has weathered every storm and has somehow remained a constant: Photoshop.</p>
<p>Over the years, plenty of contenders have tried to challenge Photoshop’s dominance and Adobe’s position in the creative market. From <a href="https://www.sketch.com/">Sketch</a> to <a href="https://www.pixelmator.com/pro/">Pixelmator</a>, from <a href="https://www.figma.com/">Figma</a> to <a href="https://www.gimp.org/">GIMP</a>, there’s been a steady stream of tools promising leaner, cheaper, faster alternatives. And that’s great. Because monopolists become comfortable and lazy and that’s when progress stalls. Competition, on the other hand, always raises the bar for everyone – and we, as users of design tools, benefit from that.</p>
<p>One of the most serious attempts in recent years came from the folks at Serif, makers of Affinity, whose suite of tools managed to win a lot of fans for its speed, clarity, and one-time pricing. I bought the Affinity suite as well and used it in smaller and private projects. But even though they did a fantastic job to make so many things straightforward, their tools still felt a bit like niche products and never really made their way into agencies and design studios at large – until, perhaps, now.</p>
<p><a href="https://www.affinity.studio/en">Affinity just released a new version</a> – and this version really feels big. Now being part of <a href="https://www.canva.com/">Canva</a>, Affinity has been re-engineered into a single, unified app that merges the capabilities of what used to be separate apps for layout, photo, and vector editing into one. It’s now completely free to download and use – like, forever – with no subscription required for the core features, except AI generation stuff. And it supports major formats including PSD, AI, and IDML. Yes, you can open your Photoshop files and export them again as PSDs. They also introduced a new unified file format, .af, which everyone in a team can open with their free app – no additional licenses need for your copywriters and managers. <em>That</em> is maybe the biggest news, because that’s also one of the reasons Figma “won” against XD, IMHO.</p>
<p>After a first try, the new Affinity looks really promising. The app still has the ultra fast UI that I enjoyed a lot in Affinity Photo and Designer, so it is not constantly crashing, and you can customise your workspace into your own “studios”. All the edits are non-destructive, they added a few nice new filters, like a chromatic aberration glitch filter, and Affinity also finally has an image trace feature, as Affinity CEO Ash Hewson shared in <a href="https://www.youtube.com/watch?v=UP_TBaKODlw">a video providing a first look</a>.</p>
<p>So, what’s not to like? Perhaps it’s reasonable to remain cautious when a company promises a product will be free forever and asks you to “burn your subscription”. Especially if it is now part of <a href="https://en.wikipedia.org/wiki/Canva">a venture-capital-backed company with a billion-dollar valuation</a> (selling subscriptions) and although they claim that <em>“There’s no catch, no stripped-back version, and no gotchas. The same precise, high-performance tools that professionals rely on every day are now open to all, because creative freedom shouldn’t come with a cost.”</em> </p>
<p>But as the saying goes, if a product is free, you are the product. To me, it still looks like a pretty smart move, though: make the core product free for as many people as possible, and then offer an even more attractive package – Affinity with AI generation tools and Canva integration – to enterprise customers.</p>
<p>That said, usage data collection is optional so far. You’re asked to <em>opt in</em> when you open the app for the very first time – and your work is not being used to train AI. Even if Canva eventually decides that new features in Affinity will be for paying customers only, this free version is still an amazing offering. And if you feel “betrayed” because you payed for Affinity 2 products not too long ago? All existing customers will get a set of about 40 typefaces by Fontsmith for free as a thank you.</p>
<p>You can get Affinity here: <a href="https://www.affinity.studio/en/get-affinity">https://www.affinity.studio/en/get-affinity</a></p>
<p>❦</p>
<p>This is post 25 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Mystery of Storytelling</title>
                <link>https://matthiasott.com/notes/the-mystery-of-storytelling</link>
                <pubDate>Tue, 28 Oct 2025 23:30:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-mystery-of-storytelling</guid>
                <description><![CDATA[
                    
																																	<p>Humans love stories. Maybe that is because for thousands of years, stories were the way information was preserved and passed on to others, to the next generations. Maybe because they create community and collective culture. Maybe because they capture our imagination and speak to our fears and our dreams.</p>
<p>Maybe that’s why you will find a lot of stories in the writing on this site. <a href="https://matthiasott.com/notes/echoes-of-connection">My reply to Jeremy a few days ago</a> – opens with a story. <a href="https://matthiasott.com/notes/challenge">My post about Frank Miller challenging others and himself</a> – opens with a story. <a href="https://matthiasott.com/notes/play-on">My note about Brian Eno and his playful approach to making ambient music</a> – opens with a story. <a href="https://matthiasott.com/notes/listening-closely">My piece about violinist Augustin Hadelich and that careful attention to detail that changes the way you experience the world</a> – opens with a story. They are everywhere. And even this post opens with a story about storytelling.</p>
<p>Stories come in all forms and sizes. From short anecdotes to full-blown sagas with a hero going on a journey, fighting monsters, transforming himself and a plethora of characters along the way, ultimately throwing a golden ring into a volcano, defeating evil for good. <a href="https://comm.gatech.edu/resources/writers/5ws">They say</a> that a good story has to have a who, a what, a where and when, and a why. But some stories also don’t follow that rule and still work well. Some stories also are very obviously a story, like the hero’s journey following <a href="https://en.wikipedia.org/wiki/Story_arc">a classical story arc</a> with a <a href="https://en.wikipedia.org/wiki/Three-act_structure">three-act structure</a> and one of <a href="https://www.bbc.com/culture/article/20180525-every-story-in-the-world-has-one-of-these-six-basic-plots">the six basic plots</a>. Others are barely noticeable as a story, like subtle interactions and micro animations embedded in a website’s design. Good storytelling is an art and you can spend a lot of time thinking about your story and the right way to tell it.</p>
<p><a href="https://www.youtube.com/watch?v=6vW4K3ht-0w">Here’s legendary comic book artist Frank Miller (again) on storytelling</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>My method­ol­o­gy has changed over time. It used to be more rigid. I&nbsp;used to real­ly believe there was <em>a&nbsp;way</em>. I&nbsp;was seek­ing <em>the way</em> to do it. Now I&nbsp;do believe in let­ting a&nbsp;sto­ry nudge you in anoth­er direc­tion. Now I&nbsp;believe in trust­ing the mus­es more than I&nbsp;used to.[…]</p>
<p>The thing is to come in and think of your­self of being the <em>gen­er­a­tor</em> of the sto­ry, sure­ly. And say­ing that these are the pieces of clay, and this is what I&nbsp;wan­na do with them. But: to real­ize that the artis­tic process is not at its best when it’s an ego­ma­ni­a­cal process. And some­times, the char­ac­ters talk back. And some­times, they know more than you&nbsp;do.&nbsp;</p>
<p>And always be aware that there will be just that <em>flash</em>. That thing that hap­pens, where, all of a&nbsp;sud­den, you’re in a&nbsp;dif­fer­ent sto­ry and you real­ize that <span class="push-single"></span>​<span class="pull-single">‘</span>no, this isn’t the one I&nbsp;was look­ing for but this is the one where I&nbsp;wan­na&nbsp;be.’</p>
<p>I don’t know, to me it’s sor­ta like being a&nbsp;space explor­er and being ready for things. And know­ing the whole job is to fig­ure out what to ignore and what to follow.&nbsp;</p>
<p>I like the <em>mys­tery</em> of sto­ry­telling more than the <em>pow­er</em> I&nbsp;used to see in&nbsp;it.”</p>
</blockquote>
												</figure>
																
																																	<p>❦</p>
<p>This is post 24 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Amateurs!</title>
                <link>https://matthiasott.com/notes/amateurs</link>
                <pubDate>Tue, 28 Oct 2025 09:32:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/amateurs</guid>
                <description><![CDATA[
                    
																																	<p>I have to confess that I am not reading that many books these days. Most of the time, I resort to listening to them in audio form. But every once in a while, a book comes along that is just too interesting not to at least give it a try.</p>
<p>Reading Kai Brach’s excellent newsletter <a href="https://www.densediscovery.com/">Dense Discovery</a>, I came across such a (new) book by Joanna Walsh: <a href="https://www.versobooks.com/products/2862-amateurs">Amateurs!:
How We Built Internet Culture and Why it Matters</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Amateurs-How-we-built-internet-culture-and-why-it-matters_2025-10-28-083930_duvz.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Amateurs-How-we-built-internet-culture-and-why-it-matters_2025-10-28-083930_duvz.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Amateurs-How-we-built-internet-culture-and-why-it-matters_2025-10-28-083930_duvz.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Amateurs-How-we-built-internet-culture-and-why-it-matters_2025-10-28-083930_duvz.png" alt="Amateurs How we built internet culture and why it matters" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>That title sounds intriguing, right? The description even more so:</p>
<p><em>“Since the nineties, platforms have invited users to create in return for connection. From blogs to vlogs, tweets to memes: for the first time in history, making art became the fundamental form of communication.</em></p>
<p><em>What started as fun soon became currency, something vital to finding friends, work, and love. Then, as ‘meatspace’ job security eroded, online creativity became work itself. Now an internet presence is no longer optional, platforms increasingly charge users. Whatever it is we’re creating online, it isn’t amateur anymore. But is it art?”</em></p>
<p>And also what others have to say about it sounds delicious. Like <a href="https://lareviewofbooks.org/article/proletarians-of-the-screen/">Helena Aeberli in the Los Angeles Review of Books</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>Ama­teurs! is a&nbsp;eulo­gy and a&nbsp;man­i­festo for the inter­net rev­o­lu­tion that came and went before our eyes, on our screens, beneath our fin­ger­tips: the rev­o­lu­tion of the amateur.”</p>
</blockquote>
												</figure>
																
																																	<p>Sounds too good to not order it right away. </p>
<p>I’ll let you know how I like it – and whether I actually manage to read it back to back. 😉</p>
<p>❦</p>
<p>This is post 23 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Echoes of Connection</title>
                <link>https://matthiasott.com/notes/echoes-of-connection</link>
                <pubDate>Sun, 26 Oct 2025 20:41:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/echoes-of-connection</guid>
                <description><![CDATA[
                    
																																	<p>In 1977, NASA launched two spaceships carrying two golden records into the void of interstellar space. <a href="https://science.nasa.gov/mission/voyager/voyager-golden-record-overview/">The Voyager Golden Records</a> contained instructions for playing its contents, finding Earth in the cosmos (oh my …), as well as images, a variety of natural sounds, musical selections from different cultures and eras, and spoken greetings in 55 languages. We didn’t know if anyone would ever hear it. And we’ll probably never hear an echo back from outer space. But we sent it anyway, because the act of reaching out mattered, even into silence.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 53.255208333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/446_voyager_record20171201-16.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/446_voyager_record20171201-16.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/446_voyager_record20171201-16.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/446_voyager_record20171201-16.jpg" alt="446 voyager record20171201 16" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>The Voyager Golden Records – <em>Source: NASA</em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>The space­craft will be encoun­tered and the record played only if there are advanced space-far­ing civ­i­liza­tions in inter­stel­lar space, but the launch­ing of this <span class="push-single"></span>​<span class="pull-single">‘</span>bot­tle’ into the cos­mic <span class="push-single"></span>​<span class="pull-single">‘</span>ocean’ says some­thing very hope­ful about life on this planet.”</p>
</blockquote>
												<figcaption>Carl Sagan </figcaption>
										</figure>
																
																																	<p>~</p>
<p>Publishing a blog post on your own site can feel like a similarly hopeful act sometimes. We send something into the void of the open web, not knowing whether someone will read it or even respond. The good news is: in this case, every once in a while, something comes back. A short message you on social media. A thank you email. A link from someone’s blog. Or, and that’s where it gets truly magical – a thoughtful reply on someone’s own site. </p>
<p>I really enjoyed <a href="https://adactio.com/journal/22213">Jeremy’s recent post about the beauty of blog-to-blog responses</a>, and I couldn’t agree more: when someone cares enough to take the time to write something on <em>their</em> turf that engages with your ideas, something that adds to it, questions it, builds on it – that’s the (Indie)Web working the way it should. That’s the Web building conversation.</p>
<p>There’s another bit of web infrastructure that we built to hear back from people: <a href="https://en.wikipedia.org/wiki/Webmention">Webmentions</a>. In their purest form, Webmentions allow sites that support them to connect to each other by sending a ping when someone publishes a response to something someone else wrote on their site. The site that received the ping can then decide to show the Webmention on the respective post. But if you are using a service like <a href="https://brid.gy/">Bridgy</a>, you can also display likes and shares from Bluesky, Mastodon, reddit, and many other social media platforms on your site.</p>
<p>I like Webmentions a lot. So much so that I once wrote <a href="https://matthiasott.com/notes/webmention-for-craft-cms-5">a Webmention Plugin for Craft CMS</a> to be able to display them here on this site.</p>
<p>Jeremy notes that he also currently shows a tally of all different kinds of mentions under his posts – but also that he’s not sure anymore why he’s even doing it:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>I don’t par­tic­u­lar­ly care about these num­bers. I’m pret­ty sure no one else cares either. If I&nbsp;cared, then they’d be van­i­ty met­rics. As it is they’re more like zom­bie metrics.”</p>
</blockquote>
												</figure>
																
																																	<p>This actually got me thinking: why am I showing Webmentions on my site? Do I care about the numbers? What is their value?</p>
<p>We rightfully often tend to think about likes and reposts as vanity metrics. And we learned that from the corporate platforms that told us that we should optimize these interactions for volume – more interactions, more attention, more likes, more subscribers. All those numbers are always meant to go up, up, up. With every like being a little dopamine hit feeding this addictive feedback loop.</p>
<p>But when those same interactions land on your site via Bridgy, they’re no longer about engagement rates on a specific platform. Rather, they act as a <em>signal</em> – for you in the first place, that is – that your words actually reached someone.</p>
<p>To me, this is both interesting and valuable information. I see it like this: every time you publish something on your own site and <a href="https://indieweb.org/POSSE">syndicate it elsewhere</a>, it sends out a ripple – a tiny impulse into the Web. Most of those impulses vanish instantly. A post or a like on Mastodon or Bluesky quickly disappears into the feed – like an echo, quickly fading away. Ephemeral, fleeting, disappearing into the constant noise feeding the algorithms.</p>
<p>But a like that shows up as a Webmention on your own site, below your post? That’s different somehow. It’s lasting evidence that a person saw what you wrote. Someone acknowledged it. Someone cared. However briefly, you connected. Sure, it is not the same as someone writing a genuine response on their own site. But it is still a tiny little signal that someone, out there, was actually listening. It is a way to measure whether or not something connected.</p>
<p>So, I like to think of Webmentions not as a measure of popularity. To me, they measure connection. Connection to individual people and connection to the community as a whole. Webmentions let you listen into the constant noise out there and, just like a radio telescope, pick up scarcely audible echoes of connection. And, they are a way to feed those echoes from the <a href="https://longnow.org/ideas/pace-layers/">fast-paced layer</a> of social media back into the “longer now” of your personal website.</p>
<p>❦</p>
<p>This is post 22 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Linear() Is Not (That) Linear</title>
                <link>https://matthiasott.com/notes/linear-is-not-linear</link>
                <pubDate>Sun, 26 Oct 2025 11:16:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/linear-is-not-linear</guid>
                <description><![CDATA[
                    
																																	<p>My gut feeling tells me that not that many people have yet heard of or used <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function/linear">the <code>linear()</code> easing function</a>, one of the most exciting newer additions to CSS. Looking at the stats in the <a href="https://2025.stateofcss.com/en-US/features/#all_features">State of CSS survey</a>, this is somewhat confirmed: only about 30 percent of respondents have used it and another 30 percent have never even heard of it. But what’s also interesting is the ratio of people who report to have heard of it but obviously never tried it then: 38 %. So either, a lot of people don’t have a use case for this feature, or they don’t really know what it can do. And, looking at the comments, something else might be a factor as well: maybe a few people don’t know that <code>linear()</code> is not <code>linear</code>, or what actually the (exhilarating) difference between the two is. One of the comments read, for example: “Never had a need for these easings, as it almost always feels unnatural. But again, great to have it!”</p>
<p>And I have to admit that this was my first reaction, too, when I heard about <code>linear()</code> for the first time: does it mean I can animate something just with a straight line? We already have <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function">the <code>linear</code> keyword</a>. Where’s the difference?</p>
<p>The difference is that <code>linear()</code> doesn’t just interpolate linearly between <code>0</code> and <code>1</code>, it defines a piecewise linear easing curve, meaning you can create custom transitions made up of multiple straight-line <em>segments</em>. So instead of defining the type of curve between two points, you can specify several points – or stops – in a comma-separated list to precisely control the speed changes during your animation. And this allows you to create – or approximate – quite <a href="https://developer.chrome.com/docs/css-ui/css-linear-easing-function">complex animation curves in CSS with <code>linear()</code></a>.</p>
<p>Let’s take this example:</p>

																												
																																						
																																	<p>Here, each decimal defines a stop. And by default, those stops have the same timing distance. So, the animation starts at <code>0</code>, reaches <code>0.25</code> after the first half of the duration, and ends at <code>1</code> after the second half.</p>
<p>We can also change the timing distances by adding percentages after each of the points for finer control:</p>

																												
																																						
																																	<p>So now, the animation progresses the first 25 percent of the change during the first 75 % of the animation. And the rest of the change happens during the last 25 % of the time.</p>
<p>Where it gets really interesting is when we use a lot more points, because this now allows us to approximate completely individual curves that are not possible with other timing functions like <code>cubic-bezier()</code>.</p>
<p>Take a look at this bounce curve, for example:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/bounce-smooth_2025-10-26-102234_iunq.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/bounce-smooth_2025-10-26-102234_iunq.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/bounce-smooth_2025-10-26-102234_iunq.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/bounce-smooth_2025-10-26-102234_iunq.png" alt="Bounce smooth" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>This can be approximated with something like this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/bounce-approx_2025-10-26-102311_lisx.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/bounce-approx_2025-10-26-102311_lisx.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/bounce-approx_2025-10-26-102311_lisx.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/bounce-approx_2025-10-26-102311_lisx.png" alt="Bounce approx" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Which is a set of points that looks like this in a <code>linear()</code> function:</p>

																												
																																						
																																	<p>Even with only this relatively small number of points, this animation already looks like a nice bounce:</p>

																												
																												<div style="width: 100%; margin-block: 3rem;">
<div class="bouncing-ball"></div>
</div>
<style>
:root {
  --animation-curve: linear(0, 0.237 19.2%, 0.99 33.2%, 0.378 46%, 0.989 57.6%, 0.619 65.6%, 0.992 74.4%, 0.814 80.4%, 0.995 88%, 0.953 92%, 1);
}

.bouncing-ball {
  background: #4938FF;
  border-radius: 100%;
  width: 4rem;
  height: 4rem;
  margin-left: 8rem;
  
  animation-name: moveXInfinite;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-timing-function: var(--animation-curve);
}

@keyframes moveXInfinite {
    0%,12.5%,87.5%,to {
        transform: translateX(-8rem)
    }

    37.5%,62.5% {
        transform: translateX(8rem)
    }
}
</style>
																						
																																	<p>CodePen: <a href="https://codepen.io/matthiasott/pen/YPwLMBV?editors=1100">https://codepen.io/matthiasott/pen/YPwLMBV?editors=1100</a></p>
<p>And by increasing the number of points, we can approximate an even smoother curve, so that it is impossible to tell that our animation curve is actually made up of linear segments.</p>

																												
																																						
																																	<p>The animation will look and <em>feel</em> super smooth.</p>

																												
																												<div style="width: 100%; margin-block: 3rem;">
<div class="bouncing-ball-smooth"></div>
</div>
<style>
:root {
  --animation-curve-smooth: linear(0, 0.237 19.2%, 0.99 33.2%, 0.378 46%, 0.989 57.6%, 0.619 65.6%, 0.992 74.4%, 0.814 80.4%, 0.995 88%, 0.953 92%, 1);
}

.bouncing-ball-smooth {
  background: #ff0091;
  border-radius: 100%;
  width: 4rem;
  height: 4rem;
  margin-left: 8rem;
  
  animation-name: moveXInfinite;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-timing-function: var(--animation-curve-smooth);
}

@keyframes moveXInfinite {
    0%,12.5%,87.5%,to {
        transform: translateX(-8rem)
    }

    37.5%,62.5% {
        transform: translateX(8rem)
    }
}
</style>
																						
																																	<p>CodePen: <a href="https://codepen.io/matthiasott/pen/wBMXgrK??editors=1100">https://codepen.io/matthiasott/pen/wBMXgrK??editors=1100</a></p>
<p>But this is where you might – rightfully – object that editing something like this is almost impossible to do for our human brains. You might have a rough guess how a curve might look like but fine-tuning an animation just by editing the points? That seems completely impractical.</p>
<p>Luckily, there are a few tools that help you define your own easing curves with <code>linear()</code> or also come with a few useful presets that you can adjust to your liking.</p>
<p>One of them is Jake Archibald fantastic <a href="https://linear-easing-generator.netlify.app">linear easing generator</a>. You can pick one of the presets like Spring, Bounce, or Elastic and adjust the number of points and their decimal places. But you can also provide your own JavaScript or SVG easing curves and the easing generator will approximate it. You could, for example, head over to the infamous easings.net, pick an easing curve like <a href="https://easings.net/#easeOutBounce">easeOutBounce</a> and throw it into the generator. Or also come up with your own logic for the timing of the animation.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.286458333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/linear-easing-generator-screenshot.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/linear-easing-generator-screenshot.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/linear-easing-generator-screenshot.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/linear-easing-generator-screenshot.jpg" alt="Linear easing generator screenshot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Another great tool is the <a href="https://easingwizard.com/">Easing Wizard</a> by Matthias Martin, also because of its – wait for it – ease of use and the many presets like Bounce, Wiggle, or Overshoot animation timing functions. Firm, soft, sharp, subtle, playful, springy – just pick your favourite and adjust it a bit, then copy the linear() function to the clipboard.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 72.526041666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/easing-wizard-screenshot.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/easing-wizard-screenshot.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/easing-wizard-screenshot.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/easing-wizard-screenshot.jpg" alt="Easing wizard screenshot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>As of today, linear() is a baseline feature <a href="https://caniuse.com/mdn-css_types_easing-function_linear-function">supported in all modern browsers since 2023</a>. You can always use it with a fallback, for example by using <code>@supports</code>, and it has the potential to make all your animations so much better.</p>
<h2>Further Reading</h2>
<ul>
<li><a href="https://css-tricks.com/sequential-linear-animation-with-n-elements/">Sequential linear() Animation With N Elements</a> – Temani Afif on CSS-Tricks</li>
<li><a href="https://developer.mozilla.org/en-US/blog/custom-easing-in-css-with-linear/">Creating custom easing effects in CSS animations using the linear() function</a> – Michelle Barker on MDN Web Docs</li>
<li><a href="https://www.smashingmagazine.com/2023/09/path-css-easing-linear-function/">The Path To Awesome CSS Easing With The linear() Function</a> — Jhey Tompkins on smashingmagazine.com</li>
<li><a href="https://css-tricks.com/almanac/functions/l/linear/">linear() (CSS-Tricks Almanac)</a> – Gabriel Shoyombo</li>
<li><a href="https://medium.com/%40projectluis/beyond-beziers-approximating-curves-with-linear-000a68bd9b87">Beyond Beziers: Approximating Curves with <code>linear()</code></a> — Luis Torres</li>
</ul>
<p>❦</p>
<p>This is post 21 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>View Transitions: The Smooth Parts</title>
                <link>https://matthiasott.com/notes/view-transitions-the-smooth-parts</link>
                <pubDate>Wed, 22 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/view-transitions-the-smooth-parts</guid>
                <description><![CDATA[
                    
																																	<p>Now that <a href="https://github.com/WICG/view-transitions/blob/main/cross-doc-explainer.md">cross-document view transitions</a> are <a href="https://caniuse.com/cross-document-view-transitions">gradually making their way into modern browsers</a>, now seems like the perfect time to explore them, if you haven’t already. They are, in fact, surprisingly straightforward to implement. And just like <a href="https://matthiasott.com/notes/adding-avif-and-webp-support-to-my-craft-cms-site">we’ve seen with modern images</a>, view transitions can be slapped onto existing projects as a progressive enhancement. </p>
<p>That my <strong>website</strong> is now called a “multi-page app” (MPA) is still a hilarious thought 😂, but hey – I’ll take it if I get a smoother experience with basically just one line of CSS:</p>

																												
																																						
																																	<p>You add this <code>@view-transition</code> declaration to all pages of your site that should be transitioned – in my case I added it to the <code>main.css</code> – and every browser that supports cross-document view-transitions, will now fade between the (same-origin) pages. And: You can try it on this website already. 🥳 To see view transitions in action, click on “Home” or ”Articles” in the main navigation, for example. But please come back here after that!</p>
<h2>How It Works</h2>
<p>The way cross-document view transitions work is that when you navigate to a new page, the browser starts loading it in the background and captures a snapshot. It then cross-fades from your current page snapshot (the old state) to the new one.</p>
<p>But with one important detail: <strong>the page loading process remains incremental</strong>. The browser waits for the <code>&amp;lt;head&amp;gt;</code> to load before starting the transition animation, but then decides independently how much of the <code>&amp;lt;body&amp;gt;</code> to wait for. This can affect the actual user experience. First-time visitors or users on slower connections may not see transitions at all if the animation start before content has been loaded. Or, elements could still be loading while the animation is already running, leading to a weird and clunky experience. Repeat visitors with cached resources are more likely to see smooth transitions. But in practice, the experience can vary between navigations on the same device, depending on the connection speed, for example. Thanks to <a href="https://bsky.app/profile/martr.app">Martin Trapp</a> for highlighting this. Martin runs a fantastic project, by the way – <a href="https://vtbag.dev">a bag of tricks, explainers, and demos around view transitions</a>. Be sure to check that out.</p>
<h2>Waiting for Content to Load</h2>
<p>What we can do to make the experience a bit smoother is to <a href="https://vtbag.dev/fwvt/enabling/#waiting-for-the-content-to-load">tell the browser which content to wait for</a> before the animations can be started. For this, we use <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel#expect">the new <code>expect</code> value</a> for the <code>rel</code> attribute of the <code>&amp;lt;link&amp;gt;</code> tag and specify the element the browser should wait for by its ID. This could be your <code>#main</code> content, the <code>#body</code>, or any other important element – you decide.</p>

																												
																																						
																																	<p>Also keep in mind that if <code>#body</code> or <code>#main</code> loads slowly – because of heavy images or a network fetch, for example – the transition may feel delayed or janky. So always test and consciously decide if this is a good solution in your specific case. Maybe this is also a good reason to improve the overall performance of your site?</p>
<h2>Respecting <code>prefers-reduced-motion</code></h2>
<p>Something that can make the whole experience more accessible is to respect the <code>prefers-reduced-motion</code> media query, so that people with motion sensitivity will not see the animation:</p>

																												
																																						
																																	<p>But: you should always consider whether this is actually necessary – which depends on the type of animation. It’s <a href="https://webkit.org/blog/7551/responsive-design-for-motion/">certain kinds of motion, or degrees of motion that can cause problems</a>, not simply the presence of <em>any</em> animation. Simple fades between pages, for example, are generally seen as quite safe and less likely to trigger vestibular disorders. If you are using grow, scroll, or slide animations, however, better use <code>prefers-reduced-motion</code> to reduce or remove those motion-heavy transitions. </p>
<h2>A Few View Transition CSS Tricks</h2>
<p>Now, once you start looking under the hood, things can become a bit more complicated. This post won’t go into all the details – we don’t have time for that – but I’ll highlight a few of the things that are really straightforward to implement and can further improve the experience with a few quick moves.</p>

																												
																																	<h3>Fine-tuning Animations</h3>
<p>If you want to adjust the animation used for the transition, you will have to dig a bit deeper and use one (or more) of the many pseudo-elements, that are available once you activate view transitions for a page. As I mentioned, view transitions work by taking snapshots of the old and new states – of the root document and all named transition that have a view-transition-name. With those snapshots, the API then constructs an actual pseudo-element tree:</p>

																												
																																						
																																	<p>The <code>::view-transition</code> sits in an overlay over everything else on the page. The <code>::view-transition-group</code> contains the image pair being used for the transition.</p>
<p>The cool thing is: all the animations are now done using CSS animations. So you can use regular CSS to adjust the duration or the <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timing-function">timing function</a>, for instance:</p>

																												
																																						
																																	<p>Or, you can even define <code>@keyframe</code> animations and set the animations for the old and new state to completely individual animations.</p>

																												
																																						
																																	<p>This is still a very basic example. But the ability to use standard CSS keyframe animations gives you plenty of flexibility to craft unique, tailored transitions for your specific use case.</p>
<p>There’s also a lot more you can do to fine-tune animations, for example by using the JavaScript features of the <a href="https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API">View Transitions API</a> and the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/pagereveal_event"><code>pagereveal</code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/pageswap_event"><code>pageswap</code></a> events. Or defining your own transition types and then using different types to animate forwards and backwards between states. That’s a topic for another post, though. For now, I&#039;ll probably stick with a more basic implementation on this site.</p>
<p>Progressive enhancement FTW!</p>
<p>And in case you want to learn a bit more, watch Bramus and Kevin explaining view transitions in more detail: <a href="https://www.youtube.com/watch?v=quvE1uu1f_I">https://www.youtube.com/watch?v=quvE1uu1f_I</a></p>
<p>❦</p>
<p>This is post 20 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Adding AVIF and WebP Support to My Craft CMS Site</title>
                <link>https://matthiasott.com/notes/adding-avif-and-webp-support-to-my-craft-cms-site</link>
                <pubDate>Tue, 21 Oct 2025 19:12:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/adding-avif-and-webp-support-to-my-craft-cms-site</guid>
                <description><![CDATA[
                    
																																	<p>Five years ago, I wrote about <a href="https://matthiasott.com/notes/avif-a-new-image-format">AVIF: A New Image Format</a> (back then). Since then, I’ve implemented WebP and AVIF support on numerous client sites for considerable performance improvements – but my own site was still serving JPEG, PNG, and GIF images only. So it was time to fix that. Here’s how I added modern image format support to my Craft CMS site.</p>
<h2>Modern Image Formats Rock 🚀</h2>
<p>But first, a little reminder, why using only JPEGs in 2025 means missing out on a lot of what the modern web offers in terms of performance:</p>
<p><strong>WebP</strong> offers <a href="https://developers.google.com/speed/webp/docs/webp_study">25-34% smaller file sizes</a> than JPEG at equivalent quality and is <a href="https://caniuse.com/webp">widely supported by all modern browsers</a>. <strong>AVIF</strong> – which still many people don’t use or even don’t know about, it seems – provides even more impressive gains. Studies show it can deliver file sizes that are <a href="https://photutorial.com/image-format-comparison-statistics/">significantly smaller than JPEG</a> (approximately 10 % better than WebP) while maintaining superior color depth and detail preservation. For users, this means even faster page loads, reduced data usage, and a better overall experience. For site owners, it means lower bandwidth costs and improved SEO rankings. There are just no downsides to adding those formats to your site today.</p>
<p>The beauty is that using them is a textbook example for progressive enhancement: if we use the <code>&amp;lt;picture&amp;gt;</code> element with multiple <code>&amp;lt;source&amp;gt;</code> tags, browsers that support AVIF or WebP load the optimized versions, while older browsers gracefully fall back to JPEGs.</p>
<h2>Using Modern Formats in Craft 5</h2>
<p>Craft CMS 5 makes it straightforward to generate and serve multiple image formats. First, make sure your Craft installation supports WebP and AVIF. Craft 5 includes this out of the box when using <a href="https://imagemagick.org">ImageMagick</a> (or also <a href="https://github.com/libgd/libgd">GD</a>), but you may need to check if your server has the necessary libraries installed. Then, there are actually two ways to implement WebP and AVIF. </p>
<h3>Using Named Image Transforms</h3>
<p>The first way is using named <a href="https://craftcms.com/docs/5.x/development/image-transforms.html">image transforms</a>. Image transforms in Craft are great. You basically predefine certain sizes and file formats, name them, and now, editors can use them in Craft’s Control Panel when creating new content.</p>
<p>If you want, you can create new image transforms and select AVIF or WebP as the format, respectively. But this isn’t actually necessary. Craft can override the format of a transform, even if the transform has a default format set (e.g. to JPEG).</p>
<p>To output an image with a named transform applied as AVIF or WebP in your front-end templates, you pass its handle into your asset’s getUrl() function and set the format. And you replace existing image tags with the <code>&amp;lt;picture&amp;gt;</code> element to serve multiple formats:</p>

																												
																																						
																																	<p>Just by adding <code>{format: &amp;#039;avif‘}</code> and <code>{format: &amp;#039;webp&amp;#039;}</code>, Craft will generate the images needed. 🎉</p>
<h3>Generating AVIF and WebP Directly in Your Templates</h3>
<p>But to add AVIF and WebP to your site, you actually don’t even need named image transforms. It works equally well if you just take any image and, for example, set a width and the format when using <code>getUrl</code>:</p>

																												
																																						
																																	<h3>Responsive Images</h3>
<p>The last step is to use responsive images, to make the whole thing even more performant. Here is a basic example:</p>

																												
																																						
																																	<p>Or, if you want to take it one step further, you can move the responsive image sizes into an array and iterate over it to generate the <code>scrset</code> strings. This is, for instance, how the template on my site looks like in the end (more or less):</p>

																												
																																						
																																	<p>Your mileage may vary, but I actually like that I can quickly adjust the image widths and the <code>sizes</code> string at the top at one central position.</p>
<p>*** EDIT ***</p>
<p>Wait! Thanks to <a href="https://urbantrout.io">Harald Atteneder</a> for <a href="https://mas.to/@urbantrout/115413941860195489">pointing me on Mastodon</a> to <a href="https://docs.craftcms.com/api/v5/craft-elements-asset.html#method-getsrcset">Craft’s <code>getSrcset</code> asset function</a>! This is a function you can use to generate the <code>scrset</code> attribute automatically – and it will also generate the individual images for you. While searching for examples on how to best use the <code>getScrset</code> function, I stumbled upon <a href="https://oliverspies.blog/articles/automatically-create-avif-versions-of-your-images-with-craft-cms">a great article by Oliver Spies</a> on how to generate AVIF images. Based on that input, I just rewrote the section above, which makes it much cleaner.</p>

																												
																																						
																																	<p>Besides using the <code>getSrcset</code> function with a set of widths – now with a <code>w</code> at the end: <code>[&amp;#039;480w&amp;#039;, &amp;#039;768w&amp;#039;, &amp;#039;1024w&amp;#039;, &amp;#039;1536w&amp;#039;]</code> – you can see that I am now rendering the <code>&amp;lt;source&amp;gt;</code> tags with <a href="https://craftcms.com/docs/5.x/reference/twig/functions.html#tag">the Twig tag function</a>. This allows me to set the <code>scrset</code> with the <code>getSrcset</code> function as well as to define a type, which was previously done within the <code>getUrl</code> function. Also, I am now checking for support for both modern formats with <code>getSupportsAvif()</code> and <code>getSupportsWebp()</code>. Only if the respective format is supported, the <code>&amp;lt;source&amp;gt;</code> tag will be rendered, which makes the template snippet even more flexible.</p>
<h2>What About GIFs?</h2>
<p>There is one special case, where it gets interesting: on my site, GIFs should probably stay as GIFs because I am mostly using them animated. While you can convert static GIFs to WebP or AVIF for better compression, animated content is trickier.</p>
<p>WebP supports animation and offers much better compression than GIF. According to <a href="https://developers.google.com/speed/webp/faq">Google&#039;s research</a>, animated GIFs converted to lossy WebP are <strong>64% smaller</strong>, while lossless WebP versions are <strong>19% smaller</strong>. However, AVIF animation support remains limited in browsers as of early 2025. </p>
<p>So, for now, I am just checking whether an image is a GIF and then converting it to WebP:</p>

																												
																																						
																																	<p>Keep in mind that Craft will only convert GIFs to animated WebP if your image driver supports it. Otherwise, you may need to handle animated GIFs separately or use video formats for longer animations, which often provide even better compression.</p>
<p>And that’s it – actually not that complicated at all and another great example of how straightforward it is to do such upgrades that deliver measurable performance improvements in modern PHP-based content management systems. I might write a similar post for Kirby CMS soon … 🤔 Your existing JPEG images can coexist with the new formats, and Craft handles the heavy lifting of generating the variants for you.</p>
<h2>More About Modern Image Formats</h2>
<ul>
<li><a href="https://www.smashingmagazine.com/2021/09/modern-image-formats-avif-webp/">Using Modern Image Formats: AVIF and WebP - Smashing Magazine</a></li>
<li><a href="https://developers.google.com/speed/webp/docs/webp_study">WebP Compression Study - Google for Developers</a></li>
<li><a href="https://developers.google.com/speed/webp/faq">WebP FAQ - Google for Developers</a></li>
<li><a href="https://photutorial.com/image-format-comparison-statistics/">Image Format Comparison: JPEG vs PNG vs WebP vs AVIF - Photutorial</a></li>
</ul>
<p>❦</p>
<p>This is post 19 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Challenge</title>
                <link>https://matthiasott.com/notes/challenge</link>
                <pubDate>Tue, 21 Oct 2025 09:42:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/challenge</guid>
                <description><![CDATA[
                    
																																	<p>It’s the early nineties. Legendary comic book artist <a href="https://frankmillerink.com/">Frank Miller</a> had just broken away from the major publishers, after creating titles like Daredevil: Born Again, Ronin, and The Dark Knight Returns. He was now working with the then-young Dark Horse Comics, when he decided to take his baby there – a comic he had planned to do for years: a crime story in black and white. <a href="https://en.wikipedia.org/wiki/Sin_City">Sin City</a>.</p>
<p>So, Frank got to work. After creating a first round of drawings, he showed them to <a href="https://en.wikipedia.org/wiki/Dick_Giordano">Dick Giordano</a>, a comic book artist and editor at DC Comics. Giordano studied the pages and said: “I’m looking at the stuff you’re doing and I’m thinking about one of the old guys […] and he was doing stuff kinda like yours. Only, eventually, he started laying in all the black areas first and put the lines in later – and he found that he didn’t need so many lines.”</p>
<p>Frank Miller went home, and the real look of Sin City was born. Stark, high-contrast, with bold blacks dominating the page and minimal linework.</p>
<p>And he worked that way ever since.</p>
<p>Imagine, Frank hadn’t asked. </p>
<p>He could have kept his head down, working away on his own. He could have worried about bruising his ego or getting an answer he didn’t like. Instead, he sought out someone whose opinion he valued and genuinely listened to the answer.</p>
<p>Asking for feedback is one thing. Being truly open to the answer is another. It requires something uncomfortable: the willingness to challenge your own assumptions about what’s working, what’s good enough, what’s right. That’s why sometimes, asking someone what they think of your work can feel daunting. You have to be open for whatever the answer will be. But this is also where growth is.</p>
<p>Frank Millers work is characterised by constant growth. His style constantly evolved as he let in new influences, from Mœbius to the way Japanese comics work with time and movement. And that’s because he was always ready to change direction, to kill his darlings, to question what he thought he knew.</p>
<p>At the end of <a href="https://www.youtube.com/watch?v=6vW4K3ht-0w">a wonderful conversation with Tim Ferris</a>, Frank Miller was asked what message he would put on a billboard seen by billions of people. His answer revealed the philosophy behind moments like that meeting with Dick Giordano:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="pull-double">”</span>Ask every question.”</p>
</blockquote>
												</figure>
																
																																	<p>and</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>Chal­lenge. When you are con­front­ed with things that every­body says, be ready to chal­lenge some things.”</p>
</blockquote>
												</figure>
																
																																	<p>Sometimes, that also means challenging the voice in your head that says, “this is fine as it is.” The one that resists asking for feedback because you might have to admit you were wrong.</p>
<p>Frank Miller’s Sin City – and his signature style going forward – exists because he was willing to be wrong about his first draft. What exists in your first draft that you are ready to challenge?</p>
<p>❦</p>
<p>This is post 18 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Acoustic Room Treatment and Building Sound Panels, Part 1: Planning</title>
                <link>https://matthiasott.com/notes/acoustic-room-treatment-and-building-sound-panels-part-1-planning</link>
                <pubDate>Fri, 17 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/acoustic-room-treatment-and-building-sound-panels-part-1-planning</guid>
                <description><![CDATA[
                    
																																	<p>Whether you are running online workshops, recording audio or video, or making music, it’s worth spending some time on acoustic treatment for your room. <a href="https://www.urbandictionary.com/define.php?term=shit%20in%2C%20shit%20out">Shit in, shit out</a>, as they say… In my case, I wanted to improve the sound of voice recordings and live audio in my little office in the attic, which has a quite small footprint. So, a while ago, I made a real job of it and did my (amateurish) best to make the space sound better. Part of that involved building a few sound panels myself. This is a write-up about which considerations went into improving the room and how I built the panels.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 133.33333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/a-final-sound-panel.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/a-final-sound-panel.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/a-final-sound-panel.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/a-final-sound-panel.jpg" alt="A final sound panel" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 133.33333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/panels-mounted-on-the-wall-and-ceiling.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/panels-mounted-on-the-wall-and-ceiling.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/panels-mounted-on-the-wall-and-ceiling.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/panels-mounted-on-the-wall-and-ceiling.jpg" alt="Panels mounted on the wall and ceiling" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>I’m not an audio expert, so while I’ve tried to be as accurate and thorough as possible, please take this post with a grain of salt and feel free to correct me if I’ve got something wrong. I’m mainly documenting it for myself. But if you are thinking about improving the sound of your room as well, then hopefully this is interesting for you and gives you a first rough idea of the things you could think about.</p>
<h2>Proof or Treat?</h2>
<p>Now, if you want to improve the sound of a room, there is first an important distinction to make: do you want to <em>keep sound out</em>? Or do you want to <em>improve the sound inside</em> the room? Both things can be important if you want to improve the quality of your recordings. But they are fundamentally different things.</p>
<p>Keeping sound out of a room – or also preventing it from leaving the room – is commonly referred to as <strong>soundproofing</strong>. Whether you are living right next to a street with a bit of noisy traffic during peak hours, like I am, or you don’t want the sound that other people in your house are making to be heard, or, you want to save your neighbours from hearing the sound of your drums – you basically want to block sound waves and stop their transmission through vibrations and so on. </p>
<p>What you need in this case, is first and foremost: mass. I always like to think of it like the water in the ocean: there are smaller mini waves in the ocean and also gigantic monster waves. If you now put a wall into the water with the intention of breaking all the waves, the small waves will easily be stopped by the wall, because they are low on energy. The monster waves, however, are so full of energy that they will “roll” right through your laughable attempt to disturb the forces of nature. So, especially if you want to block sound in the lower frequencies, there is no better way to stop a wide spectrum of sound waves than thick, dense materials like concrete walls – the thicker the better. However, changing the walls themselves is rarely an option. You can still try to add mass by adding an extra layer of drywall, OSB, MDF, of MLV (Mass Loaded Vinyl). And it can also be quite effective to create airtight seals around doors or other gaps through which sound could leak in or out. But <strong>soundproofing</strong> is not the primary topic of this post. So let’s move on for now.</p>
<p>If you want to improve the sound <em>inside</em> a room, that’s called <strong>acoustic treatment</strong>. And that’s what we’re doing here. We want to shape how sound behaves in our room. We want to reduce echo, reverberation, reflections, unpleasant frequencies, and bass buildup, to create a more controlled, even, and pleasant frequency response. For that, different materials can be used. And it is crucially important which material you pick.</p>
<h2>Picking the Right Tools</h2>
<p>A common myth, for example, is that if you want to treat your room, you buy cheap egg-crate foam and slap it onto the walls. This won’t work, however, because all this very lightweight material does is reduce reflections in the very high frequencies. Think about it: this foam consists basically of a lot of bubbles of air trapped inside thin plastic – most sound waves can pass right through without a hitch. Only the very high frequencies with very little energy will be reduced a bit. Ultimately, all egg-crate foam really does is create an unbalanced sound that can make a room sound lifeless and “dull”, because it is now missing the high frequency information that audio engineers often refer to as “air”. Besides that, many cheap foams marketed as “acoustic” on Jeff’s online shop are not fire-retardant and can emit toxic fumes when burned. So we need something else.</p>
<p>What actually works better for effective acoustic treatment, are acoustic panels made of materials that are thicker and more dense than egg-crate foam. Very often, you will find people suggesting rock wool or mineral wool, for example, which is primarily used as an insulation material. This works much better, because it absorbs a higher frequency range while still being quite lightweight. And, the thicker the material, the lower the frequencies it can absorb. The only problem I had with using such a material: although it is marketed as being safe, and it is also not allowed in the EU to sell rock or mineral wool that has particles that are so small they will stay in your lungs and cause cancer, it still didn’t feel right to put it onto the walls of a room in which I’m sitting every day – for the next 40 years. Also, people recommend to always wear a pair of gloves when working with rock wool to avoid skin rash and itching. What?!? That surely sounds “safe” as heck to me…</p>
<p>Luckily, there are now better options, like recycled denim, hemp or wood fibre, or also <a href="https://plastics-rubber.basf.com/global/en/performance_polymers/products/basotect">Basotect</a>, a dense melamine resin foam which is flame resistant and has good sound absorption properties. Basotect has been tested for harmful substances and is certified to the STANDARD 100 by OEKO-TEX®. Yes, it is more expensive than rock wool, but the idea is that it also lasts much longer – and doesn’t emit fumes or microparticles. Lastly, Basotect is also really good in keeping its shape which makes it easier to work with for a noob like me. So I went with that. I ordered it from <a href="https://www.schaumstofflager.de/">a German store called schaustofflager.de</a> – I actually don’t know where to get it outside of Germany, but you might be able to find a reseller.</p>
<h2>A Little Room Acoustics Primer</h2>
<p>But before we actually can start to build our panels, we need to take a step back and answer an important question: what acoustic problem are we actually trying to solve?</p>
<p>Every room has unique challenges. Are you recording in a huge office with church-like acoustics? Then you will have completely different (reverb) issues than in a small 3 × 3 meter attic space like mine. Every room is different and requires other treatment. Very often, what is needed is a combination of absorption, to reduce unwanted frequencies, and <a href="https://www.gikacoustics.com/blogs/knowledge-base/how-diffusion-works">diffusion</a>, to balance the whole frequency response.</p>
<h3>Standing Waves</h3>
<p>In a tiny room, however, you will most likely have a problem with low frequencies: because the walls are so close together, long sound waves (those with lower frequencies) don’t have enough time to travel before they hit a wall and, still full of energy, are reflected back. When a wave is reflected back and overlaps with the next incoming wave, the two waves will interfere. And that’s called – you guessed it – interference. Actually, waves do interfere in rooms of any size, the problem is just more serious and apparent in smaller rooms. The two overlapping waves now might either reinforce each other, because the amplitudes of the waves add up, or also cancel each other out, when they are “out of phase” – so one of them has a “dip” where the other one has a “peak”. </p>
<p>At certain frequencies that depend on your room’s size, this creates so-called <a href="https://en.wikipedia.org/wiki/Standing_wave">standing waves</a>, first described scientifically by Michael Faraday in 1831, by the way. Yes, that’s the guy with the <a href="https://en.wikipedia.org/wiki/Faraday_cage">cage</a> ⚡️.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 59.895833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/nicolas-cage-with-his-hair-in-the-wind.gif 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/nicolas-cage-with-his-hair-in-the-wind.gif 1536w, https://matthiasott.com//assets/pictures/_standardImage768/nicolas-cage-with-his-hair-in-the-wind.gif 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/nicolas-cage-with-his-hair-in-the-wind.gif" alt="Nicolas cage with his hair in the wind" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>Not that Cage. 🙄</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>Standing waves are called standing, because they’re waves that <em>oscillate</em> but <em>don’t move</em> in space. Like this red wave here:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/Waventerference-leading-to-standing-waves.gif 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/Waventerference-leading-to-standing-waves.gif 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/Waventerference-leading-to-standing-waves.gif" alt="Waventerference leading to standing waves" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>These standing waves create louder and quieter spots in your room at specific resonant frequencies. Where the waves cancel out (called nodes), there’s barely any sound. Where they reinforce each other (called antinodes), the sound is amplified.</p>
<h3>Room Modes</h3>
<p>All these resonances together are called <a href="https://en.wikipedia.org/wiki/Room_modes">room modes</a>. If you want to dive deeper, watch <a href="https://www.youtube.com/watch?v=3C-vjobNCbQ">this excellent video by Kyle Mathias</a>. Room modes make sound at certain frequencies appear louder or even completely quiet, depending on your listening position. Put on <a href="https://song.link/s/3uqinR4FCjLv28bkrTdNX5">A Milli by Lil Wayne</a> or <a href="https://song.link/s/7satW8tFLasyZbftvrWFBP">Legend Has It by Run the Jewels</a> and walk into one of the corners of your room … see, I mean, hear?</p>
<p>This can become a real problem, though, when you’re mixing music and you are listening at a position where certain frequencies are boosted or cancelled out. “But Matthias,” I hear you say, &quot;we’re trying to improve our room for <em>recording</em> stuff, not <em>listening</em>.” Now, what if the speaker emitting the sound is <em>your mouth</em>, and the ear that’s listening happens to be a <em>microphone</em>? 🤓</p>
<p>Room modes depend on your room dimensions because sound waves have specific wavelengths. Waves that will create standing waves (= modes) between two walls are those with their highest points of pressure, the antinodes, at the reflection points. The lowest mode occurs when half a wavelength fits between two walls. For example, if your walls are 3 meters apart, a wave with a 6-meter wavelength will produce a standing wave. That’s a wave with a frequency of about 57 hertz.  The same happens at multiples of this frequency, like 114 Hz, 228 Hz, and so on.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 79.166666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Onde_stationnaire_vitesse_tuyau_ouvert_trois_modes.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Onde_stationnaire_vitesse_tuyau_ouvert_trois_modes.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Onde_stationnaire_vitesse_tuyau_ouvert_trois_modes.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Onde_stationnaire_vitesse_tuyau_ouvert_trois_modes.png" alt="Onde stationnaire vitesse tuyau ouvert trois modes" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>This <a href="https://amcoustics.com/tools/amroc?l=300&amp;amp;w=300&amp;amp;h=235&amp;amp;r60=0.6">room mode calculator</a> is fantastic for finding out where the room modes of your room (approximately) are: <a href="https://amcoustics.com/tools/amroc?l=300&amp;amp;w=300&amp;amp;h=235&amp;amp;r60=0.6">amroc Room Mode Calculator</a> This is how the room modes look for a room approximately the size of my office, for example:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left push">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/amroc-room-mode-calculator.png 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/amroc-room-mode-calculator.png 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/amroc-room-mode-calculator.png" alt="Amroc room mode calculator" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Just as an aside: knowing those room modes will also be really useful to correct recordings with <a href="https://www.tokyodawn.net/tdr-nova/">a parametric EQ</a> later, because you know where your room might still sound a bit “boxy”. And then, you gently attenuate those frequencies a little bit.</p>
<h2>Reducing Resonances</h2>
<p>Now that we know our room has modes and roughly where those resonant frequencies sit, the next step is actually treating them – but only if they&#039;re causing real problems. In my case, I could clearly hear an issue around 124 Hz, right at one of my room modes, for example.</p>
<p>So how do we fix this? The answer lies in understanding how porous absorbers like Basotect actually work. They absorb sound by converting the energy of moving air molecules into heat – through friction. And here’s the key: they work best where particle <em>velocity</em> is highest, not where <em>pressure</em> is highest. In a standing wave against a wall, the air molecules barely move at the wall surface itself (because pressure is high there). But at a quarter-wavelength distance from the wall, particle velocity reaches its maximum. And that’s why a rough rule of thumb is that the thickness of your material ideally is at least a quarter of the wavelength you want to absorb. For that 57 Hz wave with its 6-meter wavelength, a quarter wavelength would be … 1.5 meters. Which is … err … kind of impractical if your room is 3 meters wide. As you can see: there is just no way to effectively reduce the lowest frequencies in such a tiny room. And that’s why we focus on the problematic low-mid frequencies in the 100 – 300 Hz range.</p>
<p>But it should now be really obvious, why effective acoustic panels need to be substantial — at least 10 to 15 cm thick when using materials like Basotect foam. A 10 cm panel, for example, might absorb down to around 300 Hz before it gets less effective, as you can see on this “absorption coefficient” graph For Basotect:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/basotect_tube-absorption-coefficient.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/basotect_tube-absorption-coefficient.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/basotect_tube-absorption-coefficient.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/basotect_tube-absorption-coefficient.jpeg" alt="Basotect tube absorption coefficient" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>Basotect G+ sound absorption in an impedance tube</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>And that’s where the air gap trick comes in: When you mount a 10 cm Basotect panel with a 10 cm air gap behind it, the panel sits closer to where air molecules are moving more for lower frequencies. This effectively extends the panel’s absorption range downward – it’s like as if you were actually using a thicker absorber! A simple way to get better low-frequency absorption without using twice the material. So using <a href="https://www.schaumstofflager.de/basotect/basotect-absorber/absorber-aus-basotect-g-schaumstoff-100cm-x-50cm-x-10cm-hellgrau.html">the thickest material strength available in my case</a> (10 cm), should actually be an effective way to at least attenuate some of the lower-mid frequencies.</p>
<p>That’s about it for this post, which turned out much longer than expected. That’s why I’ll cover the actual building of the panels in part 2 of this mini series. And I’ll probably write a third part as well, which is about how and where to mount the panels and the actual results of the treatment – as far as I could measure the outcome.</p>
<p>Let me know if this was interesting or helpful and also if you have treated your room as well. It would be really interesting to hear what worked for you.</p>
<p>❦</p>
<p>This is post 17 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Play On</title>
                <link>https://matthiasott.com/notes/play-on</link>
                <pubDate>Thu, 16 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/play-on</guid>
                <description><![CDATA[
                    
																																	<p>In the late 1960s, a young musician was recording the sounds he played on his synthesizer onto his Revox tape recorders, when he suddenly discovered: if you connect the two tape recorders together, so that the playback head is separated by several feet from the record head, <a href="https://en.wikipedia.org/wiki/Frippertronics">you get a very long delay echo</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 98.958333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Brian-Eno-Discreet-Music-Tape-Loops-Recorder.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Brian-Eno-Discreet-Music-Tape-Loops-Recorder.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Brian-Eno-Discreet-Music-Tape-Loops-Recorder.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Brian-Eno-Discreet-Music-Tape-Loops-Recorder.jpg" alt="Brian Eno Discreet Music Tape Loops Recorder" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>A few years later, the young man <a href="https://reverbmachine.com/blog/deconstructing-brian-enos-discreet-music/">used this idea for the legendary title track of his fourth studio album</a> and went on to basically invent the genre of <a href="https://en.wikipedia.org/wiki/Ambient_music">ambient music</a>. He worked and produced records with artists like U2 and David Bowie – whom he told to slowly back away from the mic while singing <em>Heroes</em> –, and composed <a href="https://youtu.be/I3Ak5VgyEoc?si=RCRlPXHeCXdRqt-z">the sound that played when you started up Windows 95</a>. His name, of course: <a href="https://www.hustwit.com/eno">Brian Eno</a>.</p>
<p>When Eno is faced with a piece of technology that can do something, he immediately doesn’t want to know what it is <em>supposed</em> to do. He wants to know what it can do that the makers <em>didn’t imagine it would ever be used</em> to do. He wants to find out what hasn’t yes been done with a piece of technology, with a system – and what might excite people. “Because when you are excited, you are at your most alert. And when you are your most alert, you’re more likely to spot the little thing that is going to turn into the big thing.” as Eno explained in <a href="https://www.youtube.com/watch?v=AfYY9v0Q0X4">a truly remarkable, calm, and wide-ranging conversation with Ezra Klein</a>. An interview that I can’t recommend enough, spanning from music and art to the practice of creating and generative AI to architecting versus gardening to Stewart Brand and – <a href="https://ethanmarcotte.com/wrote/pattern-patter/">Ethan!</a> – even <a href="https://en.m.wikipedia.org/wiki/A_Pattern_Language">A Pattern Language</a>.</p>
<p>When Brian Eno starts to tinker with technology, he’s actually playing. Not only like musicians play. But how children play. Just like them, he’s playing to explore and make sense of the world around him. He’s playing to learn. He’s playing to come up with something exciting. He’s playing to imagine things and imagine how they would feel like. How he would feel like. He’s doing what the grownups like to call “art”, to distinguish it from the seemingly more serious and important stuff, like stock trading.</p>
<p>We could use more of that approach on the Web. When we’re creating things on, for, and with the Web. More play. More prototyping. More art. More echo. More ambient web design.</p>
<p>How about we start with our personal sites first?</p>
<p>❦</p>
<p>This is post 16 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Overshoot</title>
                <link>https://matthiasott.com/notes/overshoot</link>
                <pubDate>Wed, 15 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/overshoot</guid>
                <description><![CDATA[
                    
																																	<p>I still remember that moment. Do You?</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.713541666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/paris-agreement-politicians-celebrating.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/paris-agreement-politicians-celebrating.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/paris-agreement-politicians-celebrating.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/paris-agreement-politicians-celebrating.jpg" alt="Paris agreement politicians celebrating" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>For me, that was a moment I never thought I’d see. The leaders of the world, finding common ground – agreeing to limit global warming to 2°C, and aiming for 1.5°C. Everyone, finally, coming together. Acknowledging that to avoid catastrophic damage to the planet and the ecosystems we depend on – and to protect our very livelihood – humanity must act. We all must act.</p>
<p>It’s now ten years later, and <a href="https://theconversation.com/earth-is-already-shooting-through-the-1-5-c-global-warming-limit-two-major-studies-show-249133">we’re overshooting</a>.</p>
<p>Suddenly, the stories we’ve been telling ourselves about climate change don’t make sense anymore. In that moment, when world leaders raised their hands in triumph after signing the Paris Agreement, the world suddenly had a goal. And that goal became the story. Avoid climate change, avoid two degrees of warming, avoid one point five. Avoid it, and we save ourselves. Everything will be fine. Miss it – and we’re doomed. That’s it. The end.</p>
<p>But now, we’re already overshooting. Without even really trying, it seems, we’ve silently passed the line we had hoped we would never cross – <a href="https://ourworldindata.org/fossil-fuels">by burning ever more fossil fuels</a>. The 1.5°C mark, that fragile threshold where scientists agree the real collapse begins. Where we trigger the first <a href="https://global-tipping-points.org/">tipping points</a>, like <a href="https://www.nature.com/articles/d41586-025-03316-w">the loss of coral reef ecosystems</a>, the first climate tipping point we’ve now crossed, as scientists warned a few days ago. This is our new reality. We can see it everywhere around us. From the burning hills of L.A. to flash floods in Spain, from a year-long drought in Zambia to super typhoons battering the Philippines. We are in a climate emergency. And humanity has never before lived in such a world. We’re entering uncharted territory.</p>
<p>But just like everything in life and in this world, climate change isn’t binary. It never was. Maybe the story about either avoiding catastrophic climate change altogether or being eradicated from the face of the Earth wasn’t the right narrative to begin with. Yes, we need awareness. We need more awareness than we ever had. But we also need to understand that we have now entered the storm. On one hand, this means that we need to be clear-headed and prepare for what’s coming. But on the other hand, it also means that we haven’t lost already – which is how many people feel today. So it is neither worthless nor too late to avoid every fraction of a degree of further warming.</p>
<p>Instead of falling for the PR lies of fossil fuel companies and those who don’t (want to) understand or underestimate the true risks of a world heading towards 3 or 4°C of warming, we need to do everything in our power to navigate this new reality and take action. Not because we want to reach a specific number target, but because we are now in the business of constantly transforming the energy sector and the global economy. And because we are now in the business of constantly making decisions and taking steps into the right direction.</p>
<p>So, what happens next? And how do we make sense of it all? That are the questions behind a gripping new podcast: <a href="https://www.overshootpod.com/">Overshoot</a>. The podcast, written and narrated by <a href="https://laurielaybourn.com/">Laurie Laybourn</a>, explores the consequences of our new climate reality, but also exposes huge misconceptions, for example about the feasibility of carbon capture technology or the true economical risks of climate change. And finally, it also looks at possible solutions. </p>
<p>But what I found most interesting, when listening to the first three episodes, was the level-headed analysis of where we really are right now, telling stories grounded in realism and resilience. And as such, it is indeed able to give hope (again). Because no matter how dire thing seem, there is no alternative to navigating the complexity and tragedy of our reality. And to stop thinking in terms of win or lose. This is about change. And change happens gradually.</p>
<p>❦</p>
<p>This is post 15 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The HTML Output Element</title>
                <link>https://matthiasott.com/notes/the-html-output-element</link>
                <pubDate>Tue, 14 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-html-output-element</guid>
                <description><![CDATA[
                    
																												<style>p code {
background: rgb(134 134 134 / 30%);
    border-radius: 4px;
}
</style>
																						
																																	<p>One of the most amazing things about working on the Web is that you can have years of experience under your belt and there are still things you don’t know. Often, people associate this with a more quickly-moving language like JavaScript, but it equally hold true for HTML. Although, on the first sight, HTML seems like a very “easy” markup language, it can still be incredibly hard to write solid, semantic HTML – even for seasoned developers. But then, there are even moments where you are just surprised because you hear about a little detail you never heard before or completely forgot about. And sometimes, that little detail is a whole HTML element.</p>
<p>Earlier this month, <a href="https://denodell.com/blog/html-best-kept-secret-output-tag">Den Odell just wrote a fantastic article about such an element</a>: the HTML <code>&amp;lt;output&amp;gt;</code> element. The <a href="https://html.spec.whatwg.org/multipage/form-elements.html#the-output-element"><code>&amp;lt;output&amp;gt;</code> element</a> was added to HTML in 2009, in <a href="https://www.w3.org/TR/2009/WD-html5-20090212/forms.html#the-output-element">W3C’s HTML 5 Working Draft 12</a> and it is a form element. Its intent is clearly stated in the HTML Living Standard: <em>The output element represents the result of a calculation performed by the application, or the result of a user action.</em> So it is primarily intended for the output of, let’s say, a little calculator:</p>

																												
																																						
																																	<p>Looking at the code above, there are a few details you might notice: first of all, the <code>&amp;lt;output&amp;gt;</code> element can be used very much like any other form element. It works inside a <code>&amp;lt;form&amp;gt;</code> but you can also use it outside of a form and associate the output with the form via a <code>form</code> attribute. I always go to <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/output">mdn</a> and have a quick look at what attributes are supported. You can also see that the output element has a <code>for</code> attribute, much like the <code>&amp;lt;input&amp;gt;</code>s. But the <code>for</code> attribute of the <code>&amp;lt;output&amp;gt;</code> actually supports a space-separated list of other elements’ ids, which are indicating which elements contributed input values to the calculation – or otherwise affected the result. Lastly, the <code>&amp;lt;output&amp;gt;</code> can have a <code>name</code>, of course.</p>
<h2>Practical Use Cases</h2>
<p>Now, not everyone of us is building basic calculators all the time. So what are practical use cases for this element?</p>
<p>One of the most useful things is that the element is mapped to <code>role=&amp;quot;status&amp;quot;</code> in the accessibility tree. For better cross-browser compatibility, <a href="https://www.scottohara.me/blog/2019/07/10/the-output-element.html#bridging-gaps">it might make sense to add an additional <code>role=&amp;quot;status“</code></a>, for now. So the <code>&amp;lt;output&amp;gt;</code> element will announce its value when it changes, for example via a screen reader, and the entire content is spoken without interrupting the user.</p>
<p>This makes the <code>&amp;lt;output&amp;gt;</code> very flexible and useful. And it might be reason enough to think about how you could use it in one of your next projects. Den, for example, mentions <a href="https://denodell.com/blog/html-best-kept-secret-output-tag#range-slider-formatting">using it for displaying user-friendly versions of range slider values</a>. This is actually something I could consider for the knob components of my little style mixer above, as well. 🤔 He also suggests using it for immediate form validation feedback, like for password strength indicators, character counts, or real-time validation messages. And, of course, it can be useful to output any kind of server-calculated output, even fetched values coming from APIs or the total of a shopping cart. You could also use it to output the adjusted scaled quantities in recipes, show changed interest rates in a mortgage calculator, or to announce the adjusted dates or duration of stay in a booking form. So basically, <code>&amp;lt;output&amp;gt;</code> is super useful when user interaction results in a live calculation or a value update, and you want screen readers to announce it automatically without using extra ARIA hacks.</p>
<p>But <a href="https://www.scottohara.me/blog/2019/07/10/the-output-element.html">as Scott O&#039;Hara notes</a>, the latest version of the HTML standard also isn’t super strict when it comes to the result inside of an <code>output</code>. It can be the result of a math calculation inside of a form, yes. But you could also interpret it a bit more broadly, as everything that makes sense to announce as the “result of a user action” – as long as it is <a href="https://html.spec.whatwg.org/multipage/dom.html#phrasing-content-2">Phrasing Content</a>, so you can’t use headings, lists, or sectioning elements like article, section, div, and so on. But you are not confined to outputting numbers only. Scott, for instance, <a href="https://www.scottohara.me/blog/2019/07/10/the-output-element.html">explored using <code>&amp;lt;output&amp;gt;</code> for toast components</a>, those little, temporary notifications appearing on the screen somewhere. But if you think about it: it could also be used for outputting the number of matched items in interactive filters. So when a user selects a certain set of filters, the <code>&amp;lt;output&amp;gt;</code> shows <em>“42 results”</em> or <em>“No items found”</em> dynamically. It could be used to display the results of interactions on a dashboard (<em>“CPU usage 75%”</em>, <em>“120 visits per month”</em>). It could be used to announce the score or right answers in quizzes or games. Or, you could use it to provide feedback on any interactive action, for example toggling a switch in a settings section (<em>“Notifications enabled!”</em>) or completing a task (<em>“1893 todos remaining for today.”</em>).</p>
<p>If you think about it: the &lt;output&gt; element shines in any situation where user interaction produces a live, dynamic result. It provides semantic meaning and built-in accessibility, offering a lightweight, standards-compliant way to make interfaces both more dynamic and screen-reader friendly. In that regard, it might really be one of HTML&#039;s most under-appreciated gems.</p>
<p>Time to play and experiment with it, I guess…</p>
<p>❦</p>
<p>This is post 14 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Listening Closely</title>
                <link>https://matthiasott.com/notes/listening-closely</link>
                <pubDate>Mon, 13 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/listening-closely</guid>
                <description><![CDATA[
                    
																																	<p>My son, who is the violinist in our family, recently told me an interesting little fact about <a href="https://www.youtube.com/watch?v=jgrG5BmQu8E">Augustin Hadelich</a>, one of the greatest violinists alive: it’s hard for him to enjoy other people’s performances. Not because he’s critical or dismissive – to the contrary – but because when he listens, he’s also always playing. He just can’t help it.</p>
<p>When he hears someone play a phrase, he always wonders how <em>he</em> would play it. He notices a bow stroke and immediately imagines what he would do differently. When he listens, he’s not just hearing what’s there. He’s hearing what <em>could</em> be there instead. What he would feel. What he would want to express. What he would want to communicate. </p>
<p>Obviously, that’s not arrogance – that’s attention. Attention to detail. The kind of careful attention to detail that changes the way you experience the world around you.</p>
<p>And it feels so familiar.</p>
<p>It’s like a curse. Once you know what bad <a href="https://en.wikipedia.org/wiki/Kerning">keming</a> is, you just can’t unsee it. Once you’ve spent years building for the Web, you can’t browse it like you used to as a teenager. You notice all the layout shifts, the missing alt text, the fluid type that can’t be scaled, and the <a href="https://www.htmhell.dev/2-div-with-button-role/">button that’s actually a div</a>. You constantly think about what’s happening under the hood. And far too often, you find yourself opening dev tools to inspect a site you just accidentally arrived at. Only because you are curious how you might have written that CSS, how you’d fix that one little detail that no one else will ever notice.</p>
<p>That’s not arrogance, that’s attention. The same kind of attention to detail that Hadelich brings to <a href="https://www.youtube.com/watch?v=RHu5HfHEr68">his cadenza to the Brahms violin concerto</a>. (Out of this world, by the way. <a href="https://www.youtube.com/watch?v=qqtLVvoXLig">The whole concerto</a>.)</p>
<p>We always like to imagine mastery as a kind of arrival. You work and work and work, you practice something for 10,000 hours or – in the case of the violin – even longer, and then, one day, you’re there. You’ve reached the peak, the struggle is over. You can lean back and enjoy. But it’s not really like that, is it? And wouldn’t it be a bit boring as well? The gift of mastery is that it sharpens your senses. The cost is that you never again hear things the same. Because you care.</p>
<p>When you care enough to peek into the source code, it becomes harder to just enjoy the surface. But that’s also where the joy lives – in the conversation between what’s there and what could be. </p>
<p>The Web was built for that conversation. It’s never finished.</p>
<p>And maybe that’s also the real measure of craft: not how perfect your performance is, but how open you are to keep listening, adjusting, and contributing – even when no one else notices. Until it feels right. Until you make people feel something.</p>
<p>Hadelich can’t turn off his ear. And we can’t turn off our instinct to tinker, to experiment, to test, to fix, and to make the Web a little better than we found it.</p>
<p>It’s the same devotion, just played in a different key.</p>
<p>❦</p>
<p>This is post 13 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Compressed Fluid Typography</title>
                <link>https://matthiasott.com/notes/compressed-fluid-typography</link>
                <pubDate>Sun, 12 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/compressed-fluid-typography</guid>
                <description><![CDATA[
                    
																																	<p>When it comes to web typography, I’m a sucker for <a href="https://utopia.fyi">fluid type</a>. I love that it creates a harmonious rhythm for the typography of a project. I love how it speeds up the responsive design process in the browser. And that it feels like you are working with the grain of the web, not against it. Instead of trying to control every typographic detail, you are defining boundaries that make sure your design works well – regardless of the end device. Fluid type is a textbook example of what Jeremy likes to call <a href="https://www.youtube.com/watch?v=UHfa5ks4q80">declarative design</a>.</p>
<p>Fluid type can sometimes also be tricky, though. I’ve worked with teams who struggled with it or even abandoned it completely because it didn’t work for their more imperative design process. One of the issues that some people have with it, for example, is that you have to be fine with giving up control over how large your typography is on a particular screen. That uncertainty is something not everyone feels comfortable with. But once you do you don’t want to go back.</p>
<h2>Basic Assumptions</h2>
<p>But there’s another issue that’s not so easily dismissed: how fluid type responds to changes in the base font size. By default, most browsers set this base to 16px, and many fluid typography solutions simply assume that value when performing their calculations. Just take the most common approach to fluid type, using <code>rem</code> units and <code>clamp()</code>:</p>

																												
																																						
																																	<p>We add a fraction of the viewport (or container) width to the base font size. Using <code>rem</code> ensures that our text remains responsive to any user-defined font size changes. And the clamp() ensures the font-size never gets smaller than our minimum and never larger than the maximum value.</p>
<p>This idea of fluidly scaling our type is then combined with a much older concept: the typographic scale. In the sixteenth century, European typographers developed proportional systems of type sizes to create harmony between different levels of text. The principle is simple: numbers related by consistent ratios feel balanced, much like intervals in music.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fluid-type.001.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fluid-type.001.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fluid-type.001.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fluid-type.001.jpeg" alt="Fluid type 001" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>In a modular scale, we use a multiplier to generate a set of harmonious values. For example, a multiplier of 2 produces an “octave.” Or, if we use 1.5 as our multiplier, we get a “perfect fifth“.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fluid-type.003.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fluid-type.003.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fluid-type.003.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fluid-type.003.jpeg" alt="Fluid type 003" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>On the Web, these calculations almost always start from the assumption that the base font size is 16px. We use multiples of 16 in our design files, we use multiples of 16 in our CSS, we are treating 16px almost as a universal standard. And while that assumption usually holds true, it only works – until it doesn’t.</p>
<p>Assuming that 16px is always the base font size for fluid typography in CSS is problematic because it overlooks how people actually use the web. Many users adjust their browser’s default font size for comfort or accessibility. And the moment someone bumps their default up to 24px, our carefully tuned “fluid” type system can quickly fall apart. If we are using rems – which we should – the type will scale up, which is great. But headlines that were already large can become comically huge, throwing off visual hierarchy and breaking the overall design.</p>
<h2>Authors and Users</h2>
<p>This raises an important question: how do we balance author intent with user preferences? As a designer, might want a headline to feel bold and impactful. That’s a legitimate aesthetic choice. But if someone looking at my design in the browser prefers to read my text in a larger font size, does this also mean that <em>the whole</em> typographic scale has to grow and increase to an almost unusable size? That probably wasn’t my intent at all. Ideally, our designs should respect someone’s preferred base font size without becoming unusable at larger settings. That’s why I was curious about what Miriam had to say about it. And wow, she really dives deep! I highly recommend reading her series of blog posts on the Oddbird site, in particular <a href="https://www.oddbird.net/2025/07/22/size-preferences/">Designing for User Font-size and Zoom</a>.</p>
<h2>Adding a Scale Factor</h2>
<p>So, I was reading through Miriam’s excellent articles and thought about <a href="https://www.oddbird.net/2025/09/23/type-units/">her idea of negotiating between user settings and design intent</a> using expressions like <code>max(1em, 20px)</code> or <code>clamp(1em, 20px, 1.25em)</code>, when all of a sudden a question popped into my head: now that we can divide by units in CSS calc() – which is already possible today thanks to <a href="https://dev.to/janeori/css-type-casting-to-numeric-tanatan2-scalars-582j">Jane Ori’s clever tan/atan2 hack</a> and likely to be supported natively soon in all browsers – couldn’t this be a way to create a <em>weighted</em> fluid type scale? Or, to use a metaphor from audio engineering: a <em>compressed</em> fluid type scale? Here’s the idea: instead of multiplying the base font size by a ratio and letting it grow ever larger, what if we could introduce a damping factor into the calculation that <em>compresses</em> the fluid type scale the larger the base font size gets? It could look like this, for example, dividing the <em>assumed</em> base font size by the <em>actual</em> base font size:</p>

																												
																																						
																																	<p>This <code>--scale-factor</code> changes depending on the user’s base font size setting. At the default 16px, it evaluates to <code>1</code>, so there’s no change. But if the base font-size is changed, for instance to 24px, the scale factor is now <code>16px / 24px = 0.666</code>, effectively compressing the scale and preventing oversized text from overwhelming the layout.</p>
<p>Please be aware that division between typed values to produce a unit-less number <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/calc#browser_compatibility">isn’t yet possible in all browsers</a> at the time of writing this article. Chrome added it in version 140, Safari in version 26, Firefox doesn’t support it yet, for example. So make sure to use aforementioned technique by Jane Ori as a fallback, for example.</p>
<p>Now that we have this <code>—scale-factor</code>, we can start integrating it into our fluid type calculations. The idea is to multiply a usual fluid formula by this factor, so the overall growth rate of the typography slows down as the user’s base font size increases. Take this basic example:</p>

																												
																																						
																																	<p>Here, the <code>var(--scale-factor)</code> acts as a kind of “compressor” for the fluid range. At the default base size, it doesn’t change anything – the text scales just as before. But as the base font size grows, the scale factor reduces the influence of the viewport width (<code>3vw</code> in this case), so headings stay visually balanced rather than scaling up uncontrollably. If we apply this approach to a set of fluid type calculations, it will reduce the ratio of the type scale, which we assume to be what we want. The body copy text can still grow. Effectively, we are reducing the “dynamic range“ of our typography.</p>
<h2>Bringing It All Together</h2>
<p>And if you want, you can put all of this into a calculation that’s split up into individual custom properties. This definitely makes it look more intimidating – but it is also mich nicer to work with and easier to adjust parameters to your liking.</p>

																												
																																						
																																	<p>Did I mention that it looks a bit overwhelming? 😂 Have a look at this CodePen prototype – which goes even further – to see it in action:</p>
<p><a href="https://codepen.io/matthiasott/pen/RNrLVbP">https://codepen.io/matthiasott/pen/RNrLVbP</a></p>
<p>Now, as I mentioned, the cool thing is, that if we don’t change the base font size, the fluid type works as usual.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 49.348958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-2025-10-14-at-17.24.39.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-2025-10-14-at-17.24.39.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2025-10-14-at-17.24.39.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2025-10-14-at-17.24.39.png" alt="Screnshot of the Fluid Type CodePen at the default font size of 16px" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>But when we increase the base font size to 24px – for example, by setting Chrome’s “Appearance” → “Font size” option to <em>Very Large</em> – the type scale also responds as expected: the ratio becomes smaller, large headings no longer grow disproportionately, and the body text scales up nicely. And the nice thing is that scaling up our body copy to 200 % by zooming in the browser also works, because our fluid type calculations are still based on <code>rem</code> units.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 63.541666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-2025-10-14-at-17.25.17.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-2025-10-14-at-17.25.17.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2025-10-14-at-17.25.17.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2025-10-14-at-17.25.17.png" alt="Screenshot of the CodePen with the base font size set to 24px and a smaller ratio" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>That said, it’s worth noting that this approach currently is an experiment and does not fully satisfy the <a href="https://www.w3.org/WAI/WCAG21/Understanding/resize-text.html">WCAG SC 1.4.4 Resize Text</a> accessibility requirement, because although the smaller non-display sizes can be scaled up to 200 %, the larger headings can’t. So if you are considering using such an approach in production and you need to fulfil the WCAG accessibility, either don’t do it or provide a way to scale up the headings as well. <a href="https://toot.cafe/@aardrian/115374172443501722">Thanks to Adrian Roselli for the hint</a>. Also, Safari handles zoom and font scaling slightly differently from Chromium or Firefox. Larger font sizes can appear more exaggerated there, likely due to the way Safari recalculates computed styles during zoom. So always be testing.</p>
<p>And that’s it. The first iteration of this idea. It’s definitely still experimental, but I wanted to share it in case others find it useful or inspiring. Maybe it sparks new ideas about how to make fluid type more adaptive and user-friendly. And I guess it will mature in my head over time – and if you know of someone who has explored something similar (or even better), I’d love to hear about it. There’s nothing new under the sun, you know…</p>
<p>Ultimately, it really feels like CSS has reached a point where we no longer need to chase the perfect solution for things like fluid typography. There’s no single technique to rule them all. Instead, we have an ever-growing toolkit that lets us be creatively combine approaches and bring together design and engineering to tailor our solutions to fit each project’s needs. And, of course, experiment with fluid type on our personal sites.</p>
<p>❦</p>
<p>This is post 12 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Lifeblood of the Web</title>
                <link>https://matthiasott.com/notes/the-lifeblood-of-the-web</link>
                <pubDate>Sat, 11 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-lifeblood-of-the-web</guid>
                <description><![CDATA[
                    
																																	<p>One Thursday in May, I was sitting in a slightly delayed train, heading home from Düsseldorf after three days of meeting good friends and making new ones at <a href="https://beyondtellerrand.de/">beyond tellerrand</a>, my friend Marc Thiele’s wonderful conference. As usual, after visiting a conference, and beyond tellerrand in particular, my head was bursting with ideas and creative energy. I would feel the same way again a few months later, after visiting <a href="https://smashingconf.com/freiburg-2025">Smashing Conference in Freiburg</a>.</p>
<p>There’s something magical about walking into a conference venue in the morning. The hum of first conversations, the smell of coffee, the anticipation, and the smiling faces. And the unspoken feeling that we all belong here, that we are here for the same reason: because we care about the same things and we all have, in some way or another, built our lives around the Web.</p>
<p>A lot of us spend the majority of our days in front of a screen. We have online conversations and collaborate with people from all over the world. We read each other’s blog posts and social media rants. But behind every line of code, behind every post about the latest CSS tricks, behind every talk and video tutorial, there’s a real person. A person with a story, with struggles, with a life. And a few of those people are now here at the conference. That’s when you realize: the Web isn’t just a bunch of servers and websites. The Web is the people building it. The Web is community.</p>
<p>That’s what’s so invaluable about conferences, about in-person events in general. They are like a cheat code, like a magic door – you enter, and suddenly, you find yourself on the inside of the conversation. The faces, the names, the people behind the blog posts – they become real. And you stop feeling like just being an observer of the Web community. You are now a part of it.</p>
<p>Sure, there are amazing talks that blow your mind and leave you inspired. You come to learn new things, to hear about the latest tricks, and get fresh ideas. But let’s be honest: you could probably watch a talk online or read a blog post. The real value of in-person conferences lies in what happens between the talks – in the conversations you have, the people you meet, and the friends you make.</p>
<p>The real value is in walking up to someone you’ve only ever known from the internet and finally asking that question that’s been bugging you since you watched their talk. It’s in that moment when you bump into someone and go, “Wait, I know your face! Didn’t you write that article about dialogs and popovers?” Or when you finally meet a collaborator in person after years of working together remotely. Sometimes, it’s also in making sure everyone gets back to the hotel safely after leaving that Metal Pub. That’s not “networking” – that’s community. And community also always means opportunity.</p>
<p>To really bring that point home: I attended my first conference in 2015 — the Berlin edition of beyond tellerrand — and I remember it like it was yesterday. For the most part, I just stood off to the side during the breaks, watching people chat. A lot them already seemed to know each other. I knew nobody. The few conversations I had were quick exchanges in the coffee line. (Thanks, <a href="https://www.ilithya.rocks">ilithya</a>! 😁)</p>
<p>Ten years later, <a href="https://www.youtube.com/watch?v=1Pq7VqNrtk4">I find myself standing on stage at beyond tellerrand Düsseldorf</a>, looking out at a sea of faces, some of them now friends, mentors, and collaborators. The same kind of room that once made me feel like a (curious) outsider has become a place where I really feel I belong to that community.</p>
<p>Conferences and meetups are going through a tough time right now. Many disappeared during and after the pandemic, as Henri Helvetica pointed out in <a href="https://www.youtube.com/watch?v=NCVoVNQ8-3U">a recent, wonderful podcast conversation</a> with my frontend friend Kevin Powell (remember talking <em>in person</em> about kids, cameras, and brewing your own beer at CSS Day last year, Kevin?). Part of it might be due to a lack of visibility in a more fragmented social media landscape after the boring CEO killed Twitter. But a lot of it also has to do with companies spending less for education and thus smaller conference and travel budgets. </p>
<p>As a freelancer who’s paid out of my own pocket for every single conference trip — hotel included — unless I was speaking, that feels incredibly short-sighted. Because when you’re sending your people, your teams to conferences, you’re not just buying them some “knowledge”. No, you’re investing in something much more valuable. You’re helping them come back as more inspired, more connected, more curious, and more engaged members of the community. And yes, that’s something that can’t be measured or reported back, I’m afraid. But here’s the thing: you might notice that spark in their eyes when they come back to office and start talking about that new component they can’t wait to design and build.</p>
<p>If you need to convince someone – your boss, your team, your family, or also yourself – then explain that going to a conference isn’t just another trip away from “real work.” No, this is the real work: investing in your craft, your connections, your growth. And if you’re a freelancer and can afford it, see it as one of the smartest investments into your future you’ll ever make.</p>
<p>So, pick a conference that looks interesting and go. Be curious. Listen. Speak. Ask questions. Make new friends. Show up and be part of this wonderful community. Because the Web needs you. The community needs you. Because, just like conferences, you’re the lifeblood of the Web.</p>
<p>~</p>
<p>If you’re in Berlin in November, <a href="https://beyondtellerrand.de/events/berlin-2025">get your ticket for beyond tellerrand now</a>.</p>
<p>If you are looking for more places to go, the wonderful people running <a href="https://2026.stateofthebrowser.com/">State of the Browser</a> have put together a great list of in-person and online events and places where you can meet the web community: <a href="https://2026.stateofthebrowser.com/communities/">https://2026.stateofthebrowser.com/communities/</a></p>
<p>And if you want me to speak at your event, don’t hesitate to <a href="mailto:mail@matthiasott.com">say hello via email</a>.</p>
<p>❦</p>
<p>This is post 11 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>What Could Go Wrong?</title>
                <link>https://matthiasott.com/notes/what-could-go-wrong</link>
                <pubDate>Fri, 10 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/what-could-go-wrong</guid>
                <description><![CDATA[
                    
																												<style>
p:has(+ .quote) { margin-bottom: 0 }
.quote p { margin-bottom: 2rem; font-size: calc(var(--fluid-2)); line-height: 1.25 });
</style>
																						
																																	<p>In 1986 – when I was four years old – three researchers at the University of California, San Diego (UCSD) were working on an idea that would change the world of technology forever: <a href="http://www.cs.toronto.edu/~hinton/absps/naturebp.pdf">they figured out an efficient way</a> for smart computer systems they called “connectionist models” to learn from their own mistakes. Not by manually correcting each error individually but by using a procedural algorithm that tells every little part of the system how much it contributed to the error. This mechanism, which is now known as <a href="https://en.wikipedia.org/wiki/Backpropagation">backpropagation</a>, is the reason neural networks can learn patterns by adjusting the connections between “neurons” themselves. The only problem: it didn’t work. But not because they were wrong. But because to make it work really impressively well, back 1986, they would have needed about a million times more data and processing power.</p>
<p>Fast forward to 2025. A vast information network full of data is spanning the globe, transistors are now a million times smaller and more powerful than 40 years ago and one of those researchers is now a Professor Emeritus at the University of Toronto and known as the “Godfather of AI”. Geoffrey Hinton, who quit his job at Google to warn humanity of the dangers of AI, is calm, patient, humorous and very polite while he’s talking to a man most of us probably know from The Daily Show: Jon Stewart. Jon also has his own podcast called The Weekly Show, in which he sits down with his guests for in-depth conversations about culture and politics. And this week, <a href="https://www.youtube.com/watch?v=jrK3PsD3APk">Jon invited Geoffrey Hinton to talk about AI technology</a> and its impact on society – and humanity as a whole.</p>
<p>And what can I say? It turned out to be a remarkable, eye-opening conversation. And that’s mainly because of the two very different parts of the conversation. </p>
<p>There’s the first half, where Jon Stewart basically takes on the role of the totally ignorant, but endlessly curious student in the first row, asking very basic and fundamental questions about how neural networks and large language models work. And, step by step, Geoffrey Hinton explains it using a lot of descriptive examples. I don’t think I’ve ever heard a clearer explanation of how neural networks are constructed and how they work and learn.</p>
<p>Part two of the interview is the “it will kill us all” part of the conversation. Here, Jon Stewart asks questions that cut straight to the heart of the different issues – not just about what the rapid progress of AI means for us individually, but what it means for societies, politics, and the world at large. They discuss how AI can cause disruption, the importance of regulating it, whether AI systems might have subjective experiences, and why there could actually be global collaboration to prevent AI from taking over. And did you know that, when they’re being tested, AI models already pretend to be dumber than they are?</p>
<p>Overall, it is a fascinating conversation, also because it made one thing clear to me: while we are rightfully debating the technology’s shortcomings, like where the training data comes from, or the <a href="https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117">electricity consumption</a> and <a href="https://www.bbc.com/news/articles/cy8gy7lv448o">environmental impact</a> of data centres, and whether we should therefore use AI in our work and <a href="https://ethanmarcotte.com/wrote/against-stocking-frames/">whether AI, in its current form, is a failure</a> – at its core, this technology represents such a radical shift in how software works that it will not go away. The people currently betting on AI and dominating the discourse might be motivated by money and power. And <a href="https://apnews.com/article/ai-bubble-warnings-bank-of-england-imf-b15e54f6d06992371ee39b27f4e6da3a">they might be creating a huge bubble at the moment</a>. But this bubble is not a bubble because the technology behind products like ChatGPT, Claude, Gemini, or Midjourney is a hoax – unlike NFTs of apes, for example. This bubble is a market bubble driven by overhyped expectations and soaring valuations of AI companies. Many people are hoping to become very, very rich. Yet just as the Internet and the Web survived the dot-com crash, Large Language Models and AI will not disappear. The way these systems work at a fundamental level is superior to any previous computational approach. Although AI hasn’t surpassed human intelligence yet – and it may take much longer than some tech CEOs would have us believe – it is already a singularity in the sense that there is no going back.</p>
<p>The question is: <a href="https://www.anildash.com/2025/05/02/what-would-good-ai-look-like/">what would good AI then look like</a>?</p>
<p>~</p>
<p>Hinton:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>My belief is the pos­si­bil­i­ties to do good are so great that we’re not going to stop the devel­op­ment. But I&nbsp;also believe the devel­op­ment is going to be very dan­ger­ous. So we should put huge effort into say­ing <span class="push-single"></span>​<span class="pull-single">‘</span>It is going to be devel­oped, but we should try and do it safe­ly. We may not be able to – but we should try.’”</p>
</blockquote>
												</figure>
																
																																	<p>Stewart:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>Do you think that peo­ple believe that the pos­si­bil­i­ty is too good – or that the mon­ey is too&nbsp;good?”</p>
</blockquote>
												</figure>
																
																																	<p>Hinton:</p>

																												
																																		<figure class="quote">
							<blockquote><p><span class="pull-double">”</span>For a&nbsp;lot of peo­ple, it’s the mon­ey. The mon­ey and the&nbsp;power.”</p>
</blockquote>
												</figure>
																
																																	<p>📺 <a href="https://www.youtube.com/watch?v=jrK3PsD3APk">Watch the Interview on YouTube</a></p>
<p>❦</p>
<p>This is post 10 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>That’s My Rank</title>
                <link>https://matthiasott.com/notes/thats-my-rank</link>
                <pubDate>Thu, 09 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/thats-my-rank</guid>
                <description><![CDATA[
                    
																																	<p>Have you ever wondered why new CSS features and other web technologies  very often seem to just work across browsers these days? The reason is probably: Interop.</p>
<p><a href="https://github.com/web-platform-tests/interop">The Interop Project</a> is a collaborative effort between major browser makers — Apple, Bocoup, Google, Igalia, Microsoft, and Mozilla  — to improve the Web by making it more consistent and reliable across all browsers. The idea is that instead of each company implementing web standards slightly differently, each year, Interop defines shared goals for the “interoperability” of web standards like HTML and CSS, which are created in organizations such as the <a href="https://w3.org/">W3C</a> or <a href="https://whatwg.org/">WHATWG</a>. The teams then run <a href="https://wpt.fyi/interop-2025">automated web platform tests</a> to see if each browser engine correctly supports those standards and track progress publicly to ensure that modern web platform features behave the same everywhere.</p>
<p>It’s hard to overstate <a href="https://webkit.org/blog/16413/the-success-of-interop-2024/">the positive impact</a> the Interop Project has had in recent years. For years and years, web developers have had to wrestle with all the quirks and inconsistencies between the different implementations of web standards in browsers. These days, however, both existing features like CSS Grid and Flexbox and even brand-new ones tend to behave much more consistently across browsers. As a consequence, we spend less time wrestling with browsers and more time building reliable, accessible components and interfaces.</p>
<p>But Interop doesn’t happen in a vacuum. What really makes it work is the feedback from the community, from the people designing and building for the Web. Every bug report, every test case, every blog post or social media post pointing out a favorite feature or that something behaves oddly helps the people working on browser engines get a better idea of what the web community actually needs. That’s why you will sometimes notice <a href="https://front-end.social/@jensimmons">Jen Simmons</a> or <a href="https://rachelandrew.co.uk/">Rachel Andrew</a> ask on social media which features people would like to see prioritized next. And that’s why <a href="https://jakearchibald.com">Jake Archibald</a>, of Mozilla, has now created a neat little tool to get feedback on which Interop proposals matter most: <a href="https://interop-rank.jakearchibald.com/">Interop Feature Ranking</a> – a web app where you can rank the proposals you care most about.</p>
<p>The list of proposals is pretty exhaustive. But don’t worry, you don’t have to rank them all. Just scroll through the list, pick the ones that catch your eye, and rank them in whatever order makes sense to you. That’s exactly what I did, so below you’ll find my own little ranking. Your mileage may vary, of course. It’s also neither easy nor necessary to find the “perfect” order. These are simply the features that stood out to me that either caused actual problems in one of my past projects or that I’d love to see working more consistently across browsers.</p>
<p>And now, I’m curious to see how your rankings looks like – and also what the folks involved with Interop will decide to prioritize in 2026. 🍿</p>
<p>Here’s the link again: 👉 <a href="https://interop-rank.jakearchibald.com/">Interop Feature Ranking</a></p>
<h2>That’s my rank (top = most important)</h2>

																												
																												<style>._rankingContainer_1wfi9_1 {
    margin-bottom: var(--viewport-padding-inline);
    overflow: clip
}

._sectionTitle_1wfi9_6 {
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    margin: 2.5rem var(--viewport-padding) 1.5rem;
    font-size: 1.2rem;
    font-weight: 400;
    color: #333;
    align-items: center;
    gap: 1em;
    text-align: center
}

._sectionTitle_1wfi9_6 ._nowrap_1wfi9_17 {
    white-space: nowrap
}

._sectionTitle_1wfi9_6:before,
._sectionTitle_1wfi9_6:after {
    content: "";
    border-bottom: 1px solid #ccc
}

._emptyMessage_1wfi9_28 {
    color: #666;
    text-align: center;
    margin: 2em 0
}

._rankList_1wfi9_34 {
    list-style: none;
    padding: 0;
    margin: 0
}

._rankList_1wfi9_34 a {
    color: black;
}

._item_1wfi9_40 {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr 5em;
    align-items: center;
    --padding: .8rem;
    gap: var(--padding);
    padding-right: var(--padding);
    margin: 5px auto;
    background-color: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 1px 3px #0000001a;
    max-width: 680px;
    box-sizing: border-box;
    min-height: 3.5em;
    border-radius: .4rem;
    overflow: clip
}

@media (width <=680px) {
    ._item_1wfi9_40 {
        border-radius: 0;
        border-left: 0;
        border-right: 0
    }
}

._draggingItemContainer_1wfi9_65 {
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    will-change: transform;
    z-index: 1000
}

._draggingItemContainer_1wfi9_65>._item_1wfi9_40 {
    transition: opacity .15s ease;
    transition-property: opacity, scale;
    margin: 0;
    opacity: .8;
    scale: 1.05;
    z-index: 1000
}

@starting-style {
    ._draggingItemContainer_1wfi9_65>._item_1wfi9_40 {
        opacity: 1;
        scale: 1
    }
}

._noItems_1wfi9_88 {
    position: relative
}

._dropTarget_1wfi9_92 {
    position: relative;
    max-width: 750px;
    margin: 0 auto;
    z-index: 1
}

._dropTarget_1wfi9_92:before {
    content: "";
    position: absolute;
    inset: -25px 0
}

._dropTarget_1wfi9_92._firstDropTarget_1wfi9_104 {
    position: absolute;
    inset: 0
}

._dropTarget_1wfi9_92:after {
    content: "";
    display: block;
    position: absolute;
    inset: 50% 0 auto;
    height: 4px;
    translate: 0 -50%;
    background: red;
    will-change: transform;
    opacity: 0;
    scale: .5 1;
    transition: opacity .15s ease, scale .15s ease
}

._dropTarget_1wfi9_92._activeDropZone_1wfi9_126:after {
    opacity: 1;
    scale: 1
}

._beingDragged_1wfi9_132 {
    opacity: 0
}

._dragHandle_pb6qm_1 {
    padding: 0 .9rem;
    font-size: 12px;
    -webkit-user-select: none;
    user-select: none;
    touch-action: none;
    align-self: stretch;
    display: grid;
    align-items: center;
    background-color: #d3f1fd
}

._dragHandle_pb6qm_1 svg {
    fill: #009fff73;
    width: .8rem
}

._dragHandle_pb6qm_1:active {
    cursor: grabbing
}

._itemName_pb6qm_22 {
    flex: 1;
    padding: var(--padding) 0;
    overflow-wrap: anywhere
}

._itemName_pb6qm_22 code {
    font-family: ui-monospace, Cascadia Code, Source Code Pro, Menlo, Consolas, DejaVu Sans Mono, monospace;
    font-size: .9em;
    letter-spacing: -.02em
}

._upButton_pb6qm_35,
._downButton_pb6qm_36,
._addButton_pb6qm_37 {
    padding: .4em .7em;
    background-color: #007bff
}

:is(._upButton_pb6qm_35, ._downButton_pb6qm_36, ._addButton_pb6qm_37) svg {
    display: block;
    width: 1.1rem;
    fill: #fff
}

._upButton_pb6qm_35 {
    color: #fff
}

._downButton_pb6qm_36 {
    rotate: 180deg
}

._addButton_pb6qm_37 {
    background-color: #28a745
}

._buttons_pb6qm_60 {
    display: grid;
    grid-auto-flow: column;
    justify-content: end;
    gap: .4em;
    padding: var(--padding) 0
}

._subtitle_pb6qm_68 {
    font-size: .85rem;
    color: #757575;
    margin: .3em 0 0
}

._srOnly_4s2q9_1 {
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
    overflow: clip
}

</style><ol class="_rankList_1wfi9_34"><li><div data-item-id="1032" data-anim-id="item-1032" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1032" target="_blank" rel="noopener noreferrer">CSS <code>@container style()</code></a><p class="_subtitle_pb6qm_68">Apply styles based on the values of custom properties of a container.</p></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1103" data-anim-id="item-1103" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1103" target="_blank" rel="noopener noreferrer">CSS <code>@supports</code>for at-rules, nesting, and other CSS syntax</a></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1172" data-anim-id="item-1172" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1172" target="_blank" rel="noopener noreferrer">CSS anchor positioning</a><p class="_subtitle_pb6qm_68">Places an element based on the position of another element.</p></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1123" data-anim-id="item-1123" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1123" target="_blank" rel="noopener noreferrer">Improve compatibility of pointer events on touch devices</a></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1114" data-anim-id="item-1114" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1114" target="_blank" rel="noopener noreferrer"><code>&lt;
img sizes="auto" loading="lazy" &gt;
</code>,
and similar on <code>&lt;
source&gt;
</code></a><p class="_subtitle_pb6qm_68">Avoids needing to specify <code>sizes</code>in cases where the image has already received layout by CSS.</p></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1062" data-anim-id="item-1062" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1062" target="_blank" rel="noopener noreferrer">CSS <code>text-box</code> and related longhand properties</a><p class="_subtitle_pb6qm_68">Sets the spacing above and below text based on a font's typographic features.</p></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1006" data-anim-id="item-1006" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1006" target="_blank" rel="noopener noreferrer">CSS <code>margin-trim</code></a><p class="_subtitle_pb6qm_68">Removes the margins of child elements when they meet the edges of the container.</p></div><div class="_buttons_pb6qm_60"></div></div></li><li><div data-item-id="1136" data-anim-id="item-1136" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1136" target="_blank" rel="noopener noreferrer">CSS <code>text-wrap: pretty</code></a><p class="_subtitle_pb6qm_68">Prioritizes better layout over speed when text is broken into multiple lines.</p></div></div></li><li><div data-item-id="1033" data-anim-id="item-1033" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1033" target="_blank" rel="noopener noreferrer">CSS scroll-driven animations</a><p class="_subtitle_pb6qm_68"><code>animation-timeline</code>, <code>scroll-timeline</code>, and <code>view-timeline</code> CSS properties advance animations based on the user' s scroll position.</p></div></div></li><li><div data-item-id="1028" data-anim-id="item-1028" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1028" target="_blank" rel="noopener noreferrer">CSS <code>accent-color</code> property</a><p class="_subtitle_pb6qm_68">Sets a color for checkboxes,
radio buttons,
and other form controls.</p></div></div></li><li><div data-item-id="1174" data-anim-id="item-1174" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1174" target="_blank" rel="noopener noreferrer">CSS <code>@scope</code></a><p class="_subtitle_pb6qm_68">Sets the scope for a group of rules.</p></div></div></li><li><div data-item-id="1124" data-anim-id="item-1124" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1124" target="_blank" rel="noopener noreferrer">CSS <code>::before</code>and <code>::after</code>on replaced elements</a><p class="_subtitle_pb6qm_68">Such as <code>&lt;
input&gt;
</code>,
<code>&lt;
img&gt;
</code>,
and <code>&lt;
video&gt;
</code>.</p></div></div></li><li><div data-item-id="1165" class="_item_1wfi9_40" data-anim-id="item-1165"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1165" target="_blank" rel="noopener noreferrer">CSS <code>contrast-color()</code> function</a><p class="_subtitle_pb6qm_68">Picks a color that has guaranteed contrast against a specified foreground or background color.</p></div></div></li><li><div data-item-id="1008" class="_item_1wfi9_40" data-anim-id="item-1008"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1008" target="_blank" rel="noopener noreferrer">CSS <code>interpolate-size</code> property and <code>calc-size()</code> function</a><p class="_subtitle_pb6qm_68">Allows animating to <code>height: auto</code>and other intrinsic sizing keywords.</p></div></div></li><li><div data-item-id="1077" data-anim-id="item-1077" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1077" target="_blank" rel="noopener noreferrer">CSS <code>attr()</code> usage in all properties</a><p class="_subtitle_pb6qm_68">Previously only supported in the <code>content</code>property.</p></div></div></li><li><div data-item-id="1042" data-anim-id="item-1042" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1042" target="_blank" rel="noopener noreferrer">CSS <code>hyphenate-limit-chars</code>,
<code>hyphenate-limit-lines</code>,
<code>hyphenate-limit-last and <code>hyphenate-limit-zone</code> properties</a></div></div></li><li><div data-item-id="1043" data-anim-id="item-1043" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1043" target="_blank" rel="noopener noreferrer">CSS <code>hanging-punctuation</code> property</a><p class="_subtitle_pb6qm_68">Puts punctuation characters outside of the box to align the text with the rest of the document.</p></div></div></li><li><div data-item-id="1029" class="_item_1wfi9_40" data-anim-id="item-1029"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1029" target="_blank" rel="noopener noreferrer">CSS <code>line-clamp</code> property</a><p class="_subtitle_pb6qm_68">Limits the text in a block container to a certain number of lines.</p></div></div></li><li><div data-item-id="1134" data-anim-id="item-1134" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1134" target="_blank" rel="noopener noreferrer">Resolve CSS scroll snap differences across browsers</a></div></div></li><li><div data-item-id="1176" class="_item_1wfi9_40" data-anim-id="item-1176"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1176" target="_blank" rel="noopener noreferrer">Improve interoperability of CSS grid,
subgrid,
and flexbox</a></div></div></li><li><div data-item-id="1150" data-anim-id="item-1150" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1150" target="_blank" rel="noopener noreferrer">CSS <code>object-view-box</code></a><p class="_subtitle_pb6qm_68">Crops and zooms to an inset area of an image.</p></div></div></li><li><div data-item-id="1058" data-anim-id="item-1058" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1058" target="_blank" rel="noopener noreferrer">CSS <code>light-dark()</code> and <code>prefers-color-scheme</code> support in external SVG resources</a><p class="_subtitle_pb6qm_68">Allows external SVG resources to adapt to light and dark mode preferences.</p></div></div></li><li><div data-item-id="1155" data-anim-id="item-1155" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1155" target="_blank" rel="noopener noreferrer">HTML <code>autocorrect</code> attribute</a><p class="_subtitle_pb6qm_68">Controls whether to automatically correct spelling or punctuation errors for user input.</p></div></div></li><li><div data-item-id="1130" data-anim-id="item-1130" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1130" target="_blank" rel="noopener noreferrer">CSS <code>reading-flow</code> property</a><p class="_subtitle_pb6qm_68">Sets the order in which flex or grid elements are rendered to speech or reached via focus navigation.</p></div></div></li><li><div data-item-id="1102" data-anim-id="item-1102" class="_item_1wfi9_40"><div class="_dragHandle_pb6qm_1"><svg role="presentation" viewBox="-5 -10 74.84 86.33"><path d="M5.13 23.06A10.14 10.14 0 0 0-5 33.2a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 23.07m27.29-.01A10.14 10.14 0 0 0 22.29 33.2a10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29-.01A10.13 10.13 0 0 0 49.63 33.2a10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13 56.12A10.14 10.14 0 0 0-5 66.25a10.12 10.12 0 0 0 20.2 0A10.1 10.1 0 0 0 5.13 56.12m27.29 0a10.14 10.14 0 0 0-10.13 10.13 10.13 10.13 0 0 0 20.25 0c0-5.58-4.54-10.13-10.12-10.13m27.29 0a10.13 10.13 0 0 0-10.08 10.13 10.11 10.11 0 0 0 20.21 0c0-5.58-4.55-10.13-10.13-10.13M5.13-10A10.13 10.13 0 0 0-5 .08C-5 5.66-.46 10.21 5.13 10.21a10.11 10.11 0 0 0 0-20.2M32.42-10A10.13 10.13 0 0 0 22.29.08a10.14 10.14 0 0 0 20.25 0C42.54-5.46 38-10 32.42-10m27.29 0A10.1 10.1 0 0 0 49.63.08c0 5.58 4.54 10.13 10.08 10.13 5.58 0 10.13-4.55 10.13-10.13C69.84-5.46 65.29-10 59.7-10"></path></svg></div><div class="_itemName_pb6qm_22"><a href="https://github.com/web-platform-tests/interop/issues/1102" target="_blank" rel="noopener noreferrer">CSS Gap decorations</a><p class="_subtitle_pb6qm_68"><code>column-rule</code> and <code>row-rule</code> display decorative lines between columns and rows of a flex,
grid,
or multi-column layout.</p></div></div></li></ol>
																						
																																	<p>❦</p>
<p>This is post 9 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Making Space</title>
                <link>https://matthiasott.com/notes/making-space</link>
                <pubDate>Wed, 08 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/making-space</guid>
                <description><![CDATA[
                    
																																	<p>Gregory Scott, founder of <a href="https://thehouseofkush.com">Kush Audio</a>, <a href="tps://www.youtube.com/watch?v=v1XZ_WIOhW0">shared an interesting insight about mixing music</a> the other day: Sometimes, to bring something forward in the mix, instead of turning it <em>up</em>, it can be more effective to actually turn all the other things <em>down</em>. </p>
<p>Let’s say you realise that the track you are working on needs more bass. So you pull up the fader for the bass by a few dB. But now you notice that the drums could be more present, so you pull them up a tiny bit as well. Now, the vocal is a bit too silent, so you lift it up a little bit as well. And before you know it, you have turned all faders up, not only the bass. So what you could have done instead, is actually grab all other faders and turn them down a tiny bit to create more space for the bass. </p>
<p>Gregory calls this the difference between an additive and a subtractive mindset. The first impulse, whether it be in mixing, or design, or basically any creative endeavour, is often to use the additive mindset. When we want to emphasise something, we add more of it. More weight, more size, more color, more energy, more loudness, more fancy. But everything we create always exists in relation to other things. Everything we create sits in a context. And it is that context – that contrast – which determines how we perceive things. It is how much space you create for things to take full effect. But the thing about space: you cannot <em>add</em> space. You can only make space, you can only reveal space, you can only open space up. And in order to do that, you have to remove things that are taking up the space. You have to take stuff out.</p>
<p>So, the next time you are working on a design for a website, a content structure, a piece of music, a piece of writing, or also a conference talk – whatever it may be – think about what the quality is you want to amplify and then try to identify what you can <em>take away</em> to reveal more of that quality. Try to think about what the core message is you want to convey and then reduce the things that only add noise around it. Make space for that message.</p>
<p>❦</p>
<p>This is post 8 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS :is() :where() the Magic Happens</title>
                <link>https://matthiasott.com/notes/css-is-where-the-magic-happens</link>
                <pubDate>Tue, 07 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/css-is-where-the-magic-happens</guid>
                <description><![CDATA[
                    
																																	<p>For <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober</a>, I dug up a draft about the two CSS pseudo-class functions <code>:is()</code> and <code>:where()</code> that I’d had lying around in my drafts folder for quite some time. Actually, when I originally started writing this post, <code>:is()</code> and <code>:where()</code> had just landed in CSS, and — just like with so many other new CSS features — I was expecting them to “change the way we write CSS.” Both are now widely available baseline features supported by all modern browsers.</p>
<p>We often write about CSS features when they are brand new, but it is equally interesting to see how those shiny new features are actually being used in the wild after they’ve been around for a while. In the case of <code>:is()</code> and <code>:where()</code>, it seems like although browsers support is great and they are two of the most useful modern CSS features, they remain a bit underused. <a href="https://2025.stateofcss.com/en-US/features/#all_features">In the latest State of CSS Survey</a>, only 45 % of respondents answered that they have used <code>:where()</code>, for example. So it might make sense to take another look at how these two functions are best used in practice. But first, let’s quickly recap what <code>:is()</code> and <code>:where()</code> actually do.</p>
<p>Both pseudo-class functions, which are included in the <a href="https://www.w3.org/TR/selectors-4/">CSS Selectors Level 4 Working Draft</a>, take a selector list as their argument. They will then select any element that matches any of the selectors in the list. This allows you to simplify your code significantly. For example, you can stop to repeat to repeat to repeat yourself:</p>

																												
																																						
																																	<p>In the example above, all headlines within any of the HTML elements main, section, article, or aside will be styled. The improvements in terms of readability and selector length are obvious. This alone is reason enough to use <code>:is()</code> and <code>:where()</code> more often.</p>
<h2>The Forgiven</h2>
<p>But using <code>:is()</code> and <code>:where()</code> has another huge advantage: Usually, when you write a list of selectors and the browser doesn’t understand <em>just one</em> of the selectors in the list, <em>the whole list</em> is deemed invalid and will be ignored by the browser. Like, completely. I wasn’t aware of this for a very long time.</p>
<p>Not so with <code>:is()</code> and <code>:where()</code>! If a selector fails, it will be ignored, but the rest of the selector list will still be used by the browser. This <a href="https://drafts.csswg.org/selectors-4/#typedef-forgiving-selector-list">forgiving selector list</a> makes your CSS more flexible and also makes it much easier to use new selectors in your CSS.</p>

																												
																																						
																																	<p>See how this little detail allows you to use new CSS selectors more easily without breaking your code? Huge for using progressive enhancement in your styles.</p>
<h2>A Tale of Two Specificities</h2>
<p>But what is the difference between <code>:is()</code> and <code>:where()</code>? The difference lies in how both selectors handle <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity">specificity</a>. When you use <code>:is()</code>, the whole rule will always take on the specificity of the <em>most specific</em> selector in the list you provide. If you are using an ID selector, for example, all the other selectors will also share the specificity of this selector, even if they don’t include this or any other ID.</p>
<p>If you use <code>:where()</code>, however, the specificity will always be 0. Both things are important to consider. Let’s say you are writing a rule like this to style the links within a header element and, more specifically, your .site-header:</p>

																												
																																						
																																	<p>If we later want to override the color of our link with a element selector, we run into a problem.</p>

																												
																																						
																																	<p>Because the <code>:is()</code> selector includes a class, its specificity is higher than a selector that only uses element names. As a result, the second rule can’t override it because it has lower specificity.</p>
<p>This is where <code>:where()</code> comes in handy. Because the specificity of <code>:where()</code> is always 0, we can use it to write global styles that can easily be overwritten with rules that even have a low specificity. No need to use !important anymore or to artificially increase the specificity of a rule when you want to overwrite the code of a CSS framework or the components of your design system. If you set the margin for the text elements inside a card component like this, for example:</p>

																												
																																						
																																	<p>The specificity of the whole sector will be the same as if we were just using <code>.card</code>, which makes it much easier to override the styles with more specific rules later.</p>
<h2>More Use-Cases for :is() and :where()</h2>
<p>When it comes to how people have started applying <code>:is()</code> and <code>:where()</code> in the wild, using it for scoped resets that shouldn’t override component styles might actually be the most common use-case. You will find a lot of CSS resets, layout and typography base styles, and also utility frameworks using <code>:is()</code> and <code>:where()</code>. <a href="https://matuzo.at/">Manuel</a>, for example, recently revealed his “different type of reset style sheet”, <a href="https://fokus.dev/tools/uaplus/">UA+ (user agent plus)</a> in his talk at <a href="https://smashingconf.com/freiburg-2025/speakers/manuel-matuzovic/">Smashing Conference</a>. In the reset, he is using <code>:where()</code> almost every:where(), for instance to inherit font styling in form elements:</p>

																												
																																						
																																	<p>But it doesn’t stop there. If we think about how we can <em>combine</em> the two pseudo-class functions with other selectors, it gets really interesting.</p>
<h3>Combining :is() and :where() with :has()</h3>
<p>If we throw <a href="https://developer.mozilla.org/de/docs/Web/CSS/:has">:has()</a> into the mix, for example, we can create really flexible selectors. Like in this example:</p>

																												
																																						
																																	<p>We are styling the section, but only if it is the parent container of a figure, video, or iframe element. </p>
<p>We could also use <code>:where()</code> to style layout containers with zero specificity. In this case only if they contain a direct child that we later want to style with a container query:</p>

																												
																																						
																																	<p>Or, we could style form labels differently when they are followed up by <em>any</em> <code>:invalid</code> form element, using <code>:is()</code> to keep the selector concise:</p>

																												
																																						
																																	<p>And here’s Manuel again, <a href="https://fokus.dev/tools/uaplus/forms/label/">turning labels into block elements</a>:</p>

																												
																																						
																																	<p>As you can see, both <code>:is()</code> and <code>:where()</code> come with many advantages beyond just reducing the complexity of your code and provide a lot of ways to write more flexible, useful, and maybe even a bit magical CSS. There are a lot of reasons to include them in your arsenal of modern CSS tools today. </p>
<p>And now, I’m curious again: How do use <code>:is()</code> and <code>:where()</code>? Are there any smart techniques that you are using often?  Let me know, for example on <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="https://bsky.app/profile/matthiasott.com">Bluesky</a>, or by <a href="mailto:mail@matthiasott.com">email</a></p>
<p>❦</p>
<p>This is post 7 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Visual Regression Testing for External URLs With Playwright</title>
                <link>https://matthiasott.com/notes/visual-regression-testing-for-external-urls-with-playwright</link>
                <pubDate>Mon, 06 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/visual-regression-testing-for-external-urls-with-playwright</guid>
                <description><![CDATA[
                    
																																	<p>We’ve all been there: You write a bit of CSS, check whether everything looks right. You deploy. Then someone sends you a screenshot: the mobile navigation is broken. And why is the size of those headings just a bit off? And where has that button gone?</p>
<p>Especially when you are working on a larger codebase together or you are refactoring your CSS or consolidating redundant styles, seemingly small changes in one corner of your CSS (or JavaScript) can have repercussions in a seemingly unrelated component. If you ever changed your base typography styles, you know what I mean. The Cascade and inheritance are powerful features, but as your codebase grows, tracking possible interdependencies can become a challenge.</p>
<p>This is when visual regression testing can be useful. Instead of manually checking every page after each CSS change, you capture screenshots automatically and compare them against a baseline – the gold standard. When something shifts, breaks, disappears, or turns lightgoldenrodyellow, you’ll know immediately.</p>
<p>In a recent client project, we had that exact challenge: we needed to check a large amount of pages – more than 1500 – for how well they digested a rework of the HTML structure and the CSS of all headings in all frontend components. And we needed to compare the changes deployed to a staging system to the production site.</p>
<h2>But How?</h2>
<p>A first search surfaced <a href="https://meowni.ca/posts/2017-puppeteer-tests/">a great article by Monica Dinculescu from 2017</a> in which she explained how to setup visual diffing with Puppeteer. At the same time, I found another interesting solution: the testing framework <a href="https://vitest.dev/">Vitest</a> can now run <a href="https://main.vitest.dev/guide/browser/visual-regression-testing">native visual regression testing</a> out of the box.</p>
<p>While this seems to be a fantastic solution for testing components or pages within your own local (or cloud) test environment, it is designed for the experimental browser mode feature in the Vitest API, which means it can’t navigate to external URLs. So if, like in our case, you want to test a staging environment against a production site, you need a different approach.</p>
<p>At first, I thought of combining Vitest and <a href="https://playwright.dev/">Playwright</a>, but looking into the docs, I discovered that <a href="https://playwright.dev/docs/test-snapshots">Playwright Test includes the ability to produce and visually compare screenshots</a> using <code>expect(page).toHaveScreenshot()</code>. And because Playwright is built for browser testing, it can visit external URLs – and even interact with pages, if needed. 🎉</p>
<h2>Setup</h2>
<p>The initial setup turned out to be easier than expected. All you basically need is a new project and install Playwright Test. So you could start a new project with</p>

																												
																																						
																																	<p>using <code>playwright test</code> as the test command in the project setup dialog and then install Playwright Test with</p>

																												
																																						
																																	<p>Alternatively, you can also scaffold a new Playwright project with</p>

																												
																																						
																																	<p>This will give you a <code>package.json</code>file similar to this one – I added a few more useful test commands already:</p>

																												
																																						
																																	<h2>The Script</h2>
<p>Now the juicy part, the test script. Which also turned out to be a lot shorter than expected. I saved it as <code>./tests/visual-regression.test.js</code>. Playwright automatically executes all files in a <code>tests</code> (or <code>test</code>) folder that end in <code>*.spec.ts</code>/<code>*.spec.js</code> or <code>*.test.ts</code>/<code>*.test.js</code>.</p>
<p>We start by importing Playwright’s test runner and defining a config object for a few basic settings:</p>

																												
																																						
																																	<p>And now off to the actual tests – read the comments to see what each section does:</p>

																												
																																						
																																	<p>And that’s it! The brilliant thing about using Playwright is that we don’t have to generate diff images that show the difference between the baseline and a new screenshot separately. Playwright does this automatically for us and puts the respective diff images into the image folder alongside the baseline and the screenshots to compare against.</p>
<p>The last step is to run the test:</p>

																												
																																						
																																	<p>On the first run, Playwright will create the baseline screenshots. On subsequent runs, it will take new screenshots and compare them against the original gold standard versions.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.119791666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Playwright-test-results.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Playwright-test-results.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Playwright-test-results.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Playwright-test-results.png" alt="Screenshot Playwright test results" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>There are a few Playwright commands that can make this script even more useful, for example:</p>

																												
																																						
																																	<p>A really useful last adjustment can be to generate an HTML report of the test results. To do this, we need to slightly adjust the test script section in our <code>package.json</code> and add the <code>--reporter=html</code> flag to the <code>playwright test</code> command, so that a “reporter” is specified. Then, we can add another script command to show the results (<code>&amp;quot;test:report&amp;quot;: &amp;quot;playwright show-report&amp;quot;</code>):</p>

																												
																																						
																																	<p>Now Playwright will serve an HTML report if there are any errors. To show the results of our test we can also use this command:</p>

																												
																																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.015625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/playwright-test-results-report-overview.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/playwright-test-results-report-overview.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/playwright-test-results-report-overview.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/playwright-test-results-report-overview.png" alt="Playwright test results report overview" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.015625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/playwright-test-results-detail-view.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/playwright-test-results-detail-view.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/playwright-test-results-detail-view.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/playwright-test-results-detail-view.png" alt="Playwright test results detail view" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Of course, this is just the first version of this script which could be improved further. You could add a Playwright config file that changes the output directory or move the config options from the top of the script into the config file to make it easier to reuse the testing script in different projects, for example. Playwright also allows you to install <a href="https://playwright.dev/docs/browsers">different browser engines</a>, like <code>chromium</code>, <code>firefox</code>, or <code>webkit</code> – all default engines can be installed with the command <code>npx playwright install</code>. So you could even use a specific browser to make your screenshots. You could also add authentication, in case your staging environment is password-protected, integrate the visual regression script into a CI workflow, and, and, and …</p>
<p>Now I’m curious: are you using any type of visual regression testing – or any testing at all? Let me know, for example on <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="https://bsky.app/profile/matthiasott.com">Bluesky</a>, or by <a href="mailto:mail@matthiasott.com">email</a></p>
<p>❦</p>
<p>This is post 6 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Jane Goodall’s Famous Last Words</title>
                <link>https://matthiasott.com/notes/jane-goodalls-famous-last-words</link>
                <pubDate>Sun, 05 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/jane-goodalls-famous-last-words</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://janegoodall.org/">Jane Goodall</a>, the scientist, conservationist, and educator who died last Wednesday at 91, will always be remembered for her singular, field-defining work on wild chimpanzees. She lived with wild chimpanzees to study them, befriended them, and made a groundbreaking discovery: that they could make and use tools, a trait that, up until then, had been thought to be uniquely human. But more importantly, by helping the world see chimps as the socially and cognitively sophisticated creatures they are, that they are thinking and feeling beings, she transformed our understanding of the animal world. She then found her purpose in advocating for the protection of Mother Nature, wildlife, the climate, and the natural resources we all depend on.</p>
<p>Earlier this year in March, <a href="https://www.netflix.com/tudum/articles/jane-goodall-famous-last-words-documentary">Jane Goodall sat down with Brad Falchuk for an interview for Netflix</a>. The special thing about this interview: she knew it would not air before her death – hence the name of the Netflix series: Famous Last Words.</p>
<p>It is a truly remarkable conversation and parts of it are <a href="https://bsky.app/profile/kojamf.bsky.social/post/3m2gqqno6xs2m">already making the rounds on social media</a>. So I encourage you to watch it, if you can, and won’t spoil it for you. </p>
<p>What impressed me, however, was the calmness, kindness, and thoughtfulness with which Jane speaks, but also seeing the curiosity and passion with which she tells her beautiful stories. Stories – that’s what she rightfully has identified as the most powerful weapon in her fight to cure ignorance and change peoples minds for the better.</p>
<p>In the face of war and poverty, as many societies are once more falling for the lies and false promises of far-right fascist leaders, while humanity is relentlessly destroying the environment and the climate of planet Earth, Jane Goodall – one last time – sends out a powerful message: that we all can use our life to give hope. That we all have a role to play, whatever role that is. And that it is never too late and always worth it to be kind and persistent, and to use the only life we have to fight for the values we believe in and that make us human – altruism, compassion, love, and respect – and for the protection of the only home we have.</p>
<p>Rest in peace, Jane Goodall.</p>
<p>PS: We all want them to be on that spaceship, Jane. 😉</p>
<p>You can watch the full interview on Netflix: <a href="https://www.netflix.com/title/82053197">https://www.netflix.com/title/82053197</a></p>
<p>And her very last interview from late September is well worth your time, too: <a href="https://www.youtube.com/watch?v=4oshFOK9-sk">https://www.youtube.com/watch?v=4oshFOK9-sk</a></p>
<p>❦</p>
<p>This is post 5 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>European Tech Alternatives 🇪🇺</title>
                <link>https://matthiasott.com/notes/european-tech-alternatives</link>
                <pubDate>Sat, 04 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/european-tech-alternatives</guid>
                <description><![CDATA[
                    
																																	<p>For a European with lots of friends and like-minded web folks in the US, it is both heartbreaking and bewildering to see how the political and societal climate in the country is changing right now. All of this is not only worrisome from a political perspective, but also poses very real risks in areas such as data protection, surveillance, legal frameworks, regulatory compliance, taxes, and (random) tariffs. The more digital economies outside of the US – and we as users – are intertwined with the US economy and Silicon Valley’s infrastructure, the more we will feel the repercussions of political, legal, or corporate shifts that happen across the Atlantic.</p>
<p>So, looking for European or non-US alternatives to popular digital products and services isn’t anti-American; it’s simply a reasonable thing to do. Because supporting a more diverse digital ecosystem will not only create and preserve more options, but also make our global and local economies more resilient – and give us a little bit more control.</p>
<p>The world isn’t black and white, of course, and so it is not always possible – and also not always necessary or feasible – to find an adequate replacement for a tool or service that is used by a lot of people. But that’s also not the goal. The goal is to realise that viable alternatives exist more often than we might think and that it always makes sense to give them a try. Will they always work? No, of course not. But sometimes they will. And sometimes, they might even surprise you.</p>
<p>If you want to give some alternatives a try, have a look at <a href="https://european-alternatives.eu/">european-alternatives.eu</a> or <a href="https://euroalternative.co/">euroalternative.co</a>, two sites that list products, tools, and services in various categories, from web analytics to web browsers to Ai chatbots. And Proton published <a href="https://proton.me/blog/european-tech-alternatives">a nice list of alternatives</a> as well.</p>
<p>Here are a few of my favourites:</p>
<ul>
<li><p><a href="https://www.ecosia.org/">Ecosia</a> is a search engine from Germany that plants trees and dedicates 100% of profits to the planet. Yes, it is currently still running on Bing, but <a href="https://blog.ecosia.org/eusp/">they are now building a European search index</a> with the French search engine <a href="https://www.qwant.com/?l=en">Qwant</a>.</p>
</li>
<li><p><a href="https://vivaldi.com/">Vivaldi</a> is a browser from Norway based on the Chromium engine with an integrated tracker and ad blocker, a note taking feature, a mail, calendar, and feed reader, device sync, a translation tool, Proton VPN built in, and many more useful features.</p>
</li>
<li><p>For years now, <a href="https://ia.net/writer">iA Writer</a> is my markdown writing app of choice. The company is based in Switzerland and Japan and the software couldn’t be more enjoyable to work with.</p>
</li>
<li><p><a href="https://culturedcode.com/things/">Things</a>, developed by Cultured Code from my hometown Stuttgart, Germany, is an ingenious task-management app for Mac and iOS – you will still need Apple products to use it though.</p>
</li>
<li><p><a href="https://getkirby.com/">Kirby</a>, built by my friend Bastian and his team from Germany, is just a <em>fantastic</em> CMS. 💙</p>
</li>
<li><p><a href="https://penpot.app/">PenPot</a> is a web-based open-source design tool from Spain that is quickly evolving into a serious Figma alternative. <a href="https://www.sketch.com/">Sketch</a>, from the Netherlands, is still alive as well. And the design tools by <a href="https://affinity.serif.com/">Affinity</a> are powerful alternatives to Adobe’s tools for photo editing and desktop publishing – and there seems to be more coming on October 30. 👀</p>
</li>
<li><p><a href="https://plausible.io/">Plausible</a> is an open-source alternative to Google Analytics from Estonia that is cookie-free and can be self-hosted. Alternatively, you can use <a href="https://usefathom.com/">Fathom</a>, built by a team from Canada. (Hello, my analytics friends!)</p>
</li>
</ul>
<p>As you can see, there are already some very good alternatives in a lot of areas. Tools that not only can compete with US products but are actually often even better. And I could go on and on, but now I’ll leave it to you to research more tools in all the categories that best fit your needs. And if you’re already using other tools, I’d love to hear which ones — and which ones you just can’t live without. Just mention me on … <a href="https://mastodon.social/@matthiasott">Mastodon</a>. 😉</p>
<p>❦</p>
<p>This is post 4 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Tweaking the Circuits</title>
                <link>https://matthiasott.com/notes/tweaking-the-circuits</link>
                <pubDate>Fri, 03 Oct 2025 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/tweaking-the-circuits</guid>
                <description><![CDATA[
                    
																																	<p>When the people at EMI ordered a bunch of <a href="https://www.preservationsound.com/2010/09/the-incredible-past-lives-of-our-favorite-tools/">Altec 436B</a> compressors in the late 1950s for Abbey Road Studios, they were hoping for that legendary American sound they had heard at their sister studio <a href="https://www.acontinuouslean.com/2013/12/02/secret-capitol-studios-sound/">Capitol Records</a> in Los Angeles. But when the units arrived in London and the engineers at Abbey Road gave the freshly installed units a thorough going over, they didn’t really like what they heard.</p>
<p>So, they started re-designing the unit from the ground up. First, they added an output attenuation, so that the output signal, which will often be louder after compression, could be turned down as needed. Then, they modified the unit further so that the release time of the compressor could be adjusted – another crucial feature if you want to flexibly work with different material like vocals, drums, guitar, or basslines. In the end, the only recognisable feature from the original unit would be the Altec-badged VU meter on the front panel.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/From-436B-to-Altec-RS124.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/From-436B-to-Altec-RS124.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/From-436B-to-Altec-RS124.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/From-436B-to-Altec-RS124.jpg" alt="From 436 B to Altec RS124" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>The Altec 436B was turned into a completely new device by the engineers at Abbey Road Studios.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>The new unit, labelled <a href="https://www.abbeyroad.com/news/the-history-of-the-rs124-compressor-from-creation-rediscovery-plugin-2873">Altec RS124</a>, proved to be a very versatile piece of gear, whether it was for pushing John Lennon’s voice to the front of the mix while retaining its unmistakable vulnerability, or glueing together Paul McCartney’s melodic basslines into a cohesive sound, or giving Ringo Starr’s drums punch and melding the reverb into the drum hits like on <a href="https://www.youtube.com/watch?v=Uf0ozI5SylI">Tomorrow Never Knows</a> – the Altec RS124 would shape the warm, rich, and punchy sound of The Beatles and everything that came out of Abbey Road Studios in the 1960s.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Altec-RS124-bg.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Altec-RS124-bg.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Altec-RS124-bg.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Altec-RS124-bg.jpg" alt="Altec RS124 bg" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption ">
								<p>The Altec RS124 – a compressor that shaped the sound of an era.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>The story of the RS124 isn’t just a wonderful anecdote from recording history. It’s a story about engineering, curiosity, reinvention, and experimentation. About seeing what’s right in front of you and taking the steps needed to make it work for you. The RS124 wasn’t born a legend. It started as a standard tool used in broadcasting, a green metal box to keep radio levels steady. But the engineers at Abbey Road didn’t just want control – they wanted character. They saw the gap between what was and what was needed, and started iterating. Not by rashly adding complexity, but by carefully tweaking and refining the device, listening closely to what producers and musicians needed, what the music needed. With every revision, they addressed a real-world issue: smoother compression curves, more transient control, reduced noise, or better responsiveness. And by that, they turned the RS124 into an indispensable, magical instrument that shaped the sound of an era.</p>
<p>I don’t know about you, but every time I hear or read stories like this one, I can’t help but see the parallels to designing and building for the web. As web designers – as web design <em>engineers</em> – we can either follow the manual and use standard patterns and templates. Or, we can start to listen to what is actually needed by the people who will use what we build. We can either create websites, interfaces, and applications that (hopefully) just get the job done somehow, or we can use our experience and curiosity to design and build something that solves real-world problems. Something that resonates, that is useful <em>and</em> remarkable – and sometimes maybe even a bit magical. The key is to see what’s right in front of you, and not be satisfied with what’s just good enough, with the things everyone uses or does. Great design and engineering means to always challenge assumptions and not be afraid to listen carefully and not be afraid to tweak the circuits.</p>
<p>❦</p>
<p>This is post 3 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Age Quod Agis</title>
                <link>https://matthiasott.com/notes/age-quod-agis</link>
                <pubDate>Thu, 02 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/age-quod-agis</guid>
                <description><![CDATA[
                    
																																	<p>Age quod agis. This Latin phrase, <a href="https://www.goodreads.com/quotes/12400992-age-quod-agis-is-a-latin-phrase-that-means-do">attributed to Ignatius of Loyola</a>, the founder of the Jesuit Order, translates to “do what you are doing.” </p>
<p>Do what you are doing. Like in: dedicate yourself wholeheartedly to whatever you engage in. Do what you are doing. Not the thing over there. Not that thing on your phone. Not the thing you will do tomorrow. That thing right in front of you. That thing you are doing right now.</p>
<p>We live in a world full of distractions, emails, and notifications, and a culture that applauds juggling several things at once. Being busy is seen as a badge of honour. And thoughtlessly churned out AI slop is constantly adding to a pile of unoriginal, wrongheaded noise. But the work that actually moves us forward, the work that creates lasting, meaningful change, the work that is original and creative and gives meaning to life, rarely is created in passing. This kind of work requires your full attention. And if it is worth doing, it is worth doing it all the way. Don’t half-ass it.</p>
<p>The same goes for every moment, every person in front of you, every human interaction. Focus. Be present. Do what you are doing. Do it yourself. And do it right.</p>
<p>❦</p>
<p>This is post 2 of <a href="https://matthiasott.com/notes/blogtober-2025-day-01">Blogtober 2025</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Blogtober 2025 - Day 1</title>
                <link>https://matthiasott.com/notes/blogtober-2025-day-01</link>
                <pubDate>Wed, 01 Oct 2025 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/blogtober-2025-day-01</guid>
                <description><![CDATA[
                    
																																	<p>It’s Blogtober again. And this time, I’ve (more or less spontaneously) decided to take part in it. For those of you who don’t know what it is: Blogtober is a writing challenge that takes part every Oktober (similar to Bloguary, Blobuary, Blarch, Blapril, Blay, Blune, Bluly, Blogust, Blogtember, … 🤓), in which bloggers commit to writing and publishing a new post every day throughout the entire month. So just like <a href="https://inktober.com/">Inktober</a> for artists, Blogtober is a good excuse to start to sit down and create a little piece of work every day. The posts you publish in Blogtober don’t have to be polished or elaborate at all (I hope!), it’s more about the challenge of actually writing something every day.</p>
<p>There usually isn’t one fixed theme or a prompt list for Blogtober, so I will write about whatever comes to mind. There will surely be a lot of little pieces about design, development, HTML, CSS, and other web-related things. But there will probably also be posts about music, food, nature, writing, everyday observations, or anything else I find interesting or noteworthy on a given day. The primary goal is really to get into the habit of writing more regularly again – and then to keep going.</p>
<p>If you have questions or ideas for what I could write about, let me know, for example on <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="https://bsky.app/profile/matthiasott.com">Bluesky</a>, or by <a href="mailto:mail@matthiasott.com">email</a> – I’d love to hear them! And if you happen to have a blog and are participating in Blogtober as well – or even feel inspired to jump in spontaneously – send me the URL of your site.</p>
<p>Happy blogging! ✍️</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Best Free Synthesizer Plugins in 2025</title>
                <link>https://matthiasott.com/notes/best-free-synthesizer-vst-plugins-in-2025</link>
                <pubDate>Thu, 24 Jul 2025 21:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/best-free-synthesizer-vst-plugins-in-2025</guid>
                <description><![CDATA[
                    
																																	<p>I am convinced that it makes total sense to spend a certain amount of your (spare) time on this planet tinkering around and exploring stuff that seems totally useless or silly compared to what you normally do. And without having a real explanation for why it happened, I’ve been starting to get interested in software synthesizers lately. I can barely play proper melodies on my <a href="https://www.arturia.com/de/products/hybrid-synths/minilab-3/overview">Arturia MiniLab</a> – seems like 10 years of playing the piano as a kid somehow mostly vanished from my brain cells – and I haven’t recorded anything that would be remotely useful or even worth sharing yet. But it is still just a lot of fun to play around with the different presets and to turn the knobs and faders of the synths, seeing and hearing what different kind of sounds you can get out of those magical devices.</p>
<p>Especially when you’re just amateurishly dabbling or are just getting started, investing a lot of money into monsters like <a href="https://www.arturia.com/products/software-instruments/pigments/overview">Arturia Pigments</a> (currently on sale!), <a href="https://xferrecords.com/products/serum-2">Serum 2</a>, or u-he’s <a href="https://u-he.com/products/diva/">Diva</a> might be a bit unreasonable. But luckily, there are a lot of free but still amazing synthesizers out there. It is actually astonishing what great sound quality and endless hours of fun you can get out of free plugins today.</p>
<p>So, for anyone interested, and as a post to which my future self will definitely come back to over and over again, I wrote down a list of free synthesizers I recently downloaded and tried. Of course, this list is just a small personal selection of a truckload of free synths out there. Also keep in mind that I’m a total noob when it comes to software synthesizers – so your mileage may vary…</p>
<h2>Surge XT</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 62.890625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Surge-XT.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Surge-XT.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Surge-XT.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Surge-XT.jpg" alt="Surge XT Screenshot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Surge used to be a paid plugin but is now open source. It is consistently ranked as the best free synthesizer VST plugin available at the moment, featuring a powerful hybrid subtractive digital synth with dual synthesis engine. It offers multiple synthesis techniques, excellent filters, flexible modulation, built-in effects, and modern features like MPE and microtuning support. Just playing around with the presets shows what an incredible beast of an instrument this synth is.</p>
<p><a href="https://surge-synthesizer.github.io/">https://surge-synthesizer.github.io/</a></p>
<h2>Vital Basic</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 58.854166666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/vital.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/vital.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/vital.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/vital.jpg" alt="Vital" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Vital is a free advanced wavetable synthesizer that comes with tons of keys, pianos, leads, and free presets. It is known for its professional-quality wavetable synthesis capabilities and intuitive interface.</p>
<p><a href="https://vital.audio/">https://vital.audio/</a></p>
<h2>Tyrell N6</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 50%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/u-he-Tyrell-N6.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/u-he-Tyrell-N6.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/u-he-Tyrell-N6.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/u-he-Tyrell-N6.jpg" alt="U he Tyrell N6" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Tyrell N6 is a virtual analog synthesizer by Urs Heckmann, also known as u-he, the synth engineer from Berlin responsible for many legendary synths like <a href="https://u-he.com/products/diva/">Diva</a> or <a href="https://u-he.com/products/zebra-legacy/">Zebra</a>, the favorite synth of Hollywood composer and synth-nerd Hans Zimmer. Tyrell N6 is originally based on ideas for a hardware instrument by the online community <a href="https://www.amazona.de/">Amazona.de</a> that never came to fruition. It comes with warm tones and flexible modulation options ideal for genres like synth-wave and techno.</p>
<p><a href="https://u-he.com/products/tyrelln6/">https://u-he.com/products/tyrelln6/</a></p>
<h2>Zebralette</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 45.182291666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/uhe-zebralette-screenshot.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/uhe-zebralette-screenshot.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/uhe-zebralette-screenshot.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/uhe-zebralette-screenshot.jpg" alt="Uhe zebralette screenshot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Zebralette is yet another free synth by u-he. It basically is a simplified version of the acclaimed Zebra 2 synthesizer used by Hans Zimmer. While the real Zebra has four oscillators, Zebralette has only one. But it is still an incredible sounding 16-voice polyphonic synth packed with features, including 300 factory presets to play around with – perfect for beginners like me.</p>
<p>Also make sure to have a look at the u-he website. They offer even more free synths like <a href="https://u-he.com/products/triplecheese/">Triple Cheese</a>, <a href="https://u-he.com/products/podolski/">Podolski</a>, and <a href="https://u-he.com/products/bazillecm/">BazilleCM</a> – and a bunch of fantastic effect plugins, like the tape machine emulation <a href="https://u-he.com/products/satin/">u-he Satin</a> or the <a href="https://u-he.com/products/presswerk/">Presswerk compressor</a>. But I’m digressing…</p>
<p><a href="https://u-he.com/products/zebralette/">https://u-he.com/products/zebralette/</a></p>
<h2>Pendulate</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 68.880208333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/pendulate.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/pendulate.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/pendulate.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/pendulate.jpg" alt="Pendulate" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Pendulate is a free monophonic synthesizer by Newfangled Audio that stands out for its revolutionary “chaos” oscillator, which generates sounds based on chaotic physics principles rather than traditional waveforms. The synth can smoothly fade from a simple sine wave to total chaos, creating “previously unheard sounds – biting basses, searing leads, and gritty textures.”</p>
<p><a href="https://www.eventideaudio.com/plug-ins/pendulate/">https://www.eventideaudio.com/plug-ins/pendulate/</a></p>
<h2>Odin 2</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 76.953125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/odin-2.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/odin-2.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/odin-2.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/odin-2.jpg" alt="Odin 2" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Odin 2 is a 24-voice polyphonic synth developed by TheWaveWarden. It is an open-source plugin that offers a lot of different synthesis types including analog, phase modulation, chiptune, frequency modulation (FM), and wavetable oscillators. And it even lets you draw your own custom oscillator waveforms. It also comes with 13 high-quality emulations of legendary analog filters, like the Moog Ladder, the Korg 35 and many more to shape your sound, plus built-in effects like distortion, delay, and reverb.</p>
<p><a href="https://thewavewarden.com/pages/odin-2">https://thewavewarden.com/pages/odin-2</a></p>
<h2>dexed</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 78.125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/dexed.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/dexed.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/dexed.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/dexed.jpg" alt="Dexed" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Dexed is a powerful freeware <a href="https://en.wikipedia.org/wiki/Frequency_modulation_synthesis">FM synthesizer</a> that faithfully recreates the sound and functionality of the legendary <a href="https://en.wikipedia.org/wiki/Yamaha_DX7">Yamaha DX7</a>, one of the most influential synthesizers in music history. Originally released in 1983, the DX7 revolutionized electronic pop music in the 1980s with its distinctive frequency modulation synthesis, producing everything from iconic electric piano sounds to digital bells and metallic textures – and <a href="https://www.factmag.com/2016/09/15/14-most-important-synths/">the bass line in “Fresh” by Kool &amp; the Gang</a>. Dexed combines this classic FM synthesis character with modern features like an improved user interface design and can even load authentic DX7 patches.</p>
<p><a href="https://asb2m10.github.io/dexed/">https://asb2m10.github.io/dexed/</a></p>
<h2>PG-8X 2.0</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 85.546875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/PG-8X.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/PG-8X.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/PG-8X.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/PG-8X.jpg" alt="PG 8 X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>The PG-8X is a virtual analog synthesizer from developer Martin Lüders inspired by the classic Roland JX-8P. The Roland JX-8P polysynth was one of the most popular analog synthesizers in the 1980s and among the last true analog synthesizers produced by Roland. Its classic presets made it onto hundreds of recordings from the golden age of synth pop, shaping the sound of artists like Depeche Mode, The Cure, or – maybe most famously – Europa‘s “The Final Countdown.”</p>
<p>The ML PG-8X plugin version gives you all the vintage mojo of the original for free. It’s a nice analog-style polysynth with a unique retro character.</p>
<p>Important: In order to install and use the VST plugin version of the synth on newer ARM-based (M1, M2, M3, etc.) Macs, you need to move the VST of the plugin into <code>/Library/Audio/Plug-Ins/VST/</code>, open the <a href="https://en.wikipedia.org/wiki/Terminal_(macOS)">Terminal</a> or any other CLI of your liking and sign the VST, so that macOS lets you open it:</p>

																												
																												<pre><code class="language-shell">sudo xattr -r -d com.apple.quarantine /Library/Audio/Plug-Ins/VST/PG-8X.vst
sudo codesign --force --sign - /Library/Audio/Plug-Ins/VST/PG-8X.vst
</code></pre>
																						
																																	<p><a href="https://sites.google.com/site/mlvst0/">https://sites.google.com/site/mlvst0/</a></p>
<h2>OB-Xd</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 42.317708333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/OB-Xd.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/OB-Xd.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/OB-Xd.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/OB-Xd.jpg" alt="OB Xd" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>OB-Xd is another plugin modelled after classic analog hardware. It emulates the <a href="https://en.wikipedia.org/wiki/Oberheim_OB-X">Oberheim OB-X</a>, OB-Xa, and OB-8 synths and although it doesn&#039;t try to be a perfect clone of the original Oberheim hardware, it still captures the essence of what made those synths so beloved in the first place: a warm, slightly unpredictable analog character that digital recreations often struggle to nail.</p>
<p>You get two detunable oscillators with unison, a noise generator, envelopes, an LFO, and a great-sounding filter – all wrapped in an interface that is fun to use and comes with a vast collection of presets. A fantastic starting point if you are new to subtractive synthesis – like me.</p>
<p><a href="https://www.discodsp.com/obxd/">https://www.discodsp.com/obxd/</a></p>
<h2>Tunefish</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 74.348958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/tunefish4.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/tunefish4.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/tunefish4.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/tunefish4.jpg" alt="Tunefish4" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Tunefish is a compact virtual analog synthesizer that fits into just 10kb of compressed code while delivering commercial-quality audio. Created by demoscene group Brain Control, it was originally designed to provide music for real-time 3D animations at demoparties.</p>
<p>If you install the VSTs, make sure to also sign them as described above for the PG-8X. For example the VST3 versions:</p>

																												
																												<pre><code class="language-shell">sudo xattr -r -d com.apple.quarantine /Library/Audio/Plug-Ins/VST3/Tunefish4.vst3
sudo codesign --force --sign - /Library/Audio/Plug-Ins/VST3/Tunefish4.vst3
</code></pre>
																						
																																	<p><a href="https://tunefish-synth.com/">https://tunefish-synth.com</a></p>
<h2>VK-1 Viking Synthesizer</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 55.208333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/VK-1.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/VK-1.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/VK-1.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/VK-1.jpg" alt="VK 1" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>VK-1 Viking Synthesizer by Blamsoft is an authentic emulation of a classic monophonic analog synthesizer which comes three wave oscillators that allow smooth transitions from sine to sawtooth, square wave and pulse waveforms. It offers 228 presets, two modulation busses, an LFO, and various filters.</p>
<p><a href="https://blamsoft.com/vst/vk-1-viking-synthesizer/">https://blamsoft.com/vst/vk-1-viking-synthesizer/</a></p>
<p>🎹🎛️</p>
<p>And that’s about it. </p>
<p>Let me know via <a href="mailto:mail@matthiasott.com">email</a>, social, or Webmention, if there is a great synth I missed or that you love yourself.</p>
<h2>Edit: Even More Synths!</h2>
<p>After I published this post, <a href="https://mastodon.social/@patrick_h_lauke/114912910805284895">Patrick reached out to me via Mastodon</a>, suggesting two more free synthesizers that both look really good. And on top of that, Native Instruments just published a free “light version” of their Massive X synth. So here are a few more free synthesizers, in case you just can’t get enough. 😉</p>
<h2>RipplerX</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item  pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 74.348958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/RipplerX.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/RipplerX.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/RipplerX.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/RipplerX.jpg" alt="Rippler X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>RipplerX is a tiny, focused physical modeling synthesizer that started as research into drum modeling and evolved into something surprisingly powerful. The open source synth features dual resonators with 9 acoustic models including string, beam, membrane, and marimba, all packed into a small 3MB plugin. No LFOs, no sequencers – just pure resonator-based synthesis that delivers a distinct sound without the bloat.</p>
<p><a href="https://github.com/tiagolr/ripplerx">https://github.com/tiagolr/ripplerx</a></p>
<h2>Cardinal</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 57.552083333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Cardinal-Screenshot_Basic-Patching.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Cardinal-Screenshot_Basic-Patching.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Cardinal-Screenshot_Basic-Patching.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Cardinal-Screenshot_Basic-Patching.png" alt="Cardinal Screenshot Basic Patching" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Cardinal is a fully free and self-contained modular synthesizer based on the popular <a href="https://vcvrack.com">VCV Rack</a>. With 1,305 modules from 83 different authors all built-in, it is a real playground to build a huge variety of sounds by combining and patching a vast amount of modules – although it might not be the easiest to learn and use.</p>
<p><a href="https://cardinal.kx.studio">https://cardinal.kx.studio</a></p>
<h2>Massive X Player</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 57.682291666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/massive-x-player-ui.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/massive-x-player-ui.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/massive-x-player-ui.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/massive-x-player-ui.jpg" alt="Massive x player ui" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Native Instruments’ Massive X Player is a streamlined, free version of their flagship synthesizer Massive X that prioritizes immediate playability over deep sound design. The plugin features a simplified interface centered around the new Morpher control — an XY pad that lets you animate sounds by shifting between parameters in real time. The Animator feature introduces evolving movement and rhythmic modulation with just a few clicks. Massive X Player comes with 60 presets and the Bass Music Essentials Expansion and essentially is an accessible package for beginners as part of the free Komplete Start bundle – which includes a lot of other useful plugins and tools as well, by the way.</p>
<p><a href="https://www.native-instruments.com/en/products/komplete/synths/massive-x-player/">https://www.native-instruments.com/en/products/komplete/synths/massive-x-player/</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>An Internet Archive Plugin for Craft CMS 5</title>
                <link>https://matthiasott.com/notes/an-internet-archive-plugin-for-craft-cms-5</link>
                <pubDate>Sun, 16 Mar 2025 23:45:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/an-internet-archive-plugin-for-craft-cms-5</guid>
                <description><![CDATA[
                    
																																	<p>Now that <a href="https://matthiasott.com/notes/webmention-for-craft-cms-5">the Webmention plugin is finally Craft 5 compatible</a> after last week&#039;s update, I jumped at the chance and updated another plugin I had once written for my personal site.</p>
<p>The <a href="https://github.com/matthiasott/craft-internetarchive">Internet Archive</a> plugin automates the archiving of your posts to the <a href="https://web.archive.org/">Wayback Machine</a>. Each time you publish or update a post, the plugin submits the URL to the Internet Archive, so that a new snapshot is saved. It’s a great way to preserve your posts for the – hopefully unlikely – event that your personal website is going offline one day, but it also creates a historical archive of your content, allowing you to look up past versions of your pages.</p>
<p>Additionally, you can send <em>all</em> public URLs of your site to the Internet Archive at the touch of just one button in the Control Panel. The plugin will add all the URLs to Craft’s jobs queue and, one by one, send them over to the archive.</p>
<p>There are still a lot of features that would certainly be nice to add in the future: keeping a record of the entries and URLs that already have been sent to the Internet Archive, for example. Or sending the URLs of all the links within a post to the Internet Archive as well to prevent link rot – potentially even checking whether the original page is still available and replacing dead links on-the-fly with their archived Wayback Machine versions, similar to or maybe even using Remy Sharp’s ingenious <a href="https://unrot.link/">unrot∙link</a>. For pages with content that changes quite often, scheduled snapshots, for example on a weekly or monthly basis, could be useful. As could be a way to select which entry types and sections should be archived.</p>
<p>But for now, the plugin does the most important thing: it ensures your posts are archived by the Internet Archive. Plain and simple.</p>
<p>If you want to try it out yourself, you can install the plugin via Composer. Go to your Craft project in your terminal of choice and tell Composer to load the plugin:</p>

																												
																												<pre><code class="language-shell">composer require matthiasott/craft-internetarchive</code>
</pre>
																						
																																	<p>In the Control Panel, go to Settings → Plugins and click the “Install” button for the Internet Archive plugin.</p>
<p>I’ll also submit the plugin to Craft’s Plugin Store soon.</p>
<p>Let me know how you like it. And in case you have any bugs, feature request, or other feedback to share, head over to <a href="https://github.com/matthiasott/craft-internetarchive">the GitHub repository</a> and file an issue. Or let me know via <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="https://bsky.app/profile/matthiasott.com">Bluesky</a>, <a href="mailto:mail@matthiasott.com">email</a>, or Webmention. </p>
<p>Happy archiving! 🏛️🤘</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Webmention for Craft CMS 5</title>
                <link>https://matthiasott.com/notes/webmention-for-craft-cms-5</link>
                <pubDate>Thu, 13 Mar 2025 14:36:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/webmention-for-craft-cms-5</guid>
                <description><![CDATA[
                    
																																	<p>Imagine my surprise, when, roughly two weeks ago, I received a direct message on Mastodon from <a href="https://brandonkelly.io">Brandon Kelly</a>, the founder and head of the team behind <a href="https://craftcms.com/">Craft CMS</a>, opening with:</p>

																												
																																		<figure class="quote">
							<blockquote><p>👋 I&nbsp;spent today work­ing on a&nbsp;Craft <span class="numbers">5</span>&nbsp;port of your Web­men­tion plugin.</p>
</blockquote>
												</figure>
																
																																	<p>My <a href="https://github.com/matthiasott/webmention">Webmention plugin</a>? The one I always meant to rewrite? The one that was still stuck on Craft 2? The very reason why my personal site was missing all Webmentions after I had upgraded to Craft 5 towards the end of 2024? Yes, <em>that</em> Webmention plugin. So, naturally, I was thrilled!</p>
<p>What followed were several days messaging back and forth with Brandon on Discord, fixing bugs, testing Webmention sending and receiving, tweaking and optimizing features, while Brandon basically rewrote all the parts necessary to bring the plugin over to Craft 5 – and added other substantial improvements. And so, after about two weeks, an updated version of the plugin is now available for free on the Craft Plugin Store:</p>
<p><a href="https://plugins.craftcms.com/webmention?craft5">Webmention for Craft CMS 5</a> 🎉</p>
<p>The most significant – and breaking – change is Craft 5 compatibility, obviously. And, of course, the plugin retains its core functionality of sending and receiving Webmentions on your personal site: it will send out Webmentions for all links included in your posts and add a Webmention endpoint to receive mentions from others. But there are many more improvements under the hood that make this version 1.0.0 already much more robust and convenient than the previous version.</p>
<h2>A few highlights:</h2>
<p>Webmentions now not only store the target URL but are actually tied to the <a href="https://craftcms.com/docs/5.x/system/elements.html">Craft element</a> they belong to. This makes it much easier to retrieve Webmentions for individual entries, like blog posts, but allows for changing an entry‘s URL without breaking the connection to its Webmentions. And it also opens up new possibilities for future plugin improvements.</p>
<p>In the control panel, it is now possible to manually trigger an update of individual Webmentions. Also, the list view of all Webmentions now contains direct links to related posts.</p>
<p>Another huge improvement is that avatars are now <a href="https://craftcms.com/docs/5.x/reference/element-types/assets.html">Craft assets</a>. So instead of just dumping them into a folder, avatars are now stored as proper assets that can be <a href="https://craftcms.com/docs/5.x/development/image-transforms.html">image-transformed</a> and are <a href="https://craftcms.com/docs/5.x/development/eager-loading.html">eager-loadable</a> – which means substantial performance improvements for posts with a larger amount of Webmentions. <a href="https://matthiasott.com/articles/into-the-personal-website-verse">Ahem</a>.</p>
<p>We also added new <a href="https://craftcms.com/docs/5.x/extend/behaviors.html">behaviors</a> that allow for convenient fetching of all Webmentions for an element:</p>

																												
																												<pre><code class="language-twig">{% for webmention in entry.getWebmentions() %}
  …
{% endfor %}</code>
</pre>
																						
																																	<p>And if you want to fetch only Webmentions of a certain type, like comments, likes, or reposts, you can call <code>getWebmentionsByType()</code> on the element.</p>
<p>What also needed fixing was a tricky regular expression used to identify links in entries, especially when those URLs are wrapped in the parentheses of a Markdown link. And we updated how the plugin handles Webmentions coming from social media platforms via Bridgy: Webmentions from Mastodon, Bluesky, GitHub, and Reddit are now stored with the correct site type.</p>
<p>And, and we’ve given the plugin a fresh new icon, inspired by <a href="https://paulrobertlloyd.com/">Paul Robert Lloyd</a>’s <a href="https://indieweb.org/Building_block_icons">IndieWeb building block icon designs</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/webmention-icon-light.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/webmention-icon-light.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/webmention-icon-light.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/webmention-icon-light.jpg" alt="Webmention plugin icon on light background" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item ">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/webmention-icon-dark.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/webmention-icon-dark.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/webmention-icon-dark.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/webmention-icon-dark.jpg" alt="Webmention plugin icon on dark background" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Overall, I’m incredibly happy with the result and I can’t thank Brandon enough for bringing this little project back to live. Not only does it feel good to finally see Webmentions again on this site. It is also a fantastic opportunity to develop the plugin further and explore how Webmentions can work even better on personal sites.</p>
<p>There are still a lot of things that would be interesting to try out next. How replies and replies to replies could be displayed in a more chat-like view, for example. Or how to auto-populate your site with all Webmentions you’ve already received in the past via Mastodon, Bluesky, et al. Or, how the plugin could potentially handle GDPR-related issues around consent and storing and displaying personal information better – a concern a lot of people have raised in the past regarding Webmention. Which brings me a few important questions: </p>
<p>What would <em>you</em> like to see in future versions of this plugin? What is missing from Webmentions to make them a really great and valuable experience? And, in case you install and try out the plugin yourself, did or did not yet work for you? We’d love to hear all that.</p>
<p>So, in case your site is running on Craft 5, install the plugin and let us know where we can do better, for example <a href="https://github.com/matthiasott/webmention/issues">by filing an issue</a>. You will find all necessary information on how to install and configure the plugin in <a href="https://github.com/matthiasott/webmention/blob/master/README.md">the documentation in the project’s GitHub repository</a>.</p>
<p>We hope you like it. 🤗</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Owning It</title>
                <link>https://matthiasott.com/notes/owning-it</link>
                <pubDate>Mon, 06 Jan 2025 00:58:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/owning-it</guid>
                <description><![CDATA[
                    
																																	<p>For the second time now, someone mentioned to me that it is kind of paradoxical that my newsletter, which is called “<a href="https://ownyourweb.site/">Own Your Web</a>”, is not hosted on my own server or under my own domain but on <a href="https://buttondown.com/">Buttondown</a>.</p>
<p>And yes, they are right. I realize that this is kind of not walking the talk. Do I really own my Web in this case? I thought about this as well and my plan is – and actually always has been – to first move the archive over my own domain and, eventually, to a completely self-hosted solution. In the past, I had cross-posted a few of the newsletter issues to this website. But that’s not the real deal, right?</p>
<p>However, the whole newsletter management and sending will very likely always stay on a newsletter service like Buttondown. Such services are just so much better when it comes to things like the signup experience, list management, deliverability, automation, privacy, data security, etc. than anything anyone could ever build themselves with a reasonable amount of effort. And it also made getting started with the newsletter so much easier because it lowered the barrier of actually kicking off the project to a minimum. Which is an incredibly important factor when you’re starting something new that might not work.</p>
<p>For <a href="https://prototyping.news/">my first newsletter</a> (rest in prototypes…), I used a self-hosted <a href="https://github.com/Mailtrain-org/mailtrain">Mailtrain</a> instance, for example. And although I got it to work and learned quite a bit about sending email newsletters, it was so much more work to get it up and running – and to maintain. And this brings me to an important point: Owning your web doesn’t necessarily mean that you have to build absolutely everything yourself or that you publish everything on your own site exclusively. But rather that you stay <em>in control</em> of your content and of how and where you want people to find it. And, most importantly, that you bring your ideas to life – and own them.</p>
<p>That being said, I believe it still totally makes sense to publish, document, and aggregate as much of your work and other information as possible on your own site. In a way, your own site is the central place where all your actions, traces, and threads on the web converge. The supermassive black hole at the center of your galaxy, around which everything revolves.</p>
<p>So yeah, I definitely get the message. Shit don&#039;t change until you get up and move your newsletter archive to your own domain.</p>

																												
																																	<hr>
<p><strong>EDIT:</strong> Done. :)</p>
<p><a href="https://ownyourweb.site">ownyourweb.site</a> now redirects to the subdomain <a href="https://newsletter.ownyourweb.site">newsletter.ownyourweb.site</a>.</p>
<p>This change took me one coffee and adding three TXT and CNAME records in the config section of my domain registrar.</p>

																												
																												<style>hr {margin-bottom: 1.5rem; }</style>
																						            	]]></description>
            </item>
                    <item>
                <title>Free Audio Plugins: Accusonus ERA 6 Bundle</title>
                <link>https://matthiasott.com/notes/free-audio-plugins-accusonus-era-6-bundle</link>
                <pubDate>Thu, 21 Nov 2024 23:54:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/free-audio-plugins-accusonus-era-6-bundle</guid>
                <description><![CDATA[
                    
																																	<p>I’ve been down in an audio plugin rabbit hole lately. More on that in a later blog post. But I just stumbled upon a set of free plugins that might be of interest to you, if you are doing voice recordings of any kind – be it a podcast, voice over, or, let’s say, video tutorials. There are, of course, many more free plugins for that use case. Again, I might cover more of them in separate blog posts, also to document my own research. Let me know if that sounds remotely interesting.</p>
<p>But back to the plugins I wanted to talk about: the Accusonus ERA 6 Bundle. <a href="https://en.wikipedia.org/wiki/Accusonus">Accusonus</a> was a company founded in 2013 by Alex Tsilfidis and Elias Kokkinis in Greece. The company produced sophisticated audio restoration plugins that removed noise, clicks, hum, reverb from recordings, and improved the sound of voice recordings in various other ways, including the use of AI. In 2022, Meta bought the company, and after that, Accusonus’s products were sunset and all traces of the company quickly got erased from the Web.</p>
<p>However, shortly before they vanished, Accusonus made their ERA 6 Bundle of audio repair tools available for free. And those audio plugins can still be downloaded from the Internet Archive.</p>
<p>The bundle, which is Apple Silicon compatible but also available for Windows, includes plugins like De-Breath, Mouth De-Clicker, De-Esser (Pro), Noise Remover (Pro), Reverb Remover (Pro), Plosive Remover, Voice Leveler, and many more. I just gave most of them a try in Reaper – and they seem to do an amazing job!</p>
<p>You can <a href="https://archive.org/details/accusonus-era-bundle-v-6.2.00">download the installers from the Internet Archive</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 48.697916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2024-11-21-um-23.45.29.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2024-11-21-um-23.45.29.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2024-11-21-um-23.45.29.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2024-11-21-um-23.45.29.png" alt="Accusonus ERA Audio Clean-Up Assistant" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 79.6875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2024-11-21-um-23.43.56.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2024-11-21-um-23.43.56.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2024-11-21-um-23.43.56.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2024-11-21-um-23.43.56.png" alt="Accusonus ERA Noise Remover Pro" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								            	]]></description>
            </item>
                    <item>
                <title>How to Set Your Domain as Your Bluesky Handle</title>
                <link>https://matthiasott.com/notes/how-to-set-your-domain-as-your-bluesky-handle</link>
                <pubDate>Fri, 01 Nov 2024 08:14:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/how-to-set-your-domain-as-your-bluesky-handle</guid>
                <description><![CDATA[
                    
																																	<p>As Twitter is (far too) slowly falling apart and more and more people are looking for alternatives, <a href="https://bsky.social/about">Bluesky</a> is enjoying a surge in popularity at the moment.</p>
<p>One neat little feature is that you can use your own domain as your handle on Bluesky. In a way, this is the perfect handle for this new era of decentralized social media. Your personal domain is part of your digital identity on the independent Web and uniquely yours. Your domain is owned by you and is under your control, which also makes impersonation much harder. And if you ever decide to switch servers, you can always take your domain with you.</p>
<p>If you don’t own a custom domain yet, <a href="https://bsky.social/about/blog/7-05-2023-namecheap">Bluesky lets you purchase and manage domains</a> directly through them. But of course, you can also register your domain at any other service, like one from <a href="https://app.greenweb.org/directory/">the directory of green hosting providers by the Green Web Foundation</a>.</p>
<p>But chances are that you already own a personal domain. Setting it as your Bluesky handle is then quick and straightforward. All you have to do is set a DNS record for your domain.</p>

																												
																												<ol>
<li>Open the left side menu on Bluesky by clicking your profile picture thumbnail or the menu button in the upper left on the home screen. Click “Settings” and scroll down to the “Advanced” section. Click “Change handle.” <br>
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 82.03125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bluesky-settings-change-handle-screen_2024-11-01-072453_pqsq.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bluesky-settings-change-handle-screen_2024-11-01-072453_pqsq.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bluesky-settings-change-handle-screen_2024-11-01-072453_pqsq.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bluesky-settings-change-handle-screen_2024-11-01-072453_pqsq.jpg" alt="Bluesky settings change handle screen" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												</li>
<li>Next, click “I have my own domain.”</li>
<li>On the following screen, enter your domain name and copy the domain value which you will enter in a new TXT record for your domain in a few seconds.
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 82.03125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bluesky-settings-change-handle-own-domain-screen_2024-11-01-074328_vbfs.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bluesky-settings-change-handle-own-domain-screen_2024-11-01-074328_vbfs.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bluesky-settings-change-handle-own-domain-screen_2024-11-01-074328_vbfs.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bluesky-settings-change-handle-own-domain-screen_2024-11-01-074328_vbfs.jpg" alt="Bluesky settings change handle own domain screen" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												</li>
<li>Now, go your domain registrar and find the DNS settings for your domain. This will, of course, vary depending on the registrar you bought your domain from. In my case (German hosting provider all-inkl.com), it looks like this:
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 29.036458333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/dns-settings-all-inkl.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/dns-settings-all-inkl.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/dns-settings-all-inkl.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/dns-settings-all-inkl.jpg" alt="Dns settings all inkl" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												Add a new TXT record with `_atproto` as the (sub)domain, TXT as the type, and enter the domain value you copied before in the value (or data) field.</li>
<li>Wait a few seconds (or minutes) so that the new DNS settings are in effect and the servers on the Web know about this change. Then go back to Bluesky and click “Verify DNS Record“.
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 82.03125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/verify-dns-record-button_2024-11-01-080155_qzit.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/verify-dns-record-button_2024-11-01-080155_qzit.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/verify-dns-record-button_2024-11-01-080155_qzit.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/verify-dns-record-button_2024-11-01-080155_qzit.jpg" alt="Verify dns record button" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												</li>
<li>Et voilà! Your domain is now your handle. &#x1F389;</li>
</ol>
																						
																																	<p>In case you want to dig a little deeper, the Bluesky team has published <a href="https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial">much more detailed instructions on their blog</a>.</p>

																												
																												<style>.newsletter-teaser {
background-color: #1E1E1E; color: #EEEEEE; display: grid; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 1rem; margin-top: 4rem; padding: 0; overflow: hidden; width: calc(100vw - 32px); }
.newsletter-teaser-image { aspect-ratio: 1.5; }
.newsletter-teaser-image img { width: 100%; height: 100%; object-fit: cover; }
.newsletter-teaser-description { padding: 1.5em; }
.newsletter-teaser-description h2 { margin-top: 0.5rem; margin-bottom: 1rem; font-size: 2rem; }
.newsletter-teaser-description a { color: #ffffff; }

@media (min-width: 32em) {
  .newsletter-teaser { grid-template-columns: 2fr 3fr ; }
.newsletter-teaser-image { aspect-ratio: auto; }
}

@media (min-width: 40em) {
  .newsletter-teaser, .b-content__body-copy>:not(.b-aside):not(.b-fleximg).newsletter-teaser { width: calc(100vw - 64px); max-width: 1136px; }
}
@media (min-width: 64em) {
.newsletter-teaser-description { padding: 3em; }
 .newsletter-teaser-description h2 { font-size: 2.625rem; }
}
</style>
<div class="newsletter-teaser">
<div class="newsletter-teaser-image"><img src="/assets/pictures/_standardImage1536/OwnYourWeb-Visual.png" alt="" loading="lazy"></div>
<div class="newsletter-teaser-description"><h2>Subscribe to Own Your Web</h2><p>I’m writing a newsletter about building and running personal websites and creating and publishing on the Web – full of actionable insights, best practices, hacks, links, tools, and other things I found or explored.</p>
<p><strong>Sign up here:</strong>  <br>
&#128073; <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>
</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>Highlighting Blogging on Mastodon</title>
                <link>https://matthiasott.com/notes/highlighting-blogging-on-mastodon</link>
                <pubDate>Wed, 03 Jul 2024 00:27:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/highlighting-blogging-on-mastodon</guid>
                <description><![CDATA[
                    
																																	<p>In what looks like a very smart move, the team at Mastodon just <a href="https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/">released a very nice new feature</a> for media organizations, journalists and bloggers: when someone shares a link to an article by certain news outlets like The Verge, MacStories, or MacRumors, the official Mastodon app as well as the web version will now show a direct link to an author’s fediverse profile.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.40625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Mastodon-author-handle-feature-the-verge.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Mastodon-author-handle-feature-the-verge.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mastodon-author-handle-feature-the-verge.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mastodon-author-handle-feature-the-verge.jpeg" alt="Screenshot Mastodon Author Handle Feature The Verge" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>What is primarily aimed at journalists and news organizations for now, is a feature that might soon work for bloggers and anyone sharing posts on their personal sites, too. And it makes a lot of sense in this context: While I always try to mention the authors of the articles I am sharing on social media, I also forget to do it at times. Others also just don’t want to invest the effort to search for the respective Mastodon, Threads, or other handles of the person who wrote the post every time they share a link. And that’s okay, I guess. With this new author byline, a direct connection between the article and the corresponding fediverse accounts is established that increases the visibility of authors and their accounts a lot.</p>
<p>To make the new feature work, the Mastodon team decided to invent a new Open Graph meta tag:</p>

																												
																												<pre><code class="language-html">&#60;meta property="fediverse:creator" content="@matthiasott@mastodon.social" /&#62;</code>
</pre>
																						
																																	<p>The handle can be any fediverse account, including Flipboard, Threads, WordPress (with the ActivityPub plugin installed), PeerTube, Pixelfed, and many others. And because the feature is also part of Mastodon’s API, it can be implemented by third party apps like <a href="https://mastodon.social/@MonaApp">Mona</a> or <a href="https://mastodon.social/@ivory@tapbots.social">Ivory</a> in the future.</p>
<p>For now, the feature only works with a small number of news outlets. On the Mastodon blog, Eugen Rochko mentions that it will only show up for links to moderator-approved websites and that support for the tag is currently rolled out on mastodon.social and any other server that uses a recent Mastodon nightly release. It sounds a bit like admins running their own instances (on a nightly release) might already be able to approve sites as well, including personal websites and blogs. But I couldn’t confirm this yet.</p>
<p>Anyway, I just added the Open Graph tag to my site. And although it doesn’t work for personal blogs yet, it also doesn’t hurt and I’m already looking forward to the day we will all see our account handles appear underneath our posts. </p>
<p>PS: While adding the meta tag, I discovered that I urgently need to take care of my Open Graph images next… so stay tuned.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Fixing the Logitech Spotlight</title>
                <link>https://matthiasott.com/notes/fixing-the-logitech-spotlight</link>
                <pubDate>Tue, 19 Mar 2024 23:28:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/fixing-the-logitech-spotlight</guid>
                <description><![CDATA[
                    
																																	<p>The <a href="https://amzn.to/42Njm09">Logitech Spotlight</a> presentation remote is a sleek piece of hardware. It is comparatively small, fits nicely in the palm of your hand, and the buttons come with a very satisfying, albeit for my taste a tiny bit too loud, click. But most importantly, the brushed aluminium design feels sturdy, high-quality, and elegant. Exactly the piece of gear that you buy because you want a reliable, long-lasting device that does not fail you.</p>
<p>Imagine my irritation, when I pulled out my Spotlight after several months of not using it – and it just didn’t charge anymore. Not with the supplied USB-C cable, not with <em>any</em> USB-C cable. Regardless of which cable and power source I tried, the remote remained silent and also didn’t show the pulsating light at the top that would indicate that the device is being charged.</p>
<p>Now, further imagine my disbelief and bewilderment when a quick online search brought up this tutorial on YouTube of how to “fix” this issue: <a href="https://www.youtube.com/watch?v=KuDt2un6zvI">https://www.youtube.com/watch?v=KuDt2un6zvI</a></p>
<p>Tldw; Because of how the Spotlight is engineered, it will die if you not charge it regularly and there is no way to reset it or bring it back to life in any other way. Even if you plug it in for hours, it won’t come back to life because it doesn’t even have that last little spark of electricity in it that would allow the device to recognize that it is being charged. The only solution presented in the video: soldering two wires to the contacts of the battery and then charging it with an external charger – after forcefully opening (and possibly damaging) the device. What a mess.</p>
<p>But then, one of the comments drew my attention:</p>
<p><em>“I charged very briefly (1 Minute) by using just 2 AA batteries, that was enough to give it the boost to wake up. Amazing advice, thank you so much!”</em></p>
<p>That didn’t sound all that bad anymore! Charging it briefly with a few AA batteries? I can try that. So I got to work – and ultimately brought the remote back to life. If you happen to have a Spotlight as well and ever run into the same problem, I hope this helps. Here’s a short guide:</p>

																												
																																	<h2>1. Carefully remove the back plate:</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/spotlight-back-being-lifted.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/spotlight-back-being-lifted.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/spotlight-back-being-lifted.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/spotlight-back-being-lifted.jpg" alt="Spotlight Back Being Lifted" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>I used a tool from iFixit they call <a href="https://www.ifixit.com/products/jimmy">Jimmy</a>, which has a very thin steel blade, to open the back and lift it up a little bit at the middle of the device. Do this very slowly – the back plate is just glued onto the frame, but it can break, especially at the upper end, where it has a plastic latch. Then, I used opening picks to carefully lift up the back plate all around, ending at the top.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/using-plastic-opening-picks-to-remove-the-back.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/using-plastic-opening-picks-to-remove-the-back.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/using-plastic-opening-picks-to-remove-the-back.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/using-plastic-opening-picks-to-remove-the-back.jpg" alt="Using Plastic Opening Picks To Remove The Back" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/logitech-spotlight-with-back-cover-removed.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/logitech-spotlight-with-back-cover-removed.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/logitech-spotlight-with-back-cover-removed.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/logitech-spotlight-with-back-cover-removed.jpg" alt="Logitech Spotlight With Back Cover Removed" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>2. Lift up the plastic foil covering the battery contacts.</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/a-yellow-plastic-foil-is-removed-from-the-battery-contacts.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/a-yellow-plastic-foil-is-removed-from-the-battery-contacts.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/a-yellow-plastic-foil-is-removed-from-the-battery-contacts.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/a-yellow-plastic-foil-is-removed-from-the-battery-contacts.jpg" alt="A Yellow Plastic Foil Is Removed From The Battery Contacts" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>3. Build a charger</h2>
<p>If you’re like me and don’t happen to have something like a (LiPo) battery charger at hand, connect two or three AA batteries in series, e.g. with some tape, so that their contacts are touching each other. Also attach two wires, one on the positive and one on the negative terminal of your “battery pack”.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/two-battteries-connected-with-black-tape.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/two-battteries-connected-with-black-tape.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/two-battteries-connected-with-black-tape.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/two-battteries-connected-with-black-tape.jpg" alt="Two Battteries Connected With Black Tape" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>4. Engage!</h2>
<p>Now, hold the cables to the contacts of the Spotlight’s battery. The hot, positive wire should touch the positive contact (that’s the one with a little red cable connected to it) and the negative wire the other terminal.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/holding-two-cables-to-the-contacts.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/holding-two-cables-to-the-contacts.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/holding-two-cables-to-the-contacts.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/holding-two-cables-to-the-contacts.jpg" alt="Holding Two Cables To The Contacts" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>I had to try twice but only held the cables onto the contacts for about 30 seconds, which was enough to provide a tiny spark of life. You won’t see or hear anything yet, though. But now …</p>
<h2>5. Plug a USB-C cable into the remote</h2>
<p>It should reward you with a <em>very</em> satisfying vibration to let you know that it is indeed back from the dead. Also, the pulsating LED at the top should now be back. 🥳</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/the-spotlight-on-a-table-charging-again.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/the-spotlight-on-a-table-charging-again.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/the-spotlight-on-a-table-charging-again.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/the-spotlight-on-a-table-charging-again.jpg" alt="The Spotlight On A Table Charging Again" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>6. Put the back plate back in place and press it on.</h2>
<p>Happy charging – and happy presenting! Oh, and don’t forget to regularly charge this touchy little piece of hardware in the future.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Making Own Your Web More Sustainable</title>
                <link>https://matthiasott.com/notes/making-own-your-web-more-sustainable</link>
                <pubDate>Sat, 16 Mar 2024 01:21:41 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/making-own-your-web-more-sustainable</guid>
                <description><![CDATA[
                    
																																	<p>I just published <a href="https://buttondown.email/ownyourweb/archive/issue-11/">the 11th issue</a> of <a href="https://matthiasott.com/newsletter">Own Your Web</a>, my newsletter about designing, building, creating, and publishing on the Web. When I started the newsletter back in autumn of 2023, I didn’t yet know what form the newsletter would take on, if people would like it, and also whether I would like doing it or not. Eleven issues in, I can say with confidence that I enjoy researching and writing those issues a lot! And with more than 1700 subscribers via email and RSS after just a few months and after all the feedback I received via social media and email – thank you all! 🤗🥳💚 –, I want to keep running this project as long as possible. In order to do that, though, I need to make it more sustainable. Naturally, setting up such a project and writing a newsletter every other week takes up a considerable amount of time. Also, hosting a newsletter costs a bit of money as well. Currently, I use <a href="https://buttondown.email">Buttondown</a> to do all the management and sending of the issues, and although Buttondown is not one of the most expensive solutions out there and is definitely worth every penny, the monthly fee still adds up. Providing a “free” newsletter isn’t that free for the person writing it, after all.</p>
<p>So, going forward, my goal is to make Own Your Web a little more sustainable, first of all by making sure that at least the costs and, going forward, maybe even a good portion of my working hours that go into this newsletter are covered.</p>
<h2>C.R.E.A.M.</h2>
<p>But how do you make a newsletter sustainable? Do you add a paywall? Do you <a href="https://www.patreon.com/">offer memberships for supporters</a>? Do you ask people to <a href="https://www.buymeacoffee.com/">buy you a coffee</a>? Do you add <a href="https://ghost.org/resources/paid-sponsorships-email-newsletter/">sponsors or ads</a> to the newsletter? Do you plaster it with affiliate links until it is indiscernible from spam? Do you do all of the above?</p>
<p>“Monetizing” any type of work online certainly isn’t easy. Many platforms promise that you can grow your publication into a thriving online business in no time – or at least make it sustainable. But in reality, they are often the only ones who really start earning money that actually pays the bills. And so, many people desperately try to do anything they can to squeeze out the last few dollars out of a project that started as a fun idea.</p>
<h2>The Right Fit</h2>
<p>There is something that really bugs me about this race to the bottom: I started this newsletter out of a passion for the open web and want it to be a genuinely useful, impactful, but also <em>trustworthy</em> resource. And that’s why I feel deeply that it would be a mistake to not be true to the values that connect me with my readers. Like, for example, the belief in a web that is open, distributed, and controlled by <em>people creating beautiful things</em> instead of marketing departments flooding the web with crap content, the targeted advertising industry harvesting data to create user profiles, and a few social media platforms manipulating your behavior to hook you into their walled gardens. Or values like the belief that owning your work, your data, your identity, and your connections online is one of the most valuable and empowering aspects of being a citizen of the open web. But most importantly, the conviction that the Web we all want to build together needs to be built on mutual respect and an appreciation of each other’s unique perspectives, struggles, and identities.</p>
<p>Therefore, whatever I do to make the newsletter more sustainable, it needs to be in line with what this newsletter is: a newsletter about being independent, about owning your web.</p>
<h2>Sponsors Welcome</h2>
<p>That’s why I will start looking for people or companies that would like to support the newsletter as sponsors – but I will be very careful in selecting them. They need to be in line with the values and goals of the newsletter. They need to be a perfect fit for <em>you</em>, the readers. They need to be people and companies that are trustworthy and supportive of the open web and that bring real value to you and everyone else who wants to own their web. Regarding the type of sponsorship, I am currently considering either a short “supported by” line with a link or, if it offers real value to my readers, a short shoutout inside the newsletter.</p>
<p><strong>So: if you would like to support the publication or can think of a company that would be a good fit, let me know: 👉<a href="mailto:mail@matthiasott.com">mail@matthiasott.com</a>👈</strong></p>
<p>And then, there is still also the option of asking all of you for support. Completely optional and voluntary – the newsletter will always be free –, but maybe a small contribution on a pay-what-you-want basis is something that a few of you would indeed do if it helps support the publication. I guess I’ll do that as well and see how it plays out.</p>
<p>I’m curious: how do you feel about all that? What kind of support or sponsorship do you find the most appropriate and valuable? Are you already supporting other projects? Or, do you also not mind a few ads for interesting products if they don’t track you? Or are you maybe even running a project yourself and have figured out a way to make it work sustainably for you? I’d love to hear your thoughts on this! So let me know via Webmention, <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="mailto:mail@matthiasott.com">email</a>, or in a response blog post.</p>

																												
																												<style>.newsletter-teaser {
background-color: #eafee2; display: flex; align-items: center; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 8px;margin-top: 2rem; padding: 1em 1em 0;
}</style>
<div class="newsletter-teaser">
<div><img src="/assets/pictures/_standardImage768/OwnYourWeb-Visual.png" alt="" loading="lazy" style="display: block;
width: 25vw;
max-width: 192px; height: auto; margin: 0 1.25em 1em 0;
transform: rotate(-6deg);"></div>
<div>
																						
																																	<p>Your bi-weekly dose of inspiration:     <br>
<strong>Own Your Web</strong>, my newsletter about building and running personal websites and creating and publishing on the Web.</p>
<p><strong>Sign up here:</strong>  <br>
👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>

																												
																												</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>Welcome to the IndieWeb</title>
                <link>https://matthiasott.com/notes/welcome-to-the-indieweb</link>
                <pubDate>Thu, 14 Mar 2024 17:36:43 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/welcome-to-the-indieweb</guid>
                <description><![CDATA[
                    
																																	<p>Imagine you post and make new friends on an online network for more than a decade – and suddenly, your account gets suspended for no apparent reason. And there is nothing you can do about it.</p>
<p>Or imagine the online community you were an active part of for years just closes down and all user data gets deleted after a few months. And there is nothing you can do about it.</p>
<p>Or imagine that a site you poured all your thoughts and writing into decides overnight that it might be a good idea to sell access to all user data to a company that is training their large language model with it. And again, there is nothing you can do about it.</p>
<p>Now imagine a place where you actually own your content, your connections, and your online identity.</p>
<p>And now, imagine that this place is your personal website, under your own domain name, under your control.</p>
<p>This is the basic idea behind the <a href="https://indieweb.org/">IndieWeb</a>.</p>
<h2>A Community of Personal Sites</h2>
<p>The IndieWeb is a community of independent and personal websites and the people behind those sites creating tools that enable a decentralized, people-focused alternative to the corporate web and its social media silos. Initiated in 2010 by <a href="https://aaronparecki.com/">Aaron Parecki</a>, editor of the <a href="https://indieweb.org/Webmention">Webmention</a> and <a href="https://indieweb.org/Micropub">Micropub</a> open web standards, and <a href="https://tantek.com/">Tantek Çelik</a>, co-author of <a href="https://microformats.org/">microformats</a>, the IndieWeb has grown into an active community with members and followers worldwide.</p>
<h2>Events</h2>
<p>If you want to get involved, you can attend (or even help to organize) one of the <a href="https://indieweb.org/IndieWebCamps">IndieWebCamps</a>, which are regular brainstorming and building events that take place several times a year in the US and Europe. They are a wonderful opportunity to meet like-minded people and work together on community topics and also tinker with your personal site. Typically, an IndieWebCamp will span two days. On the first day, participants learn, share, and discuss ideas and concepts in various sessions. The second day is for creating, hacking, and, at the end of the day, demonstrating what everyone managed to build. It is an exciting and inspiring experience in a very welcoming atmosphere. I’ve been to a few IndieWebCamps (Düsseldorf, Berlin, and Nuremberg) and it was always fantastic!</p>
<p>Another great way to meet people and work on your personal sites together are the <a href="https://indieweb.org/Homebrew_Website_Club">Homebrew Website Club</a> meetups that regularly take place in several cities around the globe. See <a href="https://events.indieweb.org/">https://events.indieweb.org/</a> for upcoming events – and don’t hesitate to start something in your city, if you feel like it.</p>
<p>But also if you don’t want or can’t attend in-person events or <a href="https://indieweb.org/discuss#Join_Discussions">join the IndieWeb chat</a>, there are many ideas and technologies that have come out of the IndieWeb movement and its underlying <a href="https://indieweb.org/principles">principles</a> that are worth checking out.</p>
<h2>POSSE</h2>
<p>One of the most useful and impactful concepts of the IndieWeb is the idea to publish everything you create on your own site first and then syndicate it elsewhere, also called <a href="https://www.theverge.com/2023/10/23/23928550/posse-posting-activitypub-standard-twitter-tumblr-mastodon">POSSE</a>. This simple but effective principle allows you to stay in charge of your content and each post‘s canonical URL while also distributing it into the many different social networks and online communities where friends who aren’t part of the IndieWeb or don’t (yet) have a personal site might hang out. And because you ideally always <a href="https://indieweb.org/original_post_link">link back to your original post</a>, discovery of your original content is improved as well. You can learn more about the many advantages of POSSE on the IndieWeb wiki: <a href="https://indieweb.org/POSSE">https://indieweb.org/POSSE</a></p>
<h2>Webmention</h2>
<p>Another IndieWeb <a href="https://indieweb.org/Category:building-blocks">building block</a> that you’ve probably heard of before is the Webmention protocol. <a href="https://alistapart.com/article/webmentions-enabling-better-communication-on-the-internet/">Webmentions</a> allow you to collect interactions like comments, likes, reposts, or other responses from various sources and feed them back into your site. How it works is simple: if you link to a website in a post, you can send a Webmention to notify it. If the site supports Webmentions, it may display your post as a reaction. And you can do the same for all sites that send you a Webmention. This way, you can have a conversation from one website to another, sending posts back and forth.</p>
<p>There are also many other promising tools like <a href="https://indieweb.org/IndieAuth">IndieAuth</a>, which lets you use your own domain to sign in to other sites and services, <a href="https://indieweb.org/Micropub">Micropub</a>, an API for creating, editing, and deleting posts on websites like your own, or <a href="https://indieweb.org/WebSub">WebSub</a>, an open protocol to send and receive notifications when web content – like the feed of a personal website – is updated.</p>
<h2>The IndieWeb – For Everyone?</h2>
<p>One complaint I frequently hear though when I talk to people about the IndieWeb is that many of its technologies are still <a href="https://mxb.dev/blog/the-indieweb-for-everyone/">not accessible enough</a> to people without a web development background. And there is some truth to that. Despite a growing number of useful plugins, for example for <a href="https://indieweb.org/WordPress/Plugins">WordPress</a> or <a href="https://github.com/mauricerenck/indieConnector">Kirby</a>, and a lot of helpful articles and tutorials, e.g. for <a href="https://indieweb.org/Eleventy">Eleventy</a>, many of the solutions that the IndieWeb offers are still very much nerd territory. All the more important are projects like the amazing <a href="https://getindiekit.com/">Indiekit</a> by Paul Robert Lloyd, a little Node.js server with all the parts needed to publish content on your personal website and share it on social networks.</p>
<p>The IndieWeb has already been playing a key role in developing many of the tools that make an independent, decentralized network of personal websites possible. This in itself is invaluable. Now it is on all of us to implement more and more of those features into our sites, build even more tools and solutions for the independent web, and help to lower the barrier of entry so that the IndieWeb’s vision of owning your content and online identity will be more accessible to evermore people. Every step we take will change the Web for the better. Because ultimately, <a href="https://werd.io/2024/the-indieweb-is-for-everyone">the IndieWeb is for everyone</a>.</p>
<p>The next chapter of the IndieWeb awaits and the fight for an independent, open web seems more worthwhile and promising than ever. Tim Berners-Lee once said: “You can make the walled garden very very sweet. But the jungle outside is always more appealing in the long term.”</p>
<p>Let’s make this jungle wild, exciting, and beautiful again.</p>

																												
																												<style>.newsletter-teaser {
background-color: #eafee2; display: flex; align-items: center; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 8px;margin-top: 2rem; padding: 1em 1em 0;
}</style>
<div class="newsletter-teaser">
<div><img src="/assets/pictures/_standardImage768/OwnYourWeb-Visual.png" alt="" loading="lazy" style="display: block;
width: 25vw;
max-width: 192px; height: auto; margin: 0 1.25em 1em 0;
transform: rotate(-6deg);"></div>
<div>
																						
																																	<p>This post first appeared in <strong><a href="https://buttondown.email/ownyourweb/archive/issue-11/">Issue 11 of Own Your Web</a></strong>, my newsletter about building and running personal websites and creating and publishing on the Web.</p>
<p><strong>Sign up here:</strong>  <br>
👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>

																												
																												</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>Links Worth Sharing</title>
                <link>https://matthiasott.com/notes/links-worth-sharing</link>
                <pubDate>Thu, 14 Mar 2024 17:33:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/links-worth-sharing</guid>
                <description><![CDATA[
                    
																																	<p>Every day, we browse the Web and scroll our timelines. And every day, we find even more interesting websites, blog posts, articles, videos, podcasts, and other insights and ideas that we want to document, preserve, and share. The most obvious way to save something of interest still is to create a good old bookmark. And there are many different ways to do this.</p>
<p>First of all, you could save your bookmarks in your browser. While there is generally nothing wrong about that and I know many people for whom this solution works well, it can still be a bit cumbersome to organize your bookmarks this way, especially if you want to also add tags or notes. You could also save your favorites in a read-it-later app like <a href="https://getpocket.com/">Pocket</a> or <a href="https://omnivore.app/">Omnivore</a>. Or, you could save and manage your favorite links with bookmarking services like <a href="https://raindrop.io/">Raindrop</a>, <a href="https://pinboard.in/">Pinboard</a>, or the open-source tool <a href="https://www.linkace.org">LinkAce</a>.</p>
<p>But all those solutions are missing an important bit: the social aspect of bookmarking, also known as <em>sharing links with others</em>. Once upon a system time, sites like Zootool, StumbleUpon, or Delicious not only let us save bookmarks, but also made it possible to discover new, interesting links that others had saved. This social aspect, this way of <a href="https://blog.cassidoo.co/post/human-curation/">curating</a> and sharing a collection of links that others can follow, has become a lost art.</p>
<p>Today, social media sites have made it seductively convenient to quickly post links that will immediately be rewarded with views, likes, and reposts. As a result, many of us seem to instinctively drop most of the interesting links we find right into the timelines of the many – oh, so many! – social media silos. With the recent revival of personal websites and blogs, however, a lot of people are rediscovering a more thoughtful and persistent alternative: sharing links on their personal websites.</p>
<p>Sharing links on your own site indeed has several advantages:</p>
<p><strong>You own them.</strong> Bookmarking services come and go. On your own site, you can build up an archive of links that will survive any turmoil.</p>
<p><strong>You can look at them again.</strong> Because that’s the reason you are saving a bookmark in the first place, right?</p>
<p><strong>You can share them.</strong> If you add a links section to your website, people will be able to discover new and relevant content through someone they know and trust. No algorithm can beat that.</p>
<p><strong>You can provide an RSS feed.</strong> This makes it easier for people to always get your latest links automatically. And, as mentioned in <a href="https://buttondown.email/ownyourweb/archive/issue-09/">the last issue about RSS</a>, this also helps with the discoverability of all our sites and posts.</p>
<p><strong>You can cross-post your links.</strong> Using tools like <a href="https://ifttt.com">IFTTT</a>, <a href="https://zapier.com">Zapier</a>, <a href="https://n8n.io">n8n</a>, or <a href="https://echo.rknight.me">Echo</a>, you could take the RSS feed of your links section, for example, and automatically cross-post new links to Mastodon, LinkedIn, and BlueSky (via Micro.blog) – or also backup your links on other services like Pinboard or Notion.</p>
<p><strong>You can send Webmentions</strong> and notify the sites you bookmarked that you did so.</p>
<p><strong>You can turn your links into a weekly roundup post or a little newsletter</strong> for everyone who does not visit your site regularly but might enjoy a regular bunch of links.</p>
<p><strong>You can create a solution that is as sophisticated as you want it to be.</strong> You can add (colorful) tags, notes, a search, filters, screenshots – and whatever else you come up with and are adventurous enough to build.</p>
<p>If you are athirst for some inspiration or want to start following the link blogs of others, take a look at <a href="https://mastodon.social/@matthiasott/111997478626398854">the many sites people shared on Mastodon</a>. (Thank you! 🤗) <a href="https://ohhelloana.blog/bookmarks/">Ana</a> is sharing bookmarks on her site, as well. So do <a href="https://nicolas-hoizey.com/links/">Nicolas</a>, <a href="https://marcthiele.com/links">Marc</a>, and <a href="https://hidde.blog/links/">Hidde</a>, who recently also <a href="https://hidde.blog/sharing-links/">wrote about his approach</a>. <a href="https://piccalil.li/category/links/">Andy</a> is collecting links as well now and also shared <a href="https://piccalil.li/blog/piccalilli-links/">a run-down of his links setup</a>. One of my personal favorites is <a href="https://adactio.com/links">Jeremy’s links section</a>, just because he constantly adds new and interesting links including a short but succinct comment. And, to end the roundup with a shameless plug, <a href="https://matthiasott.com/links">my own site has a links section as well</a>.</p>
<p>In whatever way you decide to implement your collection of links, pay attention to two things: first, try to make posting links regularly a habit. This works best when the links section of your site is your primary place where you collect bookmarks. And secondly, make adding and publishing bookmarks as easy as possible, for example by <a href="https://nicolas-hoizey.com/articles/2023/02/08/a-bookmarklet-to-create-a-new-link-content-markdown-on-github/">adding a bookmarklet</a>. The easier adding a link is, the more likely it is that you will stick to it.</p>
<p>How do you currently save and share your links? Do you already have a links section on your site? Or are you planning to do so? Let me know via Webmention, <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="mailto:mail@matthiasott.com">email</a>, or in a response blog post.</p>

																												
																												<style>.newsletter-teaser {
background-color: #eafee2; display: flex; align-items: center; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 8px;margin-top: 2rem; padding: 1em 1em 0;
}</style>
<div class="newsletter-teaser">
<div><img src="/assets/pictures/_standardImage768/OwnYourWeb-Visual.png" alt="" loading="lazy" style="display: block;
width: 25vw;
max-width: 192px; height: auto; margin: 0 1.25em 1em 0;
transform: rotate(-6deg);"></div>
<div>
																						
																																	<p>This post first appeared in <strong><a href="https://buttondown.email/ownyourweb/archive/issue-10/">Issue 10 of Own Your Web</a></strong>, my newsletter about building and running personal websites and creating and publishing on the Web.</p>
<p><strong>Sign up here:</strong>  <br>
👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>

																												
																												</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>We ❤️ RSS</title>
                <link>https://matthiasott.com/notes/we-love-rss</link>
                <pubDate>Wed, 14 Feb 2024 16:45:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/we-love-rss</guid>
                <description><![CDATA[
                    
																																	<p>In <a href="https://buttondown.email/ownyourweb/archive/issue-08/">the last issue of Own Your Web</a>, we looked at blogrolls as one way to improve the <em>visibility</em> and <em>discoverability</em> of our sites. Whether or not you want to add a blogroll to your site is a matter of personal preference. But there is something else which probably everyone with a personal website should do: adding an RSS feed.</p>
<h2>What’s RSS?</h2>
<p>RSS, which stands for either “Really Simple Syndication” or also “RDF Site Summary” or “Rich Site Summary”, is a way to distribute the content of your site through a feed that people can subscribe to. Basically, you provide a feed of your website’s content that gets updated every time you publish something new. People can subscribe to that feed – and the feeds of other websites – and then read all updates in their feed reader of choice, all in one place. This way, readers don’t have to repeatedly visit various websites and other sources of interest to look if new posts have been published, but can instead <em>pull</em> in all new posts automatically. For you as a publisher, this also has the huge advantage that people who enjoy reading your posts will automatically get to see them once their feed reader updates all sources.</p>
<p>Developed around the turn of the millennium by people like Dan Libby and <a href="http://www.guha.com/cv.html">Ramanathan V. Guha</a> at Netscape, as well as <a href="http://scripting.com/">Dave Winer</a> and the late <a href="https://en.wikipedia.org/wiki/Aaron_Swartz">Aaron Swartz</a>, RSS became widely popular during the first blogging wave in the early 2000s. Today, it is the technology underpinning many news aggregators and also the distribution mechanism behind podcasting.</p>
<p>What makes RSS so powerful is that <a href="http://scripting.com/stories/2009/05/12/whyOpenFormatsAreSoImporta.html">it is an open format</a>. RSS is one of the reasons the blogosphere grew so rapidly and it is the reason why podcasting exploded: because this open format allowed everyone to participate by simply publishing a feed anywhere on the web, without being restricted by platform requirements, closed APIs, and paywalls. And this superpower is also why RSS is having a renaissance today: it allows everyone to subscribe to, share, <a href="https://indieweb.org/POSSE">syndicate</a>, and <a href="https://echo.rknight.me">cross-post</a> content on the open web. And it also enables creative automations using tools like <a href="https://zapier.com/blog/rss-automation-with-zapier/">Zapier</a>, <a href="https://ifttt.com/explore/business/how-to-use-rss-feeds">IFTTT</a>, <a href="https://github.com/huginn/huginn">Huggin</a>, or <a href="https://n8n.io/workflows/?q=rss">n8n</a>.</p>
<h2>Adding an RSS feed to your site</h2>
<p>How easy it is to an RSS feed to your site – or also individual feeds for different content types – depends on the system you are using. Many services, platforms, and content management systems already come with a built-in feed, so there is nothing to do on your side. If you have a WordPress site, for example, people can simply add <code>/feed/</code> to the end of the domain name to get the RSS feed of your site: <a href="https://pfefferle.org/feed/">https://pfefferle.org/feed/</a>. The same works for Tumblr or <a href="https://ghost.org/integrations/custom-rss/">Ghost</a> URLs if you add <code>/rss/</code> at the end. Medium also provides <a href="https://help.medium.com/hc/en-us/articles/214874118-Using-RSS-feeds-of-profiles-publications-and-topics">RSS feeds for profiles, publications, and topics</a>. (By the way: did you know that you can also add <code>.rss</code> to the end of any Mastodon user profile URL to get an RSS feed? <a href="https://mastodon.social/@matthiasott.rss">https://mastodon.social/@matthiasott.rss)</a></p>
<p>Sometimes, adding a feed to your site takes a little more work, though, because you might have to install a plugin, like for <a href="https://getkirby.com/plugins/bnomei/feed">Kirby</a> or <a href="https://www.11ty.dev/docs/plugins/rss/">Eleventy</a>, or even write the XML template code for the feed yourself, for example if you are using <a href="https://craftcms.com/knowledge-base/rss-and-atom-feeds">Craft CMS</a>. Adding a feed is such a common problem, however, that you should be able to find a straightforward solution fairly quickly. In any case, make sure to validate your feed, for instance with the <a href="https://validator.w3.org/feed/">W3C Feed Validation Service</a>.</p>
<p>Oh, and if you are feeling adventurous, you can even <a href="https://darekkay.com/blog/rss-styling/">style your RSS feed with XSL(T)</a>. 🎨</p>
<h2>Making your feed visible</h2>
<p>Once your site has an RSS feed, it makes sense to put a prominent link to the feed somewhere on your site so that people will actually find it. Many blogs and personal websites have a link to their RSS feed(s) in the <a href="https://daverupert.com/">header</a> or <a href="https://www.miriamsuzanne.com">footer</a> of the layout. If you also add an (orange) RSS icon, it is even easier to spot. Ideally, you should also <a href="https://rknight.me/please-expose-your-rss/">expose the RSS feed</a> in the <code>&amp;lt;head&amp;gt;</code> of your HTML so that browsers and feed readers can automatically find the feed when someone pastes in the site’s URL. Some of you also provide additional information about their feeds on a separate page, especially if they provide several different feeds, like <a href="https://www.josemunozmatos.com/feeds">Jose</a> or <a href="https://adactio.com/feeds/">Jeremy</a> do, for example.</p>
<h2>Reading feeds</h2>
<p>You might at times hear people moan about RSS not being used anymore. But that doesn’t reflect my experience at all, at least in my little web design and development bubble. Although RSS is far from being used by the average mainstream internet user (for now), it is as useful as ever if you are looking for a more deliberate, calm, and algorithm-free way of reading your favorite blogs and newsletters. And there are now more feed readers and <a href="https://en.wikipedia.org/wiki/Comparison_of_feed_aggregators">content aggregation platforms</a> than ever before which allow you to collect and manage feeds while also providing a great reading experience. Yes, <a href="https://www.theverge.com/23778253/google-reader-death-2013-rss-social">Google killed Google Reader in 2013</a>, which was quite popular at the time. But several other services and apps jumped in to fill the gap so that innovation in that space never really came to a halt. Most of those services come with their own web-based reading interfaces and mobile apps, but you can almost always combine them with other native apps to improve your reading experience, especially on mobile devices. Here are a few popular options:</p>
<ul>
<li><p><a href="https://feedbin.com">Feedbin</a> – One of the most popular readers for web feeds, newsletters, podcasts, and YouTube channels. For $5 a month, you get a clean interface with native apps and all search, management, import, and export options you need.</p>
</li>
<li><p><a href="https://www.inoreader.com">inoreader</a> – Another popular RSS reader and content aggregation platform with a free plan and a well-designed interface, mobile apps, and advanced features like keyword monitoring and automation options.</p>
</li>
<li><p><a href="https://feedly.com/news-reader">feedly</a> - Feedly used to be one the most popular RSS reader for beginners. They still offer a free plan that allows you to follow up to 100 feeds and organize them into 3 folders.</p>
</li>
<li><p><a href="https://theoldreader.com">The Old Reader</a> - Free for up to 100 feeds, The Old Reader has been around since 2012. In addition to classical features, it also lets you find friends on Facebook or Google contacts and like, share, and discuss posts with them.</p>
</li>
<li><p><a href="https://www.newsblur.com">NewsBlur</a> – A reader that is free on the web, iPad, iPhone, and Android for up to 64 sites. Useful premium features start at $36 per year.</p>
</li>
<li><p><a href="https://bazqux.com/">BazQux Reader</a> – For $30 a year, you get a fast and clean in­ter­face with a focus on read­ing, without ads and tracking.</p>
</li>
<li><p><a href="https://flipboard.com/">Flipboard</a> – Flipboard is a news app and “smart magazine” that aggregates content from various sources that recently even <a href="https://about.flipboard.com/inside-flipboard/flipboard-begins-to-federate/">federated with the Fediverse</a>, allowing you to discover and follow millions of people who are posting content on the Fediverse.</p>
</li>
<li><p><a href="https://www.reederapp.com/">Reeder</a> - my RSS reader of choice for Mac and iOS, which you can even use without an additional hosted service via iCloud sync.</p>
</li>
<li><p><a href="https://netnewswire.com/">NetNewsWire</a> - a very popular, free and open source RSS reading app for Mac, iPhone, and iPad.</p>
</li>
<li><p><a href="https://www.rssowl.org/">RSSOwl</a> – a free and cross-platform desktop app (Windows, Linux, and Mac).</p>
</li>
<li><p><a href="https://tt-rss.org">Tiny Tiny RSS</a> - a self-hosted, web-based, open-source reader that also comes with an Android client.</p>
</li>
</ul>
<h2>Finding and curating your feeds</h2>
<p>To get the most out of your RSS experience, it makes sense to slowly and carefully add more websites you like to your feed reader. Tailoring your feed of feeds to your interests this way can reduce the noise and will leave you with a selection of people that regularly publish high-quality posts. As a starting point, you could take a look at the many RSS feeds people shared <a href="https://mastodon.social/@matthiasott/111885758103705680">when I asked on Mastodon last week</a> and <a href="https://mastodon.social/@matthiasott/109275845914708784">in 2022</a>. <a href="https://mastodon.social/@matuzo/109326771096196639">Manuel also asked everyone to share their feeds a while ago</a> and just yesterday, <a href="https://www.mollywhite.net">Molly White</a> asked people to share their blog URLs. At the time of writing, she has already <a href="https://hachyderm.io/@molly0xfff/111908294962007998">received more than 400 replies</a>.</p>
<p>It can also be interesting to see which feeds others are following. That’s where <a href="http://opml.org/">OPML</a> comes in. If you export a list of feeds from your RSS reader, it will probably be exported in the OPML format. And some people like to share their OPML files publicly. <a href="https://www.alwaystwisted.com">Stuart</a> was one of the first people I saw sharing <a href="https://github.com/sturobson/myRSS">their list</a>, <a href="https://chriscoyier.net/2023/01/05/a-big-pile-of-personal-developer-designer-blogs-in-an-opml-file/">Chris shared his humongous list</a> as well, <a href="https://github.com/paulirish/frontend-feeds">here is Paul’s collection</a>, <a href="https://github.com/simevidas/web-dev-feeds">here’s Šime’s</a>, <a href="https://adactio.com/feeds/subscriptions/">this is Jeremy’s</a>, and <a href="https://matthiasott.com/notes/rss-feed-collection-personal-websites">here is mine</a>.</p>
<p>And, last but not least, you can also browse directories like <a href="https://blogroll.org">Blogroll</a>, this <a href="http://biglist.terraaeon.com">Big List of Personal Websites</a>, <a href="https://ooh.directory">ohh.directory</a>, or <a href="https://personalsit.es">Personalsit.es</a> to find interesting blogs and websites to follow.</p>
<h2>Radical Syndication Superpowers</h2>
<p>There is no denying that RSS is having a moment again. Not only because it allows us all to improve the discoverability of our work and explore online content in a personalized and deliberate way, but also because it remains one of the most powerful and influential technologies of the open web. RSS already is the cornerstone of many open technology systems like podcasting, which can’t be owned and controlled by any one company. <a href="https://www.anildash.com/2024/02/06/wherever-you-get-podcasts/">As Anil Dash notes</a>, this alone is <em>radical</em>, because it is the triumph of exactly the kind of technology that&#039;s supposed to be impossible: open and empowering tech that allows people to have ownership over their work and their relationship with their audience.</p>
<p>And we’re just getting started.</p>

																												
																												<style>.newsletter-teaser {
background-color: #eafee2; display: flex; align-items: center; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 8px;padding: 1em 1em 0;
}</style>
<div class="newsletter-teaser">
<div><img src="/assets/pictures/_standardImage768/OwnYourWeb-Visual.png" alt="" loading="lazy" style="display: block;
width: 25vw;
max-width: 192px; height: auto; margin: 0 1.25em 1em 0;
transform: rotate(-6deg);"></div>
<div>
																						
																																	<p>This post first appeared in <strong><a href="https://buttondown.email/ownyourweb/archive/issue-09/">Issue 9 of Own Your Web</a></strong>, my newsletter about building and running personal websites and creating and publishing on the Web.</p>
<p><strong>Sign up here:</strong>  <br>
👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>

																												
																												</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>All Things Being Equalized</title>
                <link>https://matthiasott.com/notes/all-things-being-equalized</link>
                <pubDate>Wed, 10 Jan 2024 01:28:42 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/all-things-being-equalized</guid>
                <description><![CDATA[
                    
																																	<p>For my birthday, I got a new pair of speakers for my home office / home studio. After looking around for quite some time, I settled on the <a href="https://www.adam-audio.com/en/t-series/t5v/">ADAM Audio T5V</a> in the end. The T5Vs are affordable, entry-level studio monitors with a 5“ woofer that are optimized for smaller rooms. And it doesn’t make sense to blast much more bass into my 3 by 3 meter office anyway. I’m still far from being experienced when it comes to judging the sound quality coming out of professional speakers, but I wanted something that would allow me to reliably judge occasional (and soon more frequent?) audio recordings. A first listen confirmed the many positive reviews I watched and read: connected to the MOTU M2 via balanced XLR, and without having had the time to properly burn them in yet, the T5Vs still produced an impressively clear, rich, and powerful sound. </p>
<p>Looking at the frequency response curve of the speakers, you’ll see that they in fact have a relatively flat response curve, which means that neither the lows (the “bass”) nor the mids are too pronounced. There seems to be a little boost in the higher frequencies above 5 kHz but this can probably be adjusted via a switch on the back.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 76.171875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/T5V_Frequency-Response-1920x1463.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/T5V_Frequency-Response-1920x1463.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/T5V_Frequency-Response-1920x1463.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/T5V_Frequency-Response-1920x1463.png" alt="T5V Frequency Response Curve" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>A flat frequency response is exactly what we want when the goal is to assess and master audio recordings, but of course,  I also want to use the speakers to listen to music of all genres. From Run the Jewels, MF DOOM (all caps when you spell the man name), or Kendrick to The Strokes, the Arctic Monkeys, or David Bowie to Portishead, DJ Krush, Max Richter, Hans Zimmer’s Dune, or Beethoven played by the Vienna Philharmonic or Igor Levit. And that’s when you realize you need some equalization.</p>
<p>Thus far, I’d been mostly using headphones while at work and whenever I wanted to slightly adjust the sound, I opened a little app called eqMac. But I also recently switched to the more analytical sounding Austrian Audio Hi-X60 which had already increased my appetite for a proper solution for EQing my Macs audio output.</p>
<p>Last but not least, equalization can be useful to compensate for problematic resonances or other characteristics of your room. But thus far, I’ve not entered those spheres (yet).</p>

																												
																																	<h2>EQing Mac System Audio</h2>
<p>There are a few ways you can use equalization on the Mac. First, you could use the built-in equalizer of Spotify or any other music app. In the case of Spotify though, I got horrifying results. I don’t know what they do but it destroyed the signal completely and introduced crackles and clipping.</p>
<p>Then, there are a few apps that adjust the output of your Mac’s system audio and sometimes also let you add effects, like <a href="https://eqmac.app/">eqMac</a>, <a href="https://staticz.com/soundcontrol/">Sound Control</a>, or <a href="https://www.globaldelight.com/boom2/">Boom 2</a>. My experience using eqMac, which comes with a free and a pro version, was fine overall. It allowed me to make quick basic adjustments, but it was also annoying at times, especially because I regularly had to start it twice (?) until it finally opened or when the EQ settings quickly lead to clipping audio.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 77.34375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/autoeq-promo.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/autoeq-promo.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/autoeq-promo.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/autoeq-promo.png" alt="Autoeq Promo" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>So I had another look around, and the most promising app, which also a few people <a href="https://mastodon.social/@matthiasott/111726873215320837">suggested on Mastodon</a>, is <a href="https://rogueamoeba.com/soundsource/">SoundSource</a> by Rogue Amoeba. Rogue Amoeba are also the creators of <a href="https://rogueamoeba.com/loopback/">LoopBack</a>, an ingenious and indispensable tool for routing and combining different audio signals and outputs, especially when you are running online workshops or streaming sessions.</p>
<p>SoundSource lives in your menu bar and lets you not only adjust the volume of your system audio, but also individually for each of the running applications. You can adjust the audio with a 10-band equalizer, again both system-wide as well as on a per-app basis, and much more. What really sets SoundSource apart and convinced me in the end, though, are two more effects: the <strong>headphone EQ effect</strong> allows you to automatically equalize and tailor the sound to your specific headphone model. You can pick from <a href="https://github.com/jaakkopasanen/AutoEq">thousands of presets</a> and also add your own.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 46.484375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/SoundSource-10-band-EQ.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/SoundSource-10-band-EQ.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/SoundSource-10-band-EQ.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/SoundSource-10-band-EQ.png" alt="Sound Source 10 Band Eq" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>The second killer feature is <strong>support for <a href="https://en.wikipedia.org/wiki/Audio_Units">Audio Units</a></strong>, Apple’s system-level plug-in architecture for Core Audio. What this basically means is that you can use all the free or paid plugins that you can use in audio workstations – like <a href="https://www.apple.com/logic-pro/">Logic Pro</a>, <a href="https://www.adobe.com/products/audition.html">Audition</a>, <a href="https://www.avid.com/pro-tools">Pro Tools</a>, <a href="https://www.reaper.fm">Reaper</a>, <a href="https://www.ableton.com/en/">Ableton Live</a>, or <a href="https://www.presonus.com/en-US/studio-one.html">PreSonus Studio One</a> – to adjust your system audio, too.</p>
<p>And suddenly, the possibilities for equalization on the Mac seem endless. Just look at this list of only a few popular EQ plugins:</p>
<ul>
<li><a href="https://www.fabfilter.com/products/pro-q-3-equalizer-plug-in">FabFilter Pro-Q 3 </a></li>
<li><a href="https://www.izotope.com/en/products/neutron.html">iZotope Neutron</a></li>
<li><a href="https://oeksound.com/plugins/soothe2/">okesound soothe2</a></li>
<li><a href="https://www.soundtheory.com/home">Soundtheory Gullfoss</a> </li>
<li><a href="https://www.tokyodawn.net/tdr-nova/">TDR Nova</a></li>
<li><a href="https://www.tokyodawn.net/tdr-vos-slickeq/">TDR VOS SlickEQ</a></li>
<li><a href="https://www.igniteamps.com/#pteq-x">Ignite Amps PTEq-X</a></li>
<li><a href="https://lkjbdsp.wordpress.com/luftikus/">Luftikus</a></li>
<li><a href="https://sonimus.com/products/soneq">Sonimus SonEQ</a></li>
</ul>
<p>In my case, this means I can use iZotope Nectar 3 Elements, for example:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 71.875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/iZotope-Nectar-3-Elements.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/iZotope-Nectar-3-Elements.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/iZotope-Nectar-3-Elements.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/iZotope-Nectar-3-Elements.png" alt="I Zotope Nectar 3 Elements" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>And who knows, maybe I’ll soon actually adjust for all the weird resonances in here…</p>
<p>What do you use to adjust the audio on your Mac or in your room? What are your favorite plugins? Let me know via Webmention, <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="mailto:mail@matthiasott.com">email</a>, or in a response blog post.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>42 for 42</title>
                <link>https://matthiasott.com/notes/42-for-42</link>
                <pubDate>Mon, 08 Jan 2024 02:33:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/42-for-42</guid>
                <description><![CDATA[
                    
																												<style>ol {
    list-style-position: outside;
    padding-left: 1em;
}
ol li {
  margin-bottom: 0.5em;
}</style>
																						
																																	<p>I’m turning 42 today and yes, I am as surprised about that number as you are. If 42 really is the answer to life, the universe, and everything, then maybe it makes sense to look back on what the old lad actually learned in all those years. So, here is a list of 42 life lessons, similar to <a href="https://chriscoyier.net/2021/06/04/40-for-40/">the one Chris wrote when he was still 40</a>. Incomplete and mostly unstructured. For my younger self as much as for my children and anyone reading this.</p>
<ol start="1">
<li>Don’t panic.</li>
<li>Love yourself. Take care of yourself. You can only help others if you are strong yourself.</li>
<li>Love your family.</li>
<li>Love your friends.</li>
<li>Respect is everything.</li>
<li>Be patient with yourself and others.</li>
<li>Be generous. It will make others and you happy.</li>
<li>Time is precious. Spend it with the people you love the most.</li>
<li>Children grow up incredibly fast. Enjoy every moment you have with them. Be there.</li>
<li>It is true: You will regret the things you <em>didn’t</em> do more than the things you did do. And time flies so much faster than you think. Before you know it, you won’t be able to do many of the things you thought you had an endless amount of time for. So do the things you dream of <em>now</em>.</li>
<li>Don’t think small. Seriously, don’t. You can do more and be more than others make you think. Or, to quote Rick Rubin: “However you frame yourself as an artist, the frame is too small.”</li>
<li>Even if you don’t want to admit it to yourself, you are still full of fear. Fear of being judged and criticized, fear of what others may think, fear of failure. And everyone around you is full of fear, too. It is one of the primary forces behind human action – or rather inaction. The fear will never go away completely. But the more you do things despite of being afraid, the easier they will become. Fear also means that what you are up to is actually important. Framing it as “excitement” also helps.</li>
<li>Every time you do something you are afraid of, you will grow. So step out of your comfort zone. You will be fine.</li>
<li>If you are enthusiastic about something, go for it. Go all in. Go deep.</li>
<li>If you have an idea, write it down immediately. Don’t try to remember it. You <em>will</em> forget it.</li>
<li>Don’t let other people tell you what you are good at or who you are. You can do and learn almost anything. Follow your curiosity.</li>
<li>The older you get, the more you’ll find out about who you are. This is fun (most of the time).</li>
<li>There is a beast in all of us. Be aware of that. Controlling your emotions and your anger will make you a better person.</li>
<li>We all make mistakes along the way. A lot of mistakes. That’s okay as long as we constantly try to learn from them. Remember: <a href="https://quoteinvestigator.com/2015/09/20/draft/">The first draft of anything is shit.</a></li>
<li>You don’t have to be friends with everyone. Some people are just different than you, a very few are toxic. There is no need to pander to them or trying to please them.</li>
<li>Do your taxes in time.</li>
<li>You cannot know what works and what sticks. So play and try out everything. Never stop prototyping.</li>
<li>Getting started is more important than finding the right productivity method or framework or tool. Start today and try to optimize along the way.</li>
<li><a href="https://www.youtube.com/watch?v=pk7S2TpJTqU">Football is life</a>. The rest is mere details.</li>
<li>Write as much as you can. It clarifies your thinking, it makes you a better communicator, and it will open so many doors. Also: there is no such thing as writers block.</li>
<li>Don’t be scared to write in a language that is not your first language. You’ll grow.</li>
<li>Enjoy the process. It will not only lead to better outcomes, but it will also make you happier. The journey really is the reward.</li>
<li>Don’t work for assholes.</li>
<li>Be very careful in what you say yes to. In the beginning of your career, you’ll probably have to say yes more often, but you’ll actually also learn a lot from whatever you will do. Later, you should only say yes if you feel good about it. Learn to politely say no to everything else.</li>
<li>Pay attention to your gut feeling. It is a good indicator and often there is some truth to it, especially with growing experience. If you don’t have a good feeling about something, take a second to investigate and identify why that is.</li>
<li>Don’t spend your money on useless things. Be very careful about what to buy. If possible, don’t pick the cheapest option. If you can afford it, investing in better food, better furniture, or tools always pays off.</li>
<li>All designers should learn how to code. Everyone should.</li>
<li>Our brain is fascinating and highly malleable up into old age. But it is also fragile. So take good care of it.</li>
<li>Your body will age. It really, actually will. You can’t start to take care of it soon enough.</li>
<li>Exercise.</li>
<li>Eat much, much, much more plants. This hasn’t anything to do with being a vegetarian, a vegan, or any other box you think people will put you into. No, it will actually make you healthier, happier, and stronger. There are billions of bacteria in your gut that influence what food you like, how well your immune system works, and how happy you are. They weigh about as much as your brain. Feeding them with good stuff will make you happy.</li>
<li>Smoking is a really stupid idea.</li>
<li>Alcohol is completely unnecessary. As much as your parents, your family, your friends, society, and, above all, advertising want to make you think it is something that everyone does and a beer here and there is totally fine, it will slowly creep into your daily habits and constantly occupy your liver, which then can’t take care of the other stuff. It will disrupt your sleep and destroy all positive effects of the little exercise or sports you have time for. Any amount of it also kills your cells. Everywhere in your body and in your brain. Just don’t buy it anymore. You will feel so much better.</li>
<li>Coffee is great. Try not to drink it in the first 1.5 hours after getting up and four hours before bed time.</li>
<li>Sleep is not the cousin of death. Sleep deprivation is. Sorry, Nas. Sleep at least 6.5 to 8 hours a night.</li>
<li>Listen to as much music as you possibly can.</li>
<li>RTJ! 👉🏻🤛🏿</li>
<li>If you learn an instrument, try to play it at often as possible. Once it becomes second nature, you will be able to do magical things with it. Don’t do it like me and try to do only what’s necessary. Try to master it.</li>
<li>Mastering something takes time and a lot of practice. Don’t believe you can do something only because you are “talented”. If you don’t put in the time and effort, you won’t become great at it.</li>
<li>Farts are hilarious.</li>
<li><a href="https://ownyourweb.site">Get a personal website</a>.</li>
<li>When in doubt, make a list. If it turns out to be longer than expected and you still feel like you can’t cut it down, great!</li>
</ol>

																												            	]]></description>
            </item>
                    <item>
                <title>Tour De-Noise</title>
                <link>https://matthiasott.com/notes/tour-de-noise</link>
                <pubDate>Sun, 07 Jan 2024 15:34:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/tour-de-noise</guid>
                <description><![CDATA[
                    
																																	<p>Whether you are running online <a href="https://matthiasott.com/workshops">workshops</a>, hosting a live stream, or recording audio or video content, optimal audio quality is absolutely essential. People in your audience might tolerate if your video is noisy or not perfectly sharp. But if your audio quality is poor, for example when something is constantly crackling or whooshing in the background or your voice is distorted, it gets irritating and annoying for your listeners pretty quickly.</p>
<p>I’m therefore constantly experimenting with various ways to improve <a href="https://matthiasott.com/uses">the audio (and video) setup</a> and the acoustics in my little home office in the attic. Last year, I added a dynamic broadcast microphone, the <a href="https://www.amazon.de/Rode-Procaster-Quality-Dynamic-Mikrofon/dp/B001IPUJJI?__mk_de_DE=ÅMÅŽÕÑ&amp;amp;crid=122KWFDRBN2Q2&amp;amp;keywords=rode+procaster&amp;amp;qid=1694527784&amp;amp;sprefix=rode+procaster%2Caps%2C111&amp;amp;sr=8-3&amp;amp;ufe=app_do%3Aamzn1.fos.cebaf37f-7c72-4645-908e-7f9a4f056f07&amp;amp;linkCode=ll1&amp;amp;tag=matthiasott-21&amp;amp;linkId=e2c2b26590580551316b8849fd41a85f">Røde Procaster</a>, for spoken word which has a cardioid polar pattern and great off-axis rejection, meaning it primarily records what’s directly in front of it. I also added an audio interface with really clean preamps, the <a href="https://amzn.to/3LgGzk3">MOTU M2</a>, and treated my room a bit. However, the key to recording impeccable audio is not only good technical equipment, but also making sure you record <em>the right things</em> in the first place. An important part of that: removing background noise as much as possible.</p>
<h2>Cutting Out the Noise</h2>
<p>Which type of background noise you have to deal with depends on the environment you are recording in. In my case, there is a street outside which can get quite loud at times. Unfortunately, there is not too much you can do to block that kind of outside noise from entering the room other than trying to improve the insulation of the windows or the door. The second type of background noise, however, is one that you often can in fact control. And that’s the noise <em>inside</em> your room. Be it an air conditioner, loud computer fans, or other appliances – you might want to turn everything off that makes noise before you hit record.</p>
<p>In the past, I had a monitor, for example, that made a constant, very high-pitched beeping sound which then turned up in the recordings as well. So I had to turn this monitor off when recording and eventually replaced it. This improved the noise floor of the audio considerably. </p>
<p>But there were still two pain points that I had to deal with: the hum of the fan of my key light, an <a href="https://amzn.to/48fiXX0">Aputure Amaran 200d</a>, and the whirr of a fan I attached to the back of my camera, a <a href="https://amzn.to/3Lk3Oty">Sony ZV-E10</a>, to prevent it from overheating during longer sessions like online workshops. Both sounds were still clearly audible on recordings and the way I had dealt with in the past was to pull down the respective frequencies with the live equalizer of the <a href="https://amzn.to/3LkhNPP">Blackmagic ATEM Mini</a>, through which the audio runs for live streams:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 71.09375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/23085/Atem-Software-Control-Equalizer.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/23085/Atem-Software-Control-Equalizer.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/23085/Atem-Software-Control-Equalizer.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/23085/Atem-Software-Control-Equalizer.jpg" alt="Atem Software Control Equalizer" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>The equalization curve has those two visible dips at 176 and 8000 Hz, respectively. At those frequencies, I pulled the audio signal down to eliminate the unwanted fan noises.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>This worked fairly well. But, of course, I wasn’t satisfied. I wanted to be able to record audio also without the ATEM Mini, only using the MOTU M2 audio interface. What I had tried in the past as well was to record a few seconds of silence and then use this snippet’s noise floor to eliminate the hum and hiss with <a href="https://www.izotope.com/en/products/rx/features/spectral-de-noise.html">a de-noise plugin</a>. I got good results from that, too. But this is still another extra production step that you don’t want to have to do every time you record something. The best way to reduce noise and get a clean recording is still to eliminate the original sound source in the first place. So I went on a little quest to do exactly that.</p>
<h2>Silencing the Amaran 200d</h2>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 121.09375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Aputure-Amaran-200d.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Aputure-Amaran-200d.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Aputure-Amaran-200d.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Aputure-Amaran-200d.jpg" alt="Aputure Amaran 200D" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>The <a href="https://www.youtube.com/watch?v=rFO7sfm32uk">Aputure Amaran 200d</a> is an affordable LED light that can output <em>a lot</em> of light. It can therefore get quite hot and that’s why it has a fan built in. When I bought the light, there was no way to adjust the speed of this fan. Once you turned the light on, the fan would run at full speed, regardless of how hot the device actually was. But a few days ago, I had an idea: what if Aputure in the meantime had released a firmware update for the device? And in fact, there it was: a firmware update that allows you to switch the fan from “medium” to “smart” in the <a href="https://www.sidus.link">Sidus Link app</a> controlling the light so that the fan adjusts its speed to the actual temperature. This immediately reduced the fan speed from 1500 rpm to under 1000 rpm and the hum was gone. First problem solved! 🥳</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75.651041666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/amaran-fan-speed.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/amaran-fan-speed.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/amaran-fan-speed.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/amaran-fan-speed.jpg" alt="Amaran Fan Speed" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Silencing the Noctua fan on the back of the Sony ZV-E10</h2>
<p>Sony cameras are well-known for overheating in challenging situations. So one of the first things people do when they get a new Sony camera is to switch the “Auto Power OFF Temp.” setting to “High”. This prevents the system from shutting off too early to cool down. My ZV-E10, an entry-level mirrorless camera, has the same issues. When you record in 4K or are using the camera in USB cam mode, it overheats fairly quickly. I’d even say that this is a construction error, because it prevents you to use the camera as advertised. Using it as a USB camera is basically impossible. But there are a few things you can do to work around this issue:</p>
<ul>
<li>Always open the flip out screen on the back so that the heat can dissipate better.</li>
<li>If the situation allows, never run the camera with a real battery, but use an AC adapter with a dummy battery instead.</li>
<li>To use it as a USB camera, connect the camera to your computer via the HDMI port and a capture card like the Elgato Cam Link, not via USB-C.</li>
</ul>
<p>All those measures helped a lot already, but the camera still shut down at times after long usage or when the office got hotter in summer. So, as a last resort, I mounted a<a href="https://amzn.to/3tMXFQX"> small Noctua fan</a> to the back of the camera and connected it to a USB power adapter. The camera never overheated again.</p>

																												
																																	<p>But as it is the case with over-engineered solutions (👋, SPAs), as soon as you solve one problem you realize that you just created at least one new one. In my case, it was the aforementioned whirring noise of the fan which was, although the fan is already quite silent (max. 19.6 dB(A)), still audible in recordings.</p>
<p>So last week, I decided to finally tackle this problem with two a two-layered approach. First, I replaced the fan with cheap aluminium heat sinks. I had to cut off three rows of fins from one of the heat sinks to be able to affix not only one. In a perfect world, this will suffice to fix the problem. But because <a href="https://en.m.wikipedia.org/wiki/Murphy&amp;#039;s_law">Murphy’s law</a>, I re-added the fan as well, and ordered a USB fan controller to be able to adjust the output voltage and thus throttle the speed of the fan, just in case I’ll ever have to turn it on again. Second problem solved. For now. I guess…</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/ZV-E10-with-heatsinks-on-the-back-2.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/ZV-E10-with-heatsinks-on-the-back-2.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/ZV-E10-with-heatsinks-on-the-back-2.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/ZV-E10-with-heatsinks-on-the-back-2.jpg" alt="Zv E10 With Heatsinks On The Back 2" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/ZV-E10-with-heatsinks-and-fan-on-the-back.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/ZV-E10-with-heatsinks-and-fan-on-the-back.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/ZV-E10-with-heatsinks-and-fan-on-the-back.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/ZV-E10-with-heatsinks-and-fan-on-the-back.jpg" alt="Zv E10 With Heatsinks And Fan On The Back" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>I will never be able to close that display again…</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<h2>The Details Are Not the Details</h2>
<p>As you can see, sometimes it takes a bit of creativity and tinkering to optimize your setup. I’m fully aware that most of you won’t run into the same problems as I did. But maybe sharing this example of my tour de-noise helps you to approach similar problems with the same mindset. You might think that putting in that much effort into such seemingly small details isn’t worth the time and energy. You might be right. And you can and should definitely start recording anything without worrying that much about background noise. Yet in my experience, caring about and honing in the details often makes the difference between good and great. Regardless of what you’re building or creating, paying attention to the final touch is worth it and can be very satisfying. And you’ll also learn a lot along the way. For example, in which direction you should mount a cooling fan.*</p>
<p>Do you have a setup to record audio or video? Did you run into similar problems? What tricks and hacks did you use to improve your setup and the quality of your recordings? Let me know via Webmention, <a href="https://mastodon.social/@matthiasott">Mastodon</a>, <a href="mailto:mail@matthiasott.com">email</a>, or – my personal favorite – in a response blog post.</p>
<p>*So that it pulls and blows the hot air <em>away</em> from the device.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>What’s Too Good to Be True?</title>
                <link>https://matthiasott.com/notes/whats-too-good-to-be-true</link>
                <pubDate>Thu, 04 Jan 2024 02:23:59 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/whats-too-good-to-be-true</guid>
                <description><![CDATA[
                    
																																	<p>The web platform is changing rapidly these days. With every major browser release, more and more powerful features get added, many of which are based on previous input about what web developers need to build better for the web. One way for
browser vendors and developer advocates to get this useful input is to ask web developers about what features they are interested in or where their biggest pain points are. Last year, for example, many people shared their <a href="https://daverupert.com/2023/01/css-wishlist-2023/">CSS wishlists</a>.</p>
<p>Brian Kardell, developer advocate at Igalia, <a href="https://bkardell.com/blog/WhatsGood.html">just asked the opposite question</a>: which of the features that got shipped in the last few years have actually proved to be the most valuable? Which features do you use all the time? An interesting question to think about for a little while. Also because we tend to overlook how fantastic it is to be able to use those features which would have been unimaginable just a few years ago. Or, as Jeremy demonstrated <a href="https://youtu.be/UjtcCTH4K10?si=7VmVn-36KBRwXZNi">in his talk at border:none</a> last year, many of the features we now take for granted actually almost sound “too good to be true”.</p>
<p>So, what features are this for me? What features am I using almost daily or don’t want to miss anymore? Here’s a quick list:</p>
<ul>
<li><p><strong><a href="https://caniuse.com/css-math-functions">CSS math functions min(), max() and clamp()</a></strong> – I use clamp() all the time, both as a smarter replacement of min-width and max-width in fluid layouts, as well as to <a href="https://piccalil.li/tutorial/fluid-typography-with-css-clamp/">dynamically scale my typography based on the viewport width</a>.</p>
</li>
<li><p><strong><a href="https://caniuse.com/loading-lazy-attr">Lazy loading via attribute for images &amp; iframes</a></strong> – Being able to lazily slap a loading=&quot;lazy&quot; attribute on all images in my HTML (except for the images within the first viewport) for a considerable performance boost without a single line of JavaScript is just amazing.</p>
</li>
<li><p><strong><a href="https://caniuse.com/css-focus-visible">:focus-visible CSS pseudo-class</a></strong> – <a href="https://matthiasott.com/notes/focus-visible-is-here">I’ve already written about how useful this seemingly little addition to CSS can be</a> to improve the accessibility of our sites. I’m now using :focus-visible in every single project I build.</p>
</li>
<li><p><strong><a href="https://caniuse.com/css-font-rendering-controls">CSS font-display</a></strong> – Another seemingly small addition to CSS with an invaluable impact: using <a href="https://www.zachleat.com/web/comprehensive-webfonts/#font-display">font-display: swap</a> as the most basic but also a performant and robust font loading strategy.</p>
</li>
<li><p><strong><a href="https://caniuse.com/mdn-css_selectors_where">CSS selectors: :where()</a> and <a href="https://caniuse.com/css-matches-pseudo">:is()</a></strong> – I’ve started using both selectors, but especially <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:where">:where() because it always has 0 specificity</a>, in my base style sheets whenever I’m declaring something that might later be overwritten. Like heading styles, for example. </p>
</li>
<li><p><strong><a href="https://caniuse.com/prefers-color-scheme">prefers-color-scheme media query</a></strong> – Isn’t it amazing that we now can sit in our bed in the evening and write blog posts in the dark with dark mode turned on? And isn’t it too good to be true to be able to adjust our designs to that preference?</p>
</li>
</ul>
<p>I’m sure I’m forgetting a few things and you might have your own favorites, so feel free to reply with your own blog post. I’m curious to see what features you can’t live without anymore.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Best Comment Section on the Internet</title>
                <link>https://matthiasott.com/notes/best-comment-section-on-the-internet</link>
                <pubDate>Wed, 03 Jan 2024 02:23:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/best-comment-section-on-the-internet</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://ma.tt">Matt Mullenweg</a>, co-founder of WordPress and CEO of Automattic, <a href="https://tim.blog/2023/12/29/matt-mullenweg-2/">recently sat down with Tim Ferriss</a> to talk about a bunch of different things. One of those things: blogging.</p>
<p>It might not come as a surprise, but Matt <a href="https://youtu.be/pWpaCLIUnXo?si=8_cHlD2INALWKzl2&amp;amp;t=8242">described blogging</a> as one of the most rewarding things he did last year. Not only because blogging, or writing in general, forces you to clarify your thinking, or because publishing is such a vulnerable, scary, and thus brave act, but in particular because of what happens afterwards and how much you learn from it. All the comments, the interactions, the follow-ups that make blogging so beautiful.</p>
<p>That was when Tim shared something he had noticed: that the discussions that used to happen in comments, have, for the most part, moved over to social media. Which is definitely something I noticed, too. So many blogs – even some big names – either have empty or neglected comment sections these days, or even none at all.</p>
<p>Comments are tricky. You probably need to manage them to prevent annoying or nasty comments, spam, or SEO backlink posts. As Matt points out, by being very clear about what you allow in your comment section, you also set an example. You set the tone and the standard which people will follow. But even if you manage to do all that, how do you get people to comment on your site in the first place? Because when you in fact <em>do</em> get them, comments can be an invaluable and vital feedback mechanism.</p>
<p>So, the question becomes:</p>

																												
																												<p style="font-size: 1.75em; font-style: italic; font-weight: bold; line-height: 1.25">How could one create the best comment section on the internet?</p>
																						
																																	<p>The two briefly touch on that but mostly from the moderation perspective. Yet I feel like there is much more to it. The best comment section on the internet could, for example:</p>
<ul>
<li>encourage people to reply – already through its design</li>
<li>make it incredibly easy and convenient to comment and edit comments</li>
<li>feel very chat-like</li>
<li>allow people to give feedback on comments (like, upvote, dislike, report etc.)</li>
<li>make discussions and threads visible and easily consumable</li>
<li>allow people to comment with their social media accounts</li>
<li>let people immediately share their comments on social media as well</li>
<li>include comments from social media platforms or from other websites via <a href="https://indieweb.org/Webmention">Webmentions</a> and <a href="https://activitypub.rocks">ActivityPub</a> in a really smart way</li>
</ul>
<p>Especially the last point seems worth exploring. Because if we not only want to bring back blogging but also create a thriving ecosystem of interconnected sites, combining comments on your sites with comments coming from other sources could be vital. Webmentions, for instance, currently still come in completely different flavors and most often, the snippet that gets displayed does not feel like a comment at all. Taken out of context like that, it is often not very useful if you don’t want to visit the other site as well. What if we could change that and make at least the snippet more useful? Or, what if we combined likes of an article with real comments and so on and created a truly vibrant section – interesting, entertaining, and highly interactive?</p>
<p>Comments used to be at the heart of the interactions that happened around blogs and personal sites. It’s time to bring them – and the people – back to our sites.</p>
<p>What do you think? How should the best comment section on the internet look like? Does your site have comments? And what are the best comment sections you have come across? I&#039;d love to hear your thoughts – ideally in a blog post. Because this site doesn&#039;t have comments yet…</p>

																												            	]]></description>
            </item>
                    <item>
                <title>2024: The Year of the Personal Website</title>
                <link>https://matthiasott.com/notes/2024-the-year-of-the-personal-website</link>
                <pubDate>Mon, 01 Jan 2024 10:16:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/2024-the-year-of-the-personal-website</guid>
                <description><![CDATA[
                    
																																	<p>At the beginning of 2023, I wrote in a blog post which I titled <a href="https://matthiasott.com/notes/the-year-of-the-personal-website"><em>The Year of the Personal Website</em></a>:</p>

																												
																												<blockquote>In the search for a permanent home on the web, more and more people are now rediscovering the personal website as a place to share and document their thoughts and publish their work. [I’ve written at length before](https://matthiasott.com/articles/into-the-personal-website-verse) about why this is such a good idea: Your personal website is a place that provides immense creative freedom and control. It’s a place to write, create, and share whatever you like, without the need to ask for anyone’s permission. It is also the perfect place to explore and try new things, like different types of posts, different styles, and new web technologies. It is your playground, your platform, your personal corner on the Web.</blockquote>
<blockquote>So how about we make 2023 the year of the personal website? The year in which we launch our first site or redesign our old one, publish a little more often, and add RSS and Webmentions to our websites so that we can write posts back and forth. The year we make our sites more fussy, more quirky, and more personal. The year we document what we improved, share what we learned, and help each other getting started. The year we finally create a community of critical mass around all our personal websites. The year we take back our Web.</blockquote>
																						
																																	<p>And, looking back at 2023, did we deliver?</p>
<p>You bet. 😁</p>
<p>It all started with articles like <a href="https://www.theverge.com/23513418/bring-back-personal-blogging">Bring back personal blogging</a> by Monique Judge for The Verge or the <a href="https://bringback.blog/">Bring Back Blogging</a> project by Ash Huang and Ryan Putnam, who encouraged us all to get into the habit and publish at least three blog posts until the end of January 2023.</p>
<p>Throughout the year, fueled by the further decay of Twitter and the <a href="https://me.dm/@anildash/111564730811356054">ongoing reshuffling of power on the internet</a>, heaps of us indeed rediscovered blogging and started tinkering with their sites again. It was a joy to follow this development and add more and more sites to my RSS reader. If you want to get a glimpse of the richness of posts people published this year, take a look at all the replies to this question I posted on Mastodon: <a href="https://mastodon.social/@matthiasott/111660548048103951">what were your favorite blog posts of the year?</a></p>
<p>All of this feels adventurous and exciting, but it also feels like we’re just getting started. There is still so much we can improve on our existing sites and so much we can learn about making our sites a central part of our online identities. There are still so many tools to be created to improve the discoverability of sites and posts and to connect our sites to each other and to the Fediverse, for example. And there are still so many sites to be built and blog posts to be written and published. So, how about we make 2024 the year of the personal website <em>again</em>? And, for maximum consistency, every year that follows? How about, from now on, we make <em>every year</em> the year of the personal website – and make the internet human, creative, personal, and <a href="https://www.rollingstone.com/culture/culture-commentary/internet-future-about-to-get-weird-1234938403/">weird</a> again?</p>
<p>Here’s to a successful, healthy, playful, and fearless 2024. I can’t wait to see what you create.</p>
<p>🎆💚✊</p>

																												
																												<div style="background-color: #eafee2; display: flex; align-items: center; box-shadow: 0 3px 10px rgba(17,53,80,0.18); border-radius: 8px;padding: 1em 1em 0">
<div><img src="/assets/pictures/_standardImage768/OwnYourWeb-Visual.png" alt="" loading="lazy" style="display: block;
width: 25vw;
max-width: 192px; height: auto; margin: 0 1.25em 1em 0;
transform: rotate(-6deg);"></div>
<div>
																						
																																	<p>This post first appeared in <strong><a href="https://buttondown.email/ownyourweb/archive/issue-06/">Issue 6 of Own Your Web</a></strong>, my newsletter about building and running personal websites and creating and publishing on the Web.</p>
<p><strong>Sign up here:</strong>  <br>
👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>

																												
																												</div>
</div>
																						            	]]></description>
            </item>
                    <item>
                <title>Climate Optimism</title>
                <link>https://matthiasott.com/notes/climate-optimism</link>
                <pubDate>Wed, 22 Nov 2023 00:23:29 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/climate-optimism</guid>
                <description><![CDATA[
                    
																																	<p>It’s not going well. </p>
<p>After all-time heat records were shattered worldwide during heat waves across all continents and ongoing wildfires eradicated <a href="https://en.m.wikipedia.org/wiki/2023_Canadian_wildfires">5 % of the entire forest area of Canada</a>, <a href="https://news.un.org/en/story/2023/11/1143352">2023 will be the hottest year ever recorded</a> (1.43°C above the 1850-1900 pre-industrial average to date). At the same time, it feels like nobody is <em>really</em> listening to the scientists who have been warning about the consequences of burning fossil fuels for decades. <a href="https://news.un.org/en/story/2023/11/1143607">Greenhouse gas emissions are rising faster than ever</a>, the fossil fuel industry is making record profits (I don’t need to look for a link for that one, right?) and – despite <a href="https://www.npr.org/2022/02/16/1081119920/greenwashing-oil-companies">all the greenwashing</a> – is <a href="https://www.theguardian.com/environment/ng-interactive/2022/may/11/fossil-fuel-carbon-bombs-climate-breakdown-oil-gas">investing billions into new oil and gas projects</a>. Meanwhile, governments in Germany and elsewhere are still subsidizing fossil fuels and even invested billions into gas and oil to prevent an energy crisis brought about by one of the world’s major gas exporting countries by inflicting war on a neighboring country. And now, <a href="https://www.politico.eu/article/german-federal-constitutional-court-green-climate-financing-unconstitutional/">the highest German court has ruled a €60 billion climate fund unconstitutional</a>, because reallocating unused debt from the COVID-19 pandemic for climate action and the green energy transition “does not satisfy the constitutional requirements for emergency borrowing.“ Well…</p>
<p>It’s not going well. There’s no denying it.</p>
<p>But there’s also simply no alternative to rapidly changing our energy sectors, agriculture, housing, and transportation systems, if we want to avoid the most severe impacts of global warming. So what can we do? Repeat the warnings and share ever more depressing news about the growing impact of a rapidly changing climate? This did raise awareness for the problem in the past, but it also creates feelings of guilt and powerlessness, even in the most determined amongst us. Or, even worse, fear paralysis.</p>
<p>As <a href="https://kottke.org/23/11/climate-optimism-we-can-do-this">Jason Kottke writes</a>, “climate scientist Kate Marvel is done warning people about the problems with our climate and <a href="https://www.nytimes.com/2023/11/18/opinion/climate-change-report-us.html?unlocked_article_code=1._0w.7ifl.KkQLSalrufan">has moved on to highlighting our success in combatting it.</a>” Why? Because, as grim as the outlook might seem, there are also lots of reasons to be optimistic:</p>

																												
																																		<figure class="quote">
							<blockquote><p>In the last decade, the cost of wind ener­gy has declined by <span class="numbers">70</span> per­cent and solar has declined <span class="numbers">90</span> per­cent. Renew­ables now make up <span class="numbers">80</span> per­cent of new elec­tric­i­ty gen­er­a­tion capacity.</p>
</blockquote>
												</figure>
																
																																	<p>As a result, <a href="https://www.unilad.com/news/world-news/portugal-renewable-energy-six-days-straight-622623-20231119">Portugal just ran on 100% renewable energy for six days in a row</a> and <a href="https://www.msn.com/en-us/news/world/china-s-co2-emissions-may-be-falling-already-in-a-watershed-moment-for-the-world/ar-AA1kiKG9">China’s CO2 emissions may be falling already</a>, seven years ahead of their already ambitious schedule. </p>
<p>Humans are allergic to change. And, as <a href="https://adactio.com/articles/20638">Jeremy impressively demonstrated</a>, we tend to overlook the changes that happen more gradually. We want the Big Bang, the sudden change, the headline that reads, “successful nuclear fusion solves climate change for good.” But that’s (usually) not how change works. Change often happens gradually, first very slowly, and then, once it reaches a certain threshold, it can happen overnight. <a href="https://en.m.wikiquote.org/wiki/William_Gibson">The future is already here, it’s just not very evenly distributed yet</a>. Another reason to be hopeful.</p>
<p>But the most important reason is that humans thrive on stories. We need them to guide us. Stories, in particular shared stories within a group, unite us in our endeavors and lead the way when things get tough. And herein lies the power of the narrative that there is indeed a way forward, a way out of this mess into a more healthy and less deadly future. It works for everyone: Suddenly, being a climate activist doesn’t mean to be <em>against</em> something or someone (okay, let’s still be against fossil fuel companies). Suddenly, being a climate activist means being <em>for</em> something,  <a href="https://m.youtube.com/watch?v=2po3w5oFygY">rewarding your dopamine system</a> with little steps towards a worthwhile goal: bringing about positive change <em>now</em>.</p>

																												
																																		<figure class="quote">
							<blockquote><p>I could still tell you scary sto­ries about a&nbsp;future rav­aged by cli­mate change, and they’d be true, at least on the tra­jec­to­ry we’re cur­rent­ly on. But it’s also true that we have a&nbsp;once-in-human-his­to­ry chance not only to pre­vent the worst effects but also to make the world bet­ter right now. It would be a&nbsp;shame to squan­der this oppor­tu­ni­ty. So I&nbsp;don’t just want to talk about the prob­lems any­more. I&nbsp;want to talk about the solu­tions. Con­sid­er this your last warn­ing from&nbsp;me.</p>
</blockquote>
												</figure>
																
																																	<p>It’s not going well. But that’s about to change.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>No Borders</title>
                <link>https://matthiasott.com/notes/no-borders</link>
                <pubDate>Mon, 30 Oct 2023 01:33:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/no-borders</guid>
                <description><![CDATA[
                    
																																	<p>Where were you in 2013 and what were you doing back then? What have you done over those last ten years? How have the last ten years changed your life, your work, or what’s important to you? I don’t know about you, but I definitely don’t often pause to reflect about the past decade like that. Far too often, we are too busy and caught in the here and now.</p>
<p>Now, imagine you get asked by two conference organizers to not only reflect about the last ten years but to actually <em>give a talk</em> about what has changed for you over that time span. That’s exactly what <a href="https://jkphl.is">Joschi Kuphal</a> and <a href="http://marcthiele.com">Marc Thiele</a> did when they came up with the idea to organize a very special event: a ten-year anniversary edition of <a href="https://border-none.net/2023/">border:none</a>. Same venue, same speakers, same price (30 €). Plus a second day and more speakers with a focus on diversity and inclusion.</p>
<p>And so, people got the rare opportunity to either talk about or listen to a very special collection of retrospectives and stories. Already after the first few talks, an interesting theme emerged: almost nobody gave a technical talk. Many even expressed a feeling of disillusionment with the state of the Web and the tech industry in general. Instead, people talked about very personal observations, journeys, struggles, and passions.</p>
<p><a href="http://klick-ass.com">Jay</a>, for example, spoke about the monsters inside our heads that hold us back from inducing necessary change and how important it is to not stay silent in the face of lies and hate. <a href="https://tobias.is">Tobias</a> shared a deeply personal story about how his family history lead him to always search for new communities while, deep down inside, never feeling quite at home. <a href="https://bastianallgeier.com">Bastian</a> reflected on failure, the satisfaction that comes from building things, and the value of a sense of quality, trust, honesty, and happiness. And <a href="https://rodneyrehm.de/en/">Rodney</a> took us to where he found relief from not being able to think about nothing but work: up in the air, paragliding. 🤯</p>
<p>Our brains are wired to prioritize short-term problem solving (= survival) over long-term thinking. That’s why we often end up sliding from one seemingly urgent task into the next without considering the long term implications of our actions. And before we know it, ten years have passed. Border:none 2023 demonstrated impressively that what truly matters in the end isn’t how good you are at running in the hamster wheel. In hindsight, the things you will remember, the things you will be most proud of, are the things that brought you a sense of purpose, happiness, and belonging, as well as the moments when you took a risk or stood up for something. At the same time, the things you’ll regret probably won’t be the things you did as much as the things you <em>didn’t</em> do.</p>
<p>As <a href="https://adactio.com">Jeremy</a> illustrated in his talk <em>Of Time And the Web</em>, it’s easy to overlook the profound positive changes that can happen over larger timescales. Things we take for granted today, like the eradication of a disease like smallpox, are actually things that we would have considered “too good to be true” just a few years earlier. In much the same way, every little step we take, every decision we make, can add up to make a profound difference. Change is possible. It is on us to take the first steps, although we might have to step out of our comfort zone and the outcome might be uncertain. We all only get to play once, so we better play without fear and create something beautiful.</p>
<p>Then, there really are no borders.</p>
<p>~</p>
<p>PS: What border:none also showed me is how wonderful and replenishing it is to meet so many people again whom I can consider my friends now. It was amazing to see and talk to all of you. Thank you for creating this invaluable opportunity, Joschi and Marc! ❤️</p>

																												            	]]></description>
            </item>
                    <item>
                <title>My New Newsletter: Own Your Web</title>
                <link>https://matthiasott.com/notes/my-new-newsletter-own-your-web</link>
                <pubDate>Sun, 22 Oct 2023 09:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/my-new-newsletter-own-your-web</guid>
                <description><![CDATA[
                    
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 52.473958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/own-your-web-OG-1200-630.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/own-your-web-OG-1200-630.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/own-your-web-OG-1200-630.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/own-your-web-OG-1200-630.jpg" alt="Comic style illustration of an Apple Lisa computer with the words Own Your Web" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>I just sent out <a href="https://buttondown.email/ownyourweb/archive/issue-01/">the first issue</a> of my new newsletter <a href="https://matthiasott.com/newsletter">Own Your Web</a>. </p>
<p>Own Your Web is a newsletter for anyone who wants to design, build, create, and publish on the Web. Every other week, I’ll send out an email full of actionable insights, best practices, hacks, links, books, tools, and other high-quality insights I found or explored. Whether you want to get started with your own personal website or level up as a designer, developer, or independent creator working with the ever-changing material of the Web, this little email is for you.</p>
<p>Having a personal website in 2023 is a superpower. It’s a place to write, create, explore, and share whatever you like, without limitations. It’s a playground to try out new things, tinker with new technologies, and build something beyond the ordinary. It’s a tool to make yourself heard, to participate in online discourse, create community, and make new friends. And, it’s a place to truly own your content and tell your story. It’s your personal home on the Web.</p>
<p>But while it is as easy as never before to get started with a personal site, is it, at the same time, harder than ever to handle the complexity that surrounds websites today. Which domain should you pick? Which tech stack, content management system, or platform is the right one? Or should you use a static site generator instead? What about frameworks? Do I need to learn JavaScript? How do I choose a typeface in less than a year’s time? Which modern CSS features are safe to use? How can I make my site performant and accessible for everyone? To SEO or not to SEO? What are Webmentions? What’s RSS? And, what the heck should I write about, after all?!?</p>
<p>As you can see, there’s no shortage of topics to cover in a newsletter like this one. 😉 My current plan therefore is that each issue will highlight one specific topic, idea, or question that we all run into at some point. But I’ll always also include a tasty bunch of generally useful links that popped up in my feed reader.</p>
<p>If that sounds like something you might enjoy, sign up for free here:</p>
<p>👉 <a href="https://matthiasott.com/newsletter">https://matthiasott.com/newsletter</a></p>
<p>–</p>
<p>PS: If you are thinking about starting your own newsletter soon, have a look at <a href="https://buttondown.email/refer/ownyourweb">Buttondown</a>, the service I’m using for Own Your Web. Setting up the newsletter was a breeze and Justin and team were quick to respond whenever I had questions. But what I enjoy the most is how easy it is to <em>actually write</em> your newsletter. You can write your email in plain markdown or, if you prefer that, in a rich text editor. To add images, you simply drag and drop them into your text. They will automatically get delivered via CDN. You can also configure your own sending (or even hosting) domain and there are numerous advanced features (depending on the plan), like automations, webhooks, tags, or an API to programmatically interact with your newsletter and subscribers. And, starting with the basic plan, you can customize your newsletter with your own HTML and CSS snippets.</p>
<p>If you use the following link, you’ll <strong>get $9 off of your first month</strong> of Buttondown. In return, I’ll earn a commission that supports my newsletter. 🤗</p>
<p><a href="https://buttondown.email/refer/ownyourweb">https://buttondown.email/refer/ownyourweb</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>My Favorite Mac Apps in 2023</title>
                <link>https://matthiasott.com/notes/my-favorite-mac-apps-in-2023</link>
                <pubDate>Mon, 11 Sep 2023 10:25:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/my-favorite-mac-apps-in-2023</guid>
                <description><![CDATA[
                    
																												<style>h3 a {text-decoration: underline}</style>
																						
																																	<p>After three years, I finally replaced my old Intel MacBook Pro – and its cracked screen – with a new machine. I’m still holding back a bit with my excitement for this 16-inch M1 Max MacBook Pro, just because I was really disappointed with my previous Mac. But thus far, it has been amazing. While I’m writing this, I’m sitting in bed, with the computer on my lap, and everything is running so smoothly and blazingly fast. This is as close as it gets to working at the speed of thought – and all this without any fan noise.</p>
<p>Whenever I get a new computer, I use it as an opportunity to start fresh. It’s a bit like moving: you only take with you what you really need and want in your new home. That’s why I also like to reevaluate which apps I use or don’t use anymore and have a look at what other applications I could try to improve my setup. After all, that’s part of the joy of setting up a new machine, right?</p>
<p>Here’s a list of all the apps I installed on my Mac this time in addition to what’s installed on a new Mac already. I might install more apps and I’ll add them to this post later. I’ll also leave out all the chat and video conferencing apps like Slack, Discord, Zoom, MS Teams, Skype, WebEx, and so forth. Also, it’d be great to hear: which apps you can’t live without on your Mac?</p>
<h2>Writing – and Reading</h2>
<h3><a href="https://ia.net/de/writer">iA Writer</a></h3>
<p>My writing app of choice. 😍 iA Writer is where I jot down rough notes, write <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">shitty first drafts</a>, and finish my final posts. Everything is synched across my devices via iCloud so I can write and take notes whenever and wherever I want. I’ve been using it for years now and can’t imagine working without it.</p>
<h3><a href="https://reederapp.com">Reeder 5</a></h3>
<p>RSS! RSS! RSS! (Almost) every day, I start the day by opening Reeder to see what all of you wrote on their personal sites. You’ll find <a href="https://matthiasott.com/notes/rss-feed-collection-personal-websites">my OPML of personal sites here</a>, by the way. The latest version of this neat RSS feed reader app even comes with sync via iCloud, so you don’t need an additional service like Feedly anymore to save and sync your feeds. </p>
<h2>Workflow and Productivity</h2>
<h3><a href="https://affiliate.notion.so/h66mk1foltve">Notion</a></h3>
<p>It took a bit getting used to Notion, because it offers so much flexibility in how you structure your documents and workspaces. But it has since become an invaluable tool for me to document and refine project information and workflows. Notion is like Confluence should be. ;) Notion is also completely free to get started. </p>
<p>In case you want to try it, you can use this link to sign up, by which you’ll also help support me and my content 🤗: <strong><a href="https://affiliate.notion.so/h66mk1foltve">Get Notion</a></strong></p>
<h3><a href="https://culturedcode.com/things/">Things</a></h3>
<p>Things is the task management tool I use to organize my days and projects. It is available for Mac, iPhone (and Watch), and iPad and it is just great to be able to access your lists of lists from everywhere. Although I’m not a practitioner of GTD (Getting Things Done) or any other productivity technique, I still use Things on a daily basis to keep track of the most important tasks.</p>
<h3><a href="https://timeryapp.com">Timery for Toggl</a></h3>
<p>I track my hours across all my clients projects (and, as of late, unpaid side projects) with <a href="https://toggl.com">Toggl</a>. It works really well in the browser, but the mobile app has always been a pain to use, especially when it comes to entering times manually. I recently came across Timery, which provides a great UI on top of free or paid Toggl accounts. Thus far, it looks like it might enhance my time tracking experience a lot, especially on iOS. </p>
<h3><a href="https://cron.com">Cron</a></h3>
<p>Cron is “the next-generation calendar for professionals and teams” with an intuitive UI built for speed and I wanted to give it a try. It currently only works with Google Calendar, which might keep me from switching completely as my whole calendar is on iCloud at the moment. But we’ll see how it goes.</p>
<h3><a href="https://www.spotify.com/download/other/">Spotify</a></h3>
<p>I don’t function without music. It’s also my favorite productivity tool. 😉</p>
<h2>System Tools and Utilities</h2>
<h3><a href="https://www.raycast.com">Raycast</a></h3>
<p>Raycast is a launcher for MacOS. It replaces the default Spotlight search and lets you complete tasks, calculate (and you can hit ﻿⏎ to copy the result!), search, and, of course, open apps quickly. You can also install various extensions for tools like the Calendar, Shortcuts, GitHub, Notion, VS Code, Zoom, and many more. My personal favorite: the window management extension that lets you define keyboard shortcuts for all kinds of window positions.  </p>
<h3><a href="https://theunarchiver.com">The Unarchiver</a></h3>
<p>A neat little tool to unpack all kinds of archives, from ZIP to RAR to Tar to 7z.</p>
<h3><a href="https://apps.apple.com/app/amphetamine/id937984704?mt=12">Amphetamine</a></h3>
<p>Sometimes, your Mac just shouldn’t go to sleep. In a workshop or while presenting or teaching online, for example. Amphetamine takes care of that.</p>
<h3><a href="https://radiosilenceapp.com">Radio Silence</a></h3>
<p>Just like <a href="https://www.obdev.at/products/littlesnitch/index.html">Little Snitch</a>, Radio Silence is a firewall app that monitors your internet connection and shows you every network connection in real time. This way, you can quickly identify whenever an app wants to “phone home” and block it with a single slick.</p>
<h3><a href="https://sindresorhus.com/aiko">Aiko</a></h3>
<p>Aiko is a free app by Sindre Sorhus that provides high-quality transcription for audio files from meetings, lectures, podcasts, and more. It is powered by powered by OpenAI’s Whisper model running locally on your device.</p>
<h3><a href="https://github.com/keycastr/keycastr">KeyCastr</a></h3>
<p>If you’re running online workshops or recording screencasts, it can be really helpful to display all your keystrokes in a corner of the screen. KeyCastr is a free, open-source utility that lets you do this.</p>
<h3><a href="https://apps.apple.com/de/app/pro-mouse/id1505869474?mt=12">Pro Mouse</a></h3>
<p>Pro Mouse is another useful utility when you’re presenting or running workshops online. It puts a circle around your mouse pointer and lets you zoom in and even draw on the screen.</p>
<h2>Web Development</h2>
<h3><a href="https://code.visualstudio.com">Visual Studio Code</a></h3>
<p>Well, it’s VS Code. ¯_(ツ)_/¯</p>
<h3><a href="https://www.git-tower.com/mac">Tower</a></h3>
<p>Tower is my Git client of choice. It’s simple and a joy to use and makes some of the more advanced Git features easy to handle for people who don’t like to do everything via the command line.</p>
<h3><a href="https://git-fork.com">Fork</a></h3>
<p>Another Git client that some people recommended. I will give it a try and see how it does compared to Tower.</p>
<h3><a href="https://panic.com/transmit/">Transmit 5</a></h3>
<p>I still use SFTP regularly, and Transmit by Panic just gets the job done, fast and reliably, including rules (“don’t upload .DS_Store files, please”) and file sync.</p>
<h3><a href="https://iterm2.com">iTerm2</a></h3>
<p>iTerm2 is a replacement for the macOS Terminal with great features like search and autocomplete.</p>
<h3><a href="https://sequel-ace.com">Sequel Ace</a></h3>
<p>Sequel Ace is the “sequel” to Sequel Pro. It’s a fast, easy-to-use database management application for working with MySQL and MariaDB databases.</p>
<h3><a href="https://imageoptim.com/mac">ImageOptim</a></h3>
<p>ImageOptim is an open-source tool to dramatically reduce the size of images using modern image optimization tools and encoders. Invaluable if you care about web performance or need to stay within a certain file size budget with your images. </p>
<h2>Design</h2>
<h3><a href="https://www.adobe.com/creativecloud.html">Adobe After Effects, Illustrator, InDesign, Photoshop, Photoshop Beta, XD</a></h3>
<p>For anyone working in the creative industry, Adobe’s apps like Photoshop or Illustrator are indispensable tools and many of them are effectively industry standards. In my work with agencies, for example, I use Photoshop, Illustrator, and currently also Adobe XD on a daily basis.</p>
<h3><a href="https://www.figma.com/downloads/">Figma</a></h3>
<p>More and more agencies and clients of mine are using Figma, so that’s obviously a must-have as well.</p>
<h3><a href="https://affinity.serif.com/">Affinity Designer, Photo, and Publisher 2</a></h3>
<p>If you’re looking for design and photo editing software that is easy to use and <em>not</em> subscription-based, Affinity’s apps might be for you. For €179.99, you’ll get three powerful apps that run smoothly on Mac, Windows, and iPadOS. You can also try them out for free for 30 days.</p>
<h2>Audio and Video</h2>
<h3><a href="https://rogueamoeba.com/loopback/">Loopback</a></h3>
<p>Rogue Amoeba’s Loopback is an amazing, invaluable tool if you want full control over your audio workflow. With Loopback, you can combine audio coming from applications and audio input devices and turn them into as many virtual input or output devices as you need. </p>
<h3><a href="https://www.blackmagicdesign.com/products/atemmini/software">Blackmagic ATEM Software Control</a></h3>
<p>My workshop setup also includes an ATEM Mini video switcher and ATEM Software Control lets me configure everything, including on-the-fly equalization of the microphone audio signal.</p>
<h3><a href="https://eqmac.app">eqMac</a></h3>
<p>An equalizer for macOS for more oomph! when listening to RTJ, Kendrick, etc.</p>
<h3><a href="https://www.reaper.fm/index.php">Reaper</a> + <a href="https://ultraschall.fm">Ultraschall</a></h3>
<p>Reaper is a DAW (digital audio workstation) for recording, editing and producing audio. Ultraschall is a free extension for Reaper that turns the UI into an optimized podcast production environment.</p>
<h3><a href="https://support.izotope.com/hc/en-us/articles/6658125027345-Welcome-to-iZotope-Product-Portal">iZotope Product Portal + RX Elements + Nectar + Neutron</a></h3>
<p>iZotope’s audio plugins and software tools let you mix, repair, clean up, and improve your audio recordings. </p>
<h3><a href="https://handbrake.fr">HandBrake</a></h3>
<p>HandBrake is a useful little open-source tool to convert video from nearly any format to a selection of modern, widely supported codecs and formats like MP4 or WebM.</p>
<h3><a href="https://www.blackmagicdesign.com/de/products/davinciresolve">DaVinci Resolve</a></h3>
<p>Used by Hollywood, Blackmagic’s DaVinci Resolve is an all-in-one software for video editing, color correction, and motion graphics, much like Adobe Premiere or Apple’s Final Cut Pro. With one key difference: it’s free.</p>
<p>☕︎</p>
<p>Alright, that’s the list for now. Let me know in the Webmentions below, for example by <a href="https://mastodon.social/@matthiasott/111045559407143579">answering to this post on Mastodon</a>, which apps you can’t live without and make sure to <a href="https://matthiasott.com/rss">subscribe via RSS</a> for the next blog post. 😉</p>

																												            	]]></description>
            </item>
                    <item>
                <title>WOFF Has Left the Building</title>
                <link>https://matthiasott.com/notes/woff-has-left-the-building</link>
                <pubDate>Thu, 07 Sep 2023 10:16:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/woff-has-left-the-building</guid>
                <description><![CDATA[
                    
																																	<p>In a recent project, the web fonts I bought and downloaded were only available as WOFF2 files. Staring in disbelief at the unpacked folder full of WOFF2 files, I wondered: Why did they not include WOFF files as well? Isn’t WOFF still needed? Or is it finally time to ditch WOFF? At least building for the Web includes regularly reevaluating how you do things. So, <a href="https://mastodon.social/@matthiasott/110850563800778748">I asked the people of Mastodon</a>. The unanimous answer: It’s WOFF2 or nothin’!</p>
<p>I still vividly remember how <a href="https://www.zachleat.com/web/retire-bulletproof-syntax/">a post by Zach</a> at the end of 2016 made me abandon the “bulletproof” @font-face syntax that also included TTF, EOT, and SVG font formats in favor of a much-reduced version using only two font formats: WOFF2 and WOFF.</p>
<p>Apparently, the web font world has changed once more and the new modern <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face">@font-face syntax</a> now looks like this:</p>

																												
																												<pre><code class="language-css">@font-face {

  font-family: "Open Sans";
  src: url("opensans.woff2") format('woff2');

}</code>
</pre>
																						
																																	<p>Pretty simple, right? Just one format.</p>
<p>As Zach wrote in his article, <em>“given that web fonts for readable content fall back to system fonts when formats are not supported, it’s ok to be progressive here.”</em></p>
<p>Which browsers are we sending into the dark lands of system fonts with this syntax?</p>
<ul>
<li>IE 11, 10, 9, 8, 7, …</li>
<li>Chrome 4 through 35</li>
<li>Edge 12 and 13</li>
<li>Safari 3 through 9.1</li>
<li>Firefox 2 through 38</li>
<li>Opera 22 and below </li>
<li>Android 4.4.4 KitKat (<a href="https://www.androidauthority.com/android-13-version-distribution-may-2023-3332337/">less than 0.5 % of Android devices</a>) and below</li>
<li>Mobile Safari (iOS) 3.2 through 9.3</li>
</ul>
<p><a href="https://caniuse.com/woff2">According to Caniuse.com</a>, almost 95 % of users have a browser with support for WOFF2 today. If you look at the date relative statistics, you’ll notice that the major shift happened in 2015 and 2016. By the end of 2016, all major browsers supported WOFF2 in their latest versions. Seven years later, support has grown to a level where it seems totally fine to not include WOFF anymore – unless you know for a fact that a large percentage of your users is still using older devices and browsers. On the other hand, there is no reason to remove WOFF from already existing projects either. If you include WOFF2 <em>before</em> WOFF in your @font-face syntax – and the order really matters here –, modern browsers will use and download the WOFF2 versions anyway.</p>
<p>But if you find yourself sitting in front of your computer one day, staring at a folder full of only WOFF2 files, it is comforting to know that WOFF has indeed left the building.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Pointing Fingers</title>
                <link>https://matthiasott.com/notes/pointing-fingers</link>
                <pubDate>Thu, 31 Aug 2023 23:08:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/pointing-fingers</guid>
                <description><![CDATA[
                    
																																		<figure class="quote">
							<blockquote><p>Don’t use your finger!”</p>
</blockquote>
												</figure>
																
																																	<p>Regardless of which country and school system you grew up in, chances are you have heard this sentence at least once from one of your teachers. I, for one, remember my elementary school teacher rebuking pupils who were pointing at the lines of words in their books. And thirty years later, as my son just confirmed to me, this hasn’t changed a bit. At a certain age, students are told to not read with their fingers anymore.</p>
<p>The idea behind this is that fluent readers don’t have to rely on their fingers anymore and that pointing will slow students down and prevent them from growing into fluent, expressive readers. So while almost all children learning to read will naturally use their fingers as training wheels to not lose focus and to stay in line, the same behavior is later often seen as an indicator for poor reading abilities and, sometimes, even a reason for concern. If little Jack can’t read properly without using his index finger as a pointer, he probably has some reading difficulties, right?</p>
<p>Imagine my astonishment, when I listened to <a href="https://youtu.be/5tbtrUZm12k?si=JY-5uP5A_7U9gkEP">an interview</a> with <a href="https://www.jimkwik.com">Jim Kwik</a> in which he said (I’m paraphrasing):</p>

																												
																																		<figure class="quote">
							<blockquote><p>We read <span class="numbers">25</span> to <span class="numbers">50</span> per­cent faster when we use our fin­ger. At the same lev­els of comprehension.”</p>
</blockquote>
												</figure>
																
																																	<p><em>What?</em> 🤯</p>
<p>And indeed, as a quick online search revealed, this seems to be a well-known fact in the speed reading community, which I am – obviously – not a member of.</p>
<p>But why does it work?</p>
<p>As Jim explains, our brains are wired to detect and be attracted by movement. If anything moves in our field of view – let’s take a saber-tooth tiger in a bush as an underused example, or a lightsaber, if you like – it is hard to not let your attention be grabbed by it. By using our finger, we force our brain to focus on the movement right in front of us. More focus means less distraction and this faster reading. Another reason is that our visual and tactile senses are closely linked. What does a baby do when you rattle with a key or a colorful toy in front of her eyes? She grabs for the toy. You can see <em>and</em> grab the thing? Now, that must be real.</p>
<p>All this is also backed up by scientific studies: as <a href="https://www.sciencedaily.com/releases/2021/09/210926182721.htm">one study by researchers at the University of Sydney showed</a>, for example, finger tracing even makes learning in general easier and more motivating. Associate Professor Paul Ginns provides an additional explanation:</p>
<p><em>“It seems that humans are biologically wired so that we pay closer attention to the space near our hands. So, when using an index finger to trace visual stimuli, these elements of a lesson receive processing priority. Tracing can also assist learning because it ‘chunks’ all the important elements of new material into one piece of information, making it easier for us to learn.”</em></p>

																												
																																	
																												
																																		<figure class="quote">
							<blockquote><p><span class="dquo">“</span>The past is a&nbsp;for­eign coun­try: they do things dif­fer­ent­ly&nbsp;there.</p>
</blockquote>
												<figcaption>L.P. Hartley, <cite>The Go-Between</cite> </figcaption>
										</figure>
																            	]]></description>
            </item>
                    <item>
                <title>Good Riddance, GPTBot</title>
                <link>https://matthiasott.com/notes/good-riddance-gptbot</link>
                <pubDate>Wed, 09 Aug 2023 23:14:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/good-riddance-gptbot</guid>
                <description><![CDATA[
                    
																																	<p>Just like Google is constantly indexing the Web, OpenAI is <a href="https://mashable.com/article/open-ai-gptbot-crawler-block">now</a> crawling the open Web to scrape content from websites for free to train their LLM (lucrative language model) “AI” products.</p>
<p>But, as I learned from <a href="https://follow.ethanmarcotte.com/@beep/110861370716939127">a post by Ethan on Mastodon</a>, <a href="https://platform.openai.com/docs/gptbot">you can disallow GPTBot</a> to get its tiny robot hands on your writing by adding those two lines of code to your website’s robots.txt:</p>

																												
																												<pre><code class="language-sh">User-agent: GPTBot
Disallow: /
</code></pre>
																						
																																	<p>Good riddance, GPTBot! 👋</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The New CSS</title>
                <link>https://matthiasott.com/notes/the-new-css</link>
                <pubDate>Sun, 18 Jun 2023 23:29:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-new-css</guid>
                <description><![CDATA[
                    
																																	<p>Alright, let’s write more about <a href="https://www.matuzo.at/blog/2023/css-css-css/">CSS! CSS! CSS!</a></p>
<h2>Change</h2>
<p>I’ve been writing CSS since the early 2000s, shortly after we ditched building web layouts with tables and spacer GIFs in favor of hacking our designs together with floats. CSS has since become my favorite programming language and, looking back on how the language has developed in all those years, one thing is certain: CSS is not the same anymore. The CSS we were writing in 2003 was different from the CSS we were writing ten years later in 2013. Fast forward another ten years, and the CSS we are writing today is again far more powerful but also far more complex than ever before.</p>
<p>The fact that CSS has evolved isn’t a huge revelation in the first place, of course. CSS, just like the Web, has always been changing. Remember the excitement, for example, when we first got to use properties like box-shadow, background-size, or border-radius? </p>
<p>If you attended this year’s <a href="https://cssday.nl/2023">CSS Day</a> in Amsterdam, however, or watched the videos <a href="https://youtube.com/@WebConferencesAmsterdam">via the live stream</a>, like I did, you might have noticed that this time, something feels different. This time, the changes coming to CSS are so fundamental on so many levels that it almost feels like a singularity. There is now the CSS before and the CSS after the early 2020s. Want to select the parent of an element? Not possible because of how the browser parses CSS? Well, now it is, <a href="https://matthiasott.com/notes/css-has-a-parent-selector-now">with :has()</a>. Want to adjust an element based on the dimensions of its container? Not possible because it might create endless loops? Well, it is now, thanks to <a href="https://www.smashingmagazine.com/2021/05/complete-guide-css-container-queries/">container queries</a> and the accompanying new length units. Each of those features in itself is an incredibly useful and long-awaited addition to CSS and the Web platform. Together with other modern features like custom properties, <a href="https://web.dev/min-max-clamp/">min(), max(), or clamp()</a>, sizing keywords like <a href="https://moderncss.dev/contextual-spacing-for-intrinsic-web-design/#fitminmax-content">min-content, max-content, and fit-content</a>, you can create flexible and robust components and layouts like never before. The very foundations of how we understand and write CSS have changed radically.</p>
<h2>Sea Change</h2>
<p>Beyond all this, however, there is an even bigger and more fundamental shift happening that characterizes this new era of CSS:</p>
<p>CSS is now the most powerful design tool for the Web.</p>
<p>For many, many years, creating high-quality websites largely meant that designers had to fight what felt like an uphill battle to somehow make their ideas work in browsers. At the same time, sentences like “I’m really sorry, but this solution you designed just can’t be done with CSS” became part of each developer’s repertoire of standard answers. The pretty pictures designers envisioned (and got approval for from stakeholders) were often too advanced for the still maturing styling language. Creating killer websites meant understanding and working around the constraints and quirks of CSS.</p>
<p>So the designers learned their lessons and started to create more compatible layouts, for example by using the average 12-column grid almost exclusively. The platform was the limiting factor.</p>
<p>This has now changed to the opposite.</p>
<p>Want to emulate and confidently design a layout that leverages <a href="https://matthiasott.com/articles/resolving-css-gridlock">the potential of CSS Grid</a> in any of the major design tools like Figma, Adobe XD, or Sketch? Not possible. Want to define a color in one of the <a href="https://oklch.com/#70,0.1,36,100">wide gamut color spaces like OKLCH</a>, which result in more vibrant and natural colors on modern screens, maybe by using a color picker? Not possible. You want to simulate <a href="https://utopia.fyi">fluid typography that dynamically scales font sizes based on the viewport</a> or container size and also define minimum and maximum values like you can do it in CSS with clamp()? Not possible. Or how about defining a fallback font in case your web font doesn’t load? Good luck using any screen design tool on the market. Not only are all of those things – very clearly – important design decisions, but they are also easily possible with just a few lines of CSS. In this new era of CSS, the <a href="https://www.oddbird.net/2022/11/11/platform-tools/">design tools are now the limiting factor</a>.</p>
<p>In <a href="https://youtu.be/zpKq4sbw1nQ">a talk I gave last year at CSS Café</a>, I also talked about ways to close this growing gap between design tools and CSS. Closer collaboration, <a href="https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping">more prototyping</a>, and more people <a href="https://www.trysmudford.com/blog/i-think-im-a-design-engineer/">engineering the design</a> at the intersection of web design and development are just some of the things we can do. But all of this isn’t easy and will take time. Some teams are already exploring and working in new, more connected ways. For others, it will be harder to break old habits.</p>
<h2>Tool Change</h2>
<p>What I expect to see overall is that the perception and thus the role of CSS in the design process will change from being mainly a presentational styling tool at the end of the waterfall to a tool that is being used at the heart of making design decisions early on. The value of a designer who knows how to prototype and build web components with modern CSS will therefore increase a lot. As a design engineering freelancer, I’m noticing this already.</p>
<p>After his talk at CSS Day, <a href="https://heydonworks.com">Heydon</a> got asked whether he thinks that designers should now learn CSS. He answered with the polite restraint and diplomatic prudence of someone who had (possibly) once broken the Large Hadron Collider. But his answer showed how CSS has already been understood and used by many people: as a design tool, a means to an end, a material to explore and work with. And, as a tool that lets you think and make decisions, at the center of the design process.</p>

																												
																																		<figure class="quote">
							<blockquote><p>I learned <span class="caps">CSS</span> as a&nbsp;tool for doing design­ing and that’s how I&nbsp;see design. Design is a&nbsp;thought process […] and it’s a&nbsp;very abstract thing where you’re just try­ing to achieve some­thing. And you pick up tools along the way to do that. So, Fig­ma might be a&nbsp;tool and Pho­to­shop might be a&nbsp;tool, but also, <span class="caps">CSS</span> could be a&nbsp;tool.”</p>
</blockquote>
												</figure>
																
																																	<p>This is the new CSS. The most powerful design tool for the Web ever. Only by using CSS, you can leverage what the platform is now capable of. Only by designing with the new CSS, you can create designs that flexibly adapt to different contexts and different types of content. Only by using the new CSS, you can build designs that are truly “of the Web”, materially honest, and elegantly efficient. Should designers  learn CSS? As Heydon said:</p>

																												
																																		<figure class="quote">
							<blockquote><p>I don’t know if they should, but they&nbsp;could.”</p>
</blockquote>
												</figure>
																            	]]></description>
            </item>
                    <item>
                <title>Writing, Fragments, and the Memex Method</title>
                <link>https://matthiasott.com/notes/writing-fragments-and-the-memex-method</link>
                <pubDate>Tue, 16 May 2023 23:26:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/writing-fragments-and-the-memex-method</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://doctorow.medium.com/the-memex-method-238c71f2fb46">This piece by Cory Doctorow</a> about blogging, which I read a few days ago, is exceptional. Why?</p>
<p>I already knew that blogging – and having a personal website in general – <a href="https://matthiasott.com/articles/into-the-personal-website-verse">is a superpower</a>.</p>
<p>I had heard before of Vannevar Bush’s groundbreaking essay “<a href="https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/">As We May Think</a>” that directly inspired the invention of hypertext by Ted Nelson and Douglas Engelbart, which, in turn, had a huge influence on the WorldWideWeb project.</p>
<p>I also knew that a blog lets you document your thoughts and impressions in what can become an archive for your notes and a record of your experiences over time.</p>
<p>I knew that by sitting down and writing, your writing will inevitably improve.</p>
<p>And, I knew that some people are bad at writing regularly and that others – and that’s why we like to call them “writers” – aren’t.</p>
<p>What Cory describes in his post, however, goes far beyond those individual ideas. He combines them into an approach to blogging that is maybe the most compelling and empowering reason to have a blog.</p>
<h2>The Act of Publishing Keeps Us Honest</h2>
<p>It all starts with the idea that a blog isn’t just a mere collection of notes in a Web-log. It is more than that because it involves one crucially important, magical act: publishing. Publishing our notes holds us as authors accountable, it forces us to shape our notes so that others will be able to make sense of them as well. Instead of quickly jotting down an incomplete fragment, we are forced to think about what it really is that makes the thought we are writing about so valuable. Why is it relevant? What is the essence of it? What is the best structure to convey that? What do we need to include to communicate it to someone reading our post? This, in turn, also makes it easier for ourselves to interpret our notes later. Instead of kidding ourselves into thinking that our future self will certainly be able to decode our dashed off notes, when we want to consult our record of collected memories, publishing our notes forces us to exercise care. As Cory writes: <em>“Writing for an audience keeps me honest.”</em></p>
<h2>The Source Material</h2>
<p>The second important realization is that blogging allows you to collect a vast amount of disparate fragments of information. Any thought, any link, any idea that you come across and that seems to be significant can be documented – including the context and why it seems important – and collected into your own personal “Memex”. That’s the name Vannevar Bush picked in “As We May Think” for his vision of a future device <em>“in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.”</em></p>
<p>As a supplement to your memory, all those disparate notes sit there ready to suddenly merge into new ideas and turn into something bigger:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Every now and again, a&nbsp;few of these frag­ments will stick to each oth­er and nucle­ate, crys­tal­liz­ing a&nbsp;sub­stan­tial, syn­thet­ic analy­sis out of all of those bits and pieces I’ve salt­ed into that solu­tion of poten­tial sources of inspiration.”</p>
</blockquote>
												</figure>
																
																																	<p>Rick Rubin describes a similar creative process in his book “<a href="https://www.penguinrandomhouse.com/books/717356/the-creative-act-by-rick-rubin/">The Creative Act</a>”, which I recently listened to in the excellent audiobook version. His approach is to not limit his input <em>at all</em>, meaning that he curiously allows to enter his mind whatever draws his attention, regardless of whether it might seem relevant or “useless” in his current situation. There is no such thing as useless information, because you never know which new ideas will emerge as a synthesis of all the individual fragments of creative input you were exposed to in the past. Limiting your input will limit the potential for new combinations to arise. Everything we see, do, think, feel, imagine, and experience is the source material, and from it, we build each creative moment.</p>

																												
																																		<figure class="quote">
							<blockquote><p>To the mind, this mate­r­i­al appears to come from with­in. But that’s an illu­sion. There are tiny frag­ments of the vast­ness of Source stored with­in us. These pre­cious wisps arise from the uncon­scious like vapor, and con­dense to form a&nbsp;thought. An&nbsp;idea.”</p>
</blockquote>
												</figure>
																
																																	<p>The thing is: This process isn’t a science. The only thing we can do is to be curious, keep a record of the things we deem to be significant, and constantly look for clues pointing to new ideas, for fragments of thought suddenly turning into something bigger.</p>
<p>What does Cory Doctorow do when one of those “nucleation events” occurs? He uses the search and the tag-based filters built into his blog(s) to surface everything he has ever written about that subject. For one, to aide his memory, but also as a starting point for further research.</p>

																												
																																		<figure class="quote">
							<blockquote><p>The avail­abil­i­ty of a&nbsp;deep, dig­i­tal, search­able, pub­lished and pub­lic archive of my thoughts turns habits that would oth­er­wise be time-wasters — or even harm­ful — into some­thing valuable.</p>
<p>[…]</p>
<p>That’s how blog­ging is com­pli­men­ta­ry to oth­er forms of more seri­ous work: when you’ve done enough of it, you can get entire essays, speech­es, sto­ries, nov­els, spon­ta­neous­ly appear­ing in a&nbsp;state of near-com­plete­ness, ready to be written.”</p>
</blockquote>
												<figcaption>Cory Doctorow </figcaption>
										</figure>
																
																																	<h2>A Habit – and a Decision</h2>
<p>There is just one piece missing in the puzzle for this “Memex Method” to work. Writing regularly. Daily, even. I know that many of us – including myself – often don’t “find” enough time to write. But here’s the catch: writing every day isn’t just an aspirational goal, it’s a decision. You don’t wait until you find some time to write or only write when you’re kissed by the muse. No, you make the conscious decision to write every day, because that’s what a writer does. Over time, your writing will improve, but more importantly, writing and filling your archive will turn into a habit.</p>
<p>Wouldn’t it be great to feel invincible because <a href="https://buttondown.email/robinrendle/archive/build-the-archive/">you’re building an archive</a>?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Simple Truths About Personal Websites</title>
                <link>https://matthiasott.com/notes/simple-truths-about-personal-websites</link>
                <pubDate>Sun, 30 Apr 2023 02:14:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/simple-truths-about-personal-websites</guid>
                <description><![CDATA[
                    
																																	<p>Nobody knows you.</p>
<p>You are not entitled to anyone’s attention.</p>
<p>Be respectful, be helpful, be kind.</p>
<p>Your personal website isn’t a replacement for social media. It’s much more than that.</p>
<p>Who is your site for? </p>
<p>Document your life.</p>
<p>Your perspective matters.</p>
<p>Capture your thoughts.</p>
<p>Share what makes you lean forward.</p>
<p>Use RSS.</p>
<p>You never know what sticks.</p>
<p>Make it easy to publish.</p>
<p>Enjoy the process.</p>
<p>The adverb is not your friend.</p>
<p>Typography is everything.</p>
<p>You will surprise yourself.</p>
<p>You will grow.</p>
<p>Be curious. Be intentional.</p>
<p>This is your playground. Play.</p>
<p>Your canvas is limitless.</p>
<p>Sell the world.</p>
<p>Hit publish.</p>
<p>It’s yours.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS Custom Properties Beyond the :root</title>
                <link>https://matthiasott.com/notes/custom-properties-beyond-the-root</link>
                <pubDate>Thu, 20 Apr 2023 13:39:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/custom-properties-beyond-the-root</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://front-end.social/@matuzo/110225720090046288">Manuel asked</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Is there a&nbsp;good rea­son why we’re defin­ing glob­al cus­tom prop­er­ties on :root/​html and not on&nbsp;body?”</p>
</blockquote>
												</figure>
																
																																	<p>It’s a great question: Everybody just seems to define most of their global custom properties (aka CSS variables) on the <code>:root</code> selector without giving it a second thought – and so am I. But why <code>:root</code>? </p>
<p>The answer is that there is no real reason. It’s just a convention. Defining custom properties on the <code>:root</code> selector might make them look a bit more like global variables, because <code>:root</code> is the equivalent of the root element of your document. In HTML, this is the <code>html</code> element. In SVG, it is the <code>svg</code> element. But besides this potential gain of flexibility – in case you ever wanted to apply the same properties to different types of documents – there is no real technical benefit. You could just as well define all global custom properties on the <code>body</code> element and they would still work exactly the same way. </p>
<p>Sure, you would need to write your JavaScript in a slightly different way, if you wanted to work with your custom properties in JS. Instead of accessing them via the document root element like this:</p>

																												
																												<pre><code class="language-js">getComputedStyle(document.documentElement).getPropertyValue("--color")</code>
</pre>
																						
																																	<p>you would need to retrieve or set their values on the body element:</p>

																												
																												<pre><code class="language-js">getComputedStyle(document.body).getPropertyValue("--color")</code>
</pre>
																						
																																	<p>But this also is just a matter of preference.</p>
<p>Also, the fact that <code>:root</code> has a higher specificity than <code>html</code> might be interesting to know but also doesn’t really make a difference in practice.</p>
<h2>The Limits of Inheritance</h2>
<p>So yes, there seem to be no real differences between using <code>:root</code> and <code>body</code>. And therefore, using <code>:root</code>, as it is the outermost element, seems to make the most sense. However, Manuel pointed me to the fact that because of how the CSS inheritance model works, using <code>:root</code> does not always guarantee that a custom property is indeed inherited into all elements. It doesn’t currently work for the <code>::backdrop</code> pseudo-element, for example, which is the element behind elements in full screen mode like &lt;dialog&gt;, as well as for the <code>::selection</code> pseudo-element that lets you style the parts of a document that a user has selected. In both cases, trying to use a custom property that has been defined on :root will prove fruitless. The <a href="https://github.com/w3c/csswg-drafts/issues/6641">CSS Working Group is discussing</a> ways to solve this. But it is definitely an issue many people might not be aware of.</p>
<h2>Avoiding :root Growth</h2>
<p>Regardless of those inconsistencies in inheritance and although we could also define them on &lt;body&gt;, using the <code>:root</code> selector to define our global custom properties has become a common practice. But what’s really interesting to me is that by using this convention, we also seem to have become a bit complacent in the way we use custom properties. Because defining most or all of your custom properties on <code>:root</code> can also become a problem. <a href="https://css-tricks.com/breaking-css-custom-properties-out-of-root-might-be-a-good-idea/">Kevin Powell has written about this</a> on CSS-Tricks: if you just use this single place for all your custom properties, you might be able to manage all the “settings” of your CSS in one place, but you will also lose a lot of flexibility. When building components, for example, it is important to design and code them in such a way that you can easily change the implementation or add or remove them without affecting the global code around them or even breaking other parts of the system. Globally defined local properties would make that a lot harder. There is just no reason to define local custom properties in <code>:root</code> that actually belong to individual components.</p>
<p>As Lea Verou noted in her brilliant talk <a href="https://www.youtube.com/watch?v=ZuZizqDF4q8">CSS Variable Secrets</a> at CSS Day last year, we are also still not leveraging the full potential of custom properties when it comes to their depth, meaning how many properties inherit or include values from other properties. Or, to put it in another way, we don’t put custom properties inside each other very often. One reason might be that we are still mostly treating CSS custom properties like constants. We mostly use them as replacements for fixed values that we only have to define in one central place, which often happens to be, you guessed it, <code>:root</code>. Leaving this habit behind, however, and understanding that custom properties can do so much more is the key to unlocking their full potential.</p>
<p>To give you just one example derived from Lea’s talk, you can use custom properties locally that are basically like private variables but based on a global variable. Sounds complicated?
Imagine a simple button component with a background color stored in a global custom property:</p>

																												
																												<pre><code class="language-css">/* tokens.css */
:root {
	--color: hsl(160, 100%, 75%);
}

/* button.css */
button {
  background-color: var(--color);
}</code>
</pre>
																						
																																	<p>This would work well in general and would also inherit the color value nicely into the button component. In a design system (or a modular website), this is exactly what you want. However, it is always a good idea to provide <a href="https://www.matuzo.at/blog/2022/100daysof-day1/">a fallback for custom properties</a>, also because the component would then still work well even without the <code>--color</code> property being defined. With a local custom property that is based on the global property but already has the fallback baked in, you maintain the flexibility of being able to manipulate the color from the <em>outside</em> of the component. At the same time, you make the implementation much more robust:</p>

																												
																												<pre><code class="language-css">/* tokens.css */
:root {
	--color: hsl(160, 100%, 75%);
}

/* button.css */
button {
  --_color: var(--color, black)
  background-color: var(--_color);
}</code>
</pre>
																						
																																	<p>If we now use the button component within a system that provides a <code>--color</code>, the button has a background in the color we defined. If not, the component still works and uses the fallback color, black, instead. Inside of our component, we can use the local custom property (written with an underscore, again a convention) to define hover styles, borders, box-shadows, and more. And, we can still manipulate or set the <code>--color</code> variable from the outside of our component without breaking it. As Lea puts it: CSS variables effectively allow us to create a higher-level styling API.</p>
<p>This is just one powerful example which shows that combining global with local properties can lead to much more flexible and robust CSS. So while it might be still a good idea to define your <em>global</em> custom properties on <code>:root</code> as a best practice, also try to think beyond that. You can use CSS custom properties everywhere all at once.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Starting A New Kirby Project</title>
                <link>https://matthiasott.com/notes/starting-a-new-kirby-project</link>
                <pubDate>Tue, 18 Apr 2023 23:24:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/starting-a-new-kirby-project</guid>
                <description><![CDATA[
                    
																																	<p>Today, I started a new project with <a href="https://getkirby.com">Kirby CMS</a>. (No, it’s not my personal site. That one’s still brewing…)</p>
<p>Kirby is a lightweight, no-fuzz content management system (CMS) created by <a href="https://bastianallgeier.com">Bastian Allgeier</a>, which works well for projects of any size. It is easy to install and amazing to work with in development, also because it adapts to the structure and size of your project and you can flexibly configure the interface of the backend, the Kirby Panel, accordingly. </p>
<p>Kirby is a so-called flat file CMS, which means that in order to create the structure of your website (“app”) with all its subpages and routes etc., you basically create a folder structure and put text files or images inside of those folders. Kirby then pulls the content from those files and displays them. This speeds up the initial setup of the project structure a lot and also means that, if you want to, you can put all your content in the same Git repository you’re using for the rest of your code. No database needed. The nice thing is: your team mates, clients, or content managers don’t have to be as nerdy as you and can still use the Panel to add and edit content as well. As a developer, you get the full flexibility of writing your own templates and template snippets and you can use the many smart, built-in objects and methods to display and manipulate your content. Kirby has great <a href="https://getkirby.com/docs/guide">docs</a>, a <a href="https://getkirby.com/plugins">rich plugin ecosystem</a>, an API to interact with your site or access content, and it can also be <a href="https://getkirby.com/docs/cookbook/setup/headless-getting-started">used as a headless CMS</a>. The team behind and the community around the CMS is lovely and always ready to support you via the <a href="https://forum.getkirby.com">Community Forum </a>, which is already full of answers as well. One last thing: a lot of people seem to be prejudiced against PHP these days, so you will be delighted to learn that Kirby is based on PHP with all the robustness and broad support across the industry that comes with it. 😉</p>
<h2>Kirby = Successful Projects</h2>
<p>So yes, as you might have noticed by now, I am a big fan of Kirby, especially because it allows you to solve common problems in a straightforward way, making my life as a designer and developer so much easier, but also because my clients have <em>always</em> been very happy with the content editing experience in the backend – without exception. Kirby enables successful projects.</p>
<p>But it is not only really useful to build client projects. It also powers <a href="https://getkirby.com/love">loads of personal websites and side projects</a>. So if you are looking for a CMS that is fast as heck and a joy to work with, I’d give it a try.</p>
<p>My plan is to share a bit of my experience and process from this project and from building a few projects with Kirby in the past here on my site. I don’t know which steps or learnings will make it into a post, but I’d love to document a few crucial steps for myself and anyone who wants to build a site with Kirby. </p>
<p>If there is anything that you would like to learn, let me know via a blog post of your own – and a Webmention – or on <a href="https://mastodon.social/@matthiasott">Mastodon</a>. Although I certainly don’t have all the answers, I might run into similar challenges and feel the urge to share how a solution could look like.</p>
<p>Oh! Have you published a post, a tutorial, a plugin, or anything else that could be useful for the community? Let me know as well.</p>
<p>PS: My friend <a href="https://www.matuzo.at/">Manuel Matuzović</a> is rebuilding his personal site with Kirby at the moment and shares his process and many useful tricks on how to build a modern, accessible website in <a href="https://vimeo.com/user196254297">short videos on Vimeo</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>A README Template – With an Automatically Generated Table of Contents</title>
                <link>https://matthiasott.com/notes/a-readme-template-with-an-automatically-generated-table-of-contents</link>
                <pubDate>Tue, 11 Apr 2023 16:28:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/a-readme-template-with-an-automatically-generated-table-of-contents</guid>
                <description><![CDATA[
                    
																																	<p>A while ago, <a href="https://matthiasott.com/notes/how-to-readme">I wrote about what you could include in a README file for a project</a>. Based on this post and <a href="https://www.readme-templates.com">a few practical examples</a> of READMEs, I created and published a template that I will use in my own projects going forward. </p>
<p>It is available on GitHub: <a href="https://github.com/matthiasott/README-template">https://github.com/matthiasott/README-template</a></p>
<p>The template might certainly change a bit over time. But as it is now, I think it includes the most important sections I might need in most projects. Because not every project is created equal, the idea is to just use what you need and delete the rest of the template. So in case you want to use it as a starting point, feel free to modify it – and also notify me about any improvements that could be made.</p>
<h2>An Automatically Generated TOC</h2>
<p>Depending on the size of your README, it might also make sense to also include a TOC, a Table of Contents, at the start of the file. You could create such a TOC manually, but I also found a neat little package called <a href="https://github.com/thlorenz/doctoc">DocToc</a>, that automatically creates such a TOC for you, including anchor links to the respective sections of your file. Actually, you can use DocToc to generate a table of contents not only for a README but for any kind of markdown file inside a local git repository. </p>
<p>You install the package globally via npm (so <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm">Node.js and npm</a> are a requirement):</p>

																												
																												<pre><code class="language-shell">npm install -g doctoc</code>
</pre>
																						
																																	<p>You can then generate or update table of contents for all markdown files including all subfolders with the command</p>

																												
																												<pre><code class="language-shell">doctoc .</code>
</pre>
																						
																																	<p>If you only want to generate or update a TOC in an individual file, you add the file name to the command:</p>

																												
																												<pre><code class="language-shell">doctoc README.md</code>
</pre>
																						
																																	<p>By default, DocToc will create a TOC including anchor links using the GitHub markdown parser. But you can also tell it to create compatible links in the style of Bitbucket, Gitlab, or Ghost, for example, by using a flag:</p>

																												
																												<pre><code class="language-shell">doctoc README.md --bitbucket</code>
</pre>
																						
																																	<p>If you want to specify where in your README DocToc adds the table of contents, you can place two lines of comments in your files and DocToc will place (and update) your TOC at this position:</p>

																												
																												<pre><code class="language-markdown">&lt;!-- START doctoc -->
&lt;!-- END doctoc --></code>
</pre>
																						
																																	<p>You can even specify a title for the TOC with the <code>--title</code> option:</p>

																												
																												<pre><code class="language-shell">doctoc --title '**Table of Contents**'</code>
</pre>
																						
																																	<p>So, in my case, I used this command to automatically generate the table of contents for my README template:</p>

																												
																												<pre><code class="language-shell">doctoc README.md --title '## Table of Contents'</code>
</pre>
																						
																																	<p>Now, every time I need to update the TOC, I run DocToc and it will automatically update all items, titles, and links. Nice!</p>
<h2>A README editor</h2>
<p>Just a quick addition: While doing a bit more research for a good README structure, I also stumbled upon a handy editor made by <a href="https://www.katherineoelsner.com">Katherine Oelsner</a>. <a href="https://readme.so/editor">Readme.so</a> lets you create an individual README by adding sections from a list of snippets. You just select the sections you want to include in your README, rearrange them via drag and drop if needed, adjust the text, and download your template. A nice and easy way to create your README as well, especially if none of your projects is like the other and a rigid template structure therefore wouldn’t make much sense.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 63.151041666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/readme-so.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/readme-so.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/readme-so.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/readme-so.png" alt="Readme.so Screenshot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								            	]]></description>
            </item>
                    <item>
                <title>How I (Usually) Write Blog Posts</title>
                <link>https://matthiasott.com/notes/how-i-write-blog-posts</link>
                <pubDate>Fri, 07 Apr 2023 17:44:34 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/how-i-write-blog-posts</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://front-end.social/@matuzo/110156090066292634">Manuel shared how he approaches writing</a> and publishing blog posts on his personal site. If you follow him, and especially if his RSS feed is on your list of feeds, you know that Manuel indeed does put out a lot of posts. Just recently, he <a href="https://www.matuzo.at/blog/2022/100-days-of-more-or-less-modern-css/">completed 100 posts about more or less modern CSS</a>, so his process certainly works for him.</p>
<h2>Keeping The Friction Low</h2>
<p>What works for some people might not work for others. So if you struggle to put out blog posts, Manuel’s approach might work well for you or also not work at all. But there are a few things he mentions that are, in my experience, key if you want to publish posts more easily. For example, he does not care about the details too much, particularly early in the process. This <em>keeps the friction low</em> and it keeps you going. It maintains momentum. This includes that he doesn’t care about typos, correct sentence structure, or anything else that people might call “a mistake”. Separating a quick, messy research and drafting phase and a final writing phase also makes writing much easier because you already know what you want to write about.</p>
<h2>The Input Phase</h2>
<p>My usual process is somewhat similar. I also collect all the stuff I can find – links, examples, own thoughts – in a very messy and rough way in iA Writer in a markdown file in my drafts folder. Sometimes I have nothing but a first idea or a post title. Sometimes I’ll write down a few keywords and paste a bunch of links into the document, sometimes I’ll write a few sentences with key points, and sometimes even a few paragraphs. This really depends on the topic and my form of the day. 😉 It helps if this input collection phase is short and, for example, done in just one hour or throughout a day. For some posts, I might also collect ideas and links for several weeks.</p>
<h2>The Shitty First Draft</h2>
<p>I then write most of the <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">shitty first draft</a> of the post, usually in one go, and I also don’t fiddle around with the sentences and grammar yet. There might also be a bit of German in there when I can’t find the right word for something immediately. This first version of your post is not about getting it right. It’s about getting it out. And knowing that you don’t need to get it right at the first try gives you an immense amount of freedom. It permits you to write freely and without pressure. By the way: not putting pressure on yourself also means that if you have a great idea for a sentence or happen to write a paragraph in one go that is just right, you are, of course, allowed to polish it a little right away. The important thing is just to not lose the flow and keep going until the end of the post.</p>
<h2>Editing</h2>
<p>After writing this first draft, I go through the post with my “editor self”, often on the next day with a clear mind and bit of distance. It is amazing how different a post can feel after a good night of sleep. I now try to cut out all the unnecessary stuff. I <a href="https://matthiasott.com/notes/thoughts-on-writing-read-it-out-loud">read the post out loud</a> and imagine that I’m reading it for the very first time. Is everything clear and concise? Do the sentences connect? Could I add a few headings to make the structure of the text more clear? Does the main point come across? Are the code samples fine? It the title good?</p>
<p>What is important in this phase is that you don’t confuse the editor in you with the inner critic. As Rick Rubin writes in his book “<a href="https://www.penguinrandomhouse.com/books/717356/the-creative-act-by-rick-rubin/">The Creative Act</a>”, the inner critic doubts the work and undermines it, while “the editor steps back, views the work holistically, and supports its full potential.”</p>
<h2>Publication</h2>
<p>The last important step is to not overdo it with the fine-tuning of the post. <a href="https://chriscoyier.net/2022/06/27/there-is-no-bar/">As Chris Coyier said</a>, “we’re not shootin’ for the Pulitzer over here”. So, at some point, I ignore the voice in my head that tells me that I could still improve the post further, move the text over to Craft CMS to look at it in preview mode, and, ultimately, hit publish. </p>
<p>How do I know that a post is ready? I have no clue. I think there is a sense of completeness that can be felt, the feeling that while you could hone the details forever, it would not make the post any better. And you also can’t really add or remove something without making the piece worse. That feeling often comes out of a sudden. Just seconds ago, a post might have felt unfinished. You change just one little detail and, suddenly, it’s done.</p>
<p>After publishing it on my site, I <em>always</em> read the post one last time. And almost every time, I will find something that I overlooked. A missing link, a typo, whatever it is – that last check is always worth it.</p>
<h2>What About You?</h2>
<p>What is your process of writing blog posts? I’d love to hear what works for you. Maybe in a blog post in response to this one?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>How To README</title>
                <link>https://matthiasott.com/notes/how-to-readme</link>
                <pubDate>Thu, 23 Mar 2023 00:32:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/how-to-readme</guid>
                <description><![CDATA[
                    
																																	<p>Solid documentation of a project is important, especially if you’re working in a team. When all information about how to install, deploy, or contribute to a project is buried in only one person’s brain, you’re in trouble once you have to make changes and that person is on vacation or has even left the team. So, a README file at the root of your project is not only your friend, it’s essential.</p>
<h3>What’s in a README?</h3>
<p>But what information should you put into the README of, let’s say, a website project? I’ve seen (and written) quite a few short and incomplete READMEs, so coming up with a good one surely is an art in itself.</p>
<p>The answer is, as always: it depends. It depends on the project itself, the team size, or the time and budget you have. So there really is no right or wrong here. There are, however, a few things almost every README has. Here’s a list of things you might consider to include:</p>
<h3>Name and Description</h3>
<p>What is this project about? What does the project do? Why is it useful? What problem does it solve? Who is it for?</p>
<h3>Installation</h3>
<p>How do you install the project and what do you need for it? Mention all dependencies that need to be installed first. Ideally, you also provide version numbers. (I’m looking at you, Node.js…)</p>
<h3>Configuration and Usage</h3>
<p>Instructions for how to configure, run, and use the project. For example, you can include the commands needed to start the development environment or any other useful and important commands.</p>
<h3>Deployment</h3>
<p>Instructions for how to deploy the project to a production environment, including any server requirements and commands used. And, in case you are using a CI/CD pipeline, for example, how do any automated processes work?</p>
<h3>Testing</h3>
<p>Any unit or integration tests people can run to assure that everything’s working as expected? Any frameworks or commands that are needed here? And are there any tests in your deployment pipeline that ensure that no errors make it into the live site?</p>
<h3>How to contribute</h3>
<p>Often overlooked, but so important: how do you contribute to the project? Are there any guidelines you should adhere to, for example, related to the coding syntax? But also: how is the approval process? Do people commit their changes to Git branches? Do they write pull requests? Who can merge and push, and so on? And who is the point of contact for the project in case you have questions?</p>
<h3>License</h3>
<p>If applicable, and especially if the project is publicly available, provide license information.</p>
<h3>Roadmap</h3>
<p>What are you planning to add in the future? Any known bugs or missing features? </p>
<h3>Changelog</h3>
<p>What did change with which version? </p>
<h3>Authors and Acknowledgments</h3>
<p>If people helped to build the project or provided useful contributions like features or bug fixes, or also if your project is built on other people’s open source code, mention them and – thank them!</p>
<p>~</p>
<p>I’m sure that I’m still missing some things. So if there is anything you would add, write a quick response blog post. ;) But whatever you include in your next README (template?), keep in mind that a good README is concise, complete, and up to date. It doesn’t necessarily have to be short. If there’s a lot to say and know about a project, then write it down. But always have the people in mind who will read the file. Keep it as short and simple as possible and also consider that not everyone might know what you know. So better include a few bits of information or links too many to make sure everyone will be able to get started and successfully work with your project.</p>
<p>For more useful tips and resources about READMEs, also have a look at <a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes">the GitHub docs</a>, <a href="https://binyam.in/p/2023-03-16/">this article by Binyamin Green</a>, <a href="https://www.makeareadme.com">Make a README</a>, and <a href="https://github.com/matiassingers/awesome-readme">Awesome READMEs</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Synthe Size Me</title>
                <link>https://matthiasott.com/notes/synthe-size-me</link>
                <pubDate>Sun, 12 Mar 2023 22:53:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/synthe-size-me</guid>
                <description><![CDATA[
                    
																																	<p>Leonie Watson just shared an interesting audio snippet on Mastodon:</p>
<p><a href="https://front-end.social/@tink/110007014963441869">https://front-end.social/@tink/110007014963441869</a></p>
<p>What sounds like her speaking about accessibility is actually <em>not</em> Leonie, but an AI-generated synthetic voice, a cloned version of Leonie’s voice based on audio training data.</p>
<p>I was aware of the fact that speech synthesis is getting much better and that machine learning plays a big role in synthetic voices sounding more realistic, for example by adding modulation, variation, and emotion. But when you listen to some of the <a href="https://play.ht/voice-cloning/">samples of the voices</a> on play.ht, it is astonishing to see just how accurate and realistic those voices, and especially cloned voices, have become. It is now almost impossible to distinguish a human speaker from a synthetic voice. Mind-blowing and, at the same time, scary and full of potential for misuse.</p>
<p>First of all, this is an amazing thing for everyone who, like Leonie, uses assistive technology to browse the Web, read content, and who interacts with any other kind of user interface that is based on audio output. Listening to robotic, unemotional voices everywhere isn’t fun. So imagine how beautiful the Web suddenly sounds once you let a warm, gentle, human-sounding voice – or maybe even a familiar voice like your very own – read the content for you. Imagine a chat where the voices of many contacts will be synthesized so that not only people reading messages visually will, very literally, hear the other person’s voice in their head without the distracting artificial charm of Siri. Or imagine someone visiting your website and, if they like, they can listen to an audio version of all the posts you ever wrote – read by you. Or you – no, everyone! – speaking every language fluently in business calls. You can already use tools like <a href="https://www.resemble.ai/">resemble.ai</a> to clone a voice based on three minutes of data and use an API to integrate that voice into whatever you’re building.</p>
<p>But I’m sure that by now, you’ve also thought about a bunch of not to desirable futures. Voice bots calling you in the middle of the night, trying to sell you an insurance (okay, this is already happening). Scammers calling your grandma. People canceling your orders or placing new ones on your behalf. Artists getting their voices pirated and used to create an endless stream of sameness. Basically everyone could be stealing and remixing each other’s voices, because they’re up for grabs. Prank’d!</p>
<p>(Related: I’m now pretty sure that my descendants will have a fully interactive virtual version of me in some kind of app that they can open whenever they miss me…)</p>
<p>All of this will happen in some way or another. But with all things related to “AI”, it’s on us to decide which future we want to create.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Dig Deeper</title>
                <link>https://matthiasott.com/notes/dig-deeper</link>
                <pubDate>Mon, 20 Feb 2023 23:50:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/dig-deeper</guid>
                <description><![CDATA[
                    
																																	<p>After about a year of living in our new home, after waiting for our neighbors to finish their driveway (life lesson: don’t expect gratitude from strangers), after our wholehearted horticulturist recovered from an acute illness, and after thaw had set in in the southwestern part of Germany, the circumstances finally  were ideal for the ground work on our garden to begin.</p>
<p>My humble role in it: digging a whole between the sidewalk and our front door for the bushes. Not necessarily those typically German bushes that grow into a beautiful, thick hedge, but still large enough to keep the kids from running into the street or to (hopefully) impress a few Swabian SUV drivers to not use the sidewalk for a little sidestep. The latter won’t happen, I know. It’s just to keep us motivated.</p>
<p>So I dug a pit. About 50 centimeters deep. Beautiful. Impressive, even, to the amateur craftsman. But then, the crucial question: is it deep enough? Didn’t our horticulturist say that about 50–70 centimeters should be enough? But it’s a narrow pit, so… On the other hand, our (friendly) neighbors tell me that their whole in the ground wasn’t much deeper. And look at their tree back there, it clearly has enough fertile soil to, one day, grow into a huge, magnificent… does it, though?</p>
<p>After pondering about it for a little while, I gave in and stopped digging. 50 centimeters should do it. Also, my back and my arms hurt. Time to call it a day. It’s Saturday and my football (⚽️) team won.</p>
<p>But during the evening and the whole Sunday, that nagging feeling remained. What if 50 centimeters… ah, come on, that’s plenty! I dug like a pro!</p>
<h2>Monday</h2>
<p>The horticulturist (what a lovely word) arrives.</p>
<p><strong><em>“Oh, I see you were busy! That should do it. The bushes won’t grow very tall and you’ll probably need a bit more fertilizer, but it’s okay.”</em></strong></p>
<p>“But what if we want beautiful, healthy plants?”</p>

																												
																																		<figure class="quote">
							<blockquote><p>Dig deep­er.”</p>
</blockquote>
												</figure>
																
																																	<p>So that’s what I did today. 20 more centimeters.</p>
<p>Sometimes, it’s better to trust that gut feeling that tells you that if you don’t want to half-ass it, you need to go a little further. </p>
<p>And sometimes, you just need someone who tells you to dig deeper.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Expand and Stabilize, Explore and Craft</title>
                <link>https://matthiasott.com/notes/expand-and-stabilize-explore-and-craft</link>
                <pubDate>Sat, 18 Feb 2023 23:26:16 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/expand-and-stabilize-explore-and-craft</guid>
                <description><![CDATA[
                    
																																	<p>Dave wrote about what he calls <a href="https://daverupert.com/2023/02/feature-work-maintenance-work-loop/">The Feature Work → Maintenance Work Loop</a>: he often finds himself working in cycles of <em>Feature Work</em> and <em>Maintenance Work</em>, “balancing the <em>growth</em> and <em>health</em> of a product with a cycle of <em>building</em> and <em>repairing</em>”.</p>
<p>I’ve noticed the same both in design and development work. There are phases in all creative work where we go broad, where we explore new ideas, concepts, or features, where we create lots of layout variations or build prototypes. This work is about the broad strokes, about expansion, discovery, and play. It is is then often followed by a phase of refinement, of fine-tuning the details, selecting the pieces we want to continue with and throwing out the superfluous. But it can also be about maintenance, taking care of a design system or a code base and improving what’s there to be able to move efficiently again.</p>
<p>Rick Rubin talks about very similar phases in his latest book <em><a href="https://www.penguinrandomhouse.com/books/717356/the-creative-act-by-rick-rubin/">The Creative Act</a></em>. In the <em>experimentation</em> phase it is all about growth, about generating possibilities, and discovering which creative seeds have the most potential.</p>

																												
																																		<figure class="quote">
							<blockquote><p>The time to dis­crim­i­nate will come lat­er. For now, allow space for mag­ic to&nbsp;enter.”</p>
</blockquote>
												</figure>
																
																																	<p>In the <em>crafting</em> phase that follows, we start with the labor of building out what has revealed itself as the best way forward. You might feel less excited about this phase because it can be daunting and is often less glamorous. But, as Rubin notes:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Art may only exist and the artist may only evolve by com­plet­ing the&nbsp;work.”</p>
</blockquote>
												</figure>
																
																																	<p>So if you feel like this crafting phase is less enthralling, remember that it is equally important as the exploration phase for the final result. It might, as Rubin writes, help to think of it as another opportunity to play. Just that this time, you’re playing at a much more fine-grained, more intricate level. You’re now in control over the details. If you put love and care into this phase, it can be clearly recognized in the final work. Or, in the words of Charles Eames:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The details are not the details. They make the design.”</p>
</blockquote>
												</figure>
																            	]]></description>
            </item>
                    <item>
                <title>Web Push It Real Good</title>
                <link>https://matthiasott.com/notes/web-push-it-real-good</link>
                <pubDate>Fri, 17 Feb 2023 22:46:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/web-push-it-real-good</guid>
                <description><![CDATA[
                    
																																	<p>Let’s call it what it is: Progressive Web Apps (PWAs) were a great idea full of potential but they never really caught on. One reason for that was that although you could add any website to the Home Screen in Apple’s iOS, it always felt like nothing more but a fancy bookmark. Your PWA would get a nice app icon and open immediately, but it had no access to crucial system level features like notifications.</p>
<p>This changed yesterday with <a href="https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/">the release of iOS and iPadOS 16.4 beta 1</a>. What nobody would have deemed possible for years finally happened: Apple added support for Web Push to home screen web apps. Developers can now use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Push_API">Push API</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API">Notifications API</a>, and Service Workers to send system notifications after asking for permission. Those notifications will work exactly like other app notifications. They will show up in places like your Lock Screen or in Notification Center and you control them via the system settings.</p>
<p>One more thing…</p>
<p>iOS and iPadOS 16.4 will also add support for the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API">Screen Wake Lock API</a>, the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Screen_Orientation_API">Screen Orientation API</a>, the <a href="https://developer.mozilla.org/en-US/docs/Web/API/UserActivation">User Activation API</a>, and <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API">Web Codecs API</a> video support. </p>
<p>The Web platform always wins.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS Speech Module Level 1</title>
                <link>https://matthiasott.com/notes/css-speech-module-level-1</link>
                <pubDate>Fri, 17 Feb 2023 22:15:53 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/css-speech-module-level-1</guid>
                <description><![CDATA[
                    
																																	<p>As I <a href="https://matthiasott.com/notes/screen-readers-semantics-strong-em">noted yesterday</a>, screen readers don’t convey the semantics of many HTML elements like <code>strong</code> or <code>em</code>.</p>
<p>When I shared my post on Mastodon, <a href="https://nota-bene.org/">Stéphane Deschamps</a> chimed in and pointed to an promising candidate recommendation fresh from the press that might give authors much more control over how screen readers handle their content: <a href="https://www.w3.org/TR/css-speech-1/">CSS Speech Module Level 1</a>.</p>
<p>Please bear in mind that this is still only a so-called W3C Candidate Recommendation Draft. This means that it is not a standard (yet), nothing of this is available in any browser as of today, and a lot of things might still change before any browser implements any of those features.</p>
<p>Still, it is worth to have a first look at what is being discussed at the W3C. And because the process is quite open these days, you can also provide feedback if you want.</p>
<p>Reading through the document, you’ll encounter a few really exciting properties that might one day find their way into CSS.</p>
<h2>Auditory Styles</h2>
<p>The <code>voice-volume</code> property, for example, allows authors to control the volume level of the speech synthesizer with keywords like ‘<em>x-soft</em>’, ‘<em>soft</em>’, ‘<em>medium</em>’, ‘<em>loud</em>’, ‘<em>x-loud</em>’ – or adjust the volume by a certain decibel value.</p>
<p>With the <code>speak</code> property, you’ll be able to declare whether or not a piece of text should be read at all using keywords like ‘<em>auto</em>’, ‘<em>never</em>’, or ‘<em>always</em>’.</p>
<p>Where it gets really interesting is the <code>speak-as</code> property. With the ‘<em>spell-out</em>’ keyword, text will be spelled one letter at a time. ‘<em>digits</em>’ will make the screen reader speak numbers one digit at a time. And with ‘<em>literal-punctuation</em>’ or ‘<em>no-punctuation</em>’, you can control whether or not semicolons, braces, and so on are named aloud. Really useful, not only for product, brand, or band names.</p>
<p>There are many more interesting properties that let you insert pauses, for example, or playback auditory cues before or after an element. And you will even be able to adjust voice characteristics like age or gender with the <code>voice-family</code> property and the <code>voice-rate</code> at which voice is spoken in words per minute.</p>
<p>Overall, this looks like a really exciting new draft of a document of which the first version, as I realized, was published more than ten years ago. It is great to see that editors like Léonie Watson and Elika Etemad (fantasai) are now working on this again. Let’s hope that this time, also with the growing awareness for accessibility in Corporate America and the EU, enough momentum can be gained so that many of those properties make it into browsers as soon as possible.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Screen Readers Don’t Convey the Semantics of STRONG and EM</title>
                <link>https://matthiasott.com/notes/screen-readers-semantics-strong-em</link>
                <pubDate>Thu, 16 Feb 2023 14:36:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/screen-readers-semantics-strong-em</guid>
                <description><![CDATA[
                    
																																	<p>I always was under the impression that if I add emphasis to a piece of text in HTML by adding an <code>em</code> or a  <code>strong</code> element, this emphasis would also be indicated to screen reader users in some way. For example, by a change of the tone of voice, much like if you are reading a text out aloud and add emphasis to a certain word by speaking slightly louder.</p>
<p>It turns out that this is not the case at all. <a href="https://www.tpgi.com/screen-readers-support-for-text-level-html-semantics/">As Steve Faulkner recently documented (again)</a>, none of the most commonly used screen readers like VoiceOver, JAWS, or NVDA convey the text semantics of those elements to users. And they also don’t expose <code>em</code> or <code>strong</code> element role semantics in the accessibility tree. </p>
<p>At first, I was kind of disappointed to hear that. Isn’t emphasis an important part of the design? Isn’t this the reason we are writing semantic HTML in the first place? But honestly, the explanation as to why NVDA, which supported it for a while, even <em>removed</em> support again reads more than plausible:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Hav­ing empha­sis report­ed by default has been extreme­ly unpop­u­lar with users and result­ed in a&nbsp;lot of com­plaints about <span class="caps">NVDA</span> <span class="numbers">2015</span>.<span class="numbers">4</span>. The unfor­tu­nate real­i­ty is that empha­sis is very much over-used in the&nbsp;wild.”</p>
</blockquote>
												</figure>
																
																																	<p>Does this mean that you don’t need to use semantic elements to convey emphasis? Of course not. You never know where the semantics still matter. And it is also just the right way to indicate emphasis in HTML for the majority of users. But it is nevertheless interesting and important to know that screen readers don’t care by default.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Uncontainable Container Query Excitement</title>
                <link>https://matthiasott.com/notes/uncontainable-container-query-excitement</link>
                <pubDate>Wed, 15 Feb 2023 18:36:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/uncontainable-container-query-excitement</guid>
                <description><![CDATA[
                    
																																	<p>CSS Container Queries are now <a href="https://web.dev/cq-stable/">available in all major browsers</a>. 🥳 With the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/110">release of Firefox 110</a> yesterday, the stable versions of Chrome, Safari, Edge, and Firefox all support them. There have been many major additions to CSS in recent years, but this one is definitely one of the most impactful game changers. Being able to use not only features of the browser viewport but the dimensions (or other characteristics) of individual containers to change our layouts will once more fundamentally change the way we create responsive and even more flexible layouts on the Web.</p>
<p>During work on the spec, the syntax for Container Queries changed several times. This is also why I held back on writing a longer post exploring container queries in the past. Now, however, the syntax for size queries and units is stable and you can start to use Container Queries in production. So make sure that you use the correct syntax – <a href="https://www.oddbird.net/2022/08/18/cq-syntax/">Miriam has written about this</a> – and that you progressively enhance your layout, of course, so that people with older browsers (which will still be the majority of users for a little bit of time) get a solid baseline experience. </p>
<p>I personally can’t wait to use them more often from now on and I’m sure that if you keep your eyes open, opportunities to effectively apply container queries will surface everywhere, just as with :has(). And particularly because they work so well on smaller elements, I’m quite sure that there will be plenty of ways to also use them without breaking our layouts in older browsers.</p>
<p>And I also can’t wait to see all your demos and best practices emerge. 🎉</p>
<p>~</p>
<p>Here are a few fantastic posts and examples to get you started:</p>
<p><strong>Day 56: container queries, by Manuel Matuzović</strong> <br>
<a href="https://www.matuzo.at/blog/2022/100daysof-day56/">https://www.matuzo.at/blog/2022/100daysof-day56/</a></p>
<p><strong>Use the Right Container Query Syntax, by Miriam Suzanne</strong>  <br>
<a href="https://www.oddbird.net/2022/08/18/cq-syntax/">https://www.oddbird.net/2022/08/18/cq-syntax/</a></p>
<p><strong>A Primer On CSS Container Queries, by Stephanie Eckles</strong> <br>
<a href="https://www.smashingmagazine.com/2021/05/complete-guide-css-container-queries/">https://www.smashingmagazine.com/2021/05/complete-guide-css-container-queries/</a></p>
<p><strong>CSS container queries are finally here, by Ahmad Shadeed</strong> <br>
<a href="https://ishadeed.com/article/container-queries-are-finally-here/">https://ishadeed.com/article/container-queries-are-finally-here/</a></p>
<p><strong>A CodePen collection of container query examples by Miriam Suzanne</strong> <br>
<a href="https://codepen.io/collection/XQrgJo">https://codepen.io/collection/XQrgJo</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Time To Fresh Blogpost</title>
                <link>https://matthiasott.com/notes/time-to-fresh-blogpost</link>
                <pubDate>Tue, 14 Feb 2023 23:57:45 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/time-to-fresh-blogpost</guid>
                <description><![CDATA[
                    
																																	<p>I want to start a little experiment: I want to see if I can reduce my TTFB, which is, of course, short for “time to fresh blogpost”.</p>
<p>Why? Because I think this is something where I can still improve a lot. Although I am aware that a few of you are indeed reading my posts and that this comes with some responsibility, I now also know that <a href="https://chriscoyier.net/2022/06/27/there-is-no-bar/">there really is no bar for a blog post</a>. And although I’ll always strive to write useful things, I’ve reached a point where I think that writing about <em>more</em> things faster is actually a worthwhile goal. The more ideas you put out into the world, the larger the surface for those ideas to connect, interact, and flourish.</p>
<p>One thing that keeps me from publishing more is that I (still) fiddle around with many posts for too long. There is a time for perfecting a post and going really deep, don’t get me wrong. On the Web, however, it’s smart to save this polishing for the pieces you love the most. For the rest, the most important thing is that you hit publish.</p>
<p>So, here is the challenge: Each day, I’ll write about something for no more than half an hour. 30 minutes. If I am faster than that, fine. If not, then… I don’t know, haha. Maybe I’ll publish the post anyway – unfinished? For how long do I want to do this? I have no idea, either. Looks like I still have to think about a few details, but hey – I just finished the first post.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Streams of Consciousness</title>
                <link>https://matthiasott.com/notes/streams-of-consciousness</link>
                <pubDate>Sat, 11 Feb 2023 00:45:24 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/streams-of-consciousness</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://adactio.com/journal/19894">Jeremy wrote a little something about streams</a>, in particular about streams on personal websites. His home page actually is like a stream: links, notes, and blog posts all appear underneath each other in chronological order.</p>
<p>Many of us are now rediscovering or reviving their personal sites, not only because the demise of Twitter has made it abundantly clear that we need to shift our attention away from large social media silos when we share our ideas, thoughts, and ramblings online. Our personal sites are the perfect home for all those personal bits and pieces. All those short and long-form posts, notes, thoughts, photos, links, but also just little things we notice in our world, things we learn, and things that excite us – they all belong on our personal websites first. So if you were asking yourself what you should post on your site, the correct answer is, of course, “everything you want”. Your personal site is your home on the Web. It is your playground but it is also a very subjective and individual account of all the things you think and care about. All the things that happen in your head. And on your home page, it can all come together in one large stream of different kinds of posts.</p>
<p>You could even think of this home stream as what in literature is called a “stream of consciousness”: a constant stream of the multitudinous thoughts and feelings which pass through the mind of a narrator. Your website is a way for you to share your stream of consciousness, that temporary and subjective and highly biased snippet of the universe, with everyone else, including your future self. In all its multitudes.</p>
<p>If you look at my home page, you can see that I haven’t yet turned it into a stream. It almost looks like I haven’t posted anything since 2019. This wasn’t a conscious decision and it is something that I am going to change in the process of redesigning my site this year. And I couldn’t agree more to what Jeremy wrote. If your home stream looks like a collection of posts that all look visually distinct, more “like a chaotic second-hand bookstore”, it will be much closer to who you and your unpolished stream of consciousness actually are. It will make your site more personal and, if you want future visitors to be able to tell the difference between you and an AI, more human.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Reflections</title>
                <link>https://matthiasott.com/notes/reflections</link>
                <pubDate>Wed, 08 Feb 2023 00:58:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/reflections</guid>
                <description><![CDATA[
                    
																																	<p>A lot of us are still working from home these days. Many are in meetings every day, more and more people are holding important customer presentations or <a href="https://matthiasott.com/workshops">running workshops</a> from their little home office, and some are even joining podcasts and online meetups as guests, or are starting their own video channels or <a href="https://practical-accessibility.today/">video courses</a>. </p>
<p>Naturally, high-quality sound is something to think about. It might even be the most important part of your appearance, even more crucial than good video and lighting. So we might buy better microphones or treat out rooms with foam or, way way better, absorbing sound panels.</p>
<p>There is, however, one little detail that many noobs – me included – tend to forget about but which makes a huge difference in how our recordings sound, even (or especially) with the best of microphones: the reflective surfaces right in front of you.</p>
<p>If you have the feeling (or recorded proof) that your microphone picks up a lot of boomy reflections, consider adjusting the position so that it faces more away from your desk or computer monitors. As <a href="bandrew@noagendasocial.com">Bandrew</a> demonstrates in <a href="https://youtu.be/u6r_u_-C-vo">this plain and simple explainer video</a>, this tiny change can make a huge difference!</p>
<p>And it might even save you a bit of money, as well. Boom! (Sorry.)</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Analytics Analysis</title>
                <link>https://matthiasott.com/notes/analytics-analysis</link>
                <pubDate>Tue, 07 Feb 2023 23:20:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/analytics-analysis</guid>
                <description><![CDATA[
                    
																																	<p>When it comes to tracking and analyzing a website‘s traffic, Google Analytics (GA) seems to be the obvious choice: everyone knows it, it’s powerful, it’s free, it’s used by millions of sites. 53 % of sites worldwide, to be precise. No wonder many clients ask for it and many people who build websites willingly add it to the sites they build and sell.</p>
<p>There are, however, a lot of downsides that come with using GA. And some of them are actually real downers. Using GA can be bad for the performance of your site, you are giving all the stats about your site to the largest ad-tech firm in the world <em>for free</em> (that companies readily do this still blows my mind), and most people will never use it for more than to occasionally access a few (often partially inaccurate) stats, also lacking any proper strategy on which insights they really want to collect and how to translate those insights into real action. The most daunting drawbacks, however, are related to privacy and regulations like GDPR. When you add GA to a site, it will transfer personal information to Google, so you not only have to adjust your privacy policy accordingly but also obtain consent from your users. The same goes for the cookies that GA stores on your users’ machines. Using GA means that your site needs a cookie consent banner – lovely!</p>
<p>Looks like there are many good reasons to look for alternatives to Google Analytics. And thankfully, there are quite a few these days, many of which not only provide a nice set of features but are also privacy-focused and often even cookie-free. </p>
<p>Here’s a short list of some interesting options. Many of them were suggested to me by all the lovely people who replied to <a href="https://mastodon.social/@matthiasott/109818194829448533">a post of mine on Mastodon</a>. By the way: if you ask a question on Mastodon, you’ll receive so many helpful answers – it’s wild! Imagine Twitter but with real human interaction.</p>
<ul>
<li><a href="https://plausible.io/">Plausible</a></li>
<li><a href="https://www.simpleanalytics.com/en">Simple Analytics </a></li>
<li><a href="https://usefathom.com/">Fathom</a></li>
<li><a href="https://matomo.org/">Matomo</a></li>
<li><a href="https://withcabin.com/">Cabin</a></li>
<li><a href="https://umami.is/">Umami</a></li>
<li><a href="https://pirsch.io/">Pirsch</a></li>
</ul>
<p>Also, <a href="https://voxpelli.com/">Pelle</a> shared <a href="https://european-alternatives.eu/category/web-analytics-services">a link to a longer list of European alternatives</a> to GA.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Tapetenwechsel, or: Breaking the Sameness</title>
                <link>https://matthiasott.com/notes/tapetenwechsel-or-breaking-the-sameness</link>
                <pubDate>Mon, 06 Feb 2023 01:28:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/tapetenwechsel-or-breaking-the-sameness</guid>
                <description><![CDATA[
                    
																																	<p>We all want to do our best work. We all want to create something of value. But what if you’re stuck? What if the solution just doesn’t show up, the idea just won’t come, the interesting just doesn’t want to happen? Writers sometimes call it writer’s block, but not only writers experience it. Everyone who does creative work knows this feeling of just not being able to make progress.</p>
<p>Whenever we’re stuck like this, it is important to recognize that this is totally normal and nothing to be worried about. Such a creative block isn’t <em>really</em> a blocker, it’s more of a short break. The best way to cope with this is to first of all continue to work. Inspiration strikes not when we sit and wait but when we start immersing ourselves in a problem. So don’t wait for the muse to kiss you. Walk on.</p>
<p>I’m currently listening to the audio version of <a href="https://sites.prh.com/thecreativeact">The Creative Act: A Way of Being</a>, a fantastic new book on the creative process by Rick Rubin, the legendary music producer who not only co-founded Def Jam Recordings but has also worked with artists like the Beastie Boys, Run-DMC, Slayer, Danzig, Johnny Cash, System of a Down, the Red Hot Chili Peppers, Metallica, Eminem, Jay-Z, The Strokes, and many more. </p>
<p>In his book, Rubin shares one of the secrets of getting unstuck when you’ve hit a wall and your work isn’t getting any better: breaking the sameness. This can happen in various ways. You could, for example, break down a large, seemingly insurmountable challenge into small tasks. Like: write just one line every day, no matter how good or bad you think it is. Soon, you’ll be able to write entire songs again. </p>
<p>What can also help is a change of the environment, or, how we call it in German, a “Tapetenwechsel” (= a “change of the wallpaper”), to inspire a fresh perspective. When the Red Hot Chili Peppers told him that they had enough of recording studios, Rubin took them to a (<a href="https://www.grunge.com/291328/the-spooky-truth-about-the-mansion-recording-studio/">haunted…?</a>) mansion to record Blood Sugar Sex Magik there. Other artists recorded in the dark, early in the morning, on a mountain playing for the ocean, or even hanging upside down while singing. By creating conditions outside of the normal we increase the surface area for new feelings to arise and new ideas to happen.</p>
<p>Such a Tapetenwechsel might also be a change of context. When a singer doesn’t connect to a song, it can be helpful to add a new meaning or backstory to the lyrics of a song. A love song, for example, might sound different if sung for a long-lost soulmate, a partner of thirty years that you don’t get along with, a person you saw on the street but never spoke to, or your mother. With one artist, Rubin suggested singing a love song written to a woman as a devotional to God instead.
(As Rubin revealed in an interview, this artist was Johnny Cash and the song was  “<a href="https://youtu.be/kYKU68NfRBE">First Time I Ever Saw Your Face</a>”.)</p>
<p>Another Tapetenwechsel you could try is to change or break the rules of the game. When you intentionally redefine the limitations and constraints of your project, you can break up patterns that hold you back. When you set parameters that force you out of your comfort zone, it is easier to innovate and find a new side of yourself and your work. If you always write on a laptop, try writing by hand. If you’re right-handed, paint with your left hand. If you always write long paragraphs, force yourself to only write short sentences. If you always use small font sizes, go big with your typography. Whatever you choose, it’s of little importance if your work is better. As Rubin writes:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The pur­pose is self-dis­cov­ery. […] By break­ing the rules you come to have a&nbsp;greater under­stand­ing of your past choic­es. The deci­sion to lim­it your work to the famil­iar is a&nbsp;dis­ser­vice to both your­self and the audi­ence. The ener­gy of won­der and dis­cov­ery can get lost when trod­ding the same ground over and over&nbsp;again.</p>
</blockquote>
												</figure>
																            	]]></description>
            </item>
                    <item>
                <title>Spirits That I’ve Cited</title>
                <link>https://matthiasott.com/notes/spirits-that-ive-cited</link>
                <pubDate>Wed, 01 Feb 2023 00:36:37 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/spirits-that-ive-cited</guid>
                <description><![CDATA[
                    
																																	<p>I have a tip for everyone who’s now – or very soon – trying to find out whether a text was written by a human or an AI.</p>
<p>Sure, you could <a href="https://openai.com/blog/new-ai-classifier-for-indicating-ai-written-text/">train another AI to look for clues and confidently call it a “classifier”</a>. But chances are, your classifier won’t be fully reliable. It might not work on short texts. Or, it might incorrectly but confidently label AI-written text as human-written. Also, people will sure as hell edit AI-written text so that it can’t be detected anymore.</p>
<p>Given that you have no idea how those algorithms really work, you might as well just use the classifier written by the same company that is currently gifting you the gift of AI for free. Sounds really reassuring, right?</p>
<p>Instead, how about you try this:</p>
<p>Look for the <a href="https://ia.net/topics/the-end-of-writing-ia-on-ai">soul</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>A Birthday Audio Gear Upgrade</title>
                <link>https://matthiasott.com/notes/a-birthday-audio-gear-upgrade</link>
                <pubDate>Sun, 08 Jan 2023 23:45:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/a-birthday-audio-gear-upgrade</guid>
                <description><![CDATA[
                    
																																	<p>Today, I turned 41. It was a wonderful, relaxed day with my family – and my parents’ dog who is a bit of a maniac… 😅</p>
<p>I also got to try out my two “office” birthday presents: a new microphone for voice, the <a href="https://rode.com/en/microphones/broadcast/procaster">Røde Procaster</a>, and an audio interface, the <a href="https://motu.com/en-us/products/m-series/m2/">MOTU M2</a>.</p>
<p>The Røde Procaster is a dynamic microphone that was primarily designed for spoken word. Unfortunately, my office in the attic is much noisier than I had hoped, because there is a street with a bit of traffic outside. So while my default workshop XLR microphone, boomed out of frame, is great when you are running a more lively session and you don’t want a boom arm in your face, it still picks up a lot of ambient noise like traffic or playing kids. That’s why I needed a dynamic microphone, which, by nature of it’s design and the resulting “cardioid polar pattern”, will pick up much less ambient noise and allows me to first and foremost record what’s being said right in front of the microphone.</p>
<p>Choosing a microphone turned out to be much harder than expected. I wanted something that would be sufficient for occasional podcast visits (for now) or to record the voiceover track for tutorial videos I sometimes do for clients. After countless hours of watching reviews on YouTube, two microphones made it to the finals: the legendary <a href="https://www.shure.com/en-US/products/microphones/sm7b">Shure SM7B</a> and the Røde Procaster. The Shure definitely seems to be the better and more popular microphone overall, but it comes with a hefty price tag of about 380–400 Euro (or Dollars). I know that this is not what audio engineers would call an expensive microphone, but it is a lot if you don’t want to use the mic that often. The Røde Procaster, which comes in at around 180 Euro, is a much more budget-friendly option that received a lot of favorable reviews. It is susceptible to handling noise and p-p-p-plosive sounds, but when it comes to the audio quality, it outperforms both microphones that are a little bit cheaper (Røde Podmic) and a bit pricier (Shure MV7X). It also does a really good job at rejecting noise. So I ultimately decided to give it a try and see for myself. With the nice side effect that I got a microphone and an audio interface for the price of an SM7B.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Rode-procaster-on-a-boom-arm.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Rode-procaster-on-a-boom-arm.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Rode-procaster-on-a-boom-arm.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Rode-procaster-on-a-boom-arm.jpeg" alt="Rode Procaster on a boom arm" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/MOTU-M2.jpeg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/MOTU-M2.jpeg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/MOTU-M2.jpeg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/MOTU-M2.jpeg" alt="MOTU M2" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>The MOTU M2 is an audio interface that lets you connect two inputs, like XLR microphones, for example. It comes with really good preamps with very low self noise and up to 60 db of gain to boost the signal of your microphone. Dynamic microphones like the Shure SM7B or the Røde Procaster are quiet microphones that need a lot of additional boost. The M2 can drive both of them without an additional signal booster like a Cloudlifter or a Fethead. And what’s just fabulous is that the M2 has a little color LCD display with level meters for inputs and outputs, so you can immediately see when your signal is too low or clipping. And they’re fun to watch, too, of course.</p>
<p>I’m really looking forward to using these two devices in my setup this year. What are you using to record audio and what is your favorite microphone? Looking forward to your answer – in a blog post maybe?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Updating My Site in 2023</title>
                <link>https://matthiasott.com/notes/updating-my-site-in-2023</link>
                <pubDate>Sat, 07 Jan 2023 02:00:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/updating-my-site-in-2023</guid>
                <description><![CDATA[
                    
																																	<p>Alright. Enough talk. Let’s get to it. </p>
<p>One of my plans for 2023 is to redesign this website. Here is the thing: it is easy to promise things to yourself. It is much harder to deliver, especially when the project is quite large and you have to do it in your spare time, like the redesign of a personal site. So the best way to finally begin is to start today. And that’s what I’m doing.</p>
<p>There are a few considerations to make when you redesign a site that has been around for a while and on which quite a bit of content has been published over the years. So I will try to share in the best possible way my thought process and the steps I will take (and not take) to redesign the site, and I hope it might help some of you who are or will be in a similar situation. (That might well include my future self.) Of course, everything I document will only be applicable to other sites to a certain extent. So take it with a grain of salt and draw your own conclusions.</p>
<h2>Doing an Inventory</h2>
<p>My current website is now about seven years old. I am generally still mostly happy with it regarding the convenience of posting and, astonishingly, the design. But there are also a lot of things that need to be updated to more modern browser technologies or which simply don’t work anymore. For example, the site runs on <a href="https://craftcms.com/">Craft CMS</a> and when I built it in 2015 and 2016, there was no Webmention plugin available for Craft. So I had to write one from scratch because I really wanted to add them to the site. The code of this <a href="https://github.com/matthiasott/webmention">Webmention plugin</a> has been neglected quite a bit: I wrote the plugin for version 2 of Craft. The current version is 4. Consequently, updating the plugin for the latest version of the CMS will probably be one of the major parts of the redesign, because how you build plugins for Craft has changed significantly.</p>
<p>What else do I have to do?</p>
<h2>Upgrading from Craft 2 to 4</h2>
<p>First of all, I want to update the site itself to Craft 4. Craft is a somewhat classical PHP CMS with a database. This has many advantages when it comes to handling data on the server, but upgrading a static site that uses markdown files for the posts would probably save me some of the database hassle. I will first have to upgrade the site and the database from version 2 to 3 and then from 3 to 4. We’ll see how well this goes.</p>
<h2>A New Build Process</h2>
<p>My current site still uses Grunt (…remember?) to build the CSS and a little bit of JavaScript. I have since not used Grunt a lot anymore and feel much more comfortable working with Gulp or Vite with PostCSS. So I want to set up a new build process from scratch, keeping it as lightweight and simple as possible. At least, it should serve me for another 5 to 10 (?!?) years. For this, I might re-use some of the code of my Eleventy starter kit, qu&#039;est appelée <a href="https://github.com/matthiasott/eleventy-plus-vite">Eleventy Plus Vite</a>.</p>
<h2>Consolidating the Structure</h2>
<p>The structure of the site will probably stay more or less the same. Over time, I pushed the <em>works</em> section more and more into the back. Just because I did not have the time to add more projects or an NDA didn’t allow for it. I might merge the <em>articles</em> and <em>notes</em> sections, though. When I started the site, I had the idea of writing mostly longer blog posts and to publish them only a few times a year. This has changed a lot, also with me becoming more fluent in writing in English and because I realized that I don’t publish “articles” anymore – I write blog posts. Maybe the new section will therefore just be called “blog” or “writing”. Again, we’ll see.</p>
<h2>Improving the HTML</h2>
<p>Keeping the structure intact also means that I won’t do a lot of changes to the HTML of the templates. At least, that’s the plan for now. I will remove some of the older stuff like JavaScript lazy loading of images and do this with the <code>loading</code> HTML attribute instead. And I also want to make more use of includes and partials, thinking more in components, and improve the overall quality of the HTML.</p>
<h2>Better Accessibility and Performance</h2>
<p>Over the last few years, I’ve been learning a lot about creating accessible interfaces for the Web and there is quite a bit that can be improved on my site. The same goes for performance. Although I tried my best to reach a four hundos Lighthouse score when I built the site, many best practices have since improved and I want to make the site load faster (again). This will involve a lot of tinkering – I’m looking at you, Service Worker – but it also promises to be a lot of fun.</p>
<h2>New CSS 😍</h2>
<p>I can’t wait to start with this part. My plan is to throw almost all the CSS into the bin and start fresh, using all the great new (layout) features that CSS offers these days. I will heavily make use of CSS Grid and Flexbox, of course. But also experimenting with more experimental features like <code>:has()</code> and container queries might be fun. But definitely, I will make the typography completely fluid this time, using an approach like <a href="https://utopia.fyi/">Utopia</a>. I also will use variable fonts – and I already have a few typefaces on the shortlist. More on that in a separate post about the typography of the site once it is done. Ah! The new design should also have a dark mode, using custom properties for the theming.</p>
<h2>An Open Redesign – Yes or No?</h2>
<p>As you can see, there is already a lot on the list. And I probably also forgot a few things that will pop up in the process. So expect a lot of blog posts about many of the aspects of the redesign.</p>
<p>However, I’m still not sure whether I should do an open redesign or if it makes more sense to document most of the redesign separately and share those posts once the new design goes live. What do you think?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Year of the Personal Website</title>
                <link>https://matthiasott.com/notes/the-year-of-the-personal-website</link>
                <pubDate>Fri, 06 Jan 2023 20:14:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-year-of-the-personal-website</guid>
                <description><![CDATA[
                    
																																	<p>We all know that it is going to happen. It’s not a question of <em>if</em>, but <em>when</em> Twitter will collapse. By the way: one day, Medium will follow. So will Instagram, YouTube, and TikTok. Or Mastodon.</p>
<p>Many people are now desperately waiting for their Twitter archives, hoping that they’ll arrive before all their content is lost for good. For those who were using Twitter primarily for ephemeral chatter, all this isn’t that tragic. But for others, all their posts, conversations, and connections on the social network were a significant part of their online identity. They are about to lose a place on the Web into which they put a huge amount of time, attention, and energy. </p>
<p>Especially if you are a designer, an artist, a photographer, a writer, a blogger, a creator of any kind, owning your work is as important as ever. Social media platforms might be great for distributing your content and creating a network of like-minded people around you. But they will always be ephemeral, transient, and impermanent – not the best place to preserve your thoughts, words, and brushstrokes.</p>
<p>In the search for a permanent home on the web, more and more people are now rediscovering the personal website as  a place to share and document their thoughts and publish their work. <a href="https://matthiasott.com/articles/into-the-personal-website-verse">I’ve written at length</a> before about why this is such a good idea: Your personal website is a place that provides immense creative freedom and control. It’s a place to write, create, and share whatever you like, without the need to ask for anyone’s permission. It is also the perfect place to explore and try new things, like different types of posts, different styles, and new web technologies. It is <a href="https://rachelandrew.co.uk/archives/2017/01/05/its-more-than-just-the-words/">your playground</a>, your platform, your personal corner on the Web.</p>
<p>That’s why it warms my heart to read articles like <a href="https://www.theverge.com/23513418/bring-back-personal-blogging">Bring back personal blogging</a> by Monique Judge on a site like The Verge or to add my site to projects like <a href="https://bringback.blog">Bring Back Blogging</a> by Ash Huang and Ryan Putnam, who encourage us all to get into the habit and publish at least three blog posts until the end of January. Oh, and if that’s important to you, as Chris Coyier notes, <a href="https://chriscoyier.net/2023/01/03/there-can-be-money-in-blogging/">There Can Be Money in Blogging</a>, too.</p>
<p>So how about we make 2023 the year of the personal website? The year in which we launch our first site or redesign our old one, publish a little more often, and add RSS and <a href="https://indieweb.org/webmention.io">Webmentions</a> to our websites so that we can write posts back and forth. The year we make our sites <a href="https://css-tricks.com/in-defense-of-a-fussy-website/">more fussy</a>, more quirky, and <a href="https://css-tricks.com/make-it-personal/">more personal</a>. The year we document what we improved, share what we learned, and help each other getting started. The year we finally create a community of critical mass around <a href="https://personalsit.es">all our personal websites</a>. The year we <a href="https://youtu.be/qBLob0ObHMw">take back our Web</a>.</p>
<p>I’ll start tonight.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 24: NaN</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-24</link>
                <pubDate>Sat, 24 Dec 2022 12:45:05 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-24</guid>
                <description><![CDATA[
                    
																																	<p>For the last day of this year’s Independent Type Foundry Advent Calendar, we’re back in Berlin. NaN is a foundry and type design practice “balancing weirdness and wisdom” that was founded by designer Luke Prowse. In late 2021, Luke was joined by Jean-Baptiste Morizot, who had already launched <a href="http://phantom-foundry.com">Phantom Foundry</a> in 2018.</p>
<p>NaN’s growing library of retail typefaces could be described as beautifully weird and playful, full of expressive creative talent combined with font engineering at the highest level.</p>
<p><a href="https://www.infinite-tragedy.com">NaN Tragedy</a> is a functional but unconventional serif designed by Jean-Baptiste Morizot. Based on a classic skeleton, quirky details and an exaggerated calligraphic contrast are less pronounced in the text styles but more extreme and expressive in the <a href="https://www.nan.xyz/fonts/nan-tragedy/">display</a> cuts.</p>
<p><a href="https://www.nan.xyz/fonts/nan-holo/">NaN Holo</a> by Luke Prowse is a constructed neo-grotesk with “biological forms disrupting an otherwise tensely machined flow.” The mix of rounded and squared details makes it a solid and reliable but also surprising and warm design.</p>
<p><a href="https://www.nan.xyz/fonts/nan-jaune/">NaN Jaune</a> by Jérémy Landes is a sans-serif full of contrast and contradictions – from closed apertures to deep ink-traps to extreme stroke contrast, in three different optical sizes – Maxi, Midi, and Mini.</p>
<p>And then, there’s <a href="https://www.nan.xyz/fonts/nan-tresor/">NaN Tresor</a>, Christoph Koeberlin’s latest masterpiece. Peculiar, charming, full of energy, and immediately recognizable. A revival not of a single typeface, but of an entire genre. NaN Tresor is an homage to the very first grotesk typefaces with all their charming inconsistencies. To reproduce the feeling of this era, Christoph took an unconventional approach: he carefully translated the historical inconsistencies and quirky design details into a typeface with three optical sizes and almost 2000 characters and glyph variations, sometimes eight alternates per glyph plus swashes. In the variable font, this idea fully unfolds: the individual irregularities and distinctive characteristics of the design can flexibly inform each other  into a wide range of playful variations.</p>
<p>You can get trial fonts of all NaN typefaces – and also make sure to try the lovely color picker in the upper right corner if you’re visiting the website on a larger screen… 😍</p>
<p>☞ <strong><a href="https://www.nan.xyz">https://www.nan.xyz</a></strong></p>
<p>PS: Happy Holidays! ✨🎄🤗</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/NaN-website-color-picker.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/NaN-website-color-picker.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/NaN-website-color-picker.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/NaN-website-color-picker.png" alt="Na N Website Color Picker" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-7.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-7.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-7.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-7.png" alt="Screenshot NaN Tresor 7" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-6.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-6.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-6.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-6.png" alt="Screenshot NaN Tresor 6" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-5.png" alt="Screenshot NaN Tresor 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-4.png" alt="Screenshot NaN Tresor 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-3.png" alt="Screenshot NaN Tresor 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor-2.png" alt="Screenshot NaN Tresor 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tresor.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tresor.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tresor.png" alt="Screenshot NaN Tresor" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Jaune-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Jaune-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune-3.png" alt="Screenshot NaN Jaune 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Jaune-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Jaune-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune-2.png" alt="Screenshot NaN Jaune 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Jaune.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Jaune.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Jaune.png" alt="Screenshot NaN Jaune" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Holo-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Holo-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Holo-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Holo-2.png" alt="Screenshot NaN Holo 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Holo.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Holo.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Holo.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Holo.png" alt="Screenshot NaN Holo" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tragedy-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tragedy-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-4.png" alt="Screenshot NaN Tragedy 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tragedy-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tragedy-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-3.png" alt="Screenshot NaN Tragedy 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tragedy-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tragedy-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy-2.png" alt="Screenshot NaN Tragedy 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-Tragedy.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-Tragedy.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-Tragedy.png" alt="Screenshot NaN Tragedy" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-library.png" alt="Screenshot NaN library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-NaN-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-NaN-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-NaN-website.png" alt="Screenshot NaN website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 23: Typotheque</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-23</link>
                <pubDate>Fri, 23 Dec 2022 12:25:31 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-23</guid>
                <description><![CDATA[
                    
																																	<p>Typotheque is a type design studio based in The Hague, Netherlands. Founded in 1999 by Peter Biľak, who also teaches typeface design at the renowned postgraduate course TypeMedia at the Royal Academy of Art in The Hague, the foundry is well-known for the excellent design quality of its typefaces and a focus on extended language support. Many of the typefaces in the vast catalogue are superfamilies that come with sans, serif, display, or mono styles and support for hundreds of languages.</p>
<p><a href="https://www.typotheque.com/fonts/greta_sans">Greta</a> is a superfamily designed by Peter Biľak that was been planned from the outset as a system of interrelated styles. <a href="https://www.typotheque.com/articles/designing_type_systems">Following the architectural approach</a> Adrian Frutiger pioneered with his Univers,  Greta was not only designed as a family of weights and styles but also as a system of continuous optical sizes.</p>
<p><a href="https://www.typotheque.com/fonts/brenner">Brenner</a> is a superfamily designed by Nikola Djurek that also combines various styles, like a rational, unobtrusive neo-grotesk sans-serif and a confident, high-contrast serif, into a coherent type system. </p>
<p><a href="https://www.typotheque.com/fonts/ping">Ping</a> is a resolutely modern, fluid sans-serif typeface designed by Peter Biľak and various others with a special design approach: its simplified letterforms are constructed with the least number of pen strokes. So lowercase letters ‘a’, ‘d’, ‘p’, ‘b’ and ‘g’ are drawn without lifting the pen at all.</p>
<p><a href="https://www.typotheque.com/fonts/rapida">Rapida</a> by Michelangelo Nigra’s, which started as a thesis project on the TypeMedia master&#039;s course, is a charming serif designed for long form reading. It’s counterpart, <a href="https://www.typotheque.com/fonts/rapidissima">Rapidissima</a>, takes the design ideas behind Rapids to the extremes with dramatic sloping (24 degrees), very high contrast between strokes, and sharp and extressive lettershapes.</p>
<p>You can try all Typotheque fonts with <a href="https://fontstand.com">Fontstand</a> and they also offer an 80 % educational discount for students, teachers, faculty, schools, and educational institutions.</p>
<p>☞ <strong><a href="https://www.typotheque.com">https://www.typotheque.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rapidissima.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rapidissima.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rapidissima.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rapidissima.png" alt="Screenshot Rapidissima" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rapida.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rapida.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rapida.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rapida.png" alt="Screenshot Rapida" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ping-design-information.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ping-design-information.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping-design-information.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping-design-information.png" alt="Screenshot Ping design information" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ping-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ping-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping-2.png" alt="Screenshot Ping 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ping.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ping.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ping.png" alt="Screenshot Ping" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Parmigiano-Text-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Parmigiano-Text-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Parmigiano-Text-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Parmigiano-Text-2.png" alt="Screenshot Parmigiano Text 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Parmigiano.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Parmigiano.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Parmigiano.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Parmigiano.png" alt="Screenshot Parmigiano Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brenner-Sans-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brenner-Sans-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans-3.png" alt="Screenshot Brenner Sans 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brenner.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brenner.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner.png" alt="Screenshot Brenner" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brenner-Sans-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brenner-Sans-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans-2.png" alt="Screenshot Brenner Sans 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brenner-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brenner-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brenner-Sans.png" alt="Screenshot Brenner Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Greta-design-information.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Greta-design-information.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-design-information.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-design-information.png" alt="Screenshot Greta design information" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Greta-Display-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Greta-Display-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Display-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Display-2.png" alt="Screenshot Greta Display 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Greta-Display.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Greta-Display.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Display.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Display.png" alt="Screenshot Greta Display" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Greta-Sans-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Greta-Sans-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Sans-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Sans-2.png" alt="Screenshot Greta Sans 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Greta-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Greta-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Greta-Sans.png" alt="Screenshot Greta Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Typotheque-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Typotheque-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Typotheque-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Typotheque-library.png" alt="Screenshot Typotheque library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Typotheque-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Typotheque-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Typotheque-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Typotheque-website.png" alt="Screenshot Typotheque website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 22: 205TF</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-22</link>
                <pubDate>Thu, 22 Dec 2022 10:59:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-22</guid>
                <description><![CDATA[
                    
																																	<p>205TF is a type foundry based in Lyon, France. It was founded in 2017 by Damien Gautier and Florence Roller who run the foundry together with foundry manager Rémi Forte. Collaborating with many independent type designers, they have built a library of typefaces that is wonderfully diverse, full of energy, and that has its very own character. As they write on their website, in all their designs “a certain French spirit can be felt.” And so, the TF in the foundry’s name stands not only for Type Foundry but also Typographie Française.</p>
<p>You could probably spend hours browsing the catalog that consists in the majority of expressive and quirky display and editorial typefaces. So it’s again hard to pick any favorites  – it will depend on your project which typeface suits your needs. Here are a few for which you will also find great <a href="https://fontsinuse.com/foundry/1617/205tf">design examples on Fonts In Use</a>.</p>
<p><a href="https://www.205.tf/Font/1/plaak/">Plaak</a> designed by Damien Gautier and inspired by French street signs, is a sturdy, expressive sans-serif with a wide range of styles. <a href="https://www.205.tf/Font/3/maax/">Maax</a>, also by Damien, takes an interesting approach: each style of the sans-serif consists of four variations with slightly adjusted letterforms – Standard, Geometric, Modern, and Grotesk. <a href="https://www.205.tf/Font/30/clifton/">Clifton</a> by Yoann Minet is a poetic serif with inverted contrast. And <a href="https://www.205.tf/Font/24/louize-display/">Louize</a> by Matthieu Cortat is a warm and elegant old-style serif, a revival of “Augustaux” by Lyonnais printer Louis Perrin, in itself one of the first revivals in the history of typography. </p>
<p>I could go on and on like that. :) Maybe just have a look at the many wonderful designs yourself and download free test versions I of your favorites to try them.</p>
<p>☞ <strong><a href="https://www.205.tf">https://www.205.tf</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Louise-Display-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Louise-Display-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Louise-Display-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Louise-Display-2.png" alt="Screenshot Louise Display 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Louise-Display.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Louise-Display.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Louise-Display.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Louise-Display.png" alt="Screenshot Louise Display" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Clifton.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Clifton.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Clifton.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Clifton.png" alt="Screenshot Clifton" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Plaak-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Plaak-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Plaak-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Plaak-2.png" alt="Screenshot Plaak 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Plaak.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Plaak.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Plaak.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Plaak.png" alt="Screenshot Plaak" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Maax-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Maax-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Maax-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Maax-2.png" alt="Screenshot Maax 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Maax-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Maax-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Maax-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Maax-1.png" alt="Screenshot Maax 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-website-6.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-website-6.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-website-6.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-website-6.png" alt="Screenshot website 6" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-website-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-website-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-website-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-website-5.png" alt="Screenshot website 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-205TF-website-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-205TF-website-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-4.png" alt="Screenshot 205TF website 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-205TF-website-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-205TF-website-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-3.png" alt="Screenshot 205TF website 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-205TF-website-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-205TF-website-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website-2.png" alt="Screenshot 205TF website 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-205TF-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-205TF-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-205TF-website.png" alt="Screenshot 205TF website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 21: HvD Fonts</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-21</link>
                <pubDate>Wed, 21 Dec 2022 10:24:36 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-21</guid>
                <description><![CDATA[
                    
																																	<p>For day 21, we’re back in Berlin, where a young graphic designer with a love for type decided in 2008 to make his passion his full-time job. Today, Hannes von Döhren’s type foundry called HvD Fonts sells a wide range of typefaces, some of them being hugely popular designs. The catalog does not only include high-quality sans-serif and serif typefaces but also a surprisingly large variety of expressive display fonts.</p>
<p><a href="https://www.hvdfonts.com/fonts/brandon-grotesque">Brandon Grotesque</a> was the typeface that put Hannes on the map for many of us. Awarded with a Certificate of Typographic Excellence by the Type Directors Club in 2011, this geometric sans captures the atmosphere of the 1920s and classics like Futura but combines it with the warmth of slightly rounded corners and a charming, contemporary openness.</p>
<p><a href="https://www.hvdfonts.com/fonts/ff-mark">FF Mark</a>, released in 2013 and created by Hannes von Döhren, Christoph Koeberlin, and the FontFont Type Department with creative input of Erik Spiekermann, is one of the most iconic contemporary geometric sans-serif designs out there – clean, balanced, and readable. </p>
<p><a href="https://www.hvdfonts.com/fonts/fabrikat-normal">Fabrikat</a>, designed by Christoph Koeberlin, Hannes von Döhren, and Inga Plönnigs, is a geometric sans reminiscent of DIN. Engineered, straightforward, reduced, functional, and also available in a <a href="https://www.hvdfonts.com/fonts/fabrikat-kompakt">narrower version</a> and a <a href="https://www.hvdfonts.com/fonts/fabrikat-mono">monospaced design</a>.</p>
<p><a href="https://www.hvdfonts.com/fonts/palast-poster">Palast</a>, designed by Hannes von Döhren and Bernd Volmer, is a transitional, slightly geometric serif typeface that comes in three optical sizes: <a href="https://www.hvdfonts.com/fonts/palast-poster">Poster</a>, <a href="https://www.hvdfonts.com/fonts/palast-display">Display</a>, and <a href="https://www.hvdfonts.com/fonts/palast-text">Text</a>.</p>
<p>And the latest addition to the library is Hannes’s <a href="https://www.hvdfonts.com/fonts/match">Match</a>, a compact and confident grotesk.</p>
<p>☞ <strong><a href="https://www.hvdfonts.com">https://www.hvdfonts.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Match-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Match-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-4.png" alt="Screenshot Match 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Match-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Match-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-5.png" alt="Screenshot Match 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Match-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Match-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-3.png" alt="Screenshot Match 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Match-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Match-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match-2.png" alt="Screenshot Match 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Match.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Match.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Match.png" alt="Screenshot Match" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Palast-Poster-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Palast-Poster-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster-3.png" alt="Screenshot Palast Poster 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Palast-design-information.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Palast-design-information.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-design-information.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-design-information.png" alt="Screenshot Palast design information" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Palast-Text.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Palast-Text.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Text.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Text.png" alt="Screenshot Palast Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Palast-Poster-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Palast-Poster-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster-2.png" alt="Screenshot Palast Poster 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Palast-Poster.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Palast-Poster.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Palast-Poster.png" alt="Screenshot Palast Poster" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fabrikat-Mono.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fabrikat-Mono.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Mono.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Mono.png" alt="Screenshot Fabrikat Mono" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fabrikat-Normal-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fabrikat-Normal-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal-3.png" alt="Screenshot Fabrikat Normal 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fabrikat-Normal-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fabrikat-Normal-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal-2.png" alt="Screenshot Fabrikat Normal 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fabrikat-Normal.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fabrikat-Normal.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fabrikat-Normal.png" alt="Screenshot Fabrikat Normal" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FF-Mark-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FF-Mark-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark-3.png" alt="Screenshot FF Mark 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FF-Mark-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FF-Mark-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark-2.png" alt="Screenshot FF Mark 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FF-Mark.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FF-Mark.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FF-Mark.png" alt="Screenshot FF Mark" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brandon-Grotesque-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brandon-Grotesque-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brandon-Grotesque-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brandon-Grotesque-2.png" alt="Screenshot Brandon Grotesque 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brandon-Grotesque.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brandon-Grotesque.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brandon-Grotesque.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brandon-Grotesque.png" alt="Screenshot Brandon Grotesque" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-HvD-Fonts-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-HvD-Fonts-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-HvD-Fonts-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-HvD-Fonts-library.png" alt="Screenshot HvD Fonts library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-HvD-Fonts-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-HvD-Fonts-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-HvD-Fonts-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-HvD-Fonts-website.png" alt="Screenshot HvD Fonts website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 20: Frere-Jones Type</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-20</link>
                <pubDate>Tue, 20 Dec 2022 10:29:13 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-20</guid>
                <description><![CDATA[
                    
																																	<p>Tobias Frere-Jones is one of the most accomplished type designers in the world. He worked at Font Bureau in Boston where he designed modern classics like Benton Sans or Interstate. He later returned to his hometown New York City and, at Hoefler &amp; Frere-Jones, created timeless designs like Whitney and Gotham. Then, in 2015, Tobias founded his own company, Frere-Jones type. A year later, he was joined by Nina Stössinger, who, just like Tobias, teaches type design at Yale School of Art.</p>
<p>The library of Frere-Jones Type is small but exquisite, with all typefaces being designed with intention, care, and a lot of attention to detail. A few highlights:</p>
<p><a href="https://frerejones.com/families/mallory">Mallory</a> was the first release of the foundry and Tobias’s take on combining his own mixed heritage, being part British part American, into a geometric but relaxed type family.</p>
<p><a href="https://frerejones.com/families/exchange">Exchange</a> is a sturdy, compact, and clear serif that started as a commission for The Wall Street Journal and was revised and extended for the retail release.</p>
<p><a href="https://frerejones.com/families/magnet">Magnet</a> is an energetic and surprising sans-serif family, designed by Inga Plönnigs. Tightly packed headline cuts – including backslanted versions – are combined with standard styles that are quieter but still intriguing with their deeply cut notches and unusual details.</p>
<p>￼<a href="https://frerejones.com/families/community-gothic">Community Gothic</a>, designed by Tobias Frere-Jones, Fred Shallcrass, and Nina Stössinger, is a patchwork family, inspired by the sans serif “jobbing” typefaces of the nineteenth century. Each style draws from different historical examples, leading to different shapes and different construction styles of the individual weights that were then <a href="https://frerejones.com/blog/grit-and-patchwork">finely tuned into a system</a> that has a common, reliable base but allows each glyph to deviate from the norm to a certain extent. </p>
<p>Also make sure to read some of the <a href="https://frerejones.com/blog">blog posts</a> that meticulously document the design of each release. Each is a little type design lesson on its own.</p>
<p>☞ <strong><a href="https://frerejones.com">https://frerejones.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Community-Gothic-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Community-Gothic-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-4.png" alt="Screenshot Community Gothic 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Community-Gothic-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Community-Gothic-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-3.png" alt="Screenshot Community Gothic 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Community-Gothic-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Community-Gothic-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic-2.png" alt="Screenshot Community Gothic 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Community-Gothic.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Community-Gothic.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Community-Gothic.png" alt="Screenshot Community Gothic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Magnet-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Magnet-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Magnet-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Magnet-2.png" alt="Screenshot Magnet 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Magnet.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Magnet.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Magnet.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Magnet.png" alt="Screenshot Magnet" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Exchange-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Exchange-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Exchange-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Exchange-2.png" alt="Screenshot Exchange 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Exchange.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Exchange.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Exchange.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Exchange.png" alt="Screenshot Exchange" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Mallory-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Mallory-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mallory-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mallory-2.png" alt="Screenshot Mallory 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Mallory.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Mallory.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mallory.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Mallory.png" alt="Screenshot Mallory" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Frere-Jones-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Frere-Jones-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Frere-Jones-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Frere-Jones-website.png" alt="Screenshot Frere-Jones website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 19: Fontwerk</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-19</link>
                <pubDate>Mon, 19 Dec 2022 01:07:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-19</guid>
                <description><![CDATA[
                    
																																	<p>Fontwerk was founded in 2019 by Ivo Gabrowitsch in Berlin. Building on his excellent network and years of experience as marketing director at FontShop and Monotype, Ivo has assembled a permanent team of great designers and font engineers that also regularly collaborates with a freelance network of international design professionals.</p>
<p>One look at the library and you can already see the signature style of the “typographic epicentre” that is Berlin: typefaces of extremely high quality and a lot of attention to detail. Useful, thorough, aesthetically pleasing – and always recognizable in their design.</p>
<p><a href="https://fontwerk.com/en/fonts/case-superfamily">Case</a> is a neo-grotesk superfamily in the tradition of Akzidenz Grotesk or Univers designed by Erik Spiekermann, Anja Meiners, and Ralph du Carrois. They put in all their experience to design a typeface that captures the essence of the best parts of this genre but also adds in new ideas. The result is a design that achieves something that is incredibly hard: it has a familiar, solid, and clear base but at the same time it has its very own individual, contemporary character.</p>
<p>The versatile <a href="https://fontwerk.com/en/fonts/nice-superfamily">Nice Superfamily</a> by Jan Fromm is a clear but lively serif that comes in four optical sizes. The smaller optical sizes are optimized for legibility while the larger sizes emphasize expressiveness with high stroke contrasts and sharp serifs.</p>
<p>And Christoph Koeberlin’s <a href="https://fontwerk.com/en/fonts/pangea-superfamily">Pangea Superfamily</a> is a compact but friendly geometric sans that brilliantly weaves in elements of grotesk typefaces like a double-story a or a “spectacle-g”. It comes in a wide range of styles and optical sizes and, as you would expect from one of the best font engineers out there, is available as a variable font as well. You can try out the different axes and read more about the design <a href="https://christoph.koe.berlin/articles/en/pangea/">on Christoph’s website</a>. Also remarkable: Christoph is donating 25% of his income from Pangea to the preservation of the rainforest and to large-scale reforestation projects.</p>
<p>Oh, and also make sure to have a look at <a href="https://fontwerk.com/en/fonts/nikolai">Nikolai</a>, designed by Franziska Weitgruber. A striking contemporary reinterpretation of Renaissance serifs that evolved on Future Fonts into a beautiful design full of character.</p>
<p>Fontwerk provides trial fonts for all typefaces and students can purchase all font families for the price of a regular weight. Fantastic!</p>
<p>☞ <strong><a href="https://fontwerk.com">https://fontwerk.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nikolai-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nikolai-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-5.png" alt="Screenshot Nikolai 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nikolai-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nikolai-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-4.png" alt="Screenshot Nikolai 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nikolai-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nikolai-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-3.png" alt="Screenshot Nikolai 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nikolai-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nikolai-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai-2.png" alt="Screenshot Nikolai 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nikolai.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nikolai.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nikolai.png" alt="Screenshot Nikolai" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Pangea-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Pangea-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-5.png" alt="Screenshot Pangea 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Pangea-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Pangea-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-4.png" alt="Screenshot Pangea 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Pangea-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Pangea-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-3.png" alt="Screenshot Pangea 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Pangea-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Pangea-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-2.png" alt="Screenshot Pangea 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Pangea-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Pangea-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Pangea-1.png" alt="Screenshot Pangea 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nice-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nice-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-5.png" alt="Screenshot Nice 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nice-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nice-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-3.png" alt="Screenshot Nice 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nice-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nice-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-4.png" alt="Screenshot Nice 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nice-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nice-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice-2.png" alt="Screenshot Nice 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Nice.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Nice.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Nice.png" alt="Screenshot Nice" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Case-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Case-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-3.png" alt="Screenshot Case 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Case-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Case-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-4.png" alt="Screenshot Case 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Case-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Case-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case-2.png" alt="Screenshot Case 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Case.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Case.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Case.png" alt="Screenshot Case" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fontwerk-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fontwerk-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fontwerk-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fontwerk-website.png" alt="Screenshot Fontwerk website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 18: Vectro</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-18</link>
                <pubDate>Sun, 18 Dec 2022 02:00:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-18</guid>
                <description><![CDATA[
                    
																																	<p>Vectro is a type design studio based in Portland founded in 2021 by Lizy Gershenzon and Travis Kochel. The two have been running the design studio Scribble Tone for several years but their most-noticed project (and company) is probably <a href="https://www.futurefonts.xyz/">Future Fonts</a>, a platform for experimental, high-quality fonts in progress. On Future Fonts, type designers can sell early, unfinished versions of their typefaces at a fraction of the final price to support further development and get early feedback. But most importantly, Lizy and Travis have created a community with Future Fonts that empowers type designers to grow and learn. Foundries like <a href="https://www.futurefonts.xyz/ohno">Ohno</a> or <a href="https://www.futurefonts.xyz/blast">Blast</a> owe much of their success to the visibility they have on Future Fonts, and in the community Slack channel, seasoned designers like Kris Sowersby are providing feedback and useful advice.</p>
<p>Vectro is Lizy‘s and Travis‘s latest endeavor and the new home for all their own typefaces going forward. But they’re also collaborating with other type designers to build up a library that is useful, playful, and expressive, but that also leverages latest font technologies like variable fonts.</p>
<p><a href="https://www.vectrotype.com/rainer">Rainer</a> is a tightly compressed sans with a large x-height by Philipp Neumeyer (whom you might remember from his designs published with <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-04">TypeMates</a>). The typeface started out on Future Fonts as well and now found its way into Vectro‘s catalog. <a href="https://www.vectrotype.com/vctr-mono">Vctr Mono</a> is a warm and slightly goofy monospaced typeface by Travis and Lizy that was inspired by text found on the lenses and bodies of manual cameras. <a href="https://www.vectrotype.com/analog">Analog</a> is a confident, wide industrial sans-serif with low contrast. And <a href="https://www.vectrotype.com/whoa">WHOA</a> is an experimental variable font, “named after the sound commonly heard after dragging the slider for the first time.” Try it. It’s true. :)</p>
<p>Trial fonts are available and students get a 50 % discount on all fonts.</p>
<p>☞ <strong><a href="https://www.vectrotype.com/">https://www.vectrotype.com/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Future-Fonts-Theodor-Font.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Future-Fonts-Theodor-Font.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts-Theodor-Font.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts-Theodor-Font.png" alt="Screenshot Future Fonts Theodor Font" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Future-Fonts-Marionette-Font.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Future-Fonts-Marionette-Font.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts-Marionette-Font.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts-Marionette-Font.png" alt="Screenshot Future Fonts Marionette Font" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Future-Fonts.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Future-Fonts.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Future-Fonts.png" alt="Screenshot Future Fonts" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Kicker.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Kicker.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kicker.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kicker.png" alt="Screenshot Kicker" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Wildberry.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Wildberry.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Wildberry.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Wildberry.png" alt="Screenshot Wildberry" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Analog.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Analog.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Analog.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Analog.png" alt="Screenshot Analog" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa-6.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa-6.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-6.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-6.png" alt="Screenshot Whoa 6" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-5.png" alt="Screenshot Whoa 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-4.png" alt="Screenshot Whoa 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-3.png" alt="Screenshot Whoa 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa-2.png" alt="Screenshot Whoa 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Whoa.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Whoa.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Whoa.png" alt="Screenshot Whoa" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Vctr-Mono-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Vctr-Mono-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono-3.png" alt="Screenshot Vctr Mono 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Vctr-Mono-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Vctr-Mono-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono-2.png" alt="Screenshot Vctr Mono 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Vctr-Mono.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Vctr-Mono.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vctr-Mono.png" alt="Screenshot Vctr Mono" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rainer-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rainer-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-2.png" alt="Screenshot Rainer 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rainer-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rainer-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-3.png" alt="Screenshot Rainer 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rainer-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rainer-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rainer-1.png" alt="Screenshot Rainer 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Vectro-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Vectro-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vectro-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vectro-library.png" alt="Screenshot Vectro library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Vectro-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Vectro-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vectro-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Vectro-website.png" alt="Screenshot Vectro website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 17: Studio René Bieder</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-17</link>
                <pubDate>Sat, 17 Dec 2022 01:52:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-17</guid>
                <description><![CDATA[
                    
																																	<p>You probably have seen several of his typefaces on MyFonts before. Maybe you even purchased one or more of them. For almost 10 years, he was selling his fonts on Monotype platforms. This year, Berlin-born and -based designer René Bieder launched his own independent shop for his typefaces. And it is full of treasures.</p>
<p>When the idea to sell the typefaces of his studio independently grew in René about two years ago, he immediately knew that he would have to raise the bar for such a huge project and he started to revise some of his most popular designs. At first, he planned to do only a few minor adjustments. But as time progressed, <a href="https://the-brandidentity.com/interview/rené-bieder-on-launching-his-typefaces-independently-and-designing-14-families-within-two-years">he realized</a> that if you change just a few small details in the system that is a typeface, you might as well rework the whole family and include even more adjustments. All of a sudden, he found himself jumping back and forth between revisions of six of his existing typefaces while also working on new designs – with the positive side effect that he could always look at the work with fresh eyes. The result? A whopping total of 14 revised or new type families, designed within two years. Since October 2022, René has been publishing one of the eight completely new families every month. So there’s even more to come.</p>
<p>With that many designs of outstanding quality, it is incredibly hard to pick a few favorites. I will give it a try, but promise me to look at the typefaces in the library yourself.</p>
<p><a href="https://www.renebieder.com/fonts/neue-campton">Neue Campton</a> is the redesign of one of René’s most successful typefaces. The challenge in reworking the geometric sans-serif was to keep the balance between creating an expressive, new aesthetic while also keeping the original spirit of Campton alive.</p>
<p>With <a href="https://www.renebieder.com/fonts/neue-faktum">Neue Faktum</a>, a grotesk that combines organic and mechanical shapes into a cohesive design, the process of revising the family proved to be easier, because the design details of the typeface were distinctive enough already. So, René primarily redrew all the curves.</p>
<p><a href="https://www.renebieder.com/fonts/kreol">Kreol</a> was the first one of the new designs to be released. The serif typeface comes with gorgeous high-contrast strokes and a sturdy, sometimes crisp, but always elegant appearance. </p>
<p><a href="https://www.renebieder.com/fonts/spyk-display">Spyk</a> takes some of the details that can be found in Kreol even further and turns up the volume into an extroverted, lively, and razor-sharp design. This might well be a TDC winner in 2023. ;)</p>
<p>Trial fonts are available for all typefaces. And if you hurry up and buy one of the new type families, you will get a limited edition poster for free.</p>
<p>☞ <strong><a href="https://www.renebieder.com">https://www.renebieder.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Spyk-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Spyk-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-5.png" alt="Screenshot Spyk 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Spyk-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Spyk-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-4.png" alt="Screenshot Spyk 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Spyk-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Spyk-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-3.png" alt="Screenshot Spyk 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Spyk-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Spyk-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-2.png" alt="Screenshot Spyk 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Spyk-Display.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Spyk-Display.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-Display.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Spyk-Display.png" alt="Screenshot Spyk Display" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Kreol-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Kreol-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol-4.png" alt="Screenshot Kreol 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Kreol-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Kreol-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol-3.png" alt="Screenshot Kreol 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Kreol2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Kreol2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol2.png" alt="Screenshot Kreol 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Kreol.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Kreol.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Kreol.png" alt="Screenshot Kreol" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Faktum-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Faktum-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-5.png" alt="Screenshot Neue Faktum 5" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Faktum-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Faktum-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-4.png" alt="Screenshot Neue Faktum 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Faktum-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Faktum-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-3.png" alt="Screenshot Neue Faktum 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Faktum-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Faktum-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum-2.png" alt="Screenshot Neue Faktum 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Faktum.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Faktum.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Faktum.png" alt="Screenshot Neue Faktum" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Campton-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Campton-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton-3.png" alt="Screenshot Neue Campton 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Campton-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Campton-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton-2.png" alt="Screenshot Neue Campton 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Campton.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Campton.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Campton.png" alt="Screenshot Neue Campton" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Studio-Rene-Bieder-library-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Studio-Rene-Bieder-library-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library-3.png" alt="Screenshot Studio Rene Bieder library 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Studio-Rene-Bieder-library-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Studio-Rene-Bieder-library-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library-2.png" alt="Screenshot Studio Rene Bieder library 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Studio-Rene-Bieder-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Studio-Rene-Bieder-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-library.png" alt="Screenshot Studio Rene Bieder library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Studio-Rene-Bieder-Website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Studio-Rene-Bieder-Website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-Website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Studio-Rene-Bieder-Website.png" alt="Screenshot Studio Rene Bieder Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 16: R-Typography</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-16</link>
                <pubDate>Fri, 16 Dec 2022 10:37:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-16</guid>
                <description><![CDATA[
                    
																																	<p>R-Typography is a type foundry based in Lisbon Portugal, founded by Rui Abreu in 2008 and now run together with Catarina Vaz.</p>
<p>Rui drew his first type designs while still working as a designer in advertising agencies. One day, he decided to send a design to to Peter Bruhn of the Swedish foundry Fountain. Peter not only recognized that this young designer from Portugal could draw letters, but he would also become his mentor as they collaborated for a few projects, including the TDC award-winning <a href="https://www.r-typography.com/fonts/orbe-pro">Orbe</a>. From Peter, Rui not only learned how much hard work and dedication it takes to produce a typeface, but he also realized that a foundry is more than the sum of its collective typefaces. As he says, “What makes a foundry is the whole body of knowledge.”</p>
<p>And so, when you look at the growing catalogue of R-Typography, it seems that what is driving Rui today is not only the desire to cover a wide range of styles and curate a collection of useful and beautiful typefaces. Just as important is that the foundry’s ‘body of knowledge’ is growing artistically but also regarding methods, production techniques, and tooling.</p>
<p>The library of R-Typography now contains a range of great sans-serifs, like the geometric but pleasantly warm <a href="https://www.r-typography.com/fonts/azo-sans">Azo Sans</a> in all its variations, the constructed <a href="https://www.r-typography.com/fonts/sul-sans">Sul Sans</a>, sort of a Portuguese version of DIN, and Rui’s recent reinterpretation of Futura: <a href="https://www.r-typography.com/fonts/atica">Atica</a>. <a href="https://www.r-typography.com/fonts/staff-x-wide">Staff</a> is a sturdy, contemporary neo-grotesk sans family for wide range of applications and a more recent, text-oriented version in <a href="https://www.r-typography.com/fonts/staff-grotesk">Staff Grotesk</a>.</p>
<p>The serif families are where you can see that Rui really knows how to balance contrast and shape. Like in <a href="https://www.r-typography.com/fonts/grifo-l">Grifo</a> and <a href="https://www.r-typography.com/fonts/gliko-modern-l">Gliko Modern</a>, two serif designs for editorial use with high stroke contrast, or <a href="https://www.r-typography.com/fonts/flecha-l">Flecha</a>, a sharp, sturdy, yet delicate and “Fleischmann-y” old-style typeface. The latest release of the foundry is <a href="https://www.r-typography.com/fonts/rizoma-l">Rizoma</a>, a contemporary typographic interpretation of Roman inscription letters, elegant and slightly constructivist.</p>
<p>As it is the standard nowadays, you can get free test fonts with a limited character set. And I also encourage you to read a few of the interesting post in the <a href="https://www.r-typography.com/stories">stories</a> section, where Rui writes about the design ideas behind the typefaces.</p>
<p>☞ <strong><a href="https://www.r-typography.com">https://www.r-typography.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rizoma-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rizoma-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rizoma-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rizoma-2.png" alt="Screenshot Rizoma 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rizoma-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rizoma-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rizoma-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rizoma-1.png" alt="Screenshot Rizoma 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Flecha-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Flecha-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-3.png" alt="Screenshot Flecha 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Flecha-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Flecha-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-2.png" alt="Screenshot Flecha 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Flecha-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Flecha-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Flecha-1.png" alt="Screenshot Flecha 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Staff-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Staff-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-4.png" alt="Screenshot Staff 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Staff-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Staff-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-3.png" alt="Screenshot Staff 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Staff-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Staff-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-2.png" alt="Screenshot Staff 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Staff-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Staff-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Staff-1.png" alt="Screenshot Staff 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Atica-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Atica-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atica-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atica-2.png" alt="Screenshot Atica 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Atica-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Atica-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atica-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atica-1.png" alt="Screenshot Atica 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Azo-Sans-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Azo-Sans-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azo-Sans-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azo-Sans-2.png" alt="Screenshot Azo Sans 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Azo-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Azo-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azo-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azo-Sans.png" alt="Screenshot Azo Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-R-Typography-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-R-Typography-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-R-Typography-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-R-Typography-website.png" alt="Screenshot R-Typography website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 15: David Jonathan Ross</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-15</link>
                <pubDate>Thu, 15 Dec 2022 12:11:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-15</guid>
                <description><![CDATA[
                    
																																	<p>David Jonathan Ross (DJR) had been working with <a href="https://fontbureau.typenetwork.com">The Font Bureau</a> for nearly a decade, when he decided to start his own type foundry in 2016, now located in the hills of Western Massachusetts.</p>
<p>David’s typefaces literally come in all shapes and sizes, and in all of them, his love for exploration, experimentation, and play is evident. It almost seems as if David just can’t get enough of trying out new genres, drawing new shapes, finding new ideas for typefaces that nobody has done before, while pushing the boundaries of what font technology and type engineering can do. As a result, David has been awarded with several TDC awards and, in 2018, received the <a href="https://atypi.org/about-atypi/what-we-do/prix-charles-peignot/">Prix Charles Peignot</a> by the Association Typographique Internationale.</p>
<p>Many of David’s experiments and up as fonts in his <a href="https://djr.com/font-of-the-month-club">Font of the Month Club</a>. For a tiny subscription fee, members of the club will get one of David’s latest fonts every month. And the variety of designs on this “playground” is just stunning. So just scroll through the history of fonts – and also take a look at the type designs on David’s website that I don’t mention here.</p>
<p>While many of David’s designs remain experiments or single fonts (for now), some of them even grow into whole type families. Like the much applauded <a href="https://djr.com/roslindale/">Roslindale</a>, a serif family that comes with sturdy and stylish text styles but gets expressive and ornate in display sizes.</p>
<p>Or <a href="https://djr.com/forma">Forma DJR</a>, a revival of the classic Italian sans-serif from 1968, that was the Italian type foundry Nebiolo’s answer to Helvetica. Based on proofs <a href="http://kupferschrift.de/">Indra Kupferschmid</a> printed from a casting of the original Forma in lead, David and Roger Black designed a contemporary digital version of Forma that captures the charm of all the interesting, unintentional byproducts of the printing process in the typeface’s design details.</p>
<p>Also worth mentioning, especially for the coders out there, is <a href="https://djr.com/input">Input</a>, a monospaced (and proportional) type system David specifically designed for coding environments. The typeface comes in a wide range of widths and styles, so that you can pick the right type face for your editor according to your personal preference. I have been using Input as my typeface in Sublime Text and later Visual Studio Code for years now and don’t want to miss it.</p>
<p>For all typefaces, you can get trial fonts, sometimes even including the variable font versions, for evaluation and internal testing purposes.</p>
<p>And if you love conference talks, also make sure to watch the talks David gave at beyond tellerrand in <a href="https://beyondtellerrand.com/events/dusseldorf-2016/speakers/david-jonathan-ross">2016</a> and <a href="https://beyondtellerrand.com/events/berlin-2018/speakers/david-jonathan-ross">2018</a> for a deep-dive into type design and (extreme) typography.</p>
<p>☞ <strong><a href="https://djr.com">https://djr.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Input-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Input-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Input-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Input-2.png" alt="Screenshot Input 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Input.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Input.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Input.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Input.png" alt="Screenshot Input" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Forma-DJR-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Forma-DJR-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-3.png" alt="Screenshot Forma DJR 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Forma-DJR-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Forma-DJR-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-4.png" alt="Screenshot Forma DJR 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Forma-DJR-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Forma-DJR-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-2.png" alt="Screenshot Forma DJR 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Forma-DJR-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Forma-DJR-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Forma-DJR-1.png" alt="Screenshot Forma DJR 1" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Roslindale-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Roslindale-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale-2.png" alt="Screenshot Roslindale 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Roslindale-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Roslindale-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale-3.png" alt="Screenshot Roslindale 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Roslindale.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Roslindale.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Roslindale.png" alt="Screenshot Roslindale" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fit-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fit-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fit-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fit-2.png" alt="Screenshot Fit 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Fit.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Fit.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fit.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Fit.png" alt="Screenshot Fit" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Bungee.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Bungee.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Bungee.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Bungee.png" alt="Screenshot Bungee" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FOTMC-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FOTMC-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-3.png" alt="Screenshot FOTMC 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FOTMC-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FOTMC-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-4.png" alt="Screenshot FOTMC 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FOTMC-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FOTMC-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC-2.png" alt="Screenshot FOTMC 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-FOTMC.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-FOTMC.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-FOTMC.png" alt="Screenshot FOTMC" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-DJR-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-DJR-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-DJR-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-DJR-website.png" alt="Screenshot DJR website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 14: Interval Type</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-14</link>
                <pubDate>Wed, 14 Dec 2022 09:32:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-14</guid>
                <description><![CDATA[
                    
																																	<p>Bonjour Paris! The type design community in Paris is buzzing and today, we’re looking at one of the younger foundries that has already received a lot of praise. Interval Type is the foundry of art director and type designer <a href="https://ilyanaumoff.com">Ilya Naumoff</a>. Before he founded Interval Type, Ilya was part of <a href="https://black-foundry.com">Black[Foundry]</a> and worked with foundries in France and Switzerland.</p>
<p>The library of Interval Type is small but already full of gems. <a href="https://intervaltype.com/product/englisch/">Englisch</a> is a playful display typeface that draws inspiration from 17th and 18th century English type designs to create a slightly eccentric and charming contemporary design that has been awarded with a <a href="https://www.tdc.org/news/global-winners-announced-for-tdc-68-communication-design-and-25tdc-typeface-design-competitions/">TDC award for type design</a> this year.</p>
<p><a href="https://intervaltype.com/product/factor-a/">Factor A</a> and <a href="https://intervaltype.com/product/factor-b/">Factor B</a> are the geometric sans-serifs in the collection. Factor A is the warmer of the two, Factor B is more rational in its shapes. But both have a contemporary appeal, not only because of little quirky details but also because of a wide set of squiggly alternates.</p>
<p><a href="https://intervaltype.com/product/rooftop/">Rooftop</a> is a sturdy grotesk inspired by the american grotesks of the early 20th century but with slightly squarish curves, a design detail that I fondly remember from designs like T-Star and my only clumsy attempt at type design as a student in the early 2000s. <a href="https://intervaltype.com/product/stravinsky/">Stravinsky</a> is a a slightly chaotic, experimental grotesk display typeface.</p>
<p>And then there is <a href="https://intervaltype.com/product/oceanic/">Oceanic</a>. Full of bold, organic shapes and exuberant, contrasting friskiness. Odd, quirky, elegant – and TDC-awarded in 2022 as well. Oceanic Text, the more sober serif counterpart for running text completes the family, creating the perfect mix for a wide range of applications.</p>
<p>For all fonts, you can get free trial fonts with a limited character set.</p>
<p>☞ <strong><a href="https://intervaltype.com">https://intervaltype.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic-7.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic-7.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-7.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-7.png" alt="Screenshot Oceanic Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic-6.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic-6.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-6.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-6.png" alt="Screenshot Oceanic Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic-5.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic-5.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-5.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-5.png" alt="Screenshot Oceanic Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-3.png" alt="Screenshot Oceanic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic-4.png" alt="Screenshot Oceanic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oceanic.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oceanic.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oceanic.png" alt="Screenshot Oceanic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Stravinsky.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Stravinsky.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Stravinsky.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Stravinsky.png" alt="Screenshot Stravinsky" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rooftop.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rooftop.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rooftop.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rooftop.png" alt="Screenshot Rooftop" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Factor-B-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Factor-B-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-3.png" alt="Screenshot Factor B" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Factor-B-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Factor-B-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-2.png" alt="Screenshot Factor B" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Factor-B-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Factor-B-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-B-1.png" alt="Screenshot Factor B" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Factor-A-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Factor-A-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-A-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-A-2.png" alt="Screenshot Factor A" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Factor-A-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Factor-A-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-A-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Factor-A-3.png" alt="Screenshot Factor A" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Englisch.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Englisch.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch.png" alt="Screenshot Englisch" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Englisch-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Englisch-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-2.png" alt="Screenshot Englisch" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Englisch-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Englisch-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-3.png" alt="Screenshot Englisch" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Englisch-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Englisch-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Englisch-4.png" alt="Screenshot Englisch" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Interval-Type-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Interval-Type-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Interval-Type-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Interval-Type-library.png" alt="Screenshot Interval Type library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Interval-Type-website-home.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Interval-Type-website-home.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Interval-Type-website-home.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Interval-Type-website-home.png" alt="Screenshot Interval Type website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 13: Newglyph</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-13</link>
                <pubDate>Tue, 13 Dec 2022 12:01:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-13</guid>
                <description><![CDATA[
                    
																																	<p>Newglyph is a type design studio based in Lausanne, Switzerland, founded by Ian Party and his team in 2019. If that name rings a bell, it’s because <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-12">just yesterday</a>, we looked at another foundry Ian co-founded: Swiss Typefaces. Newglyph is his latest endeavor and is focused on “the research, design, and development of fonts and variable font technology”. Also, 10% of the foundry’s proceeds go to <a href="https://newglyph.com/philanthropy/">non-profit organizations</a> “committed to protecting our planet and all life on earth”.</p>
<p>The library of Newglyph currently consists of two major font collections that were all designed by Ian himself. In a way, the collections are taking the design approach Ian used for his designs at Swiss Typefaces one step further by making all of the designs variable fonts. Ian’s goal was to make “all these styles interpolate and blend together to make it a fluid aesthetic variable font with enormous possibilities in styles that had never been done before.” If you give the website access to your motion sensor (gyroscope) on a mobile device, you’ll be able to manipulate the weight and width of the files by moving your device, by the way. On devices with a pointing device, the cursor movement will change the weight and width of the type.</p>
<p>The <a href="https://newglyph.com/classic-collection/">Classic collection</a> consists of 7 variable fonts – Antarctica, Baikal, Crystal, Sunlight, Alpaga, Amazonia, Alaska, and Atacama – that range from  grotesk and geometric sans-serifs over monospaced fonts to several serif designs. All designs share the same attention to detail and a certain Swiss precision but also have their very own contemporary character.</p>

																												
																																		<figure class="quote">
							<blockquote><p>When design­ing a&nbsp;curve I&nbsp;think of the quick­est and most effi­cient way to design a&nbsp;curve, for exam­ple, like a&nbsp;roller­coast­er. It’s pre­cise like a&nbsp;math­e­mat­i­cal cal­cu­la­tion, with an added bonus of emo­tions and feelings.</p>
</blockquote>
												<figcaption>Ian Party </figcaption>
										</figure>
																
																																	<p>The <a href="https://newglyph.com/discovery-collection/">Discovery collection</a>, on the other hand, is all about expressiveness. It’s all in there: geometric shapes, organic shapes, extreme contrasts, abruptly cut-off terminals, and confident strokes in all directions. And again, almost all typefaces in the collection are variable fonts.</p>
<p>The license for all fonts includes desktop, web, apps, electronic publications, video, and much more – basically everything you’ll ever need as well as free updates. You can get free trial fonts with a limited character set and students can buy a lifetime license for each typeface for 50 CHF and only 150 CHF for whole collections.</p>
<p>☞ <strong><a href="https://newglyph.com/">https://newglyph.com/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Azteca.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Azteca.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azteca.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Azteca.png" alt="Screenshot Azteca" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Angela.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Angela.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Angela.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Angela.png" alt="Screenshot Angela" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Agatha.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Agatha.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Agatha.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Agatha.png" alt="Screenshot Agatha" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Oddity.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Oddity.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oddity.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Oddity.png" alt="Screenshot Oddity" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Africa.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Africa.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Africa.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Africa.png" alt="Screenshot Africa" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Stardust.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Stardust.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Stardust.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Stardust.png" alt="Screenshot Stardust" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Discovery-collection.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Discovery-collection.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Discovery-collection.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Discovery-collection.png" alt="Screenshot Discovery collection" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Atacama-light-condensed.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Atacama-light-condensed.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atacama-light-condensed.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atacama-light-condensed.png" alt="Screenshot Atacama light condensed" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Atacama.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Atacama.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atacama.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atacama.png" alt="Screenshot Atacama" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sunlight-italic.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sunlight-italic.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sunlight-italic.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sunlight-italic.png" alt="Screenshot Sunlight italic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sunlight.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sunlight.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sunlight.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sunlight.png" alt="Screenshot Sunlight" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Antarctica-Text.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Antarctica-Text.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Text.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Text.png" alt="Screenshot Antarctica Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Antarctica-Bold-Italic.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Antarctica-Bold-Italic.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Bold-Italic.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Bold-Italic.png" alt="Screenshot Antarctica Bold Italic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Antarctica-Light.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Antarctica-Light.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Light.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Antarctica-Light.png" alt="Screenshot Antarctica Light" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Classic-collection-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Classic-collection-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection-2.png" alt="Screenshot Classic collection 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Classic-collection.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Classic-collection.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection.png" alt="Screenshot Classic collection" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Classic-collection-light-condensed.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Classic-collection-light-condensed.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection-light-condensed.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Classic-collection-light-condensed.png" alt="Screenshot Classic collection light condensed" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-newglyph-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-newglyph-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-newglyph-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-newglyph-website.png" alt="Screenshot newglyph website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 12: Swiss Typefaces</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-12</link>
                <pubDate>Mon, 12 Dec 2022 08:21:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-12</guid>
                <description><![CDATA[
                    
																																	<p>Many type foundries claim to be offering innovative designs and flexible type systems. But few deliver on this promise like Swiss Typefaces does. Founded in 2005 in Lausanne by Maxime Büchi and Ian Party (first as B&amp;P type foundry), who were later joined by Emmanuel Rey, the foundry approaches a lot of things differently. Where other foundries offer type families with a certain range of weights and styles, Swiss Typefaces provides designers with typeface collections that share similar foundational design elements but offer a wide range of visual variation, allowing for true flexibility.</p>
<p>Centerpiece of the library is Ian Party’s <a href="https://www.swisstypefaces.com/fonts/suisse/">Suisse</a> typeface that consists of 6 collections with a total of 55 styles, including the grotesque Suisse Int’l and its serif counterpart Suisse Works. </p>
<p><a href="https://www.swisstypefaces.com/fonts/sangbleu/">SangBleu</a> follows the same conceptional approach but manages to take it even further to a point where it breaks with conventional typeface classifications like sans/serif/slab. The five collections of SangBleu are all romans, but their design characteristics, like contrast or serifs, become sometimes more, sometimes less pronounced. The result is an innovative, organic supercollection that offers a lot of flexibility.</p>
<p><a href="https://www.swisstypefaces.com/fonts/euclid/">Euclid</a>, designed by Emmanuel Rey, is the geometric sans-serif in the library, With its variations Circular A, Circular B, Square, Triangle, and Flex, it is worth a closer look as well.</p>
<p>Another thing that sets Swiss Typefaces apart is their licensing model. If you buy one of their typefaces, the license will always include desktop as well as web fonts. For students, they even offer lifetime licenses of their typeface collections for only 50 CHF. They also have a <a href="https://www.swisstypefaces.com/lab/">Lab</a> section on their site, where you can get early, experimental versions of upcoming type designs. And if you want to try the typefaces, you can always get free trial versions in desktop and web formats with a limited character set.</p>
<p>☞ <strong><a href="https://www.swisstypefaces.com">https://www.swisstypefaces.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Euclid-stylistic-range-e-and-s.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Euclid-stylistic-range-e-and-s.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-stylistic-range-e-and-s.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-stylistic-range-e-and-s.png" alt="Screenshot Euclid stylistic range e and s" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Euclid-stylistic-range.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Euclid-stylistic-range.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-stylistic-range.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-stylistic-range.png" alt="Screenshot Euclid stylistic range" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Euclid-Circular-A.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Euclid-Circular-A.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-Circular-A.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid-Circular-A.png" alt="Screenshot Euclid Circular A" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Euclid.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Euclid.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Euclid.png" alt="Screenshot Euclid" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-SangBleu-range-for-e-and-a.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-SangBleu-range-for-e-and-a.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-range-for-e-and-a.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-range-for-e-and-a.png" alt="Screenshot SangBleu range for e and a" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-SangBleu-detail.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-SangBleu-detail.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-detail.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-detail.png" alt="Screenshot SangBleu detail" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-SangBleu-stylistic-range.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-SangBleu-stylistic-range.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-stylistic-range.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-stylistic-range.png" alt="Screenshot SangBleu stylistic range" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-SangBleu-Empire-and-Kingdom.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-SangBleu-Empire-and-Kingdom.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-Empire-and-Kingdom.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu-Empire-and-Kingdom.png" alt="Screenshot SangBleu Empire and Kingdom" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-SangBleu.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-SangBleu.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-SangBleu.png" alt="Screenshot SangBleu" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Suisse-stylistic-range-for-characters.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Suisse-stylistic-range-for-characters.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-stylistic-range-for-characters.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-stylistic-range-for-characters.png" alt="Screenshot Suisse stylistic range for characters e, a, s, y" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Suisse-stylistic-range.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Suisse-stylistic-range.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-stylistic-range.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-stylistic-range.png" alt="Screenshot Suisse stylistic range" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Suisse-Int’l-and-Works.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Suisse-Int’l-and-Works.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-Int’l-and-Works.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse-Int’l-and-Works.png" alt="Screenshot Suisse Int’l and Works" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Suisse.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Suisse.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Suisse.png" alt="Screenshot Suisse" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Swiss-Typefaces-library.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Swiss-Typefaces-library.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Swiss-Typefaces-library.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Swiss-Typefaces-library.png" alt="Screenshot Swiss Typefaces library" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Swiss-Typefaces-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Swiss-Typefaces-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Swiss-Typefaces-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Swiss-Typefaces-website.png" alt="Screenshot Swiss Typefaces website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 11: Sharp Type</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-11</link>
                <pubDate>Sun, 11 Dec 2022 12:53:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-11</guid>
                <description><![CDATA[
                    
																																	<p>Sharp Type is a digital type foundry based in New York City and was founded in 2015 by Chantra Malee and Lucas Sharp. Chantra is in charge of strategy, brand management, graphic design, sales, and communication for the foundry, while Lucas acts as type director. Before he got into type design, Lucas Sharp was a painter. That’s why his work is, above all, shaped by the love of balanced and compelling form and beauty, but his foundry’s type designs also uniquely combine those traits with the utilitarian aspect of design and state-of-the-art type engineering. Many of the typefaces in the library are exploring edges and are groundbreaking in how they bring together expressive, contrasting details with a coherent visual appearance.</p>
<p>Sharp Type’s library contains a broad variety of styles, ranging from expressive display typefaces like <a href="https://sharptype.co/typefaces/frauen/">Frauen</a>, an ode to German calligraphy, or the contemporary blackletter <a href="https://sharptype.co/typefaces/respira-black/">Respira Black</a>, to charming serif designs like <a href="https://sharptype.co/typefaces/Doyle/">Doyle</a>.</p>
<p>The most notable designs of the catalog are, however, the sans serifs. There is the warm but neutral geometric sans-serif <a href="https://sharptype.co/typefaces/sharp-sans/">Sharp Sans</a>, for example, an iteration of the display typeface used by Michael Bierut’s team at Pentagram for the Hillary Clinton 2016 campaign.</p>
<p><a href="https://sharptype.co/typefaces/sharp-grotesk/">Sharp Grotesk</a> is a neo-grotesk superfamily with an incredibly wide range of styles that explores the edges of what is possible in sans-serif typography. Or, to quote from the Sharp Type website: “Swiss styling collides with the unexpected construction and wonky imperfectionism of 20th-century American wood type in Lucas Sharp’s monument to Adrian Frutiger.”</p>
<p><a href="https://sharptype.co/typefaces/Garnett/">Garnett</a> is the first typeface designed by Connor Davenport, senior typeface designer and technical director at Sharp Type. The design of the family combines the source material of the early, quirky grotesques of 19th-century Britain with hints of American Gothics into a confident, striking, and distinct contemporary typeface.</p>
<p>And then, there is Marc Rouault’s <a href="https://sharptype.co/typefaces/trois-mille-3000/">Trois Mille</a> – expressive, unseen, and truly genre-redefining in its innovative design. The design of the type family that started as <a href="https://typemedia-2016.com/marc#slide2">Marc’s TypeMedia thesis project in 2016</a> is based on a simple but effective idea:  by always orienting the pen at 0° for horizontal strokes and 90° for verticals, hairlines only occur at the stroke intersections and some interior strokes and joins, while the rest of the strokes remain thick. This breakthrough idea led to a contrast methodology Sharp calls “internal contrast”. It’s what makes Trois Mille so exiting and charmingly weird and it is also the foundational methodology behind <a href="https://sharptype.co/typefaces/beatrice-/beatrice-standard/">Beatrice</a>, with all its dramatic visual oddity culminating in <a href="https://sharptype.co/typefaces/beatrice-/beatrice-display/">Beatrice Display</a>.</p>
<p><a href="https://sharptype.co/trial-fonts/">Trial fonts</a> with a limited character set are available as well as a few nice <a href="https://products.sharptype.co">things</a>.</p>
<p>☞ <strong><a href="https://sharptype.co">https://sharptype.co</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Beatrice-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Beatrice-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-4.png" alt="Screenshot Beatrice 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Beatrice-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Beatrice-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-3.png" alt="Screenshot Beatrice 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Beatrice-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Beatrice-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice-2.png" alt="Screenshot Beatrice 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Beatrice.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Beatrice.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Beatrice.png" alt="Screenshot Beatrice" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screeenshot-Trois-Mille-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screeenshot-Trois-Mille-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-4.png" alt="Screeenshot Trois Mille 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screeenshot-Trois-Mille-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screeenshot-Trois-Mille-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-3.png" alt="Screeenshot Trois Mille 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screeenshot-Trois-Mille-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screeenshot-Trois-Mille-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille-2.png" alt="Screeenshot Trois Mille 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screeenshot-Trois-Mille.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screeenshot-Trois-Mille.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Trois-Mille.png" alt="Screeenshot Trois Mille" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Grotesk-4.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Grotesk-4.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-4.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-4.png" alt="Screenshot Sharp Grotesk 4" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 53.125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Grotesk-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Grotesk-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-3.png" alt="Screenshot Sharp Grotesk 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Grotesk-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Grotesk-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk-2.png" alt="Screenshot Sharp Grotesk 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Grotesk.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Grotesk.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Grotesk.png" alt="Screenshot Sharp Grotesk" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Sans.png" alt="Screenshot Sharp Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Type-website-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Type-website-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Type-website-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Type-website-2.png" alt="Screenshot Sharp Type website 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Sharp-Type-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Sharp-Type-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Type-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Sharp-Type-website.png" alt="Screenshot Sharp Type website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 10: Colophon Foundry</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-10</link>
                <pubDate>Sat, 10 Dec 2022 10:34:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-10</guid>
                <description><![CDATA[
                    
																																	<p>Colophon Foundry is a foundry based on London founded by Anthony Sheret and Edd Harrington. The two designers started working together in 2009 in a shared graphic design studio in Brighton and began designing their own typefaces for the projects of their studio The Entente.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Each of our font releas­es begins life as one part of a&nbsp;graph­ic design com­mis­sion, where­by the aes­thet­ic or con­cep­tu­al require­ments of that project will dic­tate cer­tain behav­iours in the design of the type. As these require­ments evolve – some­times over the course of a&nbsp;num­ber of years – so too will the design of the letterforms.</p>
</blockquote>
												<figcaption>Anthony Sheret and Edd Harrington </figcaption>
										</figure>
																
																																	<p>Their most popular typeface, especially in the early years of the foundry, is <a href="https://www.colophon-foundry.org/typefaces/apercu/">Aperçu</a>, a quirky grotesque full of references to classic realist typefaces like Johnston, Gill Sans, Neuzeit, and Franklin Gothic, but with a contemporary feel. </p>
<p>Other notable releases in the wide-ranging library are <a href="https://www.colophon-foundry.org/typefaces/basis-grotesque/">Basis</a> and the recently released <a href="https://www.colophon-foundry.org/typefaces/chromatic/">Chromatic</a> superfamily that travels different genres of sans-serifs.</p>
<p>If you want to test the typefaces first, you can get free demo fonts with a limited character set. And you can also order <a href="https://www.colophon-foundry.org/goods/">goods</a> like posters and scarfs.</p>
<p>☞ <strong><a href="https://www.colophon-foundry.org/">https://www.colophon-foundry.org/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.19.06.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.19.06.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.19.06.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.19.06.png" alt="Screenshot Chromatic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.17.52.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.17.52.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.52.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.52.png" alt="Screenshot Basis" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.17.28.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.17.28.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.28.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.28.png" alt="Screenshot Basis" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.17.14.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.17.14.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.14.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.14.png" alt="Screenshot Aperçu" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.17.07.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.17.07.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.07.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.17.07.png" alt="Screenshot Aperçu" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.16.52.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.16.52.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.52.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.52.png" alt="Screenshot Aperçu" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.16.44.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.16.44.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.44.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.44.png" alt="Screenshot Colophon Website" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-10-um-08.16.37.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-10-um-08.16.37.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.37.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-10-um-08.16.37.png" alt="Screenshot Colophon Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 9: Commercial Type</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-09</link>
                <pubDate>Fri, 09 Dec 2022 09:15:09 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-09</guid>
                <description><![CDATA[
                    
																																	<p>Commercial Type is a custom type design studio founded in 2007 by Paul Barnes and Christian Schwartz, based in New York City and London. They have worked to build a growing library of excellent quality with “a balance between highly versatile ‘vanilla’ typefaces that can do whatever a designer needs, and expressive typefaces that allow a designer to sit back and let the typeface do the hard work of making a piece of design interesting and memorable.”</p>
<p>Paul and Christian both have a background in publication design and had already collaborated on the type system for the newspaper The Guardian. So, when they founded Commercial Type, the <a href="https://commercialtype.com/catalog/guardian">Guardian Collection</a> became the cornerstone and most successful set of typefaces of their library.</p>
<p>Other popular typefaces include sans-serif workhorses like the clear and optimistic <a href="https://commercialtype.com/catalog/atlas">Atlas</a> and the plain but friendly <a href="https://commercialtype.com/catalog/graphik">Graphik</a>, but also more expressive, characterful designs like <a href="https://commercialtype.com/catalog/action_text">Action Text</a>, <a href="https://commercialtype.com/catalog/druk">Druk</a>, <a href="https://commercialclassics.com/catalogue/original_sans">Original Sans</a>, or <a href="https://commercialtype.com/catalog/canela">Canela</a>. Make sure to also have a look at <a href="https://commercialclassics.com">Commercial Classics</a>, their library of typefaces based on classic designs from typographic history.</p>
<p>Both designers have also collaborated with other foundries like Font Bureau, FontFont, or House Industries, with one notable release being <a href="https://commercialtype.com/catalog/neue_haas_grotesk">Neue Haas Grotesk</a>, a revival of Max Miedinger’s original Helvetica, which Commercial Type published in collaboration with Linotype in 2011.</p>
<p>Just like it is the case for all foundries features in this advent calendar, Commercial Type’s fonts are available as web fonts for self-hosting and you can get trial fonts as well.</p>
<p>☞ <strong><a href="https://commercialtype.com">https://commercialtype.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Neue-Haas-Grotesk.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Neue-Haas-Grotesk.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Haas-Grotesk.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Neue-Haas-Grotesk.png" alt="Screenshot Neue Haas Grotesk" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Commercial-Classics-website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Commercial-Classics-website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Classics-website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Classics-website.png" alt="Screenshot Commercial Classics website" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Original-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Original-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Original-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Original-Sans.png" alt="Screenshot Original Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Druk.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Druk.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Druk.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Druk.png" alt="Screenshot Druk" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Canela.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Canela.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Canela.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Canela.png" alt="Screenshot Canela" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Graphik-Super.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Graphik-Super.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik-Super.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik-Super.png" alt="Screenshot Graphik Super" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Graphik-Family.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Graphik-Family.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik-Family.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik-Family.png" alt="Screenshot Graphik Family" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Graphik.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Graphik.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Graphik.png" alt="Screenshot Graphik" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Atlas.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Atlas.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atlas.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Atlas.png" alt="Screenshot Atlas" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Guardian-Collection-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Guardian-Collection-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection-3.png" alt="Screenshot Guardian Collection 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Guardian-Collection-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Guardian-Collection-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection-2.png" alt="Screenshot Guardian Collection 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Guardian-Collection.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Guardian-Collection.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Guardian-Collection.png" alt="Screenshot Guardian Collection" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Commercial-Type-catalogue.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Commercial-Type-catalogue.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Type-catalogue.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Type-catalogue.png" alt="Screenshot Commercial Type catalogue" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Commercial-Type-Website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Commercial-Type-Website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Type-Website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Commercial-Type-Website.png" alt="Screenshot Commercial Type Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 8: Letters from Sweden</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-08</link>
                <pubDate>Thu, 08 Dec 2022 10:02:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-08</guid>
                <description><![CDATA[
                    
																																	<p>Hej! Time to look at the next type foundry and this time, we travel to Scandinavia. Letters from Sweden, founded by self taught type designer Göran Söderström in 2011, is based in Stockholm and designs retail and custom typefaces for local and international clients. Instead of following an overly conceptual or even dogmatic approach, the type designs of Letters from Sweden all share a certain uncontrived, straightforward, but also crafty style.</p>

																												
																																		<figure class="quote">
							<blockquote><p>I guess what you see [in my type­faces] is my style of draw­ing type hid­den there in the let­ters, as sim­ple as that. I&nbsp;live in sym­bio­sis with the type­face I’m cur­rent­ly draw­ing, and even­tu­al­ly the type­face tells me what to do and I&nbsp;just fol­low&nbsp;it.</p>
</blockquote>
												<figcaption>Göran Söderström </figcaption>
										</figure>
																
																																	<p>Highlights of the library include the straightforward <a href="https://lettersfromsweden.se/font/lab-grotesque/">Lab Grotesque</a>, the sturdy but elegant serif superfamily <a href="https://lettersfromsweden.se/font/ivar-text/">Ivar</a>, strongly influenced by Times, and the geometric sans serif <a href="https://lettersfromsweden.se/font/rund/">Rund</a> that comes with a nice design detail: Rund’s curved strokes have subtly concave terminal shapes, as if they were cut off by a circle.</p>
<p>You can try out all fonts on the website by typing and even changing the font wherever there is a type sample on the site. Test fonts with a limited character set are available on request.</p>
<p>☞ <strong><a href="https://lettersfromsweden.se">https://lettersfromsweden.se</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Rund.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Rund.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rund.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Rund.png" alt="Screenshot Rund" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ivar-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ivar-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ivar-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ivar-2.png" alt="Screenshot Ivar 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ivar.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ivar.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ivar.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ivar.png" alt="Screenshot Ivar" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lab-Grotesque-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lab-Grotesque-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque-3.png" alt="Screenshot Lab Grotesque 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lab-Grotesque-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lab-Grotesque-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque-2.png" alt="Screenshot Lab Grotesque 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lab-Grotesque.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lab-Grotesque.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lab-Grotesque.png" alt="Screenshot Lab Grotesque" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Leeters-from-Sweden-Website-3.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Leeters-from-Sweden-Website-3.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-3.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-3.png" alt="Screenshot Leeters from Sweden Website 3" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Leeters-from-Sweden-Website-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Leeters-from-Sweden-Website-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-2.png" alt="Screenshot Leeters from Sweden Website 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Leeters-from-Sweden-Website-1.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Leeters-from-Sweden-Website-1.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-1.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Leeters-from-Sweden-Website-1.png" alt="Screenshot Leeters from Sweden Website 1" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 7: Lineto</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-07</link>
                <pubDate>Wed, 07 Dec 2022 11:25:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-07</guid>
                <description><![CDATA[
                    
																																	<p>Founded in 1993 by Cornel Windlin and Stephan Müller, Lineto is Switzerland’s first digital type foundry. Over the last three decades, Lineto has collaborated with type designers from all around the world and shaped one of the most impressive and high-quality libraries available. The catalogue covers many different genres but is definitely best-known for typefaces that are deeply rooted in the history of Swiss type design. When people think of the contemporary Swiss Style, they first think of Lineto.</p>
<p>Laurenz Brunner’s critically acclaimed and immensely popular <a href="https://lineto.com/typefaces/akkurat">LL Akkurat</a>, first published in 2004, is maybe the most famous of the bunch. It is precise, robust, and constructed, so everything you would expect from a classic, neo-modernist sans-serif. But in all its rationality, it also maintains subtle warmth and contemporary appeal.</p>
<p><a href="https://lineto.com/typefaces/circular">LL Circular</a> is a geometric sans-serif and Laurenz Brunner’s second official release after LL Akkurat. It’s a fresh take on the genre that has its roots in the Germany of the 1920s with typefaces like Futura or Kabel. LL Circular evolved from a purely geometric approach into a design with a lot of character that again combines purity with warmth.</p>
<p>And <a href="https://lineto.com/typefaces/unica77#about">LL Unica77</a> is the only official digital revival of the legendary Haas Unica. Haas Unica’s original designers, like 83-year-old Christian Mengelt, joined Lineto to re-master the typeface from their own drawings, and they continue to participate in the type family’s ongoing expansion.</p>
<p>There are even more fantastic works to explore in the collection, like <a href="https://lineto.com/typefaces/replica">LL Replica</a> by Zurich-based studio NORM, <a href="https://lineto.com/typefaces/lettera-text/">LL Lettera Text</a> by Kobi Benezri which is inspired by a typewriter font designed by Josef Müller-Brockmann for Olivetti in 1968, or Arve Båtevik’s new take on Paul Renner’s Futura: <a href="https://lineto.com/typefaces/supreme">LL Supreme</a>. So make sure to delve a bit among the various typefaces. For all of them, you can get demo fonts after creating an account.</p>
<p>☞ <strong><a href="https://lineto.com">https://lineto.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lettera-Text-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lettera-Text-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lettera-Text-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lettera-Text-2.png" alt="Screenshot Lettera Text with the text &quot;independent Type Foundry Advent Calendar&quot;" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lettera-Text.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lettera-Text.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lettera-Text.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lettera-Text.png" alt="Screenshot Lettera Text" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Replica.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Replica.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Replica.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Replica.png" alt="Screenshot Replica" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Brown.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Brown.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brown.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Brown.png" alt="Screenshot Brown" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Supreme.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Supreme.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Supreme.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Supreme.png" alt="Screenshot Supreme" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Unica-77.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Unica-77.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Unica-77.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Unica-77.png" alt="Screenshot Unica 77" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Circular-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Circular-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Circular-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Circular-2.png" alt="Screenshot Circular 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Circular.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Circular.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Circular.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Circular.png" alt="Screenshot Circular" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Akkurat-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Akkurat-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Akkurat-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Akkurat-2.png" alt="Screenshot Akkurat 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Akkurat.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Akkurat.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Akkurat.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Akkurat.png" alt="Screenshot Akkurat" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lineto-Website-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lineto-Website-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lineto-Website-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lineto-Website-2.png" alt="Screenshot Lineto Website 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Lineto-Website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Lineto-Website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lineto-Website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Lineto-Website.png" alt="Screenshot Lineto Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 6: Ohno Type Company</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-06</link>
                <pubDate>Tue, 06 Dec 2022 06:56:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-06</guid>
                <description><![CDATA[
                    
																																	<p>Sometimes, it can take quite a while for a foundry to finally become sustainable. Sometimes, like in the case of James Edmondson, it can take 17 type families.</p>
<p>James Edmondson started Ohno in 2015, “born from a love of expressive typography and craft.” And, as he shares in a <a href="https://ohnotype.co/info/about">wonderful account of his life story</a>, it took about 6 years until <a href="https://ohnotype.co/fonts/degular">Degular</a> came “like a bolt of lightning” to the library, immediately making the foundry sustainable. It certainly is one of the designs with more focus on practicality than expressiveness, but still you feel a bit of the playful and quirky design details that make other typefaces of the foundry so unique and give it its very own expressive visual style. Like <a href="https://ohnotype.co/fonts/covik">Covik Sans</a>, which started as James’ graduation project in TypeMedia in a effort to create something interesting and original. Or the even more expressive and charmingly bold display fonts like <a href="https://ohnotype.co/fonts/beastly">Beastly</a>, <a href="https://ohnotype.co/fonts/beastly">Irregardless</a>, or <a href="https://ohnotype.co/fonts/beastly">Blazeface</a>. My personal highlight, <a href="https://ohnotype.co/fonts/obviously">Obviously</a>, is a playful sans-serif that combines the charm of hand painted signage with impact of Impact. Unmistakable, confident, dense, wide, and with a delicious semislant in the variable font.
If you want to learn more about each typeface, by the way, read the texts in the type specimens. ;) And if you want to test them, you can get free demo fonts with a limited character set.</p>
<p>Oh no! I almost forgot to mention that you can also get <a href="http://ohnotypeco.bigcartel.com">merch</a> from Ohno and listen to fabulous conversations with people like Christian Schwarz, Lizy Gershenzon, and Travis Kochel on <a href="https://ohnotype.co/info/ohno-radio">the Ohno Radio podcast</a>.</p>
<p>And if you’re inspired now and want to learn more about type design, have a look at the <a href="https://ohnotype.co/collections/ohno-type-school">Ohno Type School</a>.</p>
<p>☞ <strong><a href="https://ohnotype.co">https://ohnotype.co</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Obviously-Variations.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Obviously-Variations.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously-Variations.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously-Variations.png" alt="Screenshot Obviously Variations" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Obviously-Specimen.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Obviously-Specimen.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously-Specimen.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously-Specimen.png" alt="Screenshot Obviously Specimen" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Obviously.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Obviously.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Obviously.png" alt="Screenshot Obviously" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Covik-Sans.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Covik-Sans.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Covik-Sans.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Covik-Sans.png" alt="Screenshot Covik Sans" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screeenshot-Beastly.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screeenshot-Beastly.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Beastly.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screeenshot-Beastly.png" alt="Screeenshot Beastly" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Irregardless.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Irregardless.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Irregardless.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Irregardless.png" alt="Screenshot Irregardless" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Degular-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Degular-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Degular-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Degular-2.png" alt="Screenshot Degular 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Degular.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Degular.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Degular.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Degular.png" alt="Screenshot Degular" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ohno-Website-with-different-typefaces.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ohno-Website-with-different-typefaces.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website-with-different-typefaces.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website-with-different-typefaces.png" alt="Screenshot Ohno Website with different typefaces" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ohno-Website-2.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ohno-Website-2.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website-2.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website-2.png" alt="Screenshot Ohno Website 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-Ohno-Website.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-Ohno-Website.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-Ohno-Website.png" alt="Screenshot Ohno Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 5: Milieu Grotesque</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-05</link>
                <pubDate>Mon, 05 Dec 2022 12:30:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-05</guid>
                <description><![CDATA[
                    
																																	<p>Milieu Grotesque was founded in 2010 by graphic and type designers Timo Gaessner and Alexander Colby in Zurich. Today, the foundry is based in Lisbon, Portugal. Milieu Grotesque’s typefaces are versatile and system-oriented but also have a distinctive and often slightly quirky character which has made them a popular choice for contemporary graphic designers. </p>
<p>Milieu Grotesque’s small but refined library is steadily being expanded and regularly updated. Their most recognized typeface is <a href="https://www.milieugrotesque.com/typefaces/maison-neue/">Maison Neue</a>, a reworking of <a href="https://www.milieugrotesque.com/typefaces/maison/">Maison</a> with slightly less quirky details, that was published as a superfamily in 2012 and revised in 2017. Maison Neue is a grotesk that references the reduced formality of the constructed sans-serifs of the early 20th century, bringing the oddities of those typefaces it into the present day in a well-balanced and less dogmatic way.</p>
<p>But also the other typefaces in the catalogue are worth a cover look, not only because they are all made with a lot of care and attention to detail and very well executed and mastered. All of their designs combine the functional with the unexpected. There is <a href="https://www.milieugrotesque.com/typefaces/lacrima/">Lacrima</a>, a comprehensive family based on the famous IBM Golfball typewriter. <a href="https://www.milieugrotesque.com/typefaces/patron/">Patron</a> is based on the contradictory ideas of type designers Günther Gerhard Lange and Roger Excoffon, merging expressiveness and consequent precision into a modern, versatile grotesk. And <a href="https://www.milieugrotesque.com/typefaces/brezel-grotesk/">Brezel Grotesk</a> is a modern but friendly grotesk with an “inward curling stroke ends that subtly commemorate the ubiquitous silhouette of a Bavarian pretzel.”</p>
<p>☞ <strong><a href="https://www.milieugrotesque.com/">https://www.milieugrotesque.com/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.22.52.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.22.52.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.22.52.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.22.52.png" alt="Screenshot Patron" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.24.20.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.24.20.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.24.20.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.24.20.png" alt="Screenshot Patron" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.02.22.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.02.22.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.02.22.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.02.22.png" alt="Screenshot Maison Neue" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.20.09.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.20.09.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.20.09.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.20.09.png" alt="Screenshot Maison Neue" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.05.47.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.05.47.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.05.47.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.05.47.png" alt="Screenshot Maison Neue" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.07.50.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.07.50.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.07.50.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.07.50.png" alt="Screenshot Brezel Grotesk in use" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.07.20.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.07.20.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.07.20.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.07.20.png" alt="Screenshot Brezel Grotesk" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.16.29.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.16.29.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.16.29.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.16.29.png" alt="Screenshot Lacrima" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.19.41.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.19.41.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.19.41.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.19.41.png" alt="Screenshot Lacrima" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-10.00.07.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-10.00.07.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.00.07.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-10.00.07.png" alt="Screenshot Boutique" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-05-um-09.58.13.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-05-um-09.58.13.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-09.58.13.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-05-um-09.58.13.png" alt="Screenshot Milieu Grotesque Home" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 4: TypeMates</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-04</link>
                <pubDate>Sun, 04 Dec 2022 17:41:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-04</guid>
                <description><![CDATA[
                    
																																	<p>TypeMates is a comparatively young foundry from Germany, founded in 2015 by Lisa Fischbach, Jakob Runge, and Nils Thomsen. Despite its young age, the foundry has already worked with large clients on custom typefaces and has managed to grow its catalogue of typefaces into an impressive collection of extremely high-quality, distinctive designs, collaborating with type designers from all around Europe.</p>
<p>Highlights of the collection are the indestructible <a href="https://www.typemates.com/fonts/pensum-pro">Pensum Pro</a>, the poetic (and TDC awarded) <a href="https://www.typemates.com/fonts/resonay">Resonay</a>, the sturdy yet warm slab serif <a href="https://www.typemates.com/fonts/harrison-serif-pro">Harrison Serif Pro</a> (also TDC awarded), the pragmatic constructed grotesk <a href="https://www.typemates.com/fonts/halvar-collection">Halvar</a>, and the unaffected and confident <a href="https://www.typemates.com/fonts/norbert">Norbert</a> Superfamily by Philipp Neumeyer, which also just <a href="https://www.oneclub.org/awards/tdcawards/-archive/awards/2022/125/all/select">received a Certificate of Typographic Excellence</a> by the Type Directors Club. TypeMates offer free demo fonts with a limited character set for all their typefaces.</p>
<p>☞ <strong><a href="https://www.typemates.com/">https://www.typemates.com/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-14.49.42.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-14.49.42.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.49.42.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.49.42.png" alt="Screenshot Norbert in Use" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-09.17.30.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-09.17.30.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-09.17.30.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-09.17.30.png" alt="Screenshot Norbert" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-09.17.42.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-09.17.42.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-09.17.42.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-09.17.42.png" alt="Screenshot Norbert" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.796875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-17.19.03.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-17.19.03.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-17.19.03.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-17.19.03.png" alt="Screenshot Elma Mono" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.796875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-14.44.28.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-14.44.28.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.44.28.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.44.28.png" alt="Screenshot Halvar" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-15.07.52.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-15.07.52.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-15.07.52.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-15.07.52.png" alt="Screenshot Resonay" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-14.47.03.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-14.47.03.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.47.03.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-14.47.03.png" alt="Screenshot Harrisson Serif pro" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.796875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-04-um-17.16.42.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-04-um-17.16.42.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-17.16.42.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-04-um-17.16.42.png" alt="Screenshot Pensum Pro" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 3: Klim Type Foundry</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-03</link>
                <pubDate>Sat, 03 Dec 2022 12:57:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-03</guid>
                <description><![CDATA[
                    
																																	<p>For day three, we travel to New Zealand, where Klim Type Foundry was founded in 2005 by type designer Kris Sowersby. After having worked a while as a graphic designer, Kris was contacted by Chester Jenkins from Vllg who wanted to release Kris’ first typeface <a href="https://klim.co.nz/retail-fonts/feijoa/">Feijoa</a>. It was published in 2007 and the first royalty cheques from the sales of Feijoa allowed him to focus on type design full time. </p>
<p>Klim (“milk” spelled backwards) has since published a broad range of high-quality typefaces of which many can be considered modern classics already. <a href="https://klim.co.nz/retail-fonts/national-2/">National</a> first gained Klim international recognition, also because of a TDC award in 2008. Since then, Klim has touched on many genres of type design, always drawing inspiration and paying tribute to classics of type history but creating contemporary designs at an extraordinary level of detail and quality. <a href="https://klim.co.nz/retail-fonts/calibre/">Calibre</a> is a neo-grotesk sans serif inspired by lettering on West Berlin street signs. <a href="https://klim.co.nz/blog/epicene-design-information/">Epicene</a> is a poetic hommage to the crackling Baroque letterforms of designers like Rosart and Fleischmann. And then there is <a href="https://klim.co.nz/collections/soehne/">Söhne</a>, the ultimate descendant of Akzidenz Grotesk – confident, sturdy, and authentic.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Pop­u­lar doesn’t nec­es­sar­i­ly mean good. I’m not par­tic­u­lar­ly inter­est­ed in what’s pop­u­lar; I’m much more inter­est­ed in what’s good.</p>
</blockquote>
												<figcaption>Kris Sowersby, <cite>in 8 Faces: Collected by Elliot Jay Stocks</cite> </figcaption>
										</figure>
																
																																	<p>When you visit Klim’s website, definitely take some time to read a few of the design information posts that Kris is writing for each release, like <a href="https://klim.co.nz/blog/soehne-design-information/">this one for Söhne</a>. They are just outstanding. Each is a little, respectful journey into the history of type design but also documents the extraordinary attention to detail and craftsmanship that is evident in all typefaces of the Klim Type Foundry.</p>
<p>Oh, and they also have a store, <a href="https://goods.klim.co.nz">Klim Goods</a> with a lot of beautiful products and sold-out posters. ;)</p>
<p>☞ <strong><a href="https://klim.co.nz/">https://klim.co.nz/</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.30.33.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.30.33.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.30.33.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.30.33.png" alt="Screenshot Heldane" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.24.56.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.24.56.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.56.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.56.png" alt="Screenshot Signifier" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.44.14.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.44.14.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.44.14.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.44.14.png" alt="Screenshot Tiempos Headline" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.24.17.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.24.17.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.17.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.17.png" alt="Screenshot National with double story g" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.24.30.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.24.30.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.30.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.24.30.png" alt="Another Screenshot of National" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.31.27.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.31.27.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.31.27.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.31.27.png" alt="Screenshot National" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.31.17.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.31.17.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.31.17.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.31.17.png" alt="Screenshot National 2" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.54.12.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.54.12.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.54.12.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.54.12.png" alt="Screenshot Calibre" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.39.19.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.39.19.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.39.19.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.39.19.png" alt="Screenshot Epicene Display" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.37.13.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.37.13.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.37.13.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.37.13.png" alt="Screenshot Homepage" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.26.17.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.26.17.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.26.17.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.26.17.png" alt="Screenshot of Söhne and Söhne Mono with lines that show the kerning" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.26.00.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.26.00.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.26.00.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.26.00.png" alt="Screenshot comparing Söhne letterforms to Akzidenz Grotesk" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.25.22.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.25.22.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.25.22.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.25.22.png" alt="Screenshot Söhne Font Family" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-03-um-12.25.12.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-03-um-12.25.12.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.25.12.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-03-um-12.25.12.png" alt="Screenshot Söhne Collection" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 2: Dinamo</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-02</link>
                <pubDate>Fri, 02 Dec 2022 11:44:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-02</guid>
                <description><![CDATA[
                    
																																	<p>Dinamo is another type foundry from Switzerland, founded by Fabian Harb and Johannes Breyer in Basel. After moving to Berlin for a few years, they now operate from different cities and via a network of satellite members across the globe. They don’t see themselves as a foundry only but take on various projects from graphic design to app design and beyond. Dinamo also runs a small shop, <a href="https://abcdinamo.com/hardware">Dinamo Hardware</a>, where they transform type-thinking into tangible objects.</p>
<p>One of their most important and popular type designs is <a href="https://abcdinamo.com/typefaces/favorit">Favorit</a>, which has been used by the independent label <a href="https://warp.net/eu">Warp records</a> (home to Aphex Twin and Brian Eno, for example) as their official typeface. The sans-serif feels somewhat familiar but still different and interesting. Fabian Harb <a href="https://walkerart.org/magazine/the-heat-around-the-corner-in-conversation-with-johannes-breyer-fabian-harb-of-dinamo">describes its DNA like this</a>: slightly “mechanical” in character, “low contrast” in terms of the way in which it is drawn, a real “workhorse” in that it has the ability to handle any content, and, very importantly, having a “humorous touch” — the odd, toothless uncle you meet at a birthday party who always tells the best jokes.</p>
<p>Their catalogue of fonts includes various designs from sans (<a href="https://abcdinamo.com/typefaces/repro">Repro</a>, <a href="https://abcdinamo.com/typefaces/monument-grotesk">Monument Grotesk</a>) to serif (<a href="https://abcdinamo.com/typefaces/laica">Laica</a>) to mono (Diatype Rounded Mono) as well as more experimental typefaces like <a href="https://abcdinamo.com/typefaces/grow">Grow</a> or <a href="https://abcdinamo.com/typefaces/maxi">Maxi</a>. <a href="https://abcdinamo.com/typefaces/gravity">Gravity</a> also stands out as a playful and powerful headline typeface.</p>
<p>Dinamo also lets you customize your font files with their Font Customizer™ before checkout so that you can select which alternate character like double or single story a should be the default for your fonts. Really nice.</p>
<p>They offer variable fonts for most of their typefaces and you can download trial fonts for free.</p>
<p>Also check out their great <a href="https://abcdinamo.com/news/using-variable-fonts-on-the-web">tutorial on how to use (and animate!) variable fonts</a>.</p>
<p>☞ <strong><a href="https://abcdinamo.com">https://abcdinamo.com</a></strong> 👄</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 69.921875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.48.03.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.48.03.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.48.03.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.48.03.png" alt="Screenshot Dinamo Website" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.42.53.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.42.53.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.42.53.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.42.53.png" alt="Screenshot Dinamo Fonts in use" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-09.08.16.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-09.08.16.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.08.16.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.08.16.png" alt="Screenshot Dinamo Diatype Rounded Mono" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-09.05.43.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-09.05.43.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.05.43.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.05.43.png" alt="Screenshot Dinamo Laica" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 69.921875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.46.28.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.46.28.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.46.28.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.46.28.png" alt="Screenshot Dinamo Gravity Extra Compressed Italic" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.453125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.45.53.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.45.53.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.45.53.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.45.53.png" alt="Screenshot Dinamo Gravity" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-09.02.48.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-09.02.48.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.02.48.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.02.48.png" alt="Screenshot Dinamo Maxi" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.973958333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-09.00.49.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-09.00.49.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.00.49.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-09.00.49.png" alt="Screenshot Dinamo Grow" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 69.921875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.50.44.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.50.44.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.50.44.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.50.44.png" alt="Screenshot Dinamo Repro" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-02-um-08.44.07.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-02-um-08.44.07.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.44.07.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-02-um-08.44.07.png" alt="Screenshot Dinamo Favorit" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Independent Type Foundry Advent Calendar – Day 1: Grilli Type</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-01</link>
                <pubDate>Thu, 01 Dec 2022 18:30:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-01</guid>
                <description><![CDATA[
                    
																																	<p>We’ll start the advent calendar with one of the most successful foundries of the last decade. Grilli Type is a Swiss type foundry that was founded in 2009 by Noël Leu and Thierry Blancpain. Today, the studio numbers eight people dispersed all across the globe. The foundry is known for creating high-quality, contemporary typefaces that push the boundaries of what is possible with type design. Some of their most notable typefaces include <a href="https://www.grillitype.com/typeface/gt-planar">GT Planar</a>, <a href="https://www.grillitype.com/typeface/gt-sectra">GT Sectra</a>, and <a href="https://www.grillitype.com/typeface/gt-america">GT America</a> – but it is actually really hard to pick a favorite because all of their type designs are distinctive and unique.</p>
<p>Also make sure to have a look at the special minisites that accompany each Grilli Type release. Each of them is a beautifully designed digital type specimen that often also shows the intricate details and characteristic design elements in animated infographics. And in case you want to test drive some of their fonts, they offer trial versions with a subset of characters.</p>
<p>In case you understand German, you might also enjoy the conversation with type designer and account director at Grilli Type <a href="https://ohnedenhype.com/podcast/85-tobias-rechsteiner/">Tobias Rechsteiner in episode 85 of the podcast OHNE DEN HYPE</a>.</p>
<p>☞ <strong><a href="https://www.grillitype.com">https://www.grillitype.com</a></strong></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.50.15.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.50.15.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.50.15.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.50.15.png" alt="Screenshot Grilli Type GT Flexa" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.49.50.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.49.50.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.49.50.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.49.50.png" alt="Screenshot Grilli Type GT America" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.47.24.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.47.24.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.47.24.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.47.24.png" alt="Screenshot Grilli Type GT Sectra" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.48.07.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.48.07.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.48.07.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.48.07.png" alt="Screenshot Grilli Type GT America" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.47.12.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.47.12.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.47.12.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.47.12.png" alt="Screenshot Grilli Type Website" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.54.38.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.54.38.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.54.38.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.54.38.png" alt="Screenshot Grilli Type Minisite GT Planar" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.55.05.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.55.05.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.55.05.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.55.05.png" alt="Screenshot Grilli Type Minisite GT Planar" loading="lazy">
											</picture>
																					</div>
																	<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 60.416666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Bildschirmfoto-2022-12-01-um-08.55.47.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Bildschirmfoto-2022-12-01-um-08.55.47.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.55.47.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Bildschirmfoto-2022-12-01-um-08.55.47.png" alt="Screenshot Grilli Type Minisite GT Planar" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																												<p>&#10086;</p>
																						
																																	<p>This post is part of the <a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022">Independent Type Foundry Advent Calendar 2022</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Independent Type Foundry Advent Calendar 2022</title>
                <link>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022</link>
                <pubDate>Thu, 01 Dec 2022 18:17:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022</guid>
                <description><![CDATA[
                    
																																	<p>The independent type design community has grown tremendously over the last couple of years and the quality and variety of fonts is truly breathtaking. A little while ago, I started jotting down a few type foundries to have a list that I could come back to whenever I was in need of inspiration for new typefaces for a project. What started with a few dozen foundries grew and grew over time to a list that now contains more than 110 foundries. </p>
<p>When I shared this on Mastodon, I did not only receive <a href="https://mastodon.social/@typedirectors/109435692355587949">a reply from the Type Directors Club</a> that my list is actually dwarfed by their own list of almost 2000 independent foundries, but also, <a href="https://mastodon.social/@spielundzeug/109432686488793821">Andreas suggested</a> that instead of waiting forever until I share my list, I could also make an advent calendar out of it. So, here it is (sorry, Andreas ¯\_(ツ)_/¯): </p>
<p><strong>The Independent Type Foundry Advent Calendar 2022.</strong></p>
<p>Each day of the advent calendar will feature a different type foundry and highlight some of their most notable typefaces. It will be a highly opinionated and almost arbitrary selection of a few of my favorites from the list. So don’t be upset, if your personal favorite foundry doesn’t make it into the calendar. And who knows, maybe we’ll have another calendar next year. But first, let’s look at 24 of the best independent type foundries from all over the world.</p>

																												
																																	
																												
																												<style>
.advent-calendar {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(10rem,auto));
  padding: 0;
  margin: 0;
  gap: 1rem;
  grid-auto-flow: dense;
  list-style-type: none;
}

.advent-calendar-door {
  font-size: 6rem;
  height: 10rem;    
}

.advent-calendar-door a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  z-index: 1;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: white;
  background: rgb(25, 31, 69);
  font-style: italic;
  text-shadow: none;
}

.advent-calendar-door:not(.advent-calendar-door--opened) a:hover {
  color: white;
  background: rgb(25, 31, 69);
}

.advent-calendar-door.advent-calendar-door--opened a:hover {
  color: rgb(220, 20, 63);
  background: rgb(96, 27, 85);
}

.advent-calendar-door--opened a {
  background: rgb(220, 20, 63);
}

.advent-calendar-door:nth-child(1) {
  order: 15;
}
.advent-calendar-door:nth-child(2) {
  order: 9;
}
.advent-calendar-door:nth-child(3) {
  order: 6;
}
.advent-calendar-door:nth-child(4) {
  order: 16;
}
.advent-calendar-door:nth-child(5) {
  order: 18;
}
.advent-calendar-door:nth-child(6) {
  order: 5;
}
.advent-calendar-door:nth-child(7) {
  order: 2;
}
.advent-calendar-door:nth-child(8) {
  order: 14;
}
.advent-calendar-door:nth-child(9) {
  order: 10;
}
.advent-calendar-door:nth-child(10) {
  order: 17;
}
.advent-calendar-door:nth-child(11) {
  order: 1;
}
.advent-calendar-door:nth-child(12) {
  order: 22;
}
.advent-calendar-door:nth-child(13) {
  order: 11;
}
.advent-calendar-door:nth-child(14) {
  order: 20;
}
.advent-calendar-door:nth-child(15) {
  order: 3;
}
.advent-calendar-door:nth-child(16) {
  order: 24;
}
.advent-calendar-door:nth-child(17) {
  order: 13;
}
.advent-calendar-door:nth-child(18) {
  order: 4;
}
.advent-calendar-door:nth-child(19) {
  order: 23;
}
.advent-calendar-door:nth-child(20) {
  order: 8;
}
.advent-calendar-door:nth-child(21) {
  order: 21;
}
.advent-calendar-door:nth-child(22) {
  order: 19;
}
.advent-calendar-door:nth-child(23) {
  order: 7;
}
.advent-calendar-door:nth-child(24) {
  order: 12;
}
</style>
<ul class="advent-calendar">
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-01">1</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-02">2</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-03">3</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-04">4</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-05">5</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-06">6</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-07">7</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-08">8</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-09">9</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-10">10</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-11">11</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-12">12</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-13">13</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-14">14</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-15">15</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-16">16</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-17">17</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-18">18</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-19">19</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-20">20</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-21">21</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-22">22</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-23">23</a></li>
  <li class="advent-calendar-door advent-calendar-door--opened"><a href="https://matthiasott.com/notes/independent-type-foundry-advent-calendar-2022-24">24</a></li>
</ul>
																						            	]]></description>
            </item>
                    <item>
                <title>A Conversation With ChatGPT</title>
                <link>https://matthiasott.com/notes/a-conversation-with-chatgpt</link>
                <pubDate>Thu, 01 Dec 2022 11:26:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/a-conversation-with-chatgpt</guid>
                <description><![CDATA[
                    
																																	<p>I just had a casual chat with <a href="https://openai.com/blog/chatgpt/">ChatGPT</a> that I wanted to share with you. Many of the things I asked and the answers I received are related to <a href="https://www.youtube.com/watch?v=zpKq4sbw1nQ">a talk I gave last week at CSS Café</a>. I wanted to know what an algorithm might think about all of this. </p>
<p>Decide for yourself where this sits on a scale between interesting and scary. Here’s our “conversation” about typography, the Web, prototyping, design engineering, and tabs versus spaces.</p>
<p>—</p>

																												
																																	<p><strong>Me: Hi ChatGPT! Could you explain the typographic concept of kerning to me?</strong></p>
<p><em>ChatGPT</em>: Yes, certainly! Kerning is the process of adjusting the space between individual letters in a font to improve the overall appearance of the text. This is typically done to make the letters appear more evenly spaced and visually appealing. Kerning is an important typographic concept because it helps to create a more cohesive and harmonious look for the text, which can improve readability and overall design aesthetic.</p>
<p><strong>But how does this differ from letter spacing?</strong></p>
<p>Letter spacing, also known as tracking, refers to the overall spacing of the letters in a block of text. This is different from kerning, which is the adjustment of the space between individual letters. While kerning is typically used to improve the appearance of specific letter pairs, letter spacing is applied to an entire block of text to adjust the overall density of the letters.</p>
<p><strong>Thank you! And what would you say is most important when working with typography on the web?</strong></p>
<p>When working with typography on the web, there are a few key factors to consider to ensure that your text is legible and visually appealing. Some of the most important factors include:</p>
<ul>
<li>Choosing high-quality fonts that are optimized for the web</li>
<li>Using appropriate font sizes and styles to improve readability</li>
<li>Ensuring that the colors used for the text and background provide sufficient contrast</li>
<li>Using appropriate line spacing to improve readability</li>
<li>Considering the device and screen size of your audience when designing your web page</li>
</ul>
<p>Overall, the most important thing to keep in mind when working with typography on the web is to prioritize readability and user experience.</p>
<p><strong>Interesting! What do you mean by appropriate line spacing?</strong></p>
<p>Line spacing, also known as leading, refers to the amount of space between the lines of text on a page. In general, it&#039;s important to use appropriate line spacing to ensure that the text is easy to read and understand. Too little line spacing can make the text feel cramped and difficult to read, while too much line spacing can make the text feel scattered and disorganized.</p>
<p>The appropriate line spacing for a given block of text will depend on factors such as the font size, typeface, and overall design of the page. In general, a line spacing of 1.5 times the font size is considered to be a good starting point for most text. This can be adjusted as needed based on the specific requirements of the design.</p>
<p>In addition to choosing an appropriate line spacing, it&#039;s also important to ensure that the spacing between lines is consistent throughout the text. This will help to create a cohesive and harmonious design, and will make the text easier to read.</p>
<p><strong>I see… so would you say that line spacing is the most important element of good typography?</strong></p>
<p>While line spacing is an important element of good typography, it&#039;s not the only factor to consider. In general, good typography involves a combination of factors, including the choice of font, font size and style, color, and overall design. All of these elements work together to create a cohesive and visually appealing design, and to improve the readability of the text.</p>
<p>As such, it&#039;s not accurate to say that any one element of typography is the most important. Instead, it&#039;s important to consider all of the factors that contribute to good typography, and to balance them in a way that achieves the desired aesthetic and readability.</p>
<p><strong>Do you know what fluid web typography is?</strong></p>
<p>Fluid web typography refers to the use of responsive design techniques to ensure that text is displayed optimally on different screen sizes and devices. This typically involves using relative units, such as percentages or ems, for font sizes and other typographic elements, rather than absolute units like pixels. This allows the text to scale and adjust automatically as the screen size or device changes, ensuring that the text is always legible and easy to read.</p>
<p>Fluid web typography is an important concept because it allows web designers to create websites that are easily readable and user-friendly on a wide range of devices and screen sizes. This is especially important in the current landscape, where people use a variety of devices to access the web, including smartphones, tablets, laptops, and desktop computers. By using responsive design techniques, web designers can ensure that their websites are accessible and usable on any device.</p>
<p><strong>Oh wow! So it adjusts to the size of the screen automatically? And how can I come up with harmonic sizes for headings and body text?</strong></p>
<p>Yes, that&#039;s correct! With fluid web typography, the text is automatically adjusted to the size of the screen using responsive design techniques. This ensures that the text is always legible and easy to read, regardless of the device or screen size.</p>
<p>As for choosing harmonic sizes for headings and body text, there are a few general guidelines that you can follow. In general, it&#039;s a good idea to use a hierarchy of font sizes for your headings, with the largest font size reserved for the main heading and smaller font sizes used for subheadings and other hierarchy levels. This will help to create a clear and organized structure for your text, and will make it easier for readers to navigate the content.</p>
<p>When it comes to body text, it&#039;s generally recommended to use a font size of at least 16 pixels for easy readability. This can vary depending on the specific font and design, but in general, it&#039;s a good starting point. You can then adjust the font size as needed based on the specific requirements of your design.</p>
<p>Overall, the key to creating harmonic sizes for headings and body text is to experiment and adjust as needed to achieve the desired aesthetic and readability. There is no one-size-fits-all solution, so it&#039;s important to be willing to try different font sizes and styles to find the best fit for your specific design.</p>
<p><strong>Would a modular scale help in this case?</strong></p>
<p>A modular scale is a tool that designers can use to create a harmonious and consistent visual hierarchy in their designs. It&#039;s based on the principle that certain numerical relationships, such as those found in the Fibonacci sequence, can create a sense of order and balance in design.</p>
<p>To use a modular scale, a designer selects a base font size and then creates a range of sizes based on the chosen scale. For example, if the base font size is 16 pixels, the designer might create a range of sizes that includes 24 pixels, 36 pixels, and 48 pixels, based on the selected scale. This allows the designer to create a consistent and harmonious hierarchy of font sizes for headings and body text.</p>
<p>In terms of creating harmonic sizes for headings and body text, a modular scale can be a useful tool. It can help designers to create a consistent and organized structure for their text, and to ensure that the different font sizes used throughout the design are in harmony with one another. However, it&#039;s important to remember that a modular scale is just one tool among many, and that the ultimate goal is to create a design that is aesthetically pleasing and easy to read. As such, designers should be willing to experiment and adjust their designs as needed to achieve the desired results.</p>
<p><strong>Oh yes, experimentation is really important. What about the importance of prototyping for creating things on the web?</strong></p>
<p>Prototyping is an important part of the design process, including when creating things on the web. Prototyping allows designers to quickly and easily create a working model of their design, which they can then test and refine. This allows designers to try out different ideas and approaches, and to see how they work in practice before committing to a final design.</p>
<p>There are many benefits to prototyping when creating things on the web. Some of the key benefits include:</p>
<ul>
<li>Allowing designers to quickly and easily experiment with different ideas and approaches</li>
<li>Enabling designers to test and evaluate their designs before committing to a final version</li>
<li>Providing a tangible, interactive model that can be used to gather feedback from users and stakeholders</li>
<li>Helping designers to identify and resolve any issues or problems with the design before it is implemented</li>
<li>Providing a starting point for the development process, which can save time and resources in the long run</li>
</ul>
<p>Overall, prototyping is an essential part of the design process, and can greatly facilitate the creation of effective and user-friendly designs for the web.</p>
<p><strong>Ah, I understand. Would you say that prototyping also helps designers and developers to collaborate better?</strong></p>
<p>Yes, that&#039;s correct! Prototyping can be a valuable tool for facilitating collaboration between designers and developers. By providing a working model of the design, a prototype can help designers and developers to communicate and coordinate more effectively.</p>
<p>Having a prototype can make it easier for designers and developers to discuss and understand the design, and to identify any potential issues or challenges. It can also provide a common point of reference for designers and developers to work from, which can help to ensure that everyone is on the same page and working towards the same goal.</p>
<p>In addition, a prototype can serve as a starting point for the development process, providing a clear direction and a solid foundation for the work that needs to be done. This can help to streamline the development process, and can reduce the need for extensive back-and-forth communication and coordination.</p>
<p>Overall, prototyping can be a valuable tool for facilitating collaboration between designers and developers, and can help to create more effective and efficient working relationships.</p>
<p><strong>Oh yes, creating better working relationships is so important today. What else could help with this?</strong></p>
<p>There are many different strategies and approaches that can help to facilitate better working relationships between designers and developers. Some of the key strategies that can be effective include:</p>
<ul>
<li>Clearly defining roles and responsibilities, and establishing a clear division of labor</li>
<li>Providing training and support to ensure that everyone has the skills and knowledge they need to do their jobs effectively</li>
<li>Communicating openly and transparently, and fostering a culture of collaboration and teamwork</li>
<li>Encouraging open dialogue and feedback, and promoting a culture of continuous learning and improvement</li>
<li>Establishing clear goals and objectives, and regularly reviewing and adjusting them as needed</li>
</ul>
<p>Overall, the key to creating effective working relationships between designers and developers is to prioritize communication, collaboration, and continuous improvement. By implementing strategies and approaches that support these goals, organizations can create a more cohesive and productive working environment that benefits everyone involved.</p>
<p><strong>A clear division of labor? Really? I think that working in silos is one of the core problems that contributes to the widening gap between design and engineering, don’t you think? What about design engineering, for example? Or learning from each other at the intersection of design and development? Don’t you think that this would help a lot because it creates a better understanding of each other&#039;s problems and mental models?</strong></p>
<p>You&#039;re right, working in silos can create barriers and hinder collaboration between designers and developers. This is why it&#039;s important to promote open communication and collaboration, and to encourage designers and developers to learn from one another and work together to solve problems.</p>
<p>Design engineering, which involves the integration of design and engineering principles and practices, is one approach that can help to bridge the gap between design and development. By combining the creative and aesthetic perspective of design with the technical and functional perspective of engineering, design engineering can help to create more effective and user-friendly products and services.</p>
<p>In addition, learning from one another at the intersection of design and development can also be a valuable way to improve collaboration and understanding. By fostering an environment in which designers and developers can learn from and support one another, organizations can create a more cohesive and productive working environment.</p>
<p>Overall, it&#039;s important to avoid working in silos, and to instead promote open communication and collaboration between designers and developers. This can help to create a better understanding of each other&#039;s perspectives and needs, and can facilitate the creation of more effective and user-friendly products and services.</p>
<p><strong>I see you agree with me here. One thing that bugs me at the moment is that it seems like there is so much movement in the world of web standards and so many new features are coming to browsers that it sometimes feels like everyone is having a hard time staying up to date. It almost feels like we don’t know what is possible with the web as a material anymore. So we end up designing standard solutions that don’t leverage the potential of the web platform. Would you agree? And how can we solve that?</strong></p>
<p>Yes, it&#039;s true that there is a lot of movement and change in the world of web standards, and that can make it challenging for designers and developers to stay up to date. This is especially true given the rapid pace of technological change and the constant evolution of the web as a platform.</p>
<p>One of the key challenges in this regard is that many designers and developers are accustomed to working with familiar tools and approaches, and may be hesitant to try new technologies or approaches. This can result in the use of &quot;standard&quot; solutions that don&#039;t fully leverage the potential of the web platform, and that may not be as effective or user-friendly as they could be.</p>
<p>To address this challenge, it&#039;s important for designers and developers to continuously learn and adapt to new technologies and approaches. This can involve staying up to date with the latest developments in the world of web standards, attending conferences and workshops, and experimenting with new technologies and approaches.</p>
<p>In addition, it&#039;s also important to foster a culture of collaboration and learning within organizations. By encouraging designers and developers to learn from and support one another, organizations can create an environment that promotes continuous learning and innovation.</p>
<p>Overall, staying up to date with the latest developments in web standards and technologies can be challenging, but it&#039;s an essential part of creating effective and user-friendly designs. By continuously learning and adapting, designers and developers can ensure that they are fully leveraging the potential of the web platform.</p>
<p><strong>Oh yes, true words of wisdom here. Thank you. Is there a book you could recommend for people who want to learn more?</strong></p>
<p>I&#039;m sorry, but I am not able to recommend books as I am a large language model trained by OpenAI and do not have the ability to browse the web or access external information. I am only able to provide information based on the knowledge I have been trained on, which has a fixed cutoff point.</p>
<p>If you are interested in learning more about web design and development, there are many books available on the subject. A quick online search for books on web design and development should provide a range of options to choose from. Some of the most popular and highly-rated books on the subject include &quot;Don&#039;t Make Me Think&quot; by Steve Krug, &quot;Designing Web Interfaces&quot; by Bill Scott and Theresa Neil, and &quot;HTML &amp; CSS: Design and Build Websites&quot; by Jon Duckett. These books and others like them can provide valuable insights and practical guidance for anyone interested in learning more about web design and development.</p>
<p><strong>I just received a question from Bastian, one of our readers: Would you say that designers should learn to code?</strong></p>
<p>The decision of whether or not designers should learn to code is a complex one, and ultimately depends on individual circumstances and goals. There are arguments both for and against designers learning to code, and there is no one-size-fits-all answer to this question.</p>
<p>One argument in favor of designers learning to code is that it can help them to better understand the technical limitations and capabilities of the web platform, and to create more effective and user-friendly designs. By having a working knowledge of coding, designers can communicate more effectively with developers and have a better understanding of how their designs will be implemented.</p>
<p>On the other hand, there is also a strong argument that designers should focus on design principles and concepts, rather than on specific technical skills like coding. Designers have a unique perspective and skill set that is valuable in its own right, and learning to code does not necessarily make them better designers.</p>
<p>Ultimately, whether or not designers should learn to code is a decision that each individual designer must make for themselves, based on their own goals and circumstances. Some designers may benefit from learning to code, while others may be better served by focusing on design principles and concepts.</p>
<p><strong>That’s a very diplomatic answer, thank you. One last question: Tabs or spaces?</strong></p>
<p>The debate over whether to use tabs or spaces for indentation in code is a long-standing one, and there is no one right answer. Both tabs and spaces have their pros and cons, and the choice ultimately depends on personal preference and the specific requirements of the project.</p>
<p>One advantage of using tabs is that they take up less space than spaces, which can be useful in cases where file size is a concern. In addition, tabs are generally considered to be more flexible than spaces, as they can be adjusted to fit different indentation levels and styles.</p>
<p>On the other hand, spaces are often preferred by some developers because they are more predictable and consistent. Since spaces always take up the same amount of space, regardless of the size of the font or the display device, they can be easier to work with in some cases. In addition, spaces are also more widely supported by code editors and other tools, which can make them a more practical choice in some cases.</p>
<p>Ultimately, the choice between tabs and spaces is a matter of personal preference and project requirements. Some developers may prefer tabs, while others may prefer spaces. As long as the indentation is consistent and the code is readable, either option can be effective.</p>
<p><strong>I heard that tabs are actually better for accessibility? For blind developers, for example. What’s your opinion on that?</strong></p>
<p>It&#039;s true that tabs can be more accessible for blind developers, as they can be more easily interpreted by screen reader software. Since screen readers typically interpret tabs as a single unit, rather than as a series of individual spaces, they can be easier for blind developers to navigate and understand.</p>
<p>In contrast, spaces can be more difficult for screen readers to interpret, as they are typically read out one space at a time. This can make it harder for blind developers to understand the structure and indentation of the code, which can be a barrier to accessibility.</p>
<p>Overall, while tabs and spaces both have their pros and cons, tabs may be the more accessible option for blind developers. By using tabs for indentation, developers can ensure that their code is more easily interpreted by screen reader software, and can make it more accessible to blind developers.</p>
<p><strong>Thank you. That was a great conversation. I enjoyed it a lot. Is there anything you would like to say to the people who might read our conversation? Any parting words?</strong></p>
<p>Thank you for the kind words! I&#039;m glad that you enjoyed our conversation. As for any parting words, I would just like to remind readers that staying up to date with the latest developments in web standards and technologies is an essential part of creating effective and user-friendly designs. By continuously learning and adapting, designers and developers can ensure that they are fully leveraging the potential of the web platform, and can create designs that are engaging, user-friendly, and innovative.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>ChatGPT, please explain websites in the words of William Shakespeare</title>
                <link>https://matthiasott.com/notes/chatgpt-explain-websites-william-shakespeare</link>
                <pubDate>Thu, 01 Dec 2022 10:01:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/chatgpt-explain-websites-william-shakespeare</guid>
                <description><![CDATA[
                    
																																	<p>Websites, oh websites! </p>
<p>Thou art a vast and wondrous realm, filled with knowledge and information to be explored. </p>
<p>Thou art a tool for communication and connection, allowing us to share our thoughts and ideas with others across the globe. </p>
<p>Thou art a source of entertainment and delight, providing us with endless hours of distraction and enjoyment. </p>
<p>Websites, thou art a marvel of modern technology, a gift to humanity. </p>
<p>Long may thou reign!</p>
<p>★</p>
<p>Generated with <a href="https://openai.com/blog/chatgpt/">ChatGPT</a>, which you can currently test for free during the research preview.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Transient Frameworks</title>
                <link>https://matthiasott.com/notes/transient-frameworks</link>
                <pubDate>Wed, 30 Nov 2022 23:30:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/transient-frameworks</guid>
                <description><![CDATA[
                    
																																	<p>Since the first days of the Web, people have been thinking and debating hard about the best ways forward. The network, the protocols, the browsers, the documents, HTML, CSS, and Javascript – all those things are the result of years of countless discussions, fights, mistakes, and course-corrections. And as long as the Web has been around, people have been looking for ways to innovate, to improve, and to move the Web forward.</p>
<p>It all started with an era where only a very few early adopters were laying the very foundations of what we take for granted today – including weird and also wrong decisions that we have to work with today. New HTML elements, for example, were introduced with or sometimes also, famously, without much consensus. Like in the case of <a href="https://thehistoryoftheweb.com/the-origin-of-the-img-tag/">the IMG tag that Marc Andreessen casually suggested</a> in an email thread in 1993 and then, although it was met with some opposition, simply released in the next version of his Mosaic browser. A few years later, we witnessed <a href="https://thehistoryoftheweb.com/browser-wars/">the browser wars with Microsoft emerging as the winning company</a> that would dominate the browser market for quite some time. Just like Netscape did with its Navigator, Microsoft implemented its own exclusive features at the time in an attempt to reinforce Internet Explorer’s monopoly position. That browsers pushed for their own agenda started to become a real problem for web designers and developers who had a hard time building for this fragmented Web and, as a response to all the frustration, in 1998, the <a href="https://www.webstandards.org">Web Standards Project</a> was born. Its <a href="https://archive.webstandards.org/mission.html">goal</a> was to remind browser vendors that “HTML, XML, CSS and the DOM are more than just a set of interesting technologies” and that by defining their own standards, companies were actively hurting both authors and users of the Web. I sometimes wonder how the Web would look like today if the people who started the Web Standards movement had remained silent or if their project would not have been successful. </p>
<p>But their efforts were successful and it is one of the main reasons why we have quite a healthy standards process today, with all browser vendors and developers at companies like Google, Apple, or Mozilla working towards the same goal: a consistent and thorough implementation of W3C-specified standards. These open and evolving platform standards are the foundation of everything we build on the Web today. They move slower than some of us might wish, but that’s intentional. Everyone has learned from the mistakes of the past where elements like &lt;blink&gt; found their way into browsers. If a new standard is defined today, it better is specified as thoroughly as possible and with resilience in mind. After all, it will be part of the foundational layer of the Web for years to come. Even after 31 years, <a href="http://info.cern.ch/hypertext/WWW/TheProject.html">the worlds first website</a> can be viewed in any browser without any issues. And if you use a picture element or CSS Grid on a website today, you should be able to expect it to work just as flawlessly 31 years from now.</p>
<p>The web platform in 2022 is less fragmented and more powerful than ever. Not only in terms of occasional new HTML elements like <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture">picture</a>, but also when it comes to new CSS features. CSS Grid arrived in almost all major browsers roughly at the same time. And the same thing is now happening with features like <a href="https://matthiasott.com/notes/css-has-a-parent-selector-now">:has()</a>, <a href="https://www.oddbird.net/2022/08/18/cq-syntax/">Container Queries</a>, or <a href="https://css-tricks.com/css-cascade-layers/">Cascade Layers</a>. New <a href="https://www.w3.org/TR/?tag=webapi">JavaScript Web APIs</a> make the platform more capable than ever and native <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a> are opening the door for technology-agnostic, robust implementations of custom user interface components.</p>
<p>In recent years, JavaScript frameworks have dominated the public discussion. To many developers, they not only offer a very convenient way to work, but they also seem to be superior to web standards that have even been labeled as being “broken” by some. Why?</p>
<p>Maybe <a href="https://adactio.com/journal/19021">Jeremy is right</a>. Maybe the majority of full-stack developers doesn’t trust native platform features enough. Maybe they’re under the impression that much of what they’re trying to do is so sophisticated and advanced that native browser features and plain HTML, CSS, and JavaScript can’t possibly be powerful enough to compete. Maybe they believe that this is also the reason why frameworks exist in the first place: because browsers are inconsistent, unreliable, and antiquated, and because plain HTML, CSS, and JavaScript are limited and not up to par with the requirements of modern web development. This is exactly the card some frameworks play when they proclaim on their websites that “best practices don’t work.” </p>
<p>Yes, frameworks often provide a great developer experience, they make things easy that used to be harder to achieve before, and they seemingly work at the bleeding edge of technology and innovate at mind-blowing speed.</p>
<p>And as, once more, Jeremy Keith points out in his great talk <a href="https://adactio.com/articles/19210">In and Out Of Style</a>, we depend on all the innovation that happens in the faster, more trendy corners because people build things to solve problems for which the standards might not offer a solution yet. Many of the latest additions to HTML, CSS, and JavaScript first existed as JavaScript libraries or frameworks or pre-processors or polyfills and then found their way into the standards process, back into the layers of web technology that move slower and are more resilient.</p>
<p>But does this make web standards and native platform features weaker or even obsolete? To the contrary. Frameworks come and go. They are transient. Web standards, on the other hand, are the reason <a href="https://youtu.be/F18oy48jkrk">the Web is good now</a> and it will become even better in the future. Web standards are why we can all build for the Web using a shared understanding of what it actually means to build resilient, performant, and accessible solutions with the foundational material of the Web. In fact, it feels like the pendulum has just started to swing back again as people realize <a href="https://infrequently.org/2021/03/the-performance-inequality-gap/">just how bad frameworks are for performance</a> and as they start exploring new CSS features, native web components, and <a href="https://www.zachleat.com/web/webc-in-eleventy/">what can be built on top of all that</a>. Let’s just not forget that we need to take <em>everyone</em> with us, including clients, managers, content strategists, designers, and developers on all sides of all front- and backends.</p>
<p>Happy <a href="https://en.m.wikipedia.org/wiki/Blue_Beanie_Day">Blue Beanie Day</a>, everyone.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Leaving Twitter Behind</title>
                <link>https://matthiasott.com/notes/leaving-twitter-behind</link>
                <pubDate>Fri, 18 Nov 2022 12:02:11 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/leaving-twitter-behind</guid>
                <description><![CDATA[
                    
																																	<p>Twitter is not well. Many of us were worried that Elon Musk might rapidly change the face of the platform. But only very few expected things to go down so rapidly. After the latest deadline to respond whether they want to stay, it looks like about 75 % of the remaining workforce has not opted in to the tech billionaire‘s “extremely hardcore” Twitter 2.0 and will therefore leave the company. From the outside, it all looks like a complete mess and that it’s only a matter of time until we see a data breach or a major outage, because nobody can guarantee the stability of the platform anymore.</p>
<h2>The Nest We Built</h2>
<p>For many of us, Twitter was a special place on the Web. It was the place where not only celebrities, politicians, or journalists were commenting on the latest trends in society. It was also the home of the majority of the Web community. On Twitter, we would meet people who shared our values and interests, we got to know peers in our industry, and many of the people we briefly tweeted with at first became good online – or even offline – friends over the years.</p>
<p>Despite many questionable management decisions or problems with moderation, despite changes to the timeline and many failed attempts to introduce new features, Twitter prevailed because of the people on the platform who made this comparatively small social network relevant and interesting.</p>
<p>Now that everything seems to go up in flames, people are posting farewell messages or are retweeting some of their favorite tweets for a last time. There are lots of emotions involved, which just shows that many of us would have loved to see this place thrive just a little longer. But what I also noticed is that many of those who are jumping ship and getting an account on Mastodon, are mentioning that “it feels like the early Twitter from 2009”. There was something missing that they now recognize while scrolling down a much calmer, chronological timeline again. </p>
<p>Because, as sad as all this is, Twitter already had already become but a shadow of it’s former self. Many people had already turned their back on the attention-sucking algorithmic version of what had once been a place to have amazing conversations. Those who stayed didn’t do it because Twitter was becoming better, but because they still valued their remaining friends on the site and, maybe, also because they kept clinging to the memory of early Twitter, unwilling to let go. Maybe the Twitter we all loved was long gone, anyway.</p>
<h2>A Reset</h2>
<p>The end of Twitter as we know it might be a perfect time to take a step back and review our use of social media in general. Whenever a site like Twitter goes down, it takes a vast amount of data and a large chunk of our collective web history down with it. And that’s also true for all the other social media platforms people are now starting to use as alternatives. </p>
<p>There is one place, however, that will stay with you whatever happens to all the platforms you post on: <a href="https://matthiasott.com/articles/into-the-personal-website-verse">your personal website</a>. So if you don’t have your own website yet, get a domain today, own your content, and publish on your own site. This doesn’t mean that you need to stop using social media or that you should use solely your website instead of other tools of communication. But think about the things that you would like to preserve or share that aren’t ephemeral and temporary. For those things, those thoughts, a personal website is the perfect place. Plus, it is the perfect playground to explore new web technologies or try out new stuff. The possibilities are endless.</p>
<h2>Spreading Our Wings</h2>
<p>In every ending there is a new beginning. The end of Twitter is also a huge opportunity to start something new and amazing, to build new communities and new tools for communicating online. It is a chance to explore new ways to connect our websites to each other, develop new formats for publishing our thoughts, or rediscover alternative ways to discover content, <a href="https://matthiasott.com/notes/rss-feed-collection-personal-websites">like RSS</a>. And, if you look closely, you can already see and feel a spark of enthusiasm all around. People are linking to their blogs, are sending out their newsletters, or are suddenly reviving old side-projects. Almost as if they just needed permission to finally move on.</p>
<p>The end of Twitter could prove to be a blessing for the Open Web. </p>
<p>Or, to quote <a href="https://inessential.com/2022/11/13/after_twitter">Brent Simmons</a>: “The web is wide open again, for the first time in what feels like forever.”</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Converting Your Twitter Archive to Markdown</title>
                <link>https://matthiasott.com/notes/converting-your-twitter-archive-to-markdown</link>
                <pubDate>Tue, 15 Nov 2022 12:24:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/converting-your-twitter-archive-to-markdown</guid>
                <description><![CDATA[
                    
																																	<p>The bird is not well. So it is time to <a href="https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive">request and download an archive of your Twitter data</a> now, if you haven’t done this recently. After you have requested your archive, it can take a while until you receive it. I requested my archive on the day Elon walked in and got an email notice that my archive is ready for download after about a day. I suppose it might take a little longer at the moment because more people might request their data.</p>
<p>Once your archive is on your machine, you will have a browsable HTML archive of your tweets, direct messages, and moments including media like images, videos, and GIFs. This is nice, but it also has a few flaws. For one, you can’t easily copy your Tweets somewhere else, for example, into your website because they are stored in a complex JSON structure. But even more dangerous: <strong>your links are all still t.co links</strong>. This hides the original URL you shared and redirects all traffic over Twitter’s servers. But this is not only inconvenient, it is also dangerous. Just imagine what happens when t.co ever goes down: all URLs you ever shared are now unretrievable. And then, there are the images: all images in your archive are much smaller than the ones you originally shared, and when you click to expand them, you are taken to the Twitter website once again. So, your Twitter archive is far from being a safe, independent backup in case you want to delete your account or if Twitter ever dies completely.</p>
<p>But luckily, there is help in the form of a Python script called <a href="https://github.com/timhutton/twitter-archive-parser">Twitter Archive Parser</a>, a project startet by <a href="https://mathstodon.xyz/@timhutton">Tim Hutton</a>.</p>
<p>This script does the following:</p>
<ul>
<li>It converts the tweets in your archive to markdown with embedded images, videos and links.</li>
<li>It replaces t.co URLs with their original versions.</li>
<li>It copies used images to an output folder, to allow them to be moved to a new home.</li>
<li>Afterwards, it asks if you want to try downloading the original size images using download_better_images.py.</li>
</ul>
<p>The most challenging part of using it might be that you need to <a href="https://realpython.com/installing-python/">install Python3 first</a> (😅). But once this is done, all you have to do is to put the little parser.py script into your downloaded Twitter archive folder and run it via <code>python parser.py</code>.</p>
<p>And that’s it. My Tweets are now available as Markdown and all links are converted into the originally shared URLs. 🎉</p>
<p>Like in this Tweet from 2011:</p>

																												
																												<pre><code class="language-markdown" style="white-space:break-spaces;word-break: break-all;">'I've been doing this for fifty years and I know what I'm doing!' Rand v Jobs: when egos collide http://www.creativereview.co.uk/cr-blog/2011/october/jobs-v-rand #design

(Originally on Twitter: [Wed Nov 02 07:05:48 +0000 2011](https://twitter.com/m_ott/status/131628052932341761))</code>
</pre>
																						
																																	<p>If you also want to download high-res versions of your images, you can optionally do that as well, but it will ask you first – and downloading them can take a little while.</p>
<p>There are other scripts that do similar or slightly other things – you can find links to some of them in the GitHub repository as well – yet in my case those two little scripts did the job well and it was all I needed (for now). Thanks a lot, Tim! 👏</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Wrong Question</title>
                <link>https://matthiasott.com/notes/the-wrong-question</link>
                <pubDate>Tue, 15 Nov 2022 09:53:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-wrong-question</guid>
                <description><![CDATA[
                    
																																	<p>When author <a href="https://www.jimcollins.com">Jim Collins</a> first met his hero <a href="https://en.m.wikipedia.org/wiki/Peter_Drucker">Peter Drucker</a>, whom many regard as the greatest management thinker of all time, the two men where at very different points in their lives. Here, a man in his thirties, eager to start a new endeavor, a new self-directed path, but equally terrified by the uncertainty of the outcome. There, in his rattan Wicker chair, the seasoned and accomplished 86-year-old – curiously asking questions and answering those of his counterpart with eloquence and wisdom.</p>
<p>When their long conversation came to an end, Collins, thankful for all the advice he had received, asked Drucker how he could pay him back. Drucker replied: </p>
<p>“You have already paid me back because I have learned.</p>
<p>But I do have a request: that you change your question a little bit. </p>
<p>It seems to me you spend a lot of time trying — worrying about if you’re going to survive. Well, you’ll probably survive. And you spend too much time thinking about if you’ll be <em>successful</em>. It’s the wrong question.</p>
<p><strong>The question is, how to be <em>useful</em>.</strong>”</p>

																												
																																	<p>–</p>
<p><em>From a great conversation on the Tim Ferriss Show, <a href="https://tim.blog/2019/02/18/jim-collins/">episode #361</a>. <a href="https://tim.blog/2019/02/20/the-tim-ferriss-show-transcripts-jim-collins-361/">Transcript</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>It Wasn’t Written</title>
                <link>https://matthiasott.com/notes/it-wasnt-written</link>
                <pubDate>Sun, 06 Nov 2022 14:57:43 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/it-wasnt-written</guid>
                <description><![CDATA[
                    
																																	<p>It takes years to become good at it. So we read books, take classes, and visit workshops to become better. And still, it may take a lifetime to master it. But more than anything, it is one of the things that makes us human:</p>
<p>Writing.</p>
<p>But now, the algorithms are coming for us. Artificial intelligence algorithms, in particular <a href="https://en.m.wikipedia.org/wiki/GPT-3">GPT-3</a>, are not only able to produce news reports, product descriptions, or SEO mashup pieces today, but also texts in the styles of different authors that read astonishingly well, especially to the more casual reader.</p>
<p>Services that let you create document outlines for certain topics or that write whole long-form blog posts within seconds are popping up by the dozens. Just take a look at the huge list at the end of this post. Currently, the quality of the generated texts still varies. You might end up with a piece that feels clunky and unfinished, or you might read a text that is more or less indistinguishable from something a human being could have written. Given the rate of innovation in the field of AI, however, very soon we won’t be able to tell whether a human being or an algorithm has written what we are reading.</p>
<p>How will we use those tools? </p>
<p>As a bicycle for the mind? For example, to improve our own writing by generating alternative phrases or paragraphs that we can use as inspiration or starting points? Or, will we use them to first replace the junior copywriters at our company and later everyone else who is creating written pieces?</p>
<p>Besides the ethical implications of all that, I wonder, however: What about the <em>process</em> of writing? What about intention and the careful choice of words? What about the electricity of metaphor and the magic of rhythm? What about evoking emotions in our audience? What about imagination? What about personality?</p>
<p>Everything an AI burps out will always be “produced”. It will never be “written”.</p>
<p>Sturgeon&#039;s law states that “ninety percent of everything is crap” (thanks, <a href="https://adactio.com/links/19549">Jeremy</a>). This law can easily be applied to written content on the Internet. Out of that 90 %, a large percentage will soon be coming from algorithms that will reproduce information at a speed and cost no human will be able to compete with.</p>
<p>But the remaining 10 %, those are our playing field. Genuine, respectful, imperfect, imaginative, inspirational – and full of the evocative power of language.</p>
<h2>First We Shape Our Tools</h2>
<ul>
<li>https://writesonic.com</li>
<li>https://hyperwriteai.com</li>
<li>https://writerly.ai/</li>
<li>https://www.shortlyai.com/</li>
<li>https://kafkai.com/</li>
<li>https://www.jasper.ai/</li>
<li>https://copylime.com/</li>
<li>https://www.copy.ai/</li>
<li>https://www.frase.io/</li>
<li>https://deepai.org/</li>
<li>https://qopywriter.ai/</li>
<li>https://inferkit.com/</li>
<li>https://scalenut.com/</li>
<li>https://rytr.me/</li>
<li>https://simplified.com/</li>
<li>https://quillbot.com/</li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Syndicating Posts from Your Personal Website to Twitter and Mastodon</title>
                <link>https://matthiasott.com/notes/syndicating-posts-personal-website-twitter-mastodon</link>
                <pubDate>Mon, 31 Oct 2022 02:11:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/syndicating-posts-personal-website-twitter-mastodon</guid>
                <description><![CDATA[
                    
																																	<p>The hellsite has a new king. And so, many are moving from Twitter to other social networks like <a href="https://micro.blog/">micro.blog</a> or <a href="https://joinmastodon.org/">Mastodon</a> or are at least trying out those other options while waiting how things might develop.</p>
<h2>Cross-posting – or not?</h2>
<p>One of the first questions that comes to mind is: how can I post on both Twitter and Mastodon so that I don’t have to post my status updates separately? A good idea and something that can be done in <a href="https://crossposter.masto.donte.com.br">various</a> <a href="https://moa.party">ways</a>. </p>
<p>There are, however, a few problems that come with cross-posting from one platform to another. For one, it can look a little weird when your posts on one platform obviously look like they have been written for another platform. Your tweets might contain user handles from Mastodon that don’t exist on Twitter or a Mastodon post could contain a “RT” (for retweet) or quoted tweets. This can look like you don’t really care about the people spending time on the other platform. But especially the user handles can be problematic because people might not know what to do with them or why they look so differently.</p>
<p>But even if you are fine with all that, cross-posting doesn’t solve one of the biggest problems when it comes to posting content online: if you post your thoughts into a silo like Twitter, they are, to a certain extent, out of your control. You can delete (or maybe even edit) them, yes. But when a platform goes down, you end up with the problem of having to export and backup your data again.</p>
<h2>POSSE</h2>
<p>Wouldn’t it be great to be able to post tweets, toots, or other status updates on your own site first? Especially the more important ones that you want to preserve? At least, <a href="https://matthiasott.com/articles/into-the-personal-website-verse">your own site will be with you</a> even when Twitter goes away or your account suddenly gets suspended. This is one of the basic principles of the <a href="https://indieweb.org/">IndieWeb</a>: publish on your own site, syndicate elsewhere. Or short: <a href="https://indieweb.org/POSSE">POSSE</a>.</p>
<p>You can see an example <a href="https://matthiasott.com/microblog">here on my site</a>. I am syndicating all posts of my microblog section to Twitter, micro.blog, and Mastodon.</p>
<p>The first thing you need to do to achieve all this is to create a section on your site that you can use to post short status updates. This microblogging section then needs an <a href="https://en.wikipedia.org/wiki/RSS">RSS feed</a>. Mine is <a href="https://matthiasott.com/microblog/rss">this one</a>, for example. Whenever you post a status, a new item will be added to the feed. And we can then use the feed to send new items to Mastodon, Twitter, or any other platform.</p>
<p>I won’t cover in this post how you can set up an RSS feed for your site. Yet it shouldn’t be that hard to find solutions online for whatever you are using under the hood of your site. And for the sake of brevity, I will also focus on syndicating your posts to Twitter and Mastodon only.</p>
<h2>Syndication with IFTTT</h2>
<p>With an RSS feed in place, the next step is now to use a service that will send new feed items to the different platforms. We’ll use <a href="https://ifttt.com/">IFTTT</a> for that, so you will need at least a free account there. Of course, you could also use <a href="https://zapier.com/">Zapier</a> or any other automation tool that you prefer. </p>
<p>Let’s start with how you can set things up for Twitter.</p>
<h3>Syndicating to Twitter</h3>
<p>The first step is to create a new Applet:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 58.203125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/IFTTT-new-applet.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/IFTTT-new-applet.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-new-applet.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-new-applet.png" alt="Screenshot of IFTTT: New Applet" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Now, under “If this”, select “Add” to add a trigger and search for and select “RSS Feed”. Select “New feed item”, which creates a trigger that fires every time a new item is added to your feed. Paste in your RSS feed URL and finish this step via the “Create trigger” button.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 72.265625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/IFTTT-create-trigger-rss.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/IFTTT-create-trigger-rss.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-create-trigger-rss.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-create-trigger-rss.png" alt="Screenshot of IFTTT: Create RSS Trigger" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Next, we need to define what should happen when the trigger fires. Select “Add” next to “Then that” and search for and select “Twitter”. Select “Post a tweet” or also “Post a tweet with image”. Connect your Twitter account. For the Tweet text, you can use the fields that are available under “Add ingredient”. You can use <code>{{EntryTitle}}</code>,<code>{{EntryUrl}}</code>, or <code>{{EntryContent}}</code>, for example.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 108.07291666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/IFTTT-post-a-tweet.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/IFTTT-post-a-tweet.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-post-a-tweet.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-post-a-tweet.png" alt="Screenshot of IFTTT: Post A Tweet" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Select continue, rename your applet if you want to, and complete the process with the “finish” button. And you’re done! 🙌</p>
<p>If you have a free account, your applet will only run once every hour or so. But whenever there is a new item, IFTTT will automatically post a tweet for you.</p>
<h3>Syndicating to Mastodon</h3>
<p>With Mastodon, setting up syndication is a little bit trickier. That’s simply because there is no built-in integration for Mastodon in IFTTT. Thankfully, I found a helpful article by Kelson Vibber about <a href="https://hyperborea.org/journal/2017/12/mastodon-ifttt/">“How to Post to Mastodon From Anything Using IFTTT”</a>.</p>
<p>You can still post to Mastodon using a feature called Webhooks. IFTTT Webhooks let you create Applets that can make or receive any kind of web request. So first, we need to activate that. </p>
<p>Go to <a href="https://ifttt.com/maker_webhooks">IFTTT Webhooks</a> and activate the feature by clicking on “Connect“ button.</p>
<p>Now we need to make sure IFTTT is allowed to make a request to post stuff. For this, we need to add IFTTT as an application in the settings of your Mastodon account. Go to Preferences &gt; Development/Your Applications (e.g. on mastodon.social you’ll find it <a href="https://mastodon.social/settings/applications">here</a>). Add a new application and enter a name for it. Under Application website, you need to add the full URL of your IFTTT Webhook. You’ll find it on the <a href="https://ifttt.com/maker_webhooks/settings">Webhooks Settings page</a>. From the checkboxes below, only select <code>write:statuses</code>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.40625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Mastodon-Settings-new-application.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Mastodon-Settings-new-application.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Mastodon-Settings-new-application.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Mastodon-Settings-new-application.png" alt="Screenshot Mastodon Settings: New Application" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Now, everything is ready to create our applet. The first step is the same like in the Twitter example. Create a new Applet and add your RSS feed as the trigger. Now comes the juicy part: Select “Add” next to “Then that” and search for “Webhooks”, select it, and then choose “Make a web request”.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 115.75520833333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/IFTTT-new-Webhook.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/IFTTT-new-Webhook.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-new-Webhook.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/IFTTT-new-Webhook.png" alt="Screenshot of IFTTT - Create a Webhook web request" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Now you need to add the details of the request to Mastodon.</p>
<p>The “URL” should look like this: </p>
<p><code>https://mastodon.example.com/api/v1/statuses?access_token=1234567890</code></p>
<p>Make sure to replace the <strong>mastodon.example.com</strong> with the domain of your instance’s server! Also replace <strong>1234567890</strong> at the end of the URL with the access token of the application you created in Mastodon in the settings. To find the token, click on the Application and look for “Your access token”.</p>
<p>The “Method” should be <code>POST</code>.</p>
<p>For the “Content Type”, select <code>application/x-www-form-urlencoded</code>.</p>
<p>Ignore “Additional Headers”. For the ”Body” of the Request, use something like</p>
<p><code>status={{EntryContent}}</code></p>
<p>You can also add other ingredients like the URL or date of the post. Just make sure to include the <code>status=</code> part so that everything is working properly.</p>
<p>Lastly, select continue, rename your applet if you want to, and complete the process with the “finish” button.</p>
<p>And you’re done again!</p>
<p>Now, whenever you post a status update on your own site, it will show up (after a little delay) on both platforms. 🎉</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 69.53125%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Test-Toot.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Test-Toot.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Test-Toot.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Test-Toot.png" alt="Screenshot of a successful test toot" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								            	]]></description>
            </item>
                    <item>
                <title>Suspension</title>
                <link>https://matthiasott.com/notes/suspension</link>
                <pubDate>Wed, 26 Oct 2022 00:36:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/suspension</guid>
                <description><![CDATA[
                    
																																	<p>It could happen out of the blue, without any warning. It could happen without you knowing what you did wrong. It could happen today.</p>
<p>Twitter could just suspend you.</p>
<p>Gone. Your Tweets, your followers, your thoughts, your jokes, your conversations. They’re just gone.</p>
<p>Gone, not because you did something wrong, like not abiding by the Twitter rules. No. Gone, because a flawed algorithm or an overwhelmed moderator decided that something justified a suspension. Maybe you wrote something that could be misinterpreted when taken out of context. Or, an army of trolls or bots with bad intentions reported you. You probably wouldn’t know because Twitter just wouldn’t tell you. They would just erase your content.</p>
<p>Gone. Years of careful consideration, of sharing your knowledge, of building connections, of building a reputation.</p>
<p>My friend Manuel Matuzović just got his account suspended by Twitter. <a href="https://www.matuzo.at/blog/2022/twitter-ban/">He does not know why</a> – Twitter did not yet give a reason for banning him.</p>
<p>Thankfully, Manuel still has a platform that he owns. A platform that nobody can simply suspend or delete. His own personal website.</p>
<p>I’ve <a href="https://matthiasott.com/articles/into-the-personal-website-verse">written before about the many good reasons</a> why a personal website is your ultimate home on the Web. Twitter randomly banning users by accident is just another example of the many ways you can lose your content if you don’t own it.</p>
<p>So if you are on Twitter, <a href="https://help.twitter.com/en/managing-your-account/accessing-your-twitter-data">download a copy of your data</a> from time to time. In fact, it could be a good idea to do it this week before the Elon Musk deal might close. You could also connect your Twitter account to your website and <a href="https://matthiasott.com/tweets/">archive your Tweets</a> to <a href="https://www.zachleat.com/web/own-my-tweets/">take ownership of them</a>. Or, you can <a href="https://adactio.com/journal/15212">do it like Jeremy Keith</a> and many others on the IndieWeb and write Tweets and even replies via your website and post them to Twitter from there.</p>
<p>But most importantly, always write your most important thoughts on your own site. You can share the link on as many platforms as you like and have conversations with anyone who wants to connect with you and your work. But nobody can take it from you. You are in control. Forever.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>None of Your Business</title>
                <link>https://matthiasott.com/notes/none-of-your-business</link>
                <pubDate>Sat, 15 Oct 2022 22:43:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/none-of-your-business</guid>
                <description><![CDATA[
                    
																																	<p>I bet you know this: You’ve created something – a drawing, a layout, a video, a piece of code, or a blog post – and after you’re more or less done, you pause and you look at it. And you don’t like it.</p>
<p>Maybe it is a little detail that is not right, or maybe you don’t like the whole piece for reasons you cannot explain. Whatever it is, you are just sure that this one piece of work isn’t particularly good. Or is it?</p>
<p>Whenever I’m in such a situation or people mention feeling the same way, I have to think about an interview Debbie Millman did for her Design Matters podcast. <a href="https://designobserver.com/feature/lynda-barry/40135/">In their lovely conversation</a>, comic artist Lynda Barry told a story about one of her teachers in art school. Lynda had just finished a drawing. She and her teacher were looking at it, when Lynda said: “I don’t really like this drawing.” Her teacher paused, then she went:</p>

																												
																																		<figure class="quote">
							<blockquote><p>It’s none of your business.”</p>
</blockquote>
												</figure>
																
																																	<p>What?</p>
<p>“The drawing is already here. It’s none of your business whether you like it or not.”</p>
<p>For Lynda, this was the crucial moment of her entire career. She realized that there is another way to look at her work besides just asking “do I like it or not?”</p>
<p>You don’t have to like your work for it to work. Liking or not liking it isn’t the essential part of making something. As long as you are the only judge and as long as it is unpublished, even, what’s the difference whether you like it or not? Or, to put it another way: everything you create will only work if it helps other people or if they like what you created. Every piece of art that is supposed to have a value and impact in our culture is meaningless unless it is seen by someone. Only by the interplay between your work and the people who interact with it, its real value will reveal itself.</p>
<p>So, if you did your best when you created a piece of work, but your perfectionism or fear of judgement or lack of confidence makes you not like it, ask yourself: who is this piece for and will it work? And then, allow it to exist, to grow, to evolve, to improve, to fade away, or to shine. But first, make it work.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Shitty Code Prototypes</title>
                <link>https://matthiasott.com/notes/shitty-code-prototypes</link>
                <pubDate>Thu, 29 Sep 2022 00:50:37 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/shitty-code-prototypes</guid>
                <description><![CDATA[
                    
																																	<p>I love building prototypes. They allow me to explore and sketch ideas, test my assumptions, and try out things at an early stage to make better design decisions. 
Prototyping is the single best tool we have in our toolbox as designers and developers. And because anything can be a prototype, I use whatever gets the job done: Sometimes, I grab a pen and do a series of rough sketches. Sometimes, I use prototyping software like Adobe XD or ProtoPie to try out an idea for an interaction. And sometimes, I write code. </p>
<p>Prototyping with code is my favorite way to build prototypes whenever I want to work with the real material of the Web and sketch out an idea in the browser with HTML, CSS, and JavaScript. Maybe it’s a layout that uses CSS Grid, a GSAP animation test, or a little interactive component. Whatever it is, I try to focus on the essence of what I want to try out and learn. What I don’t focus on, however, is code quality. And this is where it can get complicated.</p>
<p>What I’ve experienced several times now, is that other team members will misunderstand this conscious decision to not write production code in a prototype. Some engineers will wonder why code prototypes were created when they can’t even reuse the code of those prototypes in production. To project managers, it sometimes feels like we are doing work twice and are wasting precious time and budget. Maybe the problem also lies in how differently designers and developers understand prototypes. Here’s <a href="https://www.billbuxton.com/SoftwareDesign.pdf">Bill Buxton quoting a junior industrial designer</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Engi­neers view pro­to­types as part of the process of build­ing things. Design­ers build pro­to­types to crit­i­cize and tear&nbsp;apart.”</p>
</blockquote>
												</figure>
																
																																	<p>Maybe that’s it: To me, a prototype is a means to an end, a rough sketch, a <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">shitty first draft</a>. It will probably even be thrown away once we’ve found what we were looking for.  A code prototype is not a first step in the process of building the final thing, it is a tool that helps you decide whether and how you should build something in the first place.</p>
<p>A prototype lets us make better design decisions at any step of the process because we can see what works. And to see what works, we don’t need production-ready code. A shitty code prototype will do.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Better Bridges</title>
                <link>https://matthiasott.com/notes/better-bridges</link>
                <pubDate>Wed, 31 Aug 2022 00:40:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/better-bridges</guid>
                <description><![CDATA[
                    
																																	<p>I couldn’t agree more to what <a href="https://daverupert.com/2022/08/web-is-a-harsh-manager/">Dave wrote in his recent blog post about the increasing demands of the front-end web</a>: the job of a front-end developer is getting ever more complex. From writing well-structured, semantic HTML to the latest (fantastic) new CSS features, to accessibility, performance, animation, data handling, components, frameworks, and so many more things – it almost seems impossible to become an expert at everything a developer is expected to know today. Therefore, we need to find ways to split the responsibilities. We need new roles at the intersections.</p>
<p>At the same time, I see more and more designers struggling to get an idea of what is possible even with the most basic materials we all build with: HTML, CSS, and JavaScript. Just take all the new CSS layout features as an example: CSS Grid, Flexbox, multi-column layout, fluid layouts with clamp(), min(), and max(), and so on. Browsers are more capable today than ever before and layout on the Web isn’t a hack anymore. Yet in my experience, and from asking designers in my workshops, I know that most designers (unless they write CSS themselves) have no idea that the very fundamentals of how we do layout on the web have changed unlike ever before. How are they going to make the best use of what’s possible and design materially honest solutions when they don’t even know those features exist let alone have an idea how they work?</p>
<p>So yes, our jobs as builders for the front-end web have become mind-bogglingly complex and inventing new roles will help to release some of the pressure we all feel. But there is still the need to learn from each other across disciplines, as well. Designers need to know what is possible in the front end. Front-end developers have to get a better understanding of design basics to fill the gaps in a design, for example, between breakpoints.</p>
<p>Adding roles at the intersections could provide the knowledge needed to close those gaps. Because instead of fiddling around with something you don’t fully understand or don’t feel comfortable with yet, especially when working under a tight deadline, imagine having someone who can actually show you the most important bits and provide the necessary context. What would that leave you with? The knowledge and understanding of why and how to do it on your own next time. And: more time to do what you are best at doing. </p>
<p>At the same time, it is important to not shift all the responsibility upon the person filling a new role like “Design Engineer”, “CSS Engineer“, or “Front-end Designer”. Building for the Web is a team sport and it is crucial that we never stop to talk to each other and learn from each other frequently, openly, and with a beginner’s mind, regardless of each other’s roles and responsibilities. Learning from each other happens gradually and sometimes slowly, but it is one of the superpowers of cross-functional teams. And yet again, roles at the intersections can help with this, because they increase the surface area for collaboration.</p>
<p>Just like Dave, “I don’t have answers, only questions”. Adding bridge roles is a good thing and something that does happen already. In fact, I am working in a design engineering role in many of my projects these days. But what else can we do about the growing complexity of the Web? Do we need to eliminate 80 % of the work? Do we need to improve education? Do we need to become more open and supportive as a community? Do we need to talk more, write more, teach more, prototype more, and share more best practices? Or, do we maybe need less? Do we need to focus on the essentials?</p>
<p>A while ago, <a href="https://matthiasott.com/notes/less-but-better">I wrote about Dieter Rams’ principle of “less but better”</a>. What could “less but better” look like for the front-end web?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Foundations</title>
                <link>https://matthiasott.com/notes/foundations</link>
                <pubDate>Wed, 10 Aug 2022 16:17:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/foundations</guid>
                <description><![CDATA[
                    
																																	<p>Please use whatever tool gets the job done and makes sense for you. </p>
<p>But then again, I’ve seen so many frameworks and tools come and go that it can be dangerous to put all your eggs in one basket. You know what <em>really</em> is time well spent and a worthy investment into your future, your career, and your team? Learning the basics and becoming really good at them. </p>
<p>Therefore, don’t let tools cover up weak spots in your or your team’s knowledge. Because what looks like a flaw at first glance is actually an opportunity to learn and improve.</p>
<p>And don’t let any tool make you believe that it isn’t worthwhile to learn the foundations of web technology or let it stop you from participating in the vital dialogue that pushes the platform and its standards forward.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Detecting CSS Selector Support with JavaScript</title>
                <link>https://matthiasott.com/notes/detecting-css-selector-support-with-javascript</link>
                <pubDate>Thu, 28 Jul 2022 19:37:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/detecting-css-selector-support-with-javascript</guid>
                <description><![CDATA[
                    
																												<style>p code { font-size: 80%; }</style>
																						
																																	<p>There are many ways to adjust your CSS code to a browser’s support for a specific CSS feature. If you want to check if a certain property is supported, you can write a feature query using the <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@supports">@supports</a> at-rule, for example:</p>

																												
																												<pre><code class="language-css">@supports (display: grid) {
  div {
    display: grid;
  }
}</code>
</pre>
																						
																																	<p>If the browser supports <code>display: grid</code>, it will apply all the styles inside of the at-rule. Otherwise, it will just ignore the whole block.</p>
<p>If you want to check for support of a whole selector, you can use the <code>@supports selector()</code> function, which has <a href="https://caniuse.com/mdn-css_at-rules_supports_selector">surprisingly good browser support</a>.</p>

																												
																												<pre><code class="language-css">@supports selector(:nth-child(1 of .class)) {
	/* Do something… */
}</code>
</pre>
																						
																																	<p>In case you want to learn more, Chris Coyier also <a href="https://css-tricks.com/supports-selector/">wrote a nice piece about how to use @supports selector()</a>.</p>
<p>In a current project, however, I ran into a situation where I needed to test for support of the relatively new <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:where">:where()</a> selector. The tricky situation: both <code>:where()</code> and <code>@supports selector()</code> landed in browsers at about the <a href="https://caniuse.com/mdn-css_selectors_where">same</a> <a href="https://caniuse.com/mdn-css_at-rules_supports_selector">time</a>, so if you want to check for support in an older browser, like Safari 13, you’re out of luck. Providing a sensible fallback for older browsers was one of the requirements, though, so I had to look for an alternative. And in the end, I decided to use JavaScript.</p>
<p>I found the solution in a post by Lea Verou. In 2011, <a href="https://lea.verou.me/2011/07/detecting-css-selectors-support-my-jsconf-eu-talk/">she wrote about how to test for CSS selector support</a> by creating a new <code>&amp;lt;style&amp;gt;</code> element with the selector we want to test for and then reading out the stylesheet to see if the rule actually exists. A really smart solution to detect support even in browsers &lt;IE8. </p>
<p>But she also mentioned a much simpler solution: Using <code>document.querySelector()</code> in a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch">try...catch</a> statement. And since support for the Selectors API is very good these days, I settled on trying this. And it is indeed straightforward:</p>

																												
																												<pre><code class="language-javascript">try {
    document.querySelector(selector)
} catch (error) {
    console.error(error)
}</code>
</pre>
																						
																																	<p>First, we let the browser <code>try</code> to execute the <code>document.querySelector()</code> method with the selector we want to test. In case the selector is invalid, an exception is thrown and the code in the <code>catch</code> block is executed. In the example above, the error will then be output to the console.</p>
<p>We can now wrap this in a reusable function that returns <code>true</code> in case our selector is supported and <code>false</code> if is isn’t:</p>

																												
																												<pre><code class="language-javascript">const isSelectorSupported = (selector) => {
    try {
        document.querySelector(selector)
        return true
    } catch (error) {
        return false
    }
}</code>
</pre>
																						
																																	<p>Now, you can test for support of any selector and, for example, add a class to the &lt;html&gt; element, if a browser “cuts the mustard.”</p>

																												
																												<pre><code class="language-javascript">if (isSelectorSupported(":where(body)")) {
    document.documentElement.classList.add("supports-where")
}</code>
</pre>
																						
																																	<p>I’d still recommend you use a CSS-only solution to check for support whenever possible. But for all other cases, this little helper function might prove very useful.</p>

																												
																																	<h2>✍️✍️✍️ Edit</h2>
<p>Shortly after <a href="https://twitter.com/m_ott/status/1552713314152611841">I shared this post on Twitter</a>, I received two replies by <a href="https://mehdi.cc">Mehdi Merah</a> and <a href="https://www.bram.us">Bramus van Damme</a>, who both suggested alternative methods of detecting support for a selector. First of all: thanks a lot! 🤗 Let&#039;s have a look at them.</p>
<h2>Using CSS Custom Properties to check for selector support</h2>
<p><a href="https://twitter.com/meduzen/status/1552755947730247687">Mehdi mentioned that one could also use CSS Custom Properties</a> to emulate <code>@supports</code> in JavaScript. A smart solution and one that can be combined with your existing rules. The idea is that you first define a custom property that basically acts as a boolean variable and then set it to a different value inside of the selector you want to test support for:</p>

																												
																												<pre><code class="language-css">:root {
  --supports-selector-where: 0;
  
  @supports selector(:where(a)) {
    --supports-selector-where: 1;
  }
}</code>
</pre>
																						
																																	<p>In our case, we can even reduce it further and only set the custom property using a selector with <code>:where()</code>. If the browser supports it, it will set the custom property to <code>1</code>:</p>

																												
																												<pre><code class="language-css">:where(:root) {
  --supports-selector-where: 1;
}</code>
</pre>
																						
																																	<p>In JavaScript, we can now access the value of our custom property with <code>getComputedStyle</code> and <code>getPropertyValue</code>. And if the value is <code>1</code>, we know that the selector is supported.</p>

																												
																												<pre><code class="language-javascript">const rootStyles = getComputedStyle(document.documentElement)
const supportsSelectorWhere = rootStyles.getPropertyValue('--supports-selector-where').trim() == "1"

console.log(supportsSelectorWhere) // boolean -> true if supported</code>
</pre>
																						
																																	<p>This technique can not only be used to detect support for selectors but for any other cases where you want to communicate a status from CSS back to JavaScript. <a href="https://piccalil.li/tutorial/get-css-custom-property-value-with-javascript/">Andy Bell wrote a brilliant little helper function</a> that even lets you state which datatype you want to get back:</p>

																												
																												<pre><code class="language-javascript">/**
 * Pass in an element and its CSS Custom Property that you want the value of.
 * Optionally, you can determine what datatype you get back.
 *
 * @param {String} propKey
 * @param {HTMLELement} element=document.documentElement
 * @param {String} castAs='string'
 * @returns {*}
 */
const getCSSCustomProp = (propKey, element = document.documentElement, castAs = 'string') => {
  let response = getComputedStyle(element).getPropertyValue(propKey);

  // Tidy up the string if there's something to work with
  if (response.length) {
    response = response.replace(/\'|"/g, '').trim();
  }

  // Convert the response into a whatever type we wanted
  switch (castAs) {
    case 'number':
    case 'int':
      return parseInt(response, 10);
    case 'float':
      return parseFloat(response, 10);
    case 'boolean':
    case 'bool':
      return response === 'true' || response === '1';
  }

  // Return the string response by default
  return response;
};</code>
</pre>
																						
																																	<p>With this helper function, we can check for support for <code>:where()</code> with the custom property from before and one line of JS:</p>

																												
																												<pre><code class="language-javascript">const isWhereSupported = getCSSCustomProp('--supports-selector-where', document.documentElement, 'boolean')</code>
</pre>
																						
																																	<h2>Using CSS.supports()</h2>
<p><a href="https://twitter.com/bramus/status/1553149997872463874">Bramus suggested</a> taking another route: the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS/supports">CSS.supports() method</a>. This native JavaScript method <a href="https://caniuse.com/css-supports-api">with really good browser support</a> accepts anything you may put inside a supports at-rule, so we can do this:</p>

																												
																												<pre><code class="language-javascript">const supportsWhere = CSS.supports('selector(:where())');

if (supportsWhere) {
    document.documentElement.classList.add("supports-where");
}</code>
</pre>
																						
																																	<p>And that’s it. Plain and simple.</p>
<p>Definitely my favorite solution because of good browser support and its simplicity – and something I probably wouldn’t have learned about if I hadn’t written and shared a blog post about my problem.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Doing Our Part</title>
                <link>https://matthiasott.com/notes/doing-our-part</link>
                <pubDate>Mon, 25 Jul 2022 18:35:04 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/doing-our-part</guid>
                <description><![CDATA[
                    
																																	<p>I’m right with Dave on <a href="https://daverupert.com/2022/07/where-i-m-at-on-climate-change/">this one</a>! 💚</p>

																												
																																		<figure class="quote">
							<blockquote><p>I’m tired of envi­ron­men­tal respon­si­bil­i­ty always falling on the con­sumer. I&nbsp;know con­sumer demand bub­bles up into soci­etal change, I’m will­ing to do my part. But as a&nbsp;con­sumer it feels like I’m throw­ing time and mon­ey at a&nbsp;solu­tion with­out a&nbsp;crit­i­cal mass behind it.”</p>
</blockquote>
												</figure>
																
																																	<p>…and…</p>

																												
																																		<figure class="quote">
							<blockquote><p>The soci­etal struc­tures we form around peo­ple should be the infra­struc­ture for change and should lead initiative.”</p>
</blockquote>
												</figure>
																
																																	<p>But it is also important to know that <a href="https://yaleclimateconnections.org/2021/01/scientist-mike-manns-must-read-book-the-new-climate-war/">emphasizing individual responsibility is one of the new strategies of the fossil fuel industry</a> to distract from their own contributions and to create “apocalypse fatigue” – you don’t act because it doesn’t seem to make a difference anyway.</p>
<p>When it comes to individual action, we have to get to a point where we all realize that <strong>we are, actually, not alone</strong>. Some of us drive and fly less often, some eat less or no meat, some save energy or install solar panels. Some of us join a climate movement, but not everyone has to.</p>
<p>But we all do <em>something</em>, because it is the right thing to do. And even if it feels like we are the only person doing it, it will make a difference. </p>
<p>We can see it when the folks at Apple start talking about how “green” their products are in their keynotes.</p>
<p>We can see it when, suddenly, discounters in Germany start printing on their packaging how much plastic they are saving. </p>
<p>We can see it when, seemingly out of nowhere, we elect leaders who actually make change happen.</p>

																												
																																	
																												            	]]></description>
            </item>
                    <item>
                <title>Patch That Package</title>
                <link>https://matthiasott.com/notes/patch-that-package</link>
                <pubDate>Wed, 20 Jul 2022 16:58:28 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/patch-that-package</guid>
                <description><![CDATA[
                    
																												<style>p code { font-size: 80%; }</style>
																						
																																	<p>You probably know this situation. You are working on a project and one of the npm packages you are working with contains a nasty bug or is lacking a critical feature. Of course, you first head over to the repository, e.g. on GitHub, and draft an issue. Maybe you even write a fix yourself and create <a href="https://css-tricks.com/better-collaboration-with-pull-requests/">a pull request</a>. But, depending on the project, it might take a while until someone finds the time to review your issue or merge and publish the pull request. Sometimes, the project even is completely unmaintained. Whatever the reason, you might want to patch the package yourself to be able to move on. So what do you do?</p>
<p>Wouldn’t it be ideal to be able to fix the issue immediately but still maintain the connection to npm, being able to update the package with all other dependencies?</p>
<p>This is what <a href="https://github.com/ds300/patch-package">patch-package</a> does.</p>
<p>You install it via npm</p>

																												
																												<pre><code class="language-shell">npm i -D patch-package</code>
</pre>
																						
																																	<p>And add a script command to your <code>package.json</code> file that runs after <code>npm install</code>:</p>

																												
																												<pre><code class="language-json">"scripts": {
+  "postinstall": "patch-package"
 }</code>
</pre>
																						
																																	<p>Now you can fix the bug in one of your dependencies, hit save, and, when you’re done, run:</p>

																												
																												<pre><code class="language-shell">npx patch-package your-package-name</code>
</pre>
																						
																																	<p>This will create a .patch file that contains your changes. All the patches you create this way are then applied automatically when you use <code>npm</code> (or <code>yarn</code>). </p>
<p>Patch-package might not be the right solution for larger fixes or when you are writing a change that is really consequential. Also keep in mind that you might not be able to oversee all the consequences of a change, also regarding other packages. But for minor fixes, patch-package can save your day. </p>
<p>And, once your pull request has been merged, you can – and should – remove your patch again, of course.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Brain Dump</title>
                <link>https://matthiasott.com/notes/brain-dump</link>
                <pubDate>Wed, 13 Jul 2022 20:23:31 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/brain-dump</guid>
                <description><![CDATA[
                    
																																	<p>You know what makes it so easy for many people to just dump their thoughts into a silo like Twitter instead of writing a post on their own site?</p>
<p>You don’t have to come up with a title for your post.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Level Up Your Headings Game</title>
                <link>https://matthiasott.com/notes/level-up-your-headings-game</link>
                <pubDate>Wed, 13 Jul 2022 01:16:27 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/level-up-your-headings-game</guid>
                <description><![CDATA[
                    
																																	<p>Providing a proper document outline is one of the most effective things you can do to improve the accessibility of your HTML. Like the headings of the chapters and subchapters in a book, the structure of the heading elements in our HTML should have a semantic, tree-like structure. The most important headline, most often also the title of your document, is <a href="https://brucelawson.co.uk/2022/why-the-html-outlining-algorithm-was-removed-from-the-spec-the-truth-will-shock-you/">the one and only</a> &lt;h1&gt;. Headings nested one level deeper in the structure should be &lt;h2&gt;s, headings nested within those parts of your documents should be &lt;h3&gt;s and so on – until you might even reach &lt;h6&gt;.</p>
<h2>Headings Convey Structure</h2>
<p>The advantage of providing such a clear structure is not only that you force yourself to structure your document more thoroughly. The headings of your document are also a way to provide your users with a first glimpse of what is on your page and how it is structured. Scanning the headings of your page, users get a feeling of what you want to tell them and if that’s what they are looking for. The same is true for screenreader users, but they can also use your headings as a tool to quickly navigate to the sections that interest them. VoiceOver, the screenreader built into macOS and iOS, for example, does provide a feature called “rotor”. With <a href="https://support.apple.com/guide/voiceover/with-the-voiceover-rotor-mchlp2719/mac">the rotor</a>, users are able to navigate through a list of headlines. But this feature can only be used effectively if the document outline is properly structured. If your document provides a mess of different heading levels all mixed up (maybe also because you used headings to visually style text), it will be much harder for users to understand the structure of the page.</p>
<h2>Tools to Check Your Headings</h2>
<p>Long story short: a nicely structured document outline, with a clear hierarchy and no skipped heading levels, is one of the hallmarks of accessible web design. And it is also a requirement for a website to pass an accessibility test. But what can you do if you want to check the heading structure of a page? Do you open up the developer tools of your favorite browser and start clicking through the document structure, opening all the nodes to check whether there is a headline in there and if it has the right level? Although this would be very dutiful, there are, of course, more efficient ways to check your heading structure. There is now a plethora of options out there that can help you with this. Some list all headings for you, others highlight the heading levels directly on the page, many do both. But which tool is good? What are people using most often? I wasn’t sure myself, so I asked Twitter:</p>

																												
																												<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">What tool do you use when you want to see the headings outline of an HTML document?</p>&mdash; Matthias Ott (@m_ott) <a href="https://twitter.com/m_ott/status/1546845815284572160?ref_src=twsrc%5Etfw">July 12, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>The amount of answers I received was staggering (thank you all!) and while a few people mentioned tools I already knew, many more were useful additions I didn’t know before. Here is a little list of (almost) all the answers I got. Some of those tools are also useful to check for other accessibility issues, like color contrast, general markup issues, or missing alt attributes. So make sure to not just pick the first one from the list but try out a few of them:</p>
<ul>
<li><a href="https://wave.webaim.org/extension/">The WAVE browser extension</a> (Chrome, Firefox, Edge) was mentioned by quite a few people – one of my favorites, for sure.</li>
<li><a href="https://hinderlingvolkart.github.io/h123/">H123 Bookmarklet</a> (Thanks again, <a href="https://www.sarasoueidan.com">Sara</a>!)</li>
<li><a href="https://pauljadam.com/bookmarklets/headings.html">Headings Bookmarklet for Accessibility Testing</a> by Paul J. Adam, who also has <a href="https://www.pauljadam.com/bookmarklets/index.html">many more useful bookmarklets</a></li>
<li><a href="https://polypane.app">Polypane</a>, Kilian Valkhof’s brilliant browser for developers, has a nice feature to list and navigate through the heading structure.</li>
<li><a href="https://sa11y.netlify.app">Sa11y</a> is a simple in-page checker that visually highlights common accessibility and usability issues, including headings.</li>
<li><a href="https://khan.github.io/tota11y/">Tota11y</a>, an an accessibility visualization toolkit by <a href="https://www.khanacademy.org/">Khan Academy</a>, also does a great job in highlighting all headings and their levels.</li>
<li><a href="https://accessibilityinsights.io">Accessibility Insights for Web</a> has a feature that highlights the headings on a page as well.</li>
<li>The <a href="https://chrispederick.com/work/web-developer/">Web Developer</a> extension (for Chrome, Firefox, and Opera) by Chris Pederick also shows you the document outline of the current page</li>
<li>HeadingsMap in an extension available for <a href="https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm">Chrome</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/headingsmap/">Firefox</a> that does exactly that: map the headings of your document.</li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Generating Accessibility Test Results for a Whole Website With Evaluatory</title>
                <link>https://matthiasott.com/notes/generating-accessibility-test-results-with-evaluatory</link>
                <pubDate>Tue, 12 Jul 2022 14:54:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/generating-accessibility-test-results-with-evaluatory</guid>
                <description><![CDATA[
                    
																																	<p>Yesterday, <a href="https://matthiasott.com/notes/generating-accessibility-test-results-with-pa11y-ci">I shared how to test a whole website for accessibility issues with Pa11y</a> and how to output the results as HTML. I also <a href="https://twitter.com/m_ott/status/1546548338991955969">shared the link on Twitter</a>, as I usually do, and <a href="https://twitter.com/darek_kay/status/1546570331246166019">Darek Kay chimed in</a>, mentioning an alternative tool he created: <a href="https://darekkay.com/evaluatory/">Evaluatory</a>.</p>
<p>Just like Pa11y, Evaluatory scans a website for accessibility and markup issues. Under the hood, it uses Deque Systems’ <a href="https://github.com/dequelabs/axe-core">axe-core</a> to test for accessibility issues and <a href="https://html-validate.org/">html-validate</a> to validate your markup. It then outputs the results into a folder as HTML as well. Compared to the Pa11y check, Evaluatory comes with a few nice improvements. It checks for issues at multiple breakpoints at the same time, it can emulate dark mode, disable JavaScript (yes, <a href="https://www.youtube.com/watch?v=ga_byUbqvCc">Heydon</a>!), and also run tests for all URLs referenced in a sitemap. And, it even takes screenshots for different breakpoints of each page it tests.</p>
<p>You can install it globally via npm, for example:</p>

																												
																												<pre><code class="language-shell">npm install -g evaluatory</code>
</pre>
																						
																																	<p>And then run a test against a sitemap:</p>

																												
																												<pre><code class="language-shell">evaluatory --sitemap https://www.porsche.com/germany/Sitemap.smap</code>
</pre>
																						
																																	<p>And this is how the HTML looks like after the tests are finished – in my case, in dark mode:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 63.671875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-2022-07-12-at-14.44.51.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-2022-07-12-at-14.44.51.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2022-07-12-at-14.44.51.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2022-07-12-at-14.44.51.png" alt="Screenshot 2022 07 12 At 14 44 51" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 63.671875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Screenshot-2022-07-12-at-14.43.32.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Screenshot-2022-07-12-at-14.43.32.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2022-07-12-at-14.43.32.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Screenshot-2022-07-12-at-14.43.32.png" alt="Screenshot 2022 07 12 At 14 43 32" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>The Porsche website is <em>not</em> the one I am currently auditing, I was just curious how the results would look like… 😉</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>I really like the way Evaluatory presents the results! You get a link to the web page that was tested for quick access and can also open a detailed summary for each page. Here, the test results are sorted by category (base, axe-core, html-validate, and screenshots). A link to the respective rule that was violated is provided for more information and you also get syntax-highlighted code snippets which makes it easy to find the lines in your code that are affected. Overall, Evaluatory looks like a great addition – or even an alternative – to scanning your sites with Pa11y. Nice work, Darek! 👏</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Generating Accessibility Test Results for a Whole Website With Pa11y CI</title>
                <link>https://matthiasott.com/notes/generating-accessibility-test-results-with-pa11y-ci</link>
                <pubDate>Mon, 11 Jul 2022 19:09:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/generating-accessibility-test-results-with-pa11y-ci</guid>
                <description><![CDATA[
                    
																												<style>p code { font-size: 80%; }</style>
																						
																																	<p>This week, I’m doing an accessibility audit for a client. One of the first steps is to have a general look at the site. You can – and should – do that manually for sure, but another very useful way to get a good first impression of how good or bad things are is to use an automated tool like <a href="https://pa11y.org">Pa11y</a>.</p>
<p><a href="https://pa11y.org">Pa11y</a> is a set of free and open-source tools with which you can test a website for all kinds of accessibility (a11y) issues like insufficient color contrast, missing alt texts, missing labels, wrong heading levels, problems regarding ARIA roles, or general HTML validation issues. There are different tools available: pa11y itself is a command-line interface to run a one-off accessibility test against a web page. <a href="https://github.com/pa11y/dashboard">Pa11y Dashboard</a> is a web interface for Pa11y to constantly keep an eye on the current a11y status of one or more websites. It is powered by <a href="https://github.com/pa11y/pa11y-webservice">Pa11y Webservice</a>. And then, there is <a href="https://github.com/pa11y/pa11y-ci">Pa11y CI</a>, an accessibility test runner built using Pa11y that lets you run tests as part of a Continuous Integration environment. This is especially useful if you want to make sure that no issues make it to the live site.</p>
<h2>Installing Pa11y</h2>
<p><a href="https://nodejs.dev">Node.js</a> is a prerequisite – you might want to install it via <a href="https://github.com/nvm-sh/nvm">nvm</a> first. Then, install Pa11y globally via the command line:</p>

																												
																												<pre><code class="language-shell">npm install -g pa11y</code>
</pre>
																						
																																	<p>Now, you can run tests against a URL…</p>

																												
																												<pre><code class="language-shell">pa11y https://example.com</code>
</pre>
																						
																																	<p>…or a file:</p>

																												
																												<pre><code class="language-shell">pa11y ./path/to/your/file.html</code>
</pre>
																						
																																	<p>Pa11y will run the test and display the results in the terminal.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 72.526041666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/pa11y-cli-output-01.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/pa11y-cli-output-01.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/pa11y-cli-output-01.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/pa11y-cli-output-01.png" alt="Pa11y output on the command line" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>There is much more you can do with Pa11y, in particular the JavaScript Interface, but this would be beyond the scope of this post. So have a look at <a href="https://github.com/pa11y/pa11y">the GitHub repository</a> in case you want to learn more.</p>
<h2>Pa11y CI</h2>
<p>Running a test against a URL or a file is already super helpful, but wouldn’t it be nice to run a test for a whole site and, let’s say, get a report of the results in HTML?</p>
<p>This is can be done with Pa11y CI. While Pa11y CI is best used to run automated tests, you can run it manually as a command-line tool as well. And it comes with a neat feature: you can tell it to run a test against a whole sitemap. Let’s try this. First, we install Pa11y CI globally:</p>

																												
																												<pre><code class="language-shell">npm install -g pa11y-ci</code>
</pre>
																						
																																	<p>Now, you could create a config file that includes all the URLs that Pa11y CI should check. But you can also feed it with an XML sitemap with the <code>--sitemap</code> option:</p>

																												
																												<pre><code class="language-shell">pa11y-ci --sitemap https://pa11y.org/sitemap.xml</code>
</pre>
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 76.5625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Pa11y-cli-ouput-02.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Pa11y-cli-ouput-02.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Pa11y-cli-ouput-02.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Pa11y-cli-ouput-02.png" alt="Pa11y CI output of 15 tested pages" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Pick Your Reporter</h2>
<p>We’ve seen that when we run a test with either <code>pa11y</code> or <code>pa11y-ci</code>, the results will be output to the command line by default. But this can be changed by switching the so-called “reporter” from <code>cli</code> to something else. You could use <code>csv</code>or <code>json</code>, for example, but you can also output the test results as HTML. Pa11y now has an HTML reporter built in. The reporter can be set via the <code>--reporter</code> option. So when you are using Pa11y, you can write:</p>

																												
																												<pre><code class="language-shell">pa11y --reporter html https://example.com</code>
</pre>
																						
																																	<p>But in our case, we want to run a test against a whole sitemap with Pa11y CI. Here, we have to install one additional rpm package that adds an HTML reporter: <a href="https://www.npmjs.com/package/pa11y-ci-reporter-html">Pa11y CI HTML Reporter</a>.</p>
<p>You install it via npm again:</p>

																												
																												<pre><code class="language-shell">npm install pa11y-ci-reporter-html</code>
</pre>
																						
																																	<p>Now, this reporter can again be set via the <code>--reporter</code> option:</p>

																												
																												<pre><code class="language-shell">pa11y-ci --reporter=pa11y-ci-reporter-html https://pa11y.org/</code>
</pre>
																						
																																	<p>Pa11y CI will now run its test(s) and output the results in the current working directory as HTML. Nice! In the example above, we ran the test against a single URL, so the last step is to run the tests against a sitemap using the HTML reporter:</p>

																												
																												<pre><code class="language-shell">pa11y-ci --reporter=pa11y-ci-reporter-html --sitemap https://pa11y.org/sitemap.xml</code>
</pre>
																						
																																	<p>The result:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 68.489583333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Pa11y-CI-Report-in-Safari.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Pa11y-CI-Report-in-Safari.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Pa11y-CI-Report-in-Safari.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Pa11y-CI-Report-in-Safari.png" alt="Pa11y CI Report in Safari" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Et voilà! We have generated a nice HTML overview of the test results of the whole website we want to test. Now, we can go on and dig deeper, document existing issues in more detail, or even – if we have access to the codebase – immediately fix a few things to reduce the number of issues we see.</p>
<p>Again, an automated tool like Pa11y is not a substitute for a proper accessibility audit by an actual human being – particularly one using a screen reader. But it does give you a good general overview and helps you to quickly address many of the things that are wrong in your codebase.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The CSS Cascade, a Deep Dive</title>
                <link>https://matthiasott.com/notes/the-css-cascade-a-deep-dive</link>
                <pubDate>Sun, 10 Jul 2022 11:29:57 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-css-cascade-a-deep-dive</guid>
                <description><![CDATA[
                    
																																	<p>The Cascade is legendary. Legendary because it is the C in CSS. Legendary in how well it works to determine which selector wins when browsers apply styles to HTML. And legendary in how little many of us <em>really</em> know about it.</p>
<p><a href="https://www.bram.us">Bramus van Damme</a> recently gave <a href="https://www.youtube.com/watch?v=zEPXyqj7pEA">a fantastic talk about the Cascade</a> at <a href="https://cssday.nl/2022">CSS Day</a>. Whether you want to learn what the Cascade is and how it works or you already are familiar with it, watching this talk will be equally valuable for you. Bramus does a great job explaining the different steps of the Cascade and what specificity has to do with it in a way that you really understand it.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/css-cascade-cascade-layers-champ-bramus.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/css-cascade-cascade-layers-champ-bramus.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/css-cascade-cascade-layers-champ-bramus.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/css-cascade-cascade-layers-champ-bramus.jpg" alt="The 6 steps off the Cascade, including Cascade Layers" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p>The six steps of the Cascade: origin and importance, context, style attributes, layers, specificity, and order of appearance.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>He then goes on to show how the new concept of <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@layer">Cascade Layers</a> works and what you can do with them. For example, they can be used to better separate the styles of a component library or third party components from the rest of your CSS. Cascade Layers are already <a href="https://caniuse.com/?search=%40layer">supported by all modern browsers</a>, so it is time to get familiar with them.</p>

																												
																												<iframe width="670" height="377" src="https://www.youtube-nocookie.com/embed/zEPXyqj7pEA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style="margin: 2rem 0 4rem"></iframe>
																						
																																	<p>If you want to learn more about the Cascade and Cascade Layers, have a look at <a href="https://slidr.io/bramus/the-css-cascade-a-deep-dive-2022-06-09-css-day#1">the slides from Bramus’ talk</a>, <a href="https://www.bram.us/2021/09/15/the-future-of-css-cascade-layers-css-at-layer/">his great blog post about Cascade Layers</a>, and also the following articles:</p>
<ul>
<li><p><a href="https://developer.chrome.com/blog/cascade-layers/">Cascade layers are coming to your browser</a>, Una Kravets</p>
</li>
<li><p><a href="https://css-tricks.com/css-cascade-layers/">A Complete Guide to CSS Cascade Layers</a>, Miriam Suzanne</p>
</li>
<li><p><a href="https://www.smashingmagazine.com/2022/01/introduction-css-cascade-layers/">Getting Started With CSS Cascade Layers</a>, Stephanie Eckles</p>
</li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Eleventy Plus Vite</title>
                <link>https://matthiasott.com/notes/eleventy-plus-vite</link>
                <pubDate>Sun, 10 Jul 2022 00:43:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/eleventy-plus-vite</guid>
                <description><![CDATA[
                    
																																	<p>What’s the single best thing you can do if you want to learn a new tool or evaluate a new technology? Right, it’s getting your hands dirty.</p>
<p>Only by building something tangible, like a realistic prototype or even a real project, you’ll get immediate answers to the questions that are relevant to you and your specific context. Based on those insights, you can then make an informed decision about whether this tool is the right one for you or not. Also, it is so much fun to build something new, right?</p>
<p>So imagine my excitement (🥳🎈) when I recently decided to start a new side project and finally got to try out <a href="https://www.11ty.dev">Eleventy</a>, <a href="https://www.zachleat.com">Zach Leatherman</a>’s lovely Static Site Generator. And because every good side project begins by starting another side project and also because the The Law of Eleventy™ demands that you create a <a href="https://www.11ty.dev/docs/starter/">starter project</a> as the first step of your learning journey, I did exactly this: set up a starter project. </p>
<p>Another thought I had immediately was that I could also try out <a href="https://vitejs.dev">Vite</a>, Evan You’s blazing-fast build tool. I had heard a lot of praise for it and also listened to a <a href="https://shoptalkshow.com/454/">really intriguing episode of Chris’s and Dave’s ShopTalk Show with Evan You</a>. So I had a look at it and, luckily, also found <a href="https://github.com/11ty/eleventy-plugin-vite/">a plugin Zach had published earlier this year that lets you use Vite with Eleventy</a>.</p>
<h2>A clear, performant base</h2>
<p>The thing with starter projects is that they grow old very quickly. Of course, when you set everything up, you want to add the latest tools, all those dependencies that are currently state-of-the-art, and also want to try out new things. But this, in turn, means that you now might have to update your project more regularly and also <a href="https://adactio.com/journal/19125">re-evaluate some of the decisions you made</a>. On the other hand, as long as, for example, a build process works, you might not need to change a running system. And there is always the process of learning something new that makes setting up a starter project valuable in itself.</p>
<p>So, I set out to create a starter that should be as simple and concise as possible, not only to make it easier to understand for anyone who wants to get their head around it as well – including or my future self – but also to reduce the need for maintenance. At the same time, I wanted it to have all the features already built in that I would enjoy in such a base project. For example, a really performant base with <a href="https://github.com/addyosmani/critical">Critical CSS</a>, a web font loading strategy, or also base styles for responsive typography. And, of course, RSS.</p>
<p>The result of my endeavors is <a href="https://eleventyplusvite.netlify.app/">Eleventy Plus Vite</a>, a starter project with the following features:</p>
<ul>
<li>Eleventy 2.0.0-canary</li>
<li><a href="https://www.youtube.com/watch?v=wWs38M38vr8">New Eleventy 2.0 Dev Server</a> with live reload</li>
<li>Vite as Middleware in Eleventy Dev Server (uses <a href="https://github.com/11ty/eleventy-plugin-vite/">eleventy-plugin-vite</a>)</li>
<li>Eleventy build output post-processed by <a href="https://vitejs.dev">Vite</a> (with Rollup)</li>
<li>CSS/Sass post-processing with PostCSS incl. <a href="https://github.com/postcss/autoprefixer">Autoprefixer</a> and cssnano</li>
<li>Uses <a href="https://matthiasott.com/notes/how-i-structure-my-css">my own opinionated CSS/Sass structure</a></li>
<li>Critical CSS, generated and inlined via <a href="https://github.com/nystudio107/rollup-plugin-critical">rollup-plugin-critical</a>. The main CSS file is then loaded asynchronously with <a href="https://www.filamentgroup.com/lab/load-css-simpler/">Scott Jehl’s <code>media</code> loading strategy</a> (adds media=&quot;print&quot; and swaps to media=&quot;all&quot; once loaded)</li>
<li>Example implementation of a web font loading strategy (<a href="https://www.zachleat.com/web/comprehensive-webfonts/#critical-foft-preload">critical FOFT with preload</a>)</li>
<li>Basic fluid typography based on <a href="https://utopia.fyi">Utopia</a></li>
<li>Basic dark mode support (using <code>prefers-color-scheme</code> and CSS Custom Properties)</li>
<li>Polyfill for <a href="https://matthiasott.com/notes/focus-visible-is-here">focus-visible</a></li>
<li>RSS feed already included 🧡</li>
<li>XML sitemap</li>
<li>Four Hundos Lighthouse score 💯💯💯💯</li>
</ul>
<p>There were quite a few things to get my head around, besides learning about how to use Eleventy and Vite. For example, I had also not worked with <a href="https://rollupjs.org/guide/en/">Rollup</a> before, which Vite uses to bundle JavaScript modules. And many of the plugins I now use in the starter were also new to me. But that’s exactly why building something real is so valuable: in order to find solutions for problems that seem complex and unsolvable at first, you are forced to play, explore, and blindly try out things that sometimes work and most often don’t. And step by step, you understand how everything works.</p>
<p>If you want to get started with Eleventy as well, maybe you better don’t use my starter. 😉 Have a look at Eleventy and a few other starter projects yourself. There is also a brilliant introduction by Andy Bell, <a href="https://learneleventyfromscratch.com">Learn Eleventy From Scratch</a>. The course is now Open Source and although it might be outdated here and there because it is from 2020, it still explains the basic concepts very well. Stephanie Eckles wrote <a href="https://www.smashingmagazine.com/2021/03/eleventy-static-site-generator/">A Deep Dive Into Eleventy Static Site Generator</a> for Smashing Magazine and she also collected a lot of useful resources on the website <a href="https://11ty.rocks">11ty Rocks!</a>. And, besides many more articles you can find on the Web, there is the <a href="https://www.11ty.dev/docs/">Eleventy Documentation</a>, to help you get started.</p>
<p>Thanks so much again to all the people who created a starter project or Eleventy site before me, especially <a href="https://thinkdobecreate.com">Stephanie</a>, <a href="https://www.miriamsuzanne.com">Miriam</a>, <a href="https://mxb.dev">Max</a>, and <a href="https://www.zachleat.com">Zach</a>. I learned so much from your different approaches (and shamelessly copied a bit of code here and there as well… 😇)!</p>
<p>Oh yes, and I’ll keep you posted on any updates I make to the project, for example, <a href="https://twitter.com/m_ott/status/1541449081591144449">the dark mode toggle</a> I am currently working on.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>You, a Million Times</title>
                <link>https://matthiasott.com/notes/you-a-million-times</link>
                <pubDate>Thu, 30 Jun 2022 00:13:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/you-a-million-times</guid>
                <description><![CDATA[
                    
																																	<p>Who should you write for? Your friends and family? Your colleagues and peers? The people you look up to? Everyone in the community? Everyone on the Internet?</p>
<p>The answer? None of those people. You should only write for one person and one person only: you. </p>
<p>Me? But who would read the things I write only for myself? </p>
<p>Well, you would. Or, more precisely, all the people who are a lot like you. People who are a good match to your interests, your ideas, your values, and who can, therefore, relate to your stories. And on the Internet, more people than you think might be a lot like you.</p>
<p>There are, roughly estimated, about 4.5 billion people online, of which about 25 % speak English. That’s around 1.125 billion potential readers. If only one out of a thousand people is a bit like you and enjoys the work you create <em>just for yourself</em>, that’s still more than a million people. Of course, you won’t reach them all. But the more they love what they read, the more likely it is that they tell someone who is also a lot like you.</p>
<p>So, the next time you start thinking about your audience and whether they might like what you are writing or not, or what you can do to appeal to as many of them as possible, try this: do it like <a href="https://waitbutwhy.com">Tim Urban</a> and picture a stadium full of people who are just like you*. Would they like what you write? What would they like to have a discussion about? What would make them laugh? What would fascinate them? Would they care if your English not be perfect? Would they be angry if you made a spelilng error? (I mean, if they really would, go ahead and correct those errors, but you get the point.) And then, do it like <a href="https://chriscoyier.net/2022/06/27/there-is-no-bar/">Chris Coyier</a> and “punt out a thought early rather than wait until [you] have some perfect way to present it.”</p>
<p>Someone just like you might like it, share it, mention it at a meetup or conference, and, most importantly, might connect with you. Because ultimately, all of this isn’t about clicks, visits, and likes. It’s about human connection and building relationships while we share a bit of time together on this little blue dot. <a href="https://www.miriamsuzanne.com/2022/06/17/hit-publish/">Right, Miriam?</a></p>
<p>—</p>
<p>*This is just one of the many interesting topics Julian Shapiro and Courtland Allen talk about in <a href="https://www.brainspodcast.com/episode/writing-nonfiction">their latest Brains podcast episode about writing with David Perell and Tim Urban</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Updates About Updates</title>
                <link>https://matthiasott.com/notes/updates-about-updates</link>
                <pubDate>Mon, 27 Jun 2022 00:16:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/updates-about-updates</guid>
                <description><![CDATA[
                    
																																	<p>I love reading posts in which people talk about  recent updates to their personal sites. It does three things:</p>
<ol start="1">
<li>It shows the person reading your post that you care about this little corner of the Web and that it is worth doing so.</li>
<li>It (most often) demonstrates why you picked a certain solution and how you implemented it. Maybe it even introduces your readers to a new idea they haven’t thought about yet. Most definitely, they will learn something new.</li>
<li>It acts as motivation for people to work on their sites, as well. And it also shows that you, too, might have experienced a few roadblocks and had to make decisions with an unclear outcome – regardless of how experienced you are or how many followers you have. <a href="https://blog.jim-nielsen.com/2022/the-message-and-medium-of-the-personal-blog/">The medium is the message</a>.</li>
</ol>
<p>Just recently, <a href="https://hidde.blog/dark-light/">Hidde wrote an in-depth post outlining his approach to adding a dark mode toggle</a> to his site. This made Kilian link to <a href="https://kilianvalkhof.com/2020/design/your-dark-mode-toggle-is-broken/">a post in which he explains his approach</a> of adding a third option for the default system setting. And now, <a href="https://ethanmarcotte.com/wrote/update-in/">Ethan has written about his recent updates to his site</a>, including, you already guessed it, his new theme switcher.</p>
<p>Last week, I released <a href="https://eleventyplusvite.netlify.app">a little starter kit for Eleventy Plus Vite</a> that already respects the user’s system settings for a light or dark mode via the <code>prefers-color-scheme</code> media query. The next thing on my list is to add a theme switcher. I’ll read all posts I can find, including Hidde’s, Kilian’s, and Ethan’s, with much interest and will then publish an update about this update here. </p>
<p>Why don’t you do the same with something you are working on?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>In and Out of Style</title>
                <link>https://matthiasott.com/notes/in-and-out-of-style</link>
                <pubDate>Sun, 26 Jun 2022 18:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/in-and-out-of-style</guid>
                <description><![CDATA[
                    
																																	<p>One of the most fascinating things about the Web is how it has evolved. By that, I don’t mean so much the mind-blowing speed of growth, but rather how the foundational languages, APIs, and browsers have been able to adapt to an ever-evolving, ever-changing environment. With all the innovation going on, we somehow still managed to create robust foundational layers – like HTML, CSS, and JavaScript – that allowed for steady improvement but that also didn’t fail. And this is maybe the most amazing fact about the Web as a system of systems: it was resilient enough to persist and, at the same time, flexible enough to adapt. </p>
<p>For one, this is thanks to a lot of smart people who, despite all the arbitrariness involved in the creation of the Web, also made a lot of smart, foundational decisions. Like Tim Berners-Lee, the inventor of the World Wide Web, who recognized that the success of his invention would highly depend on how easy it would be for people to adapt it and who, therefore, not only based HTML on SGML, a language the folks at CERN were already familiar with, but who also decided that it would be sufficient for a hyperlink on the Web to go in one direction only, instead of being bidirectional, which would have made it much harder for people to link to a source. </p>
<p>But today’s success of the Web is also based on another principle: agreement. The agreement on certain standards that everyone will adhere to – the people writing the specs, the browser makers implementing them,  and all authors writing code for the Web. Unlike in the dark times of the browser wars, what becomes a standard is today based on agreement. Agreement is what made it possible that new features like CSS Grid shipped in a short timeframe in all major browsers. Agreement on what should become part of the foundational technologies of the Web is also why we now have variables, aka Custom Properties, in CSS, or why we now can select DOM elements by querying for a CSS selector with Vanilla JavaScript (with <code>querySelector</code> and <code>querySelectorAll</code>) – something that had only been possible with jQuery for a long time. And only one of the many <a href="https://youmightnotneedjquery.com">things you might not need jQuery for</a> anymore.</p>
<p>Jeremy Keith has just given a fantastic talk at <a href="https://cssday.nl/2022">CSS Day</a> about all of this: in “<a href="https://adactio.com/articles/19210">In And Out Of Style</a>,” Jeremy not only talks about the foundational ideas and principles 
behind CSS, but also about how long-term trends always appeared and disappeared over time and how they have influenced and shaped the Web Standards we work with today. It is a wonderful talk, for one because of the way Jeremy tells the stories about the Web and its history, but also because of the underlying message: by hacking our way around the shortcomings of the Web, we influence what we agree upon and what ultimately becomes a standard. So, just like promoting the idea that Web Standards, CSS, or other best-practices are broken, is wrong, we should also not just accept things as they are. All the hacks, libraries, and frameworks that help us get things done today might well shape how the Web of the future looks like. As creators, we are actively influencing the future of the Web. What a great reason to become part of that feedback loop, share your thoughts and experience, and get involved in important projects that push the Web forward – like <a href="https://open-ui.org">open-ui.org</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Just Put Stuff Out There</title>
                <link>https://matthiasott.com/notes/just-put-stuff-out-there</link>
                <pubDate>Thu, 16 Jun 2022 12:19:08 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/just-put-stuff-out-there</guid>
                <description><![CDATA[
                    
																																	<p>Even if you have been posting on your own site for quite some time, blogging regularly can still be challenging. Ask almost anyone who blogs and they will probably tell you the same: They would very much like to hit that publish button more often, but, somehow, it just doesn’t happen. One reason for that can be that we feel like every post has to be perfect, so we start fiddling with our text longer and longer. Another reason could be that we don’t find the time to write more often between everything else that is going on in our lives. And then, there are all the things related to writing itself that can hold us back, like finding something to write about in the first place, structuring our writing, editing the posts, and so on. And, just like with other habits, once you let the series break and more and more time has passed since your last post, it is getting even harder to publish again.</p>
<p>Here is a thought. Maybe, we are overthinking it. Maybe, the one thing we should care most about is just putting stuff out there. At least, this is the primary reason we have a personal website, right? We have it to document and share random thoughts, things we learned, and nuggets we found. If we don’t put stuff out there, why have a website in the first place?</p>
<p>When I think of people who publish regularly, three come to mind immediately. For one, there is <a href="https://seths.blog/">Seth Godin</a>, of course, who has been publishing a blog post every single day since 1548 or so. <a href="https://adactio.com/">Jeremy Keith</a> is another avid writer and a busy bee when it comes to posting all kinds of thoughts and links on this website – which really feels like an extension of his mind. But the guy who is the primary reason I sat down to write the post you are reading is <a href="https://chriscoyier.net/">Chris Coyier</a>. Chris, who recently sold his blog <a href="https://css-tricks.com/">CSS-Tricks</a> to Digital Ocean, is now posting <em>a lot</em> on his personal site again, and it’s so inspiring and refreshing to see how he approaches it. Some posts are longer while others are short. There are a lot of posts about the Web and web technology, of course, but there are also others about <a href="https://chriscoyier.net/2022/05/30/isnt-being-fat-just-unhealthy/">health</a>, <a href="https://chriscoyier.net/2022/06/03/weber/">mandolins</a>, <a href="https://chriscoyier.net/2022/05/19/%e2%9c%8d%ef%b8%8f-%e2%9b%b8-%f0%9f%91%80/">writing</a>, <a href="https://chriscoyier.net/2022/06/06/who-do-you-want-your-teacher-to-be/">teaching</a>, <a href="https://chriscoyier.net/2022/06/01/identifying-plants-is-built-into-ios/">identifying plants</a>, <a href="https://chriscoyier.net/2022/06/13/things-papyrus-is-used-for/">good typography</a>, and collections of random thoughts. It really feels like a personal site that is there for a reason.</p>
<p>So how do they do it? Do they sit down at their desk – very consciously – and take the time to write? You better believe they do. Do they write without worrying too much about what others might think or how polished their posts are? For sure. But, more importantly, it looks like they are enjoying the process of creating and have found a way to make publishing easy for them. And those two things might really be the key to publishing more often: </p>
<ol start="1">
<li><p>Enjoy the practice.</p>
</li>
<li><p>Make it as convenient and comfortable as possible to publish.</p>
</li>
</ol>
<p>Now, there’s only one thing left to do to just put stuff out there. </p>
<p>Don’t overthink it – hit publish.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>How to Delete Your Commit History in Git</title>
                <link>https://matthiasott.com/notes/how-to-delete-your-commit-history-in-git</link>
                <pubDate>Thu, 09 Jun 2022 01:02:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/how-to-delete-your-commit-history-in-git</guid>
                <description><![CDATA[
                    
																																	<p>Maybe you want to publish a project but don’t want everyone to see what mess you created before your initial release. Maybe you want to hand over a Git repository to a third party who should not peek into your complete git commit history. Whatever the reason, here is how you can get rid of all past commits in a branch without losing your latest work.</p>
<p>Disclaimer: what follows are a few Git commands for the terminal. If you are a little bit like me, you probably prefer a GUI like <a href="https://www.git-tower.com/mac">Git Tower</a> (❤️). But in this case, using the command line seems to be the fastest solution. Also, make sure to <a href="https://git-scm.com/book/en/v2/Getting-Started-Installing-Git">install Git on your machine</a>. And probably don’t do this in an established repo that you share with a larger team as it might break stuff for them.</p>
<p>First, make sure you are in a your project root directory and checkout a new branch with the <code>--orphan</code> flag.</p>
<p><code>git checkout --orphan latest_branch</code></p>
<p>This will create a new, empty (“orphaned”) branch without any commits. Then, add all the files in your working directory:</p>
<p><code>git add -A</code></p>
<p>Now commit all your changes.</p>

																												
																												<p><code> git commit -am "first commit message"</code></p>
																						
																																	<p>With all your work safely stored in the new branch, it is time to delete the old branch, e.g. the <code>main</code> branch:</p>
<p><code>git branch -D main</code></p>
<p>Now – and you probably already guessed it, right? – rename the current branch (the one you just created) into <code>main</code>:</p>
<p><code>git branch -m main</code></p>
<p>And finally, update the remote repository using the force of Git. Thanks to <a href="https://twitter.com/fhemberger/status/1534748372472631296">Frederic Hemberger for pointing out</a> that <code>--force-with-lease</code> is probably better than using <code>--force</code> because it won’t overwrite the commits of others in case the branch has changed in the meantime.</p>
<p><code>git push --force-with-lease origin main</code></p>
<p>🙌🎉</p>
<p>I know all this might sound obvious to some of you and yes, I found this solution <a href="https://stackoverflow.com/questions/13716658/how-to-delete-all-commit-history-in-github/26000395#26000395">on StackOverflow</a>, but I wanted to write it down to have it at hand the next time I need it. And maybe it is useful for you as well? </p>
<p>BTW, do you know what’s also useful when working with Git in the command line? <a href="https://ohshitgit.com">Oh Shit, Git!</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Unblocking Your Writing Blocks, Part 3: I Can’t Write</title>
                <link>https://matthiasott.com/notes/unblocking-your-writing-blocks-part-3-i-cant-write</link>
                <pubDate>Fri, 20 May 2022 00:36:54 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/unblocking-your-writing-blocks-part-3-i-cant-write</guid>
                <description><![CDATA[
                    
																																	<p>Maybe you are afraid to start writing because you think that you can’t write.</p>
<p>I don’t believe that’s true. Everyone can write. You have written letters or email before, right? You are constantly writing coworkers, friends, and family text messages or are chatting on your social networks of choice.</p>
<p>What I do believe, though, is that we are our most cruel critics. In reality, other’s often don’t care half as much about your writing as you do. Most of us aren’t born with the writing styles of James Joyce, Ray Bradbury, or Toni Morrison. But rest assured that even they started at some point, creating things that many would consider bad writing. </p>
<p><strong>So, don’t hesitate to put bad writing on paper or on the screen.</strong> Here’s one good way to start: Write down everything you know about a random topic you care about in loose fragments. Just a bunch of unrelated words, sentences, or paragraphs will do. <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">Write shitty first drafts</a>. Resist the urge to polish at this early stage. Then look at all the mess you produced and give yourself a pat on the back. You now have material to work with! Try to make sense of it. What are the main points you want to make? What should people remember to get value out of your ramblings? What could you talk about first? What isn’t necessary for the main storyline of your post? Then begin to rewrite the post. Start to polish a few sentences here and there that don’t look right. Leave out the less important bits. <a href="https://matthiasott.com/notes/thoughts-on-writing-read-it-out-loud">Read it out loud</a>. Correct what still sounds weird or might be unclear. Look at your draft with a beginners’ mind. Then hit publish even though you think you did a terrible job. Repeat. </p>
<p>School teaches us to avoid mistakes at all costs. This was useful back when making a mistake at the assembly line would mean you’d lose your thumb and the whole production would come to a halt. Those days are long gone. We now live in a world where making mistakes is slowly being recognized as what it is: the most natural way to learn by experience. Just look at how kids play and learn!</p>
<p>So let me correct my own mistake from the beginning of this post. Yes, your writing might indeed be really, really bad. Not only your drafts might be shitty. But that doesn’t mean that your views on things are less valuable. You will become better. You will grow. </p>
<p>What a great reason to start.</p>
<p>~</p>
<p>This post is part of a series:</p>
<ul>
<li><p><a href="https://matthiasott.com/notes/unblocking-your-writing-blocks-01">Unblocking Your Writing Blocks, Or: Debunking the Reasons That Keep You from Writing Your First Blog Post Today.</a></p>
</li>
<li><p><a href="https://matthiasott.com/notes/unblocking-your-writing-blocks-part-2-im-not-an-expert">Unblocking Your Writing Blocks, Part 2: I’m Not an Expert nor a “Thought Leader”</a></p>
</li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Unblocking Your Writing Blocks, Part 2: I’m Not an Expert nor a “Thought Leader”</title>
                <link>https://matthiasott.com/notes/unblocking-your-writing-blocks-part-2-im-not-an-expert</link>
                <pubDate>Fri, 13 May 2022 18:58:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/unblocking-your-writing-blocks-part-2-im-not-an-expert</guid>
                <description><![CDATA[
                    
																																	<p>One of the reasons you’re not blogging on your own personal website might be that you’re thinking: “Why would people listen to what <em>I</em> have to say? I’m not an industry expert, after all.”</p>
<p>I get that. You might not work for the Apples, Googles, or Microsofts out there. You might not speak at meetups or conferences or publish articles at one of the online magazines everyone is reading. You might even think that what you are struggling with every day isn’t worth sharing at all. Who wants to read about your boring day-to-day stuff, right?</p>
<p>Well, I do. Who said that only so-called “experts” or “thought leaders” are allowed to share their observations and opinions? Everyone of us brings their unique set of experiences to the table and has something valuable to contribute, even if it is the tiniest of thoughts. You might think it isn’t worth sharing, but maybe you also underestimate how much you actually know and overestimate how much others know? Maybe, your opinion is even more valuable than that of a well-known public figure because your experience paints an unfiltered, more accurate picture of the reality of building for the Web or creating something special?</p>
<p>So, write about what you know. Write about the questions you have. Write about your successes. Write about what you learned. Write about what didn’t work. Write about why you think others might be wrong about something. Write about why you do the work you love the way you do it. Or, write about how you would love to do your work.</p>
<p>Once you start writing about something, you will also realize that explaining an idea to others is one of the best ways to learn and grow your own expertise. You don’t have to consider yourself an expert to start writing, but you might well become one along the way.</p>
<p>You’ll never find out unless you try.</p>
<p>~</p>
<p>This post is part of a series:</p>
<ul>
<li><a href="https://matthiasott.com/notes/unblocking-your-writing-blocks-01">Unblocking Your Writing Blocks, Or: Debunking the Reasons That Keep You from Writing Your First Blog Post Today.</a></li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Connections</title>
                <link>https://matthiasott.com/notes/connections</link>
                <pubDate>Wed, 04 May 2022 00:37:48 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/connections</guid>
                <description><![CDATA[
                    
																																	<p>I’m sitting in the ICE 205, one of the German high-speed trains, traveling back home after two days in Düsseldorf at <a href="https://beyondtellerrand.com">Beyond Tellerrand</a>, Marc Thiele’s lovely conference about design, development, the Web, and creativity in general. It was the first time I went to an in-person event since the beginning of the pandemic, and to say it was great to finally meet people again would be an understatement. It was outright amazing.</p>
<p>We all got used to meeting and collaborating online over the past two years, and many of our favorite conferences and meetups moved online, too. But while running community events online can definitely work and might have its own unique advantages – one being that you can join from anywhere in the world – there is still something missing from all those online experiences: connecting with each other <em>in person</em>. All the smiles, the stories, and different personalities. All the spontaneous discussions, inspiring conversations, and relaxed chats. Listening to the talks of others together, learning together, and laughing together. Meeting like-minded people, seeing old friends again, and finding new ones. Human connection. This is what&#039;s at the heart of Beyond Tellerrand and it&#039;s what makes in-person events so valuable and special.</p>
<p>Once again, I am returning home full of new insights, new ideas, new memories, and new energy. It was such a pleasure to meet all of you!</p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS :has( ) A Parent Selector Now</title>
                <link>https://matthiasott.com/notes/css-has-a-parent-selector-now</link>
                <pubDate>Sun, 10 Apr 2022 19:35:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/css-has-a-parent-selector-now</guid>
                <description><![CDATA[
                    
																																	<p>I don’t remember the exact moment anymore. But I remember that it was with a mix of disbelief and disappointment that I realized one day that there was no way to select the parent of an element in CSS. </p>
<p><em>Wait, what? This can’t be. Why?</em></p>
<p>Obviously, I wasn’t alone. Everyone who has ever learned CSS has probably found themselves in the same situation and asked themselves the same question: Why is it that we don’t have a parent selector in CSS? As Jonathan Snook described in <a href="https://snook.ca/archives/html_and_css/css-parent-selectors">an elaborate post back in 2010</a>, it was not only because of performance concerns but also because of the way browsers render a document and apply the computed styles to elements: as a stream, one element after the other as they come in. When an element is rendered to the viewport, its parent is already there, including all its beautiful styling. Repainting the parent – and, consequently, all other parents – after the fact would then require another evaluation of all parent selectors. This, <a href="https://remysharp.com/2010/10/11/css-parent-selector">Remy Sharp agreed back then</a>, would again be so expensive on the render engine that it wouldn&#039;t make sense to implement a parent selector.</p>
<p>So, we all accepted the inevitable and did our best to work around it. We added helper classes to our templates via back-end logic or with JavaScript in the frontend. And it somewhat worked. But in almost every project, there still was this one moment where a parent selector would have been the quickest and most “materially honest” solution.</p>
<h2>:has has arrived</h2>
<p>All of this changed last month when Apple <a href="https://webkit.org/blog/12445/new-webkit-features-in-safari-15-4/">released Safari 15.4</a> which, as the first browser, supports the <code>:has()</code> pseudo-class, which is one of the <a href="https://www.w3.org/TR/selectors-4/#relational">CSS Level 4 Selectors</a>. “It was long thought such a selector was not possible, but our team figured out a way to highly optimize performance and deliver a flexible solution that does not slow the page,” Jen Simmons and Jon Davis wrote in the release notes.</p>
<p>There it is. A parent selector. But <code>:has</code> is not only useful as a parent selector. It also opens up a lot more interesting opportunities. But first, let’s have a look at how it works.</p>
<p>The <code>:has</code> pseudo-class takes a relative selector list and will then represent an element if at least one other element matches the selectors in the list. Sounds overly complicated when you write it down, so here is a basic example. Let’s say you want to select all <code>button</code> elements which include an <code>svg</code> element, like an icon. You can now write:</p>

																												
																												<pre><code class="language-css">button:has(svg) { … }</code>
</pre>
																						
																																	<p><a href="https://codepen.io/matthiasott/pen/JjMZNQm">Try the CodePen demo</a>  – and make sure to view it in Safari 15.4. ;)</p>
<p>Or, if you want to style an article differently if it has a headline inside that is followed by a paragraph:</p>

																												
																												<pre><code class="language-css">article:has(h2 + p, h3 + p) { … }</code>
</pre>
																						
																																	<p>You can also combine <code>:has</code> with the <code>:not</code> pseudo-class to select an element if it does <em>not</em> contain certain other elements, in this case, a headline:</p>

																												
																												<pre><code class="language-css">section:not(:has(h1, h2, h3, h4, h5, h6)) { … }</code>
</pre>
																						
																																	<p>It is also possible to use pseudo-classes like <code>:hover</code>, <code>:focus</code>, or <code>:checked</code>. You could style a form element when a checkbox inside has been checked, for example:</p>

																												
																												<pre><code class="language-css">form:has(input[type="checkbox"]:checked) { … }</code>
</pre>
																						
																																	<p>You could then also use the general sibling combinator <code>~</code> to change the styling of the form depending on how many of the checkboxes have been selected:</p>

																												
																												<pre><code class="language-css">/* Two checkboxes are :checked… */

form:has(input[type="checkbox"]:checked ~ input[type="checkbox"]:checked) { 
  box-shadow: inset 0 0 0 0.5rem blue;
  background-color: rgb(150, 187, 235);
}

/* Three checkboxes are :checked… */

form:has(input[type="checkbox"]:checked ~ input[type="checkbox"]:checked ~ input[type="checkbox"]:checked) { 
  box-shadow: inset 0 0 0 0.5rem rgb(0, 160, 0);
  background-color: rgb(136, 233, 136);
}</code>
</pre>
																						
																																	<p><a href="https://codepen.io/matthiasott/pen/oNpywMg/90494d56f8a3f829fabb200f1ff650b8">Try the CodePen demo.</a></p>
<p>Although this demo might not be the most practical example, all this is still starting to get interesting, right?</p>
<h2>Using :has to adjust a Grid</h2>
<p>CSS Grid generally works from the container in and before <code>:has</code>, there wasn’t really a way to adjust the Grid based on what’s inside. What if we could use <code>:has</code> to adjust the CSS Grid layout of a container based on the number of elements inside of it? Here, so-called quantity queries can be useful. Heydon Pickering has written <a href="https://alistapart.com/article/quantity-queries-for-css/">the ultimate article about them</a>. By combining the <code>:nth-child</code> and <code>:nth-last-child</code> pseudo-classes inside our <code>:has</code> selector list, we can adjust the layout by “counting” the elements inside. Here is how we can target a grid with two elements inside, for example:</p>

																												
																												<pre><code class="language-css">.grid:has(:nth-child(2):last-child) {
  grid-template-columns: 1fr 1fr;
}</code>
</pre>
																						
																																	<p>So, if our Grid container has an element inside that is <em>both</em> the second child as well as the last child of our container, the grid should have two columns. The same also works with three columns:</p>

																												
																												<pre><code class="language-css">.grid:has(:nth-child(3):last-child) {
  grid-template-columns: 1fr 1fr 1fr;
}</code>
</pre>
																						
																																	<p>Finally, we can also create a grid layout that has four columns if the container has four <em>or more</em> elements inside. To achieve this, we select at least one element that is either the fourth or one of all following elements:</p>

																												
																												<pre><code class="language-css">.grid:has(:nth-child(n+4)) {
  grid-template-columns: repeat(4, 1fr);
}</code>
</pre>
																						
																																	<p>Here is <a href="https://codepen.io/matthiasott/pen/Vwydzem">a CodePen demo again</a>.</p>
<p>As you can see, there are lots of amazing use cases for <code>:has</code> as a parent selector and it still feels like this is only scratching the surface of what people will come up with. <code>:has</code> lets us style elements based on whether the child of an element is selected, has focus, or whether it is present at all. And we can even target an element based on how many children it has. All this will allow for much more flexible components. Just think of all the variations of content and context that can exist inside a design system and you know how valuable this will be.</p>
<p>But wait, there is more!</p>
<h2>:has as a previous sibling selector</h2>
<p>Because <code>:has</code> accepts a relative selector list, you can also select an element if it has another element that follows it. Or, in other words, we can use <code>:has</code> to select the previous sibling of an element:</p>

																												
																												<pre><code class="language-css">:has(+ .second) {
  background-color: darkmagenta;
}</code>
</pre>
																						
																																	<p><a href="https://codepen.io/matthiasott/pen/YzYvxJE">Try it on CodePen.</a></p>
<p>Again, there are so many practical use cases for this! For example, you could style an image differently when there is a caption below it:</p>

																												
																												<pre><code class="language-css">figure img:has(+ figcaption) {
  /* Do something with the image */
}</code>
</pre>
																						
																																	<p>The possibilities of using <code>:has</code> in useful and creative ways to write more flexible and robust CSS seem endless. And as is the case with so many of the new features that are currently being added to CSS, I can&#039;t wait to see what other creative uses for <code>:has</code> you all come up with. One recent example is <a href="https://css-irl.info/animated-grid-tracks-with-has/">this brilliant demo by Michelle Barker</a>, where she combines animated grid tracks with the <code>:has</code> selector.</p>
<h2>Testing for support</h2>
<p>For now, Safari is the <a href="https://caniuse.com/css-has">only browser with support</a> for <code>:has</code>. In the upcoming version 101 of Chrome, you’ll be able to activate it via the <a href="chrome://flags/#enable-experimental-web-platform-features">Experimental Web Platform features</a> flag, however. While this is promising, it will certainly take a little while until <code>:has</code> is supported by the majority of browsers. In the meantime, we can once more use progressive enhancement to already use <code>:has</code> in browsers that support it. <a href="https://css-irl.info/has-has-landed-in-safari/">As Michelle Barker notes</a>, you can test for support for <code>:has</code> with a <code>@supports</code> feature query using the <code>selector()</code> function:</p>

																												
																												<pre><code class="language-css">@supports selector(:has(*)) {
  /* Code for browsers with support for :has */
}</code>
</pre>
																						
																																	<p>Thus, you can target supporting browsers in a future friendly way. Because once <code>:has</code> is supported by another browser, your code will work automatically in this browser as well.</p>
<p>Do you have more ideas about how to use <code>:has</code>? Have you seen more interesting examples and demos? And will you start using it already? Let me know via Webmention, <a href="mailto:mail@matthiasott.com">email</a>, or <a href="https://twitter.com/m_ott/">Twitter</a>.</p>

																												
																																	<h2>Links</h2>
<ul>
<li><a href="https://www.smashingmagazine.com/2021/06/has-native-css-parent-selector/#css-has-pseudo-class-specification">Meet :has, A Native CSS Parent Selector (And More)</a>, by Adrian Bece</li>
<li><a href="https://css-irl.info/has-has-landed-in-safari/">:has() Has Landed in Safari</a>, by Michelle Barker</li>
<li><a href="https://www.bram.us/2021/12/21/the-css-has-selector-is-way-more-than-a-parent-selector/">The CSS :has() selector is way more than a “Parent Selector”</a>, by Bramus Van Damme</li>
<li><a href="https://css-tricks.com/the-css-has-selector/">The CSS :has Selector (and 4+ Examples)</a>, by Robin Rendle</li>
<li><a href="https://webkit.org/blog/13096/css-has-pseudo-class/">Using :has() as a CSS Parent Selector and much more</a>, by Jen Simmons</li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Don’t Play It Like the Flute</title>
                <link>https://matthiasott.com/notes/dont-play-it-like-the-flute</link>
                <pubDate>Sat, 09 Apr 2022 01:21:16 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/dont-play-it-like-the-flute</guid>
                <description><![CDATA[
                    
																																	<p>Hans Zimmer just won an Academy Award for his musical score for “Dune,” and if you have seen the movie or listened to the soundtrack, you know why. Zimmer’s soundtrack for Denis Villeneuve’s adaptation of Frank Herbert’s classic sci-fi novel is an otherworldly masterpiece that combines Zimmer’s deep, gigantic trademark sound with unorthodox elements like whistling bamboo flutes, distorted guitars that sound like bagpipes, actual bagpipes, scraping metal, and synthesized, rumbling drums. The result is a mysterious, menacing, and captivating soundscape that defies comparison. Disturbing in its beauty, enchanting in its intensity.</p>
<p>When Zimmer was asked to write the music for Dune, one of the first things he knew was that he didn’t want to create the next classical orchestra soundtrack for a science-fiction movie. Instead, he had a certain idea of a sound in his head that would match the setting of the story. A story that was supposed to happen in the future, in a different culture, and on a different planet. So he set out to invent new sounds by using and combining existing instruments in unconventional ways and by even inventing instruments that didn’t yet exist. He worked with an instrument sculptor who builds instruments out of metal, distorted human voices with a compressor beyond recognition, and asked his musicians to play their instruments in the most unusual ways. “Don’t play it like the flute,” Zimmer said to his flutist Pedro Eustache, “Play it as if it was the wind whistling through the desert dunes.”</p>

																												
																												<style>lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
    background-position: top;
    background-repeat: repeat-x;
    height: 60px;
    padding-bottom: 50px;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    width: 68px;
    height: 48px;
    position: absolute;
    transform: translate3d(-50%, -50%, 0);
    top: 50%;
    left: 50%;
    z-index: 1;
    background-color: transparent;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 68 48"><path fill="%23f00" fill-opacity="0.8" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path d="M 45,24 27,14 27,34" fill="%23fff"></path></svg>');
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: none;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}
</style>
<script src="/assets/js/vendor/lite-yt-embed.js"></script>
<lite-youtube videoid="93A1ryc-WW0" style="background-image: url('https://i.ytimg.com/vi/93A1ryc-WW0/hqdefault.jpg'); margin: 2rem 0 4rem;">
	<button type="button" class="lty-playbtn" title="How 'Dune' Composer Hans Zimmer Created the Oscar-Winning Score | Vanity Fair"></button>
</lite-youtube>
																						
																																	<p>Why am I telling you all of this? Because no matter what you love to create, there is something to be learned from the way Zimmer approached this project. We are all striving to create work that is novel, innovative, memorable, and inspiring. To get there, however, we tend to focus on getting things right, on avoiding mistakes, on “being professional”. Yes, it is important to have the commitment, dedication, and attention to detail of a professional. But being right? That will only take you so far. What is much more important is to approach the problem in front of you with curiosity and an open mind. With an urge to explore what can be found beyond the ordinary, beyond the right way of doing things. If you want to create something that nobody has come up with yet, it is important that you try out all the crazy ideas others are afraid to try, that you build prototypes, improvise, and freely play with the materials and the technologies you have at hand.</p>
<p>You might not know where this play will lead you. You will discover that some things work and others don’t. You will run into dead ends and discover other paths that open up before you. You will have to abandon some of your ideas while new ideas are born. To discover something totally new, you need to play this game as unafraid and reckless as a child. Play it loud or quiet, fast or slow, alone or, even better, in a team.</p>
<p>Just make sure you don’t play it like the flute.</p>
<p><em>Hans Zimmer <a href="https://music.apple.com/de/post/1598019764?l=en">on technology and music</a>:</em></p>

																												
																												<blockquote>
“It took a while for us to figure out how to actually use this. You have to learn technology in one way or the other. And I don’t mean by reading a book […] or by going on the Internet and spending a bit of time. It’s a more instinctive type of learning where you figure out how far you can push the thing. Where is the sweet spot?”
</blockquote>
																						            	]]></description>
            </item>
                    <item>
                <title>Unblocking Your Writing Blocks, Or: Debunking the Reasons That Keep You from Writing Your First Blog Post Today.</title>
                <link>https://matthiasott.com/notes/unblocking-your-writing-blocks-01</link>
                <pubDate>Sun, 13 Mar 2022 20:21:07 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/unblocking-your-writing-blocks-01</guid>
                <description><![CDATA[
                    
																																	<p>Why is it that although we are now in the millions building and creating for the Web, only very few share their knowledge and experience on their own websites? Or, in other words: Why doesn’t every one of us have a blog?</p>
<p><a href="https://twitter.com/zachleat/status/1488941901500010496">Zach Leatherman asked this question on Twitter the other day</a> and added: “can you imagine knowing everything you know and not sharing it? It’s a little selfish when you think about it.”</p>
<p>Zach was teasing, of course, but the responses that followed painted a pretty accurate picture of why it is so hard for many people to publish on their sites: There are a million reasons to not even start.</p>
<p>But many of the reasons holding us back aren’t actually the blockers we think they are. So why not have a look at the most common ones and debunk them, one blog post at a time? Written from the perspective of someone who hesitated for more than 10 years until he finally started his blog. Someone who has written quite a few posts in which he promises to “write again more regularly (promise!)”. And someone who now believes that starting to write on his site was one of the best decisions of his life.</p>
<p>All of those thoughts and worries were floating around in my head at some point as well. And many remain to be regular guests at the writing table.</p>
<p>Let’s start with one of the most obvious ones:</p>
<h2>1. I don’t have a large following or audience. Nobody will read my blog posts anyway.</h2>
<p>Of course, you don’t have an audience. Your writing doesn’t exist out there yet. But does it even matter? The first thing you have to do if you want to publish work on your site is to let go of the idea that the more people read your articles the better your articles – or you as a writer – are. Quantity is not the same as quality or value. Yes, it is great when a lot of people read what you have to say. But far too often, we measure success only by looking at the number of visitors or page views, while instead we should be looking at how <em>valuable</em> our posts can be for other people. An idea that I like a lot in this regard is the one Sara Soueidan shared in her post “<a href="https://www.sarasoueidan.com/desk/just-write/">Just Write</a>”: “Even if only one person learns something from your article, you’ll feel great, and that you’ve contributed — even if just a little bit — to this amazing community that we’re all constantly learning from.” Even if only a few people read your post, it can have a profound impact on them – and on you.</p>
<p>Yes, you will probably start by writing into the void, not knowing if anyone reads your articles or cares at all. View it as a chance to practice, to make mistakes, and to get better. This is your chance for <a href="https://seths.blog/2016/05/unlimited-bowling/">unlimited bowling</a> and your chance to learn what kind of writing brings you joy. And if you end up writing things that people like, great! Over time, more and more people will take notice.</p>
<p>~</p>
<p><strong>What are some of the reasons that keep or kept you from getting started?</strong> Let me know via Webmention, <a href="mailto:mail@matthiasott.com">email</a>, or <a href="https://twitter.com/m_ott/">Twitter</a>. And make sure to subscribe to <a href="https://matthiasott.com/rss">my RSS feed</a> to not miss the next post debunking reason number two: <em>“I’m not an expert nor a ‘thought leader’”.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Changes – 2021 ➔ 2022</title>
                <link>https://matthiasott.com/notes/changes-2021-2022</link>
                <pubDate>Tue, 01 Feb 2022 00:12:36 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/changes-2021-2022</guid>
                <description><![CDATA[
                    
																																	<p>Over the first couple of days of 2022, I read a lot of year-in-review posts, like <a href="https://css-irl.info/2021-in-review/">Michelle’s</a>, <a href="https://daverupert.com/2021/12/twenty-twentyone/">Dave’s</a>, <a href="https://hiddedevries.nl/en/blog/2021-12-28-2021-in-review">Hidde’s</a>, and <a href="https://adactio.com/journal/18713">Jeremy’s</a>, to name a few. What a pleasure to read about such a great variety of different perspectives and realities! Thank you, everyone.</p>
<p>In my case, last year was in many respects different than most of the years before, not only because of the ongoing pandemic. For my family and me, 2021 was a year full of changes. The most breaking of all: We spent the last weeks of the year in our new home – our biggest project to date and as indefinitely rewarding as exhausting. Our children now go to a different school and kindergarten, and although we stayed in the greater area of Stuttgart, Germany, we still moved quite a few kilometers away from close friends and family. With such change always comes uncertainty: How will our life turn out with all the new things to digest and the new paths to take? It takes time to get used to new, unfamiliar surroundings. Not only inside the house but also outside. It takes time to identify what works and what doesn’t, now that the familiar world that seemed controllable and predictable is gone. It takes time until a new home really becomes your home. </p>
<p>Now that 2022 is a few weeks old and I&#039;ve had some time to process this milestone, it finally feels like things are getting back to a new – but exciting – normal. So I figured  I’d start this new chapter with my more than over-due year-in-review post that somewhat draws a line under the last year. But instead of listing all projects, workshops, and other accomplishments like in previous years, I want to look ahead.</p>
<p>I will continue to give remote design workshops in 2022 for and with the Adobe XD team in even more formats as part of a growing international team of designers. (If you are interested in <a href="https://matthiasott.com/workshops">a workshop for your team, let me know</a>. 😉) I will continue to teach interface prototyping at the Muthesius Academy of Fine Arts and Design in Kiel. I might read a couple of books (just like last year, most of them in audio form) and write about them here. And I certainly won’t stop working as an <a href="https://matthiasott.com/about">independent user experience designer and design engineer</a> for design agencies as well as my own clients. Last year, all of this was heavily disrupted by the final weeks of construction of our home where I stopped writing on my personal site altogether to focus on the remaining client projects as much as possible. Something which, although I had expected to be much more busy than usual, still took me by surprise.</p>
<p>I have a lot more planned for this year now that things have calmed down a bit. Above all, I’m looking forward to getting back to writing on this site. But at the same time, I am very excited to be in my new home office now. It is the first time in years that I have a dedicated little office space at home with a real desk. A real desk! And a door I can close! So I spent quite some time setting everything up so that it is a comfortable place that works just as well for teaching and running remote workshops as for uninterrupted periods of client work or writing. The first month of 2022 already felt like a very good start. It feels like I’m finally back on track.</p>
<p>There still is a lot to do in and around the house. We still don’t have baseboards in most of the rooms. We still don’t have a dishwasher (thank you, global chip shortage). We still don’t have a garden. So 2022 will certainly include a few more interesting tinkering projects away from the computer for me. But I also can’t wait to create, build, and share for and on the Web again this year. There are so many amazing things happening in web design and development which I am so excited to dive into now that I will have more time for it again. And, I’m eagerly looking forward to everything all of you will create and share on your personal sites, in your podcasts, talks, and everywhere else.</p>
<p>Here’s to everything we change in 2022. I couldn’t be more curious!</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Turning 30</title>
                <link>https://matthiasott.com/notes/turning-30</link>
                <pubDate>Mon, 09 Aug 2021 08:24:53 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/turning-30</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://www.w3.org/blog/2021/08/30-years-on-from-introducing-the-web-to-the-world/">30 years ago</a>, on August 6, 1991, a computer scientist working at CERN introduced a project to the public he had been working on for several months. The project, as he described, combined “the techniques of information retrieval and hypertext to make an easy but powerful global information system”. The name of the project: the “World Wide Web”. “Try it”, <a href="https://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a> wrote in his message on Usenet. And we did.</p>
<p>Over the past 30 years, the Web has grown up. But just like with every other new medium, we first had to overcome our limiting views and habits from the past. Because like every other medium that came before it, the Web is different.</p>
<p>The Web is ever-expanding.</p>
<p>The Web is device-agnostic.</p>
<p>The Web is unpredictable.</p>
<p>The Web is evermore standardized.</p>
<p>The Web is non-linear.</p>
<p>The Web is flexible.</p>
<p>The Web is responsive.</p>
<p>The Web is a playground.</p>
<p>The Web is open.</p>
<p>If you have been around since the 1990s or early 2000s, you know all of this. You have experienced the early years of wild and rampant exploration and experimentation. You also marveled at the fast pace of the industry with companies growing like fury just to be insignificant or even out of business a few years later. You have learned to dance with the ever-changing nature of the Web and you’ve seen web standards emerge from a soup of different approaches and philosophies. You have seen Flash come and go. You witnessed the rise of the blogosphere, user-generated content, and Social Media. And regardless of what your individual contribution was, (even if it was <a href="https://www.xml.com/pub/a/w3j/s1.people.html">the Spacer GIF</a>) we <em>all</em> made the Web what it is today.</p>
<p>There is also a lot to not like about today’s Web. No wonder many people feel nostalgic about the early days. But while 30 years can feel like a lot of time and things seem to be set in stone, it is important to remember that the Web is still in its infancy as a medium and as a set of standards and technologies.</p>
<p>When cinema was 30 years old, people were still watching silent films in black and white. It was only in the 1920s and 1930s when the use of sound and color – at first two colors and then even three (“Technicolor!”) – would become mainstream. No sound and color. After 30 years. This is where we are with the Web. We have left behind the first phase of imitation and exploration that cinema underwent as well. We are standing on the shoulders of giants (called web standards) but we are still just getting started.</p>

																												
																												<iframe src="https://archive.org/embed/ThePhantomOfTheOpera_364" width="640" height="480" frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen style="margin-top: 2rem; margin-bottom: 3rem"></iframe>
																						
																																	<p>What if the 2020s will be for the Web what the 1920s were for cinema? What if, both in terms of artistic creative expression and technological advancements, the best is yet to come? I have no idea what the web will look like in another 30 years. But I am sure that we will look back at the first 30 years of the Web like we look back at the silent era in cinema today: as the formative years of a medium that was about to evolve to even higher heights.</p>
<p>The Web has always been about what each and every one of us contributes. And contributing is easier and more important than ever. So let’s not leave the future of the Web to big tech alone. Inclusiveness, accessibility, performance, security, usability, decentralization, openness – in almost all areas, the Web is far from done. I can’t wait to see what the next 30 years on the Web will bring. Let’s shape them together.</p>
<p>~</p>
<p>If you are new to the Web or would like to learn more about its history, there is a marvelous newsletter by Jay Hofmann called <a href="https://thehistoryoftheweb.com">The History of the Web</a>. Jeremy Keith also <a href="https://shoptalkshow.com/431/">read it on the ShopTalk Show podcast</a>. Make sure to give it a listen!</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Starting Again (Again)</title>
                <link>https://matthiasott.com/notes/starting-again-again</link>
                <pubDate>Sun, 25 Jul 2021 08:05:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/starting-again-again</guid>
                <description><![CDATA[
                    
																																	<p>It was about the same time last year that I decided to change something. I hadn’t written and published as many posts on my site as I had wished to get done. And it was nagging me. If this site was meant to be a place of reflection and experimentation, if it was supposed to be <a href="https://matthiasott.com/articles/into-the-personal-website-verse">my personal home on the web</a>, why didn’t I put in the effort and write more often? Why didn’t I share my struggles, my experiences, and little insights and inspirational bits that might help someone out there on their way? So <a href="https://matthiasott.com/notes/100-days-of-writing">I decided to start a 100 days of writing challenge</a>. After 64 increasingly not-so-daily posts, I declared the experiment a failure. But one from which I learned a whole lot.</p>
<p>Well, here we go again. It is July 2021 and I haven’t published a post on this site since April. And once again, it bugs me. Yes, I had a lot of client work to do and prioritizing work – unless it is over family – is still not the worst of choices, especially in a pandemic. But it’s also far too easy to hide behind all the daily work instead of creating and writing. Isn’t it telling that I somehow still “found” the time to scroll Twitter’s timeline every day and watched more videos on tech and camera gear than I probably should?</p>
<p>It is incredibly hard to form a habit but it is even harder to sustain it. If you ever started your own thing – like publishing on your own website, just to come up with the most obvious example here –, you might know what I mean. One of the keys to writing regularly is to remember that you don’t need to write the perfectly elaborate piece all the time. If you care for something, even if it’s only the smallest nugget of insight, it is worth sharing it in whatever form the idea takes on. The posts that have the most positive impact are always standing on the shoulders of giant piles of bad writing and unfinished ideas. So it really doesn’t matter if you don’t bring it home all the time.</p>
<p>Results are always the outcome of a process. And it is this process that we should focus on. It is this process that we should own and that should bring us joy and fulfillment. So I will remember <a href="https://matthiasott.com/notes/starting-to-write-notes">my own words back from when I started this notes section</a>: I wanted to publish notes that are “quick, raw, unpolished, short, sometimes also a bit longer. Sometimes only an image, a hasty sketch, or a drawing. But always without the need to finalize anything.” </p>
<p>There is so much to write about every single day. Let’s get back to work.</p>
<p>(Well, maybe I’ll polish some of the posts. Just a little, tiny bit…)</p>

																												            	]]></description>
            </item>
                    <item>
                <title>No Wrong Notes</title>
                <link>https://matthiasott.com/notes/no-wrong-notes</link>
                <pubDate>Wed, 21 Apr 2021 15:07:50 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/no-wrong-notes</guid>
                <description><![CDATA[
                    
																																	<p>He played the piano like no other. Literally. When legendary jazz pianist <a href="https://en.wikipedia.org/wiki/Thelonious_Monk">Thelonious Monk</a> sat down at the piano and started playing, he would hit the keys with his fingers held flat, almost attacking them to produce the ringing, percussive sound he was known for. His compositions and improvisations were full of dissonances and melodic twists and he often divided single-line melodies between the two hands. Yes, at the time, Monk’s play was definitely different.</p>
<p>One day, he was listening to the radio when a music critic talked about how amazing Monk’s play was although he didn’t use “the right notes”.</p>
<p>Monk immediately grabbed the phone and left an unambiguous message for the radio host:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The piano ain’t got no wrong&nbsp;notes.”</p>
</blockquote>
												</figure>
																
																																	<p>His answer was as blunt as it was true: If you don’t like how I play – fine! That’s your right. But that doesn’t make my way of composing or playing <em>wrong</em>. It’s just not for you.</p>
<p>The same is true for many other things we create. Take your personal website, for example. Your writing might not appeal to others. People might find it irrelevant or even dislike your style or your message, especially if you are writing about something new and unconventional. But if it’s important to you and if it contains a bit of yourself – and it certainly will –, whatever you write and publish on your site isn’t wrong. You are free to try out different formats, techniques, and styles. Write about what you think and care about. Find your unique way to express yourself.</p>
<p>A personal website ain&#039;t got no wrong words.</p>

																												
																												<style>lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
    background-position: top;
    background-repeat: repeat-x;
    height: 60px;
    padding-bottom: 50px;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    width: 68px;
    height: 48px;
    position: absolute;
    transform: translate3d(-50%, -50%, 0);
    top: 50%;
    left: 50%;
    z-index: 1;
    background-color: transparent;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 68 48"><path fill="%23f00" fill-opacity="0.8" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path d="M 45,24 27,14 27,34" fill="%23fff"></path></svg>');
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: none;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}
</style>
<script src="/assets/js/vendor/lite-yt-embed.js"></script>
<lite-youtube videoid="KshrtLXBdl8" style="background-image: url('https://i.ytimg.com/vi/KshrtLXBdl8/hqdefault.jpg'); margin: 2rem 0 4rem;">
	<button type="button" class="lty-playbtn" title="Play: Thelonious Monk - Don't Blame Me"></button>
</lite-youtube>
																						            	]]></description>
            </item>
                    <item>
                <title>Play At Work</title>
                <link>https://matthiasott.com/notes/play-at-work</link>
                <pubDate>Sun, 18 Apr 2021 08:59:23 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/play-at-work</guid>
                <description><![CDATA[
                    
																																	<p>I love to watch my children play.</p>
<p>How they invent things and stories. How they jump into roles and, just as quickly, change roles again. How they interact and react to each other’s ideas and the twists and turns of their play. Let’s cook something! Oh, we are knights now! Can you see our horses? Aha, the wizard arrives in his spaceship! Where is his magic wand? And all of a sudden, an ordinary wooden stick turns into a magic tool. Problem solved! They can play like this for hours, inventing the most amazing, wondrous, and, in the eyes of us adults, silly and absurdly illogical things.</p>
<p>This is the way kids explore their surroundings and learn. They look at something and not only think about what <em>is</em> but also imagine what <em>could</em> be. Without rules, free from doubt, and free from fear. Then, they try out their idea and immediately find out what works and what doesn’t.</p>
<p>Over time, though, and certainly school and the world of adults is to blame here, most of us lose this ability to play freely. We learn about mistakes and are being taught how important it is to avoid and fear them. We learn that there are rules we have to abide by, some of them important, but some of them completely arbitrary. And we learn to stop being silly and playful and that being sincere, logical, and accurate is the way to succeed. We learn how to be productive workers who do things efficiently.</p>
<p>There is just one problem: In the rapidly changing world we now live in, especially on the Web, this mindset is not what’s needed anymore. In the industrial era, companies used to be focused on error prevention, consistency, and replicability. Preventing errors in more and more rigidly defined processes was key to increasing productivity and production quality and, consequently, being able to sell products at high margins that were better than the competition.</p>
<p>With the rise of computers, robotics, and the Web, however, there has been a fundamental shift towards <em>innovation</em> being the primary driver of success. Being efficient just isn’t the point anymore. It is how innovative and flexible you are and if you are able to solve problems in an ever more complex technological and social environment in a creative and novel way.</p>
<p>Our ongoing obsession with efficiency in the world of tech and design leads to many companies implementing ever more rigid processes and (design) systems. This might make some outcomes more predictable, but they will also become less innovative. This is because true innovation and truly new ideas will only happen when people have the freedom to explore creative solutions that seem unconventional or even unreasonable at first – and if they feel safe to do so. Or, as <a href="https://twitter.com/sarah_edo/status/1373752243275538432">Sarah Drasner recently wrote on Twitter</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>In my hon­est opin­ion, the clos­er peo­ple get to a&nbsp;play­ful, child­like state, the more they can solve prob­lems with some depth and creativity.</p>
<p>This is why trust on a&nbsp;team is para­mount to do your best&nbsp;work.”</p>
</blockquote>
												<figcaption>Sarah Drasner </figcaption>
										</figure>
																
																																	<p>If the people on your team trust each other, it is much easier to talk about seemingly foolish ideas. In an environment where adults feel like they have permission to play, they will open their minds to new concepts and possibilities. </p>
<p><a href="https://www.ted.com/talks/tim_brown_tales_of_creativity_and_play">Building prototypes can be invaluable here</a>, because it allows you to explore different solutions in a playful way, building and thinking with the materials at hand. When you build a prototype, you are doing the same a child is doing when she transforms a wooden stick into a magic wand. You’re imagining something new in a playful dialogue with the world around you. And because you are “just” playing, you are allowed to unlock your imagination and to go beyond what is reasonable or common. This is how new ideas are formed.</p>
<p>So the next time you are trying to solve a problem, give yourself permission to explore it freely. Build a few prototypes. Try out things with an open mind and without presumptions. And when someone walks by and asks what you are doing, just answer:</p>

																												
																																		<figure class="quote">
							<blockquote><p>I play.”</p>
</blockquote>
												</figure>
																            	]]></description>
            </item>
                    <item>
                <title>Less but Better</title>
                <link>https://matthiasott.com/notes/less-but-better</link>
                <pubDate>Sat, 10 Apr 2021 19:42:56 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/less-but-better</guid>
                <description><![CDATA[
                    
																																	<p>You know that feeling when you are leaving a movie theater after having watched a superhero movie and it almost feels as if you had superpowers yourself? </p>
<p>I just had a similar experience, but this time with a feeling of calmness, focus, and appreciation for my surroundings. What did I do? I finally watched <a href="https://www.hustwit.com/rams/">Gary Hustwit’s documentary “Rams”</a>.</p>

																												
																												<iframe title="vimeo-player" src="https://player.vimeo.com/video/291784379" width="677" height="377" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="margin-top:1rem; margin-bottom:3rem; max-width:100%;max-height: 56.25vw;"></iframe>
																						
																																	<p>Dieter Rams is one of the most influential industrial designers of the 20th century. As head of design at Braun and <a href="https://www.vitsoe.com/">Vitsœ</a>, he introduced a clean, elegant, and functional design language to a wider public and influenced generations of industrial and digital designers. </p>
<p>Today, Rams is also well-known for his <a href="https://www.vitsoe.com/us/about/good-design">Ten Principles of Good Design</a>. Rams’ ten principles have been cited over and over again, to the extent that some people are now even making fun of the cult around Rams and his work. But looking at most of the design work today, many designers could still use a bit of Rams’ attitude towards building products.</p>

																												
																												<iframe src="https://player.vimeo.com/video/304626830" width="677" height="377" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="margin-top:1rem; margin-bottom:3rem; max-width:100%;max-height: 56.25vw;"></iframe>
																						
																																	<p>It almost seems as if most of us still haven’t understood Rams’ principles at the core. His attentiveness, his care, his openness, his deep respect for people and the environment, and his willingness to constantly improve. But above all, there is the statement that opens and ends Hustwit’s film: “Less but better.” Not “less is more”. Not “good design is invisible”.  Not “go fast and break things.” No. Less but better.</p>
<p>We are living in times of rapid social and technological change. In order to keep up with the pace, we seem to be always looking for <em>more</em>, especially on the Web. More likes, more visits, more content, more tools, more process, more speed, more efficiency, more data! This mindset might be the reason why the world of tech is currently struggling to live up to the responsibility that comes with influencing the lives of billions of people. When you always want more today, you don’t have time to think about the long-term impact and implications of your actions tomorrow. “Less but better”, on the other hand, strikes me as a useful principle because it helps us create things that are well thought-out, high-quality, long-lasting, and resilient instead.</p>
<p>Less stuff but better things. <br>
Less traffic but better transportation. <br>
Less complexity but better systems. <br>
Less bloat but better code. <br>
Less tracking but better content. <br>
Less writing but a clearer message.   </p>
<p>Design is the result of a series of decisions. But when you are working in a modern, flexible, and iterative way, there often are no upfront plans or requirements you can base your decisions on. You will need a set of basic principles to guide you and to tell you which way to go. A set of principles that defines what good design is for <em>you</em>. If you write them down, add “less but better” to the list.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>I Will, I Should, I Might</title>
                <link>https://matthiasott.com/notes/i-will-i-should-i-might</link>
                <pubDate>Sat, 06 Feb 2021 12:10:12 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/i-will-i-should-i-might</guid>
                <description><![CDATA[
                    
																																	<p>It happened again. And I bet this has happened to you before, too. I’m talking of New Year’s resolutions. Every year we make them and tell ourselves that this time, yes, <em>this time</em> it is going to work, for sure. But then, suddenly, it is February, and nothing has changed. (Except for climate policy and basic decency being back in the White House. 🙌)</p>
<p>Unless we are really disciplined and somehow made it work before, we already know upfront about how hard it is to change our habits and to approach something new. It doesn’t even have to be something scary or insurmountable. To the contrary: The easier our goal sounds, the easier it is to trick ourselves into thinking that this time, because it is such a minor thing to start with or to stop doing, it will actually be easier to make a change. Far from it. The easier something seems to be, the less serious we take it. And so we end up prioritizing other things instead.</p>
<p>There are two ways to solve this. And if you know another one, please let me know.</p>
<p><strong>For one, we can stop making New Year’s resolutions.</strong> I believe it was Derek Sivers who once mentioned that he even stopped celebrating New Years altogether. For him, the turn of the year is just an arbitrary date that even differs depending on which calendar you adhere to. So there is also no reason to believe that just by making a resolution on this random date will be any different than changing your diet on September 13th. Yet there is something to be said for certain dates having a bit more weight, both culturally and emotionally. For many of us, the turn of years is also a time of reflection. A rare opportunity to look at what you did and where you want to go next. It is a break that is set arbitrarily. But at least it is a break and an opportunity for change. And many families and especially children love it, too. So I’d rather keep it and do something else to change my habits.</p>
<p>Which brings us to the second, and maybe more effective step you can take, instead of just making the next vague resolution: <strong>Whatever you want to achieve, put it in your calendar.</strong> Don’t promise yourself that you will make it whenever you “find the time”. You won’t. Debbie Millman once said that if we come up with an excuse like “I did not find the time”, it really just means that something wasn’t important enough for us to give it a higher priority. So you want to write more regularly or start exercising again? Put a dedicated day and time for it into your calendar. If you can’t do it now, why would you be able to do it next week or next month? Make sure that when Wednesday evening comes, you know that this is your time to write. Or, three days a week, the first thing you do in the morning is some exercise. If you skip it from time to time, that’s okay, too. But if you do, make sure to get back on track the other day.</p>
<p>So guess who promised to write two articles a week and start exercising again in <a href="https://matthiasott.com/notes/bye-2020">his year in review post</a> and <a href="https://matthiasott.com/notes/my-typical-day">a post about his typical day</a>…? Exactly. 😉 So I will now practice what I preach an add two things to my calendar: A dedicated time to write. And two morning workouts, let’s say on Tuesdays and Fridays. Let’s see how it goes.</p>
<p>But maybe, <a href="https://www.ted.com/talks/derek_sivers_keep_your_goals_to_yourself">I should not tell you about this</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>My Typical Day</title>
                <link>https://matthiasott.com/notes/my-typical-day</link>
                <pubDate>Thu, 28 Jan 2021 00:59:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/my-typical-day</guid>
                <description><![CDATA[
                    
																																	<p>Colin Devroe <a href="http://cdevroe.com/2021/01/07/my-typical-day/">kicked off a series</a> of “My Typical Day” posts. He tagged <a href="https://danmall.me/articles/my-typical-day/">Dan Mall</a> (and <a href="https://chriscoyier.net/2021/01/08/my-typical-day/">Chris Coyier</a>, <a href="https://adactio.com/journal/17750">Jeremy Keith</a> and others) and Dan tagged <a href="https://www.sarasoueidan.com/desk/typical-day/">Sara Soueidan</a> (and <a href="https://daverupert.com/2021/01/my-typical-day/">Dave Rupert</a>, <a href="https://v6.robweychert.com/blog/2021/01/my-typical-day/">Rob Weychert</a>, and others) and Sara tagged me (and <a href="https://www.cassie.codes/posts/my-typical-day/">Cassie Evans</a>, <a href="https://www.antonsten.com/typical-day/">Anton Sten</a>, and others). </p>
<p>Although I’ve never been a timeboxing champion or productivity nerd, I find it fascinating to see how other people structure their days and balance professional work and the private parts of their lives. It’s interesting to see how different our schedules and approaches often are, although we might do work in similar areas. And I particularly enjoy noticing those little details that might be worth trying out yourself. So I’m happy to play the game.</p>
<p>As is the case with almost all of us, my typical day has changed since last February. But then again, because I already used to work remotely a lot before the pandemic, there are things about my schedule that haven’t changed at all.</p>

																												
																												<ul>
<li><p><strong><time>7:00</time></strong> – I get up to make coffee for my wife and me. On regular school days, I have to get up a bit earlier, at about 6:30.</p></li>
<li><p><strong><time>7:30</time> (pandemic schedule)</strong> – The kids are awake. I prepare breakfast for them and, most of the time, for the adults, too.</p></li>
<li><p><strong><time>8:00</time></strong> – I take a shower. Important: I end the shower with about 2–3 minutes of cold water. I know that this sounds very <a href="https://tim.blog/tag/cold-therapy/">Tim-Ferriss</a>-y. But I feel so much better thereafter and ready to start the day refreshed, that I don’t want to miss it. Also, I’m telling myself that it has positive effects on my migraines – but who knows. 😉</p></li>
<li><p><strong>Between <time>8:30</time> and <time>9:30</time></strong> – Work starts. It’s also time for the second (or third) coffee. Depending on the projects I have, I might start to do conceptual UX work, visual design, prototyping, or front-end development. If I can, I will start the day with smaller but more urgent or lighter tasks. For one, to get the feeling of having accomplished something early in the day. But it also helps to tackle the more demanding and time-consuming tasks with more serenity, because my head is freed from the most pressing stuff. This can also backfire, though, when there are a lot of smaller tasks and if, for example, even more “urgent” todos like bug fixes or client feedback roll in. When this happens, it is important to say “no” or at least to clearly communicate when you do <em>not</em> have the time to work on something immediately without sacrificing progress on other things.</p><p>
On most days, I have a first high of productivity at about 10 am. And if I am lucky, I am able to do deeper, focused work until about <time>12:30</time>. Let’s be honest, though: Getting into the “<a href="https://www.goodreads.com/book/show/66354.Flow">flow</a>” with two kids at home and messaging and meetings with coworkers and clients in Slack, Webex, Teams, Hangouts, Trello, Jira, Confluence, Skype, Twitter, and email? Good luck. To everyone who did not work from home before the pandemic: This is <em>not</em> how remote work usually is!</p></li>
<li><p><strong><time>12:30</time></strong> – Lunch break. On most days, I prepare lunch for my family while listening to podcasts or an audiobook. And I deeply enjoy that we often extend the lunch break a bit to talk and recharge for the afternoon.</p></li>
<li><p><strong><time>14:00</time></strong> – Work continues. Again, it takes me about an hour to ramp up again and at about 4pm I am most productive.</p></li>
<li><p><strong><time>18:30</time></strong> – More food for the hungry mouths. And once again a lot of talking and laughing at the table.</p></li>
<li><p><strong><time>20:00</time></strong> – Time to put the children to bed. </p></li>
<li><p><strong><time>21:30</time></strong> – Leisure time. Well, kind of. I’ve almost completely stopped watching TV or Netflix. When I do, it’s usually football (aka soccer) or a movie together with my wife. I also don’t play games anymore. Instead, I might read a bit from the RSS feeds in Reeder, scroll through Twitter (and need to force myself to STOP IT AGAIN!!!), do some light research on a topic that interests me, or watch a few videos of talks and other interesting things. Sometimes, I work on my website or other small, “useless“ projects. </p><p>But most importantly, I regularly use the evening hours to write. How much I get done depends a lot on my energy on that particular day. But I try to sit down to write as often as I can, because I’ve found that it is important to start in the first place and to make this a habit.</p></li>
<li><p><strong><time>0:00</time></strong> – Bedtime. A few years ago, I used to stay up until two or three in the morning, but I feel like I’m too old for that now. :) I still can’t let go of my smartphone, though, and so I often fall asleep at about 1 am.</p></li>
</ul>
																						
																																	<p>A few things worth noting: </p>
<p>For one, I am far from having a fixed schedule. I even think it is healthy, at least for me, to grant myself the freedom to deviate from a the schedule above. When life happens, when I am <a href="https://matthiasott.com/workshops">running an online workshop</a>, or when work is just not fitting into a regular schedule, it’s important to be flexible enough to react to different circumstances – especially in the current situation. This flexibility is also one of the things I enjoy most about working as a freelance designer.</p>
<p>I envy people like Sara Soueidan or Dan Mall who get up really early to do creative, meaningful work in the calmer morning hours before the busyness of the day kicks off. And although I’ve always been a night owl, I am currently starting to enjoy going to bed and getting up a little earlier. Maybe, I am on my way to becoming more of a morning person while I’m approaching my forties? Who knows.</p>
<p>Also, you might have noticed that there is no time for exercise in my typical day at the moment. This is not good and something I want to change again soon.</p>
<p>–</p>
<p>What about you? Do you have a typical day you’d like to share? If you do, then let me know via <a href="https://matthiasott.com/webmention">Webmention</a>, email, or Twitter. </p>
<p>I am also tagging <a href="https://www.ilithya.rocks/">Diana ilithya</a>, <a href="https://css-irl.info/">Michelle Barker</a>, <a href="https://www.matuzo.at/">Manuel Matuzović</a>, <a href="https://colly.com/">Simon Collison</a>, and <a href="https://www.zachleat.com/">Zach “CLI” Leatherman</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Doomsday</title>
                <link>https://matthiasott.com/notes/doomsday</link>
                <pubDate>Tue, 05 Jan 2021 10:47:07 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/doomsday</guid>
                <description><![CDATA[
                    
																																	<p>Hip-hop has lost one of its finest artists to ever touch the mic and an <a href="https://en.m.wikipedia.org/wiki/Akai_MPC">MPC</a>. Daniel Dumile, better known by his stage name MF DOOM, passed away on October 31, 2020, at the age of 49.</p>
<p>Dumile, who performed in a metal face mask, <a href="https://www.newyorker.com/magazine/2009/09/21/the-mask-of-doom">was a child of the Golden Era and a master of his craft</a>. A hero of underground rap, he was known for his densely constructed, genius rhyme schemes and his raw, elliptical lines. In <a href="https://www.theguardian.com/music/2021/jan/01/mf-doom-a-hip-hop-genius-who-built-his-own-universe-of-poetry">his obituary for The Guardian</a>, Stevie Chick writes: “In a genre where ego was all, Dumile remained laid back but still dominated as he broke tempos and rules. His lines dripped black humour and stoner-friendly cultural references, but the mind assembling them was wicked sharp, stacking up multiple rhymes like Super Mario power-ups, and fond of meta-textual intrigue.”</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.536458333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/mf-doom-concert.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/mf-doom-concert.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/mf-doom-concert.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/mf-doom-concert.jpg" alt="MF DOOM in concert" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>MF DOOM in concert at Ancienne Belgique, Bruxelles, in 2010.  <br>
<em>Photo by <a href="https://www.flickr.com/photos/frf_kmeron/5119657575/in/photolist-8NsHgs-8NpBJr-8NsHPN-8NpBuK-8NpCaH-8NsHt1-8NsHvA-8NsHkS-8NpzUP-8NsFSW-8NsHJw-8NsFmJ-8NsGXy-8NsGZS-8NsFY3-8NpA6g-8NpAsZ-8NsGDY-8NpzQc-8NpBUH/">@Kmeron</a>, used under CC BY-NC-ND 4.0</em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>The name MF DOOM will always be inextricably linked with “<a href="https://en.wikipedia.org/wiki/Madvillainy">Madvillainy</a>”, the legendary album he released in 2004 together with producer Madlib, who contributed the beats and samples creating the perfect sound for DOOM’s rhymes. Sasha Frere-Jones (the older brother of type designer Tobias Frere-Jones) attests DOOM in <a href="https://www.newyorker.com/magazine/2004/04/12/dooms-day">a review in The New Yorker</a> that he “takes a deep pleasure in words: alliteration, internal rhymes, and pure sound. The point of ‘Madvillainy’ is largely poetic—celebrating the language of music and the music of language.”</p>

																												
																												<style>lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
    background-position: top;
    background-repeat: repeat-x;
    height: 60px;
    padding-bottom: 50px;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    width: 68px;
    height: 48px;
    position: absolute;
    transform: translate3d(-50%, -50%, 0);
    top: 50%;
    left: 50%;
    z-index: 1;
    background-color: transparent;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 68 48"><path fill="%23f00" fill-opacity="0.8" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path d="M 45,24 27,14 27,34" fill="%23fff"></path></svg>');
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: none;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}
</style>
<script src="/assets/js/vendor/lite-yt-embed.js"></script>
<lite-youtube videoid="A7_0vcjN-4c" style="background-image: url('https://i.ytimg.com/vi/A7_0vcjN-4c/hqdefault.jpg'); margin: 2rem 0 4rem;">
	<button type="button" class="lty-playbtn" title="Play: Gerhard Richter Painting Official Trailer"></button>
</lite-youtube>
																						
																																		<figure class="quote">
							<blockquote><p>The rest is emp­ty with no brain, but the clever nerd The best <span class="caps">MC</span> with no chain ya ever&nbsp;heard</p>
</blockquote>
												<figcaption>MF DOOM, <cite>Figaro, Madvillainy</cite> </figcaption>
										</figure>
																
																																	<p>Daniel Dumile was <a href="https://www.instagram.com/p/CJenegmj0X8/">a writer&#039;s writer</a> and a <a href="https://www.newyorker.com/magazine/2009/09/21/the-mask-of-doom">deeply committed artist</a>. At a time when the world was listening to the popular hip-hop tracks of Bad Boy Records, Aftermath, and Def Jam, Dumile put on a mask so that people would focus on the lyrical content and the stories he wanted to tell. He stayed true to himself and his practice and inspired a generation of artists with his dedication and ingenuity. Creators of all disciplines could use some of that today.</p>
<p>Rest in power, MF DOOM. You will be missed.</p>
<p>–</p>
<p>If you want to learn more about the life and work of Daniel Dumile, here you go:</p>
<ul>
<li><a href="https://www.newyorker.com/magazine/2009/09/21/the-mask-of-doom">The Mask of Doom</a>, by Ta-Nehisi Coates</li>
<li><a href="https://www.complex.com/music/2021/01/mf-doom-in-memory">MF DOOM, Masked Mythmaker</a>, by Will Gottsegen</li>
<li><a href="https://www.redbull.com/us-en/episodes/mf-doom-red-bull-music-academy-lectures-s01-e12">MF DOOM - Interview with the Masked Villain | Red Bull Music Academy Lecture</a></li>
<li><a href="https://www.youtube.com/watch?v=9bmso7SP1xk">MF DOOM - The Man Behind The Mask Documentary</a></li>
</ul>

																												            	]]></description>
            </item>
                    <item>
                <title>Bye, 2020!</title>
                <link>https://matthiasott.com/notes/bye-2020</link>
                <pubDate>Thu, 31 Dec 2020 22:48:24 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/bye-2020</guid>
                <description><![CDATA[
                    
																																	<p>So, that was 2020. First of all, I hope that you and your loved-ones are well, that you had something to do this year that brought you fulfillment and a sense of purpose, and that you haven’t been affected too heavily by COVID-19 and the lockdowns that were both financially and emotionally challenging for so many of us.</p>
<p>My mother, for example, “picked” one of the most weird and tough years as the last one running her pediatric practice before transitioning into retirement. And just like her, countless people in the medical sector not only had to fight the virus and their own fears of being infected, but also those irresponsible and disrespectful idiots who seem to think that we are living in a video game where reality and physics are a matter of opinions that can be debated on social media. To all those anti-maskers: You are in the minority and you are wrong. To all the healthcare workers, all those countless people in system-relevant jobs, to all volunteers, and to everyone who just stayed at home and acted responsibly: Thank you! 💚</p>
<p>But as challenging and tough this year might have been, there are also many things that should give us confidence looking forward. Historically, many great initiatives, companies, and movements had their origins in times of crisis. It is when we have to adapt to difficult situations when we focus on what is really important and, often out of necessity, are willing to take risks and make the changes necessary to reinvent the status quo. I will therefore take a look at what I learned or what I believe might be some of the positive takeaways of this year.</p>
<h2>UX/UI and Front-End Work</h2>
<p>The main focus of my work was once more design and development work for the web. I contributed to several projects either doing conceptional work, interface design jobs, front-end development, or – and this is where I feel most at home – a combination of those areas. I was lucky in that most of my projects were barely affected by the pandemic. Many people I talked to had to fight much harder and some were even let go right at the start of the first lockdown. But with a few exceptions, the Web industry did well overall. And even for those who were hit harder, like shop owners or event organizers, the Web offered ways to compensate for the loss at least a little bit. Just imagine such a crisis in the 1970s or 80s and the dire consequences on a world economy and societies nowhere near as connected and flexible as today.</p>
<p>One of the projects this year included making a site fully accessible that has been online for a few years now. An accessibility audit – done by the unparalleled <a href="https://jkphl.is/">Joschi Kuphal</a> – revealed lots of things to improve and I learned so much more about designing and implementing accessible solutions for the Web in the process. For example, how important it is that the whole team knows what it takes to make a site accessible. From project management to  design to development to content editing – everyone needs to know that a) a11y is a thing and b) what to pay attention to to make the site more inclusive.</p>

																												
																												<h2><del>In-person Workshops</del> Online Workshops</h2>
<p>When it comes to workshops, my year started with a visit of Interaction 20 in Milan for and with <a href="https://blog.adobe.com/en/2018/02/23/meet-community-extension-xd-team-xdis.html" rel="noopener" target="_blank">the Adobe XDI team</a>. We had a lot of fun together, met many new and also some familiar faces, and I even went for a midnight run through the streets of Milan.</p>
																						
																																	<p>Then, the pandemic hit. Shortly after we had all returned home, Italy saw a first sharp rise of new cases and it became clear that giving in-person workshops would not be possible for the foreseeable future. So, over the course of the following weeks, our team around Andre Jay Meissner developed an online version of our Adobe XD design and prototyping workshops and we have since delivered dozens of “XD Immersive” workshops. I myself ran a total of seven workshops and learned a ton along the way. Not only about how to interact with online audiences and explain design and prototyping concepts live into a camera, but also about the technical aspect of running those online events. Microphones, lighting, cameras, switchers, preamps, and software, for example, are only a few topics where you can spend ~~hours~~ days in the infamous YouTube rabbit hole. But then again: what an incredible platform YouTube is to learn about all those things! My plan for the new year is to continually upgrade my tech setup so that the quality of my audio and video improves even further. Not only for the Adobe workshops but also for <a href="https://matthiasott.com/workshops">my general workshops</a> on modern responsive design (at the intersection of design and code) and prototyping for the Web. If your team would love to take part in such an event, <a href="mailto:mail@matthiasott.com">let me know</a>!</p>
<h2>Teaching</h2>
<p>2020 was the eighth year that I taught Interface Prototyping at the <a href="https://muthesius-kunsthochschule.de/">Muthesius University of Fine Arts and Design</a>, Kiel. This time, the seminar had to take place via zoom. Just like for other teachers and professors this was a first for me. But although I prefer to be in the same room with the students, it worked out well overall and I am looking forward to the next semester.</p>
<h2>Writing</h2>
<p>I started <a href="https://matthiasott.com/notes/100-days-of-writing">a writing challenge</a> at the end of May with the ambitious goal of writing and publishing a post every day. As was to be expected, this turned out to be super hard. After I managed to publish daily for about 40 days, the frequency started to deteriorate. I ultimately lost my streak somewhere towards the end of October, when my regular design work just turned out to be more and more time consuming. But still, with a total of 70 posts published on my website, it turned out to be my most productive year in terms of writing yet. Here are some of my most-read articles of 2020:</p>
<ul>
<li><a href="https://matthiasott.com/notes/how-i-structure-my-css">How I Structure My CSS (for Now)</a></li>
<li><a href="https://matthiasott.com/notes/the-thing-with-leading-in-css">The Thing With Leading in CSS</a></li>
<li><a href="https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned">Milton Glaser – Ten Things I Have Learned</a></li>
<li><a href="https://matthiasott.com/notes/painting-with-the-web">Painting With the Web</a></li>
<li><a href="https://matthiasott.com/notes/visual-studio-code-setup">My Visual Studio Code Setup: Extensions and Themes</a></li>
<li><a href="https://matthiasott.com/notes/focus-visible-is-here">:focus-visible Is Here</a></li>
<li><a href="https://matthiasott.com/notes/lateral-thinking-with-withered-technology">Lateral Thinking With Withered Technology</a></li>
<li><a href="https://matthiasott.com/notes/100-days-of-writing-001-the-curse-of-knowledge">The Curse of Knowledge</a></li>
</ul>
<p>At the end of the year, <a href="https://chriscoyier.net/">Chris Coyier</a> asked if I would like to contribute to his end-of-year series and so the year ended with my debut article on CSS-Tricks. I answered the question “what is one thing you learned about building websites this year?” with a little love letter to the personal website: <a href="https://css-tricks.com/make-it-personal/">Make it personal</a>.</p>
<p>I love writing a lot and to me it feels like 2020 was the year where I truly made writing part of my practice. For 2021, I am starting a new challenge that might fit my schedule a bit better: Publish at least two blog posts a week. We’ll see if this is a frequency that is more sustainable and that also allows for some time to edit the post more thoroughly.</p>
<h2>Reading (Audiobooks)</h2>
<p>Last year, I started listening to audiobooks again and I continued to do so in 2020. I read a lot for and at work so listening to audiobooks while cleaning the apartment or cooking is a welcome change. Some of my favorite books this year:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy">The Hitchhiker&#039;s Guide to the Galaxy</a>, by Douglas Adams, read by Stephen Fry (!)</li>
<li><a href="https://en.wikipedia.org/wiki/Exhalation:_Stories">Exhalation: Stories</a>, by Ted Chiang</li>
<li><a href="https://www.radicalcandor.com/">Radical Candor</a>, by Kim Scott</li>
<li><a href="https://www.amazon.com/Mind-Brain-Neuroplasticity-Power-Mental/dp/0060988479">The Mind and the Brain: Neuroplasticity and the Power of Mental Force</a>, by Jeffrey M. Schwartz and Sharon Begley</li>
<li><a href="http://www.brainrules.net/about-brain-rules">Brain Rules</a>, by John Medina</li>
<li><a href="https://davidepstein.com/the-range/">Range: Why Generalists Triumph in a Specialized World</a>, by David Epstein</li>
<li><a href="https://www.carminegallo.com/books/talk-like-ted/">Talk Like TED</a>, by Carmine Gallo</li>
<li><a href="https://trilliondollarcoach.com/">Trillion Dollar Coach</a>, by Eric Schmidt, Jonathan Rosenberg, and Alan Eagle</li>
<li><a href="https://www.simonandschuster.com/books/Steve-Jobs/Walter-Isaacson/9781451648539">Steve Jobs</a>, by Walter Isaacson</li>
<li><a href="https://www.feckperfuction.com/">Feck Perfuction</a>, by James Victore (Can’t get enough of this one.)</li>
<li><a href="https://jonahberger.com/books/the-catalyst/">The Catalyst</a>, by Jonah Berger</li>
<li><a href="https://www.goodreads.com/book/show/28815.Influence">Influence: The Psychology of Persuasion</a>, by Robert B. Cialdini </li>
<li><a href="https://en.wikipedia.org/wiki/The_7_Habits_of_Highly_Effective_People">The 7 Habits of Highly Effective People</a>, by Stephen Covey</li>
<li><a href="https://tribeofmentors.com/">Tribe of Mentors</a>, by Tim Ferriss</li>
<li><a href="https://sive.rs/n">Hell Yeah or No – what’s worth doing</a>, by Derek Sivers</li>
<li><a href="https://seths.blog/thepractice/">The Practice</a>, by Seth Godin</li>
<li><a href="https://www.goodreads.com/book/show/41812861-writing-tools">Writing Tools: 55 Essential Strategies for Every Writer</a>, by Roy Peter Clark</li>
</ul>
<h2>2021</h2>
<p>For my family and me, the new year will bring a lot of change which I am already looking forward to a lot. Next autumn, we will move into a new home. This means that we will have to relocate and settle down in a new environment. But it also means that we will finally have a home that is ours. And I get to set up a sophisticated home network. 🤓 I’ll keep you posted.</p>
<p>The arbitrary date that is New Year’s Day will not wipe away everything that was bad about 2020. But looking forward, I believe that we will see a lot of progress and positive change as a result of the difficult year that was 2020. Humans are now able to develop several vaccines against a highly infectious virus within a year. Remote work is blossoming and people will not want to give up this newly gained flexibility. 2020 also showed us how valuable some things we usually take for granted are. And 2020 showed that the only way forward is to care, to trust each other, and to work together on what is truly important. One of those challenges ahead is to fight climate change. Once COVID is overcome, this should be our top priority. Even small changes matter here. </p>
<p>I wish you the best of luck with everything you do in 2021. May it be a healthy, happy, and successful year for you and your loved-ones. Happy 2021, my friends! 🎉</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Better Options</title>
                <link>https://matthiasott.com/notes/better-options</link>
                <pubDate>Tue, 17 Nov 2020 00:16:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/better-options</guid>
                <description><![CDATA[
                    
																																	<p>We all want to make the right decisions. Not only because we want to be successful, but often simply because we want to avoid the negative consequences of making the <em>wrong</em> decision. We are risk-averse beings. So we put a lot of emphasis on the decision itself. We collect information, analyze, evaluate, discuss, and ponder. Just to make sure that we will definitely and undoubtedly pick the right option.</p>
<p>The truth is, though, that it is incredibly unlikely that we might ever gather enough information to make a truly informed decision, a decision that is <em>definitely</em> the right one. It just isn’t possible, because the future is impossible to predict and full of unknowns and variables we can’t control. </p>
<p>Instead of focusing solely on decision making, a much better strategy might be to get into a position where you end up with better decisions in the first place – regardless of which option you choose. How? By creating more and, most importantly, better options. This will inevitably increase the likelihood of making better decisions.</p>
<p>There is no guarantee, of course. Bad decisions are still very likely. And so, as <a href="https://tim.blog/2018/12/20/patrick-collison/">Stripe CEO Patrick Collison suggests in this interview with Tim Ferriss</a>, much more important than making a particular decision, is the ability to correct course once you realize that the decision might have been wrong. However, this is easier said than done. Once a decision is made, once a plan is in place, it becomes much harder to recognize that we’ve been wrong. All the time, money, and effort that went into making our idea work? It’s all wasted. But is it, really? Look at it this way: You made your decision with the best information you had and with the best of intentions. Now that you gathered enough information to know it was the wrong decision, you can focus on the right option instead and start investing into building the right thing and solving the right problems.</p>
<p>-</p>
<p><em>This is the 64th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Painting With the Web</title>
                <link>https://matthiasott.com/notes/painting-with-the-web</link>
                <pubDate>Sat, 31 Oct 2020 10:23:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/painting-with-the-web</guid>
                <description><![CDATA[
                    
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 62.5%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/richter-albertinum.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/richter-albertinum.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/richter-albertinum.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/richter-albertinum.jpg" alt="A painting by Gerhard Richter in the exhibition of the Albertinum in Dresden, Germany" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Have you ever seen <a href="http://www.gerhardrichterpainting.com/">Gerhard Richter painting</a>? </p>
<p>It is phenomenal to watch. He might start one of his large, abstract paintings by carefully applying oil paint to the canvas with a thick brush. Then, he begins to scrape, smear, or add new layers of paint with a large, home-made squeegee. After each change, Richter pauses, takes a step back, and looks at the result: What did just happen with the picture? What composition has come about? Where have interesting parts emerged? What is the next move that might bring the piece one step closer to completion? And which action would be a mistake? There is a lot of intention and carefulness in this process, yet Richter equally respects the results of accident and chance. He lets go of a certain kind of control to let things happen that are surprising and exciting. But at the same time, Richter always exerts enough control to influence the result. He decides what to keep and what to destroy. It is the ultimate creative process: a constant dialogue.</p>

																												
																												<style>lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
    background-position: top;
    background-repeat: repeat-x;
    height: 60px;
    padding-bottom: 50px;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    width: 68px;
    height: 48px;
    position: absolute;
    transform: translate3d(-50%, -50%, 0);
    top: 50%;
    left: 50%;
    z-index: 1;
    background-color: transparent;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 68 48"><path fill="%23f00" fill-opacity="0.8" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path d="M 45,24 27,14 27,34" fill="%23fff"></path></svg>');
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: none;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}
</style>
<script src="/assets/js/vendor/lite-yt-embed.js"></script>
<lite-youtube videoid="jF4SAmtCyLg" style="background-image: url('https://i.ytimg.com/vi/jF4SAmtCyLg/hqdefault.jpg'); margin: 2rem 0 4rem;">
	<button type="button" class="lty-playbtn" title="Play: Gerhard Richter Painting Official Trailer"></button>
</lite-youtube>
																						
																																	<p>So much about this reminds me of designing and building for the Web: The unpredictability, the peculiarities of the material, the improvisation, the bugs, the happy accidents. There is one crucial difference, though. By using static wireframes and static layouts, by separating design and development, we are often limiting our ability to have that creative dialogue with the Web and its materials. We are limiting our potential for playful exploration and for creating surprising and novel solutions. And, most importantly, we are limiting our ability to make conscious, well-informed decisions going forward. By adding more and more layers of abstraction, we are breaking the feedback loop of the creative process.</p>
<p>Ask any artist, musician, or writer and they might tell you that this conversation at the heart of the creative process is what makes their work special and so fulfilling. No piece of art exists in its final form in the head of the artist before the first brush stroke is put on the canvas. No musician has a full piece of music in her head without a conversation with instruments or the score. And no novel is done before the first word is put on paper or a computer screen. Constant reflection and refinement are key to creating any piece of work. This is what lets creators of any profession learn and grow, and, ultimately, achieve mastery. And the same is true for any user interface, design pattern, piece of code, or content on the Web.</p>
<p>There are a lot of amazing new technologies just around the corner. <a href="https://github.com/CSSHoudini/awesome-css-houdini">CSS Houdini</a> with the <a href="https://css-tricks.com/the-css-paint-api/">Paint API</a>, for example, or various other <a href="https://developer.mozilla.org/en-US/docs/Web/API">Web APIs</a> like the <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API">WebXR Device API</a> for creating augmented or virtual reality experiences or the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API">Web Speech API</a> to design voice user interfaces. If we want to explore and create amazing things with those new technologies, we need to be able to have that creative dialogue with the materials in front of us. And in most cases, this means: We need to work directly in the browser. We need to paint with code. </p>
<p>So maybe this is the perfect time to get your hands dirty with some real paint and finally learn to code? Or, if you are a developer, to inform yourself about white space, contrast, color theory, and web typography to be able to take that step back and look at your work. And even if all of this isn’t an option for you and your team at the moment, you can still look for ways to bridge the gap between design and development and to enable that creative dialogue. Carry out little experiments together, dissect examples together to get an idea of what is possible, build prototypes together, and design and decide in the browser together.</p>
<p>We all love to design and build for and with the Web. Yet far too long we have adhered to ways of working that are residues of the print era. This served us well for a while, but the Web isn’t like that anymore. The canvas has changed. The materials have changed. </p>
<p>It is time we finally start painting with the Web.</p>

																												
																												<p style="font-family: serif; font-size: 1.5rem; margin: 2rem 0;">&#10086;</p>
																						
																																	<p><strong>Interviewer:</strong> <em>How do you know when [your paintings] are finished?</em></p>
<p><strong>Richter:</strong></p>

																												
																																		<figure class="quote">
							<blockquote><p>When noth­ing dis­turbs me and I&nbsp;have no idea what to do more, what I&nbsp;could add or destroy. This is very sur­pris­ing, often, when I’m paint­ing, again and again, every day and it feels like it is nev­er-end­ing […] and it will nev­er become a&nbsp;good paint­ing. And sud­den­ly, it’s fin­ished. Oh! Good. Thanks.</p>
</blockquote>
												</figure>
																
																																	<p>-</p>
<p><em>This is the 63rd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>:focus-visible Is Here</title>
                <link>https://matthiasott.com/notes/focus-visible-is-here</link>
                <pubDate>Sat, 10 Oct 2020 15:09:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/focus-visible-is-here</guid>
                <description><![CDATA[
                    
																																	<p>One of the most important features of a website that is built with accessibility in mind is that it can be <a href="https://www.a11yproject.com/posts/2013-01-11-navigate-using-just-your-keyboard/">navigated with a keyboard</a>. Most blind users and many users with motor disabilities rely on keyboard navigation, either with a standard keyboard or with a device that mimics the functionality of a keyboard. Providing strong visual indicators that highlight the element that currently has keyboard focus is therefore indispensable. In CSS, the focus styles for an element can be changed via the <code>:focus</code> pseudo-class.</p>

																												
																												<pre><code class="language-css">a:focus {
  outline: 3px solid blue;
}</code>
</pre>
																						
																																	<h2>Hiding Focus Styles Is Bad Practice</h2>
<p>Besides accessibility requirements, there are also design considerations to be made, though: For some users, a strong visual focus indicator once they click an element with a mouse or touch it with their finger can be irritating or feel “clunky”. Often, the focus highlight is only visible for a short time just before a page change occurs. This is an additional visual change in the interface that users have to process and understand. Without the knowledge that this highlight around the element is actually an accessibility feature, people might be distracted or irritated. Sometimes, it is even perceived as an error. And while some designers certainly are far more sensitive to the aesthetic qualities of an interface than its users – and would be well-advised to get used to a bit more accessibility-oriented, contrasted designs –, it is still relatable that focus indicators might feel like an intrusive break in an otherwise carefully balanced visual design if the designers missed to actively style them.</p>
<p>Many clients and designers, therefore, insist that developers remove the focus styles altogether for purely aesthetic reasons.</p>

																												
																												<pre><code class="language-css">a:focus {
  outline: none;
}</code>
</pre>
																						
																																	<p>Don’t do this. It is <a href="https://css-tricks.com/focusing-on-focus-styles/">an uninformed decision that actively excludes people</a> and should not be an acceptable solution in 2020 anymore. We have to do better. But how?</p>
<p>One way out of this dilemma would be to consciously design the focus state of an element so that it is perceived as a natural part of the transition from one state of the interface to the next. This, however, is not always easy or possible.</p>

																												
																												<h2 id="focus-visible-to-the-rescue">:focus-visible to the Rescue</h2>
																						
																																	<p>Luckily, there is now another option: The <code>:focus-visible</code> pseudo-class. According to <a href="https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo">the spec</a>, <em>“the intent of :focus-visible is to allow authors to provide clearly identifiable focus styles which are visible when a user is likely to need to understand where the focus is, and not visible in other cases.”</em> Or, in other words, it lets you show focus styles only when they are needed, using the same heuristic that the browser uses to decide whether to show the default focus indicator:</p>

																												
																												<pre><code class="language-css">/* Hide focus styles if they're not needed, for example, 
when an element receives focus via the mouse. */
:focus:not(:focus-visible) {
  outline: 0;
}

/* Show focus styles on keyboard focus. */
:focus-visible {
  outline: 3px solid blue;
}</code>
</pre>
																						
																																	<p><a href="https://blog.chromium.org/2020/09/chrome-86-improved-focus-highlighting.html">In October 2020, Chrome 86 shipped</a> with support for <code>:focus-visible</code>, <a href="https://www.mozilla.org/en-US/firefox/85.0/releasenotes/">Firefox also supports it since version 85</a>, and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring">older versions of Firefox support it via the <code>:-moz-focusring</code> pseudo-class</a> since 2011. <a href="https://blogs.igalia.com/mrego/2021/01/28/focus-visible-in-webkit-january-2021/">Support in WebKit is also coming</a>, thanks to a recent initiative by Igalia. Edit: <a href="https://blogs.igalia.com/mrego/2022/04/08/focus-visible-is-shipping-in-safari-webkit/">Support for :focus-visible shipped in Safari 15.4</a>. So there is no need to hold back. You can start using <code>:focus-visible</code> now! Once more, <a href="https://matthiasott.com/notes/progressive">progressive enhancement</a> is your friend here. You can define regular focus styles for <a href="https://caniuse.com/css-focus-visible">non-supporting browsers</a> and then overwrite them for browsers that support <code>:focus-visible</code>.</p>

																												
																												<pre><code class="language-css">:focus {
  outline: 3px solid blue;
}

:focus:not(:focus-visible) {
  outline: 0;
}

:focus-visible {
  outline: 3px solid blue;
}</code>
</pre>
																						
																																	<p>You can try it out in this Codepen:</p>

																												
																												<p class="codepen" data-height="437" data-theme-id="default" data-default-tab="css,result" data-user="matthiasott" data-slug-hash="LYZEwBJ" data-preview="true" data-editable="true" style="height: 437px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0 2em; padding: 1em;" data-pen-title=":focus-visible Demo">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/LYZEwBJ">
  :focus-visible Demo</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<div style="margin-bottom: 2rem;"></div>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<p>Note that <code>:focus-visible</code> always applies in combination with <code>:focus</code>. So if you inspect it in Chrome’s Developer Tools, for example, make sure to tick both boxes to see the appropriate focus styles.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 52.734375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/focus-visible-in-Chrome-Developer-Tools.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/focus-visible-in-Chrome-Developer-Tools.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/focus-visible-in-Chrome-Developer-Tools.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/focus-visible-in-Chrome-Developer-Tools.png" alt="Focus Visible In Chrome Developer Tools" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>A Polyfill for Older Browsers</h2>
<p>If you need to support a wider range of browsers, including Safari, <a href="https://github.com/WICG/focus-visible">there is also a polyfill</a>. It simply adds a <code>focus-visible</code> class to all focused elements in situations in which otherwise the <code>:focus-visible</code> pseudo-selector would match.</p>
<p>Once the script is added to your page, the code looks much like in the examples above. The only difference is that now we are using classes to define the visible focus styles in our CSS:</p>

																												
																												<pre><code class="language-css">.js-focus-visible :focus:not(.focus-visible) {
  outline: none;
}

.js-focus-visible .focus-visible {
  outline: 3px solid blue;
}</code>
</pre>
																						
																																	<p>If you decide to use the polyfill, make sure to pay attention to how it behaves in combination with your existing focus styles. It might still be a valid choice to only use the polyfill until Safari also adds support for <code>:focus-visible</code>. But regardless of which method you decide to use, it is fabulous that we now have a solution to a problem that was often “fixed” by developers and designers by making websites less accessible. <code>:focus-visible</code> now offers a solution that is accessible and makes users, designers, and developers happy.</p>

																												
																																	<h2>Further reading</h2>
<ul>
<li><a href="https://hidde.blog/focus-visible-more-than-keyboard/">With :focus-visible, you can have focus styles when it makes sense</a>, by Hidde de Vries</li>
<li><a href="https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo">The Focus-Indicated Pseudo-class: :focus-visible</a>, W3C CSS Selectors Level 4</li>
<li><a href="https://blog.chromium.org/2020/09/giving-users-and-developers-more.html">Giving users and developers more control over focus</a></li>
<li><a href="https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/">:focus-visible and backwards compatibility</a>, by Patrick H. Lauke</li>
<li><a href="https://github.com/WICG/focus-visible">focus-visible Polyfill</a></li>
<li><a href="https://caniuse.com/css-focus-visible">Can I use :focus-visible CSS pseudo-class?</a></li>
<li><a href="https://www.a11yproject.com/posts/2013-01-11-navigate-using-just-your-keyboard/">Navigate using just your keyboard</a>, by Dave Rupert</li>
<li><a href="https://css-tricks.com/focusing-on-focus-styles/">Focusing on Focus Styles</a>, by Eric Bailey</li>
</ul>

																												
																																	<p>-</p>
<p><em>This is the 62nd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>On the Design Systems Between Us</title>
                <link>https://matthiasott.com/notes/on-the-design-systems-between-us</link>
                <pubDate>Mon, 05 Oct 2020 09:41:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/on-the-design-systems-between-us</guid>
                <description><![CDATA[
                    
																																	<p>Ethan Marcotte just gave <a href="https://youtu.be/7bAETIw8lA0">a fabulous remote talk at SydCSS on the nature of design systems</a> and the challenges of creating and maintaining them over time. Ethan managed to comprise so many of the things I’ve been hearing, noticing, and thinking about in such a concise and clear way I could never articulate it. If you are working with or planning to build a design system – and who doesn’t, these days – I can’t recommend this talk enough.</p>
<p>Four of the things Ethan talked about stood out to me. They often get overlooked yet are so important to get right if you want to make the best of your design system.</p>
<h2>Visibility</h2>
<p>Design systems and pattern libraries are a blessing in that they enable us to design modular systems. We can look at single components and design patterns individually and improve them over time. But very often, this design process happens in a vacuum. We focus a lot on the initial design of a pattern but it is difficult to say where and how the pattern is actually used in the wild by different teams and as time goes by. By making visible what the actual impact and real-world applications of a design system look like, it can be far better adjusted to the reality and needs of the organization. And for designers, it is easier to see <a href="https://www.robinrendle.com/essays/systems-mistakes-and-the-sea">everything that’s broken</a>.</p>
<h2>Context</h2>
<p>One way to increase visibility is to look at <a href="https://matthiasott.com/articles/patterns-beyond-context">design patterns in context</a>. No pattern exists in isolation. It always shapes and is shaped by its environment. And on today’s Web, the number of possible contexts is endless. A component can be used on different pages and products, on different screens, in different browsers, with different content, or also be used by people with different abilities or cultural backgrounds. The more we respect this reality of varying contexts, be more robust but also flexible our system will become.</p>
<h2>Prescriptiveness vs Flexibility and Exploration</h2>
<p>Design systems are built to improve consistency and efficiency across teams and products. But while the focus on modularity and implementation is indeed improving consistency, this consistency comes at a price. Once established, design patterns seem to be cast in stone. This is because our components are mostly documented in a prescriptive way. This is how the component looks and behaves. And this is how it has to be used. It’s sink or swim. As Ethan notes, this prescriptiveness limits our design systems because it stifles creativity.   What we should be looking for instead is to create systems that put design principles over specification and allow for exploration and the playful application of patterns within useful constraints.</p>

																												
																																		<figure class="quote">
							<blockquote><p>As a&nbsp;strict­ly designed gram­mar, the sys­tem allows free, play­ful appli­ca­tion. This is com­pa­ra­ble to ball games or chess, where fixed ele­ments and an agreed set of rules allow play­ful freedom.</p>
</blockquote>
												<figcaption>Otl Aicher </figcaption>
										</figure>
																
																																	<h2>Process and People</h2>
<p>But regardless of how well-conceived our design system is, it is important to remember that it is a tool that is primarily meant to support people in making better work together. Ideally, a design system can foster collaboration and create a shared language. This will only work, however, if the system fits the processes of the organization and the way people work – and if we recognize that humans and the interactions between them are a core component of every design system. As Ethan emphasizes, it is only then that we can design systems that support the work that we <em>want</em> to do.</p>
<p>-</p>
<p><em>This is the 61st post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Design and the 80/20 Principle</title>
                <link>https://matthiasott.com/notes/design-and-the-80-20-principle</link>
                <pubDate>Wed, 30 Sep 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/design-and-the-80-20-principle</guid>
                <description><![CDATA[
                    
																																	<p>Over 120 years ago, an Italian engineer, sociologist, economist, and philosopher named <a href="https://en.wikipedia.org/wiki/Vilfredo_Pareto">Vilfredo Pareto</a> made an astonishing discovery. He was looking at the distribution of land in Italy, when he observed that approximately 80 % of the land was owned by only 20 % of the population. When he looked at the data from other countries, to his very surprise, the same distribution applied. This observation, that in many systems 80 % of the outcome is created by 20 % of the causes, has become known as the Pareto principle (or 80/20 rule).</p>
<p>Over the years, it became clear that the Pareto principle doesn’t only apply to wealth distributions but that many other natural phenomena follow such a pattern. </p>
<p>In the NBA, 80 % of the points are scored by 20 % of the top players. According to Microsoft, 80 % of system crashes are caused by 20 % of the bugs. 20% of drivers cause 80% of all traffic accidents. And for many companies, 80 % of the profits are generated by 20 % of clients. Even if the distribution isn’t strictly 80 to 20 all the time, the general rule – that most results come from a small minority of causes – still applies to so many things, from internet traffic to student grades to general productivity.</p>
<p>What if we apply the Pareto principle to our design and code work? I don’t have any numbers to back this up but it matches pretty well with my experience: 80 % of a design is often done after 20 % of the time. Bringing your design to 95 % or even 98 % will then take considerably more effort. If you know that, you can purposefully direct your efforts to the things that really count instead of wasting time polishing things that might not be worth the trouble.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/pareto-distribution-curve.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/pareto-distribution-curve.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/pareto-distribution-curve.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/pareto-distribution-curve.png" alt="Pareto Distribution Curve" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Or take design systems or websites as an example. If you have a bunch of components, there will always be a small number of components that are being used all the time. On almost every page of a website, for example. Other components, however, will only be used sparingly. This means that not all components are equally important. Improving the components that are being used more often will have a much greater effect on the overall quality of a system. Identify those important components. Nurture them and make them work really well. At the same time, pay close attention to which elements might be of lower importance and value – and maybe even get rid of them.</p>
<p>But be careful: Using the 80/20 principle can also be a trap. If everyone around you is only investing the 20 % to be good enough, you won’t stand out if you simply do the same. 80 % is not enough. Often, it takes unreasonable effort to make something truly special, and going the extra mile is worth it – you just have to choose carefully where you want to put your energy.</p>
<p>-</p>
<p><em>This is the 60th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS Custom Properties With @property</title>
                <link>https://matthiasott.com/notes/css-custom-properties-with-at-property</link>
                <pubDate>Mon, 21 Sep 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/css-custom-properties-with-at-property</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://web.dev/at-property/">Una Kravets has written an excellent article</a> about a feature that has been released with Chrome 85: The @property syntax of the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Properties_and_Values_API">Properties and Values API</a>. The Properties and Values API is part of <a href="https://iamvdo.me/en/blog/css-houdini">CSS Houdini</a>, the next generation of additions to CSS allowing developers to extend the language directly at the engine level. With the @property syntax, you can declare a variable including a type, an initial value, and even control inheritance. This is how it looks like:</p>

																												
																												<pre><code class="language-css">@property --colorPrimary {
  syntax: "&lt;color&gt;";
  initial-value: magenta;
  inherits: false;
}</code>
</pre>
																						
																																	<p>The initial value ensures that if someone tries to give the <code>--colorPrimary</code> an invalid value that doesn’t match the type specified by <code>syntax</code>, like “20px” or “border-box”, there is still a fallback. </p>
<p>But there is more. The new @property syntax fixes a fundamental problem of custom properties: You could not animate them. While it was possible to animate a property that used a custom property, it wasn’t possible to animate <em>the custom property itself</em> because the custom property was read as a string.</p>
<p>Animating a <code>background</code> property, for example, would work:</p>

																												
																												<pre><code class="language-scss">button {
  --color: green;
  background: var(--color);
  transition: background .4s ease;
}

button:hover {
	--color: blue;
}</code>
</pre>
																						
																																	<p>But not if you wanted to apply the transition to the custom property, <code>--color</code>:</p>

																												
																												<pre><code class="language-scss">button {
  --color: green;
  background: var(--color);
  transition: --color .4s ease;
}

button:hover {
	--color: blue;
}</code>
</pre>
																						
																																	<p>With the new @property syntax, this now changes, because if you define a type (like <code>length</code>, <code>number</code>, <code>percentage</code>, <code>color</code>, and many more) for the custom property, the browser now knows how to transition it. The prime example that Una shows is that it is now possible to animate something that couldn’t be animated before: Gradients.</p>

																												
																												<p class="codepen" data-height="512" data-theme-id="dark" data-default-tab="css,result" data-user="matthiasott" data-slug-hash="c28ba37ef24798e6e1761d83d2c1916b" style="height: 512px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0 3rem; padding: 1em;" data-pen-title="Gradient Transitions with @property">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/c28ba37ef24798e6e1761d83d2c1916b">
  Gradient Transitions with @property</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<style>.cp_embed_wrapper {margin: 0.5rem 0 2rem}</style>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<p>When I played around with the feature myself, however, I noticed that using relative units like <code>rem</code>s with a type of <code>length</code> did not work properly when I tried to calculate a font-size in Chrome 85. It worked well when I used an absolute length in <code>px</code>, though. Maybe I’m also overlooking something here – and if I am, please tell me – but it seems as if the new feature still needs a few more iterations until it fully works as expected.</p>

																												
																												<p class="codepen" data-height="512" data-theme-id="dark" data-default-tab="css,result" data-user="matthiasott" data-slug-hash="JjXadKK" style="height: 512px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="@property Custom Property Test: rem font-size">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/JjXadKK">
  @property Custom Property Test: rem font-size</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<br>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<p>Once <a href="https://caniuse.com/mdn-css_at-rules_property">browser support has gotten better</a>, the @property syntax might make many things around custom properties much more convenient. In particular when creating animations, the possibility to transition the computed value of the custom property will come in handy.</p>
<p>-</p>
<p><em>This is the 59th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>AVIF: A New Image Format</title>
                <link>https://matthiasott.com/notes/avif-a-new-image-format</link>
                <pubDate>Sun, 13 Sep 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/avif-a-new-image-format</guid>
                <description><![CDATA[
                    
																																	<p>It doesn’t happen every day that a new image format comes along. So it’s not surprising that people are excited that Chrome 85 has been released with support for the new <a href="https://aomediacodec.github.io/av1-avif/">AVIF format</a>. AVIF (AV1 Image File Format) is an open image format based on the AV1 video format that was developed as a modern alternative to JPEG. And it is indeed impressive: The compression is far superior, so you end up with files that are about 50 % smaller than JPEGs and AVIF even significantly outperforms WebP. Great news for web performance!</p>
<p>But that’s not all. AVIF also supports alpha transparency, lossless or lossy compression, a color depth of up to 12 bit, high dynamic range (HDR), any color space, like ICC profiles and wide color gamut, and image sequences like in animated GIFs.</p>
<p>If you want to learn more about how good AVIF performs compared to JPEG and WebP, <a href="https://jakearchibald.com/2020/avif-has-landed/">Jake Archibald has written an excellent article</a> in which he takes a closer look at different use cases. And there is <a href="https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4">an equally interesting post on the Netflix Technology Blog</a>. Overall, the results are stunning.</p>
<p>Here’s a quick comparison between JPG and AVIF at the same file size:</p>

																												
																												<section class="b-fleximg">
  <figure class="b-fleximg__item drop-left">
    <div class="imgcontainer">
      <picture style="display: inline">
        <img
          src="https://matthiasott.com/assets/pictures/AVIF/usps.jpg"
          alt="JPG image of a US Postal Service truck"
        />
      </picture>
    </div>
    <figcaption class="b-fleximg__caption caption drop-left">
      <p>JPEG @ 57KB</p>
    </figcaption>
  </figure>

  <figure class="b-fleximg__item drop-left">
    <div class="imgcontainer">
      <picture style="display: inline">
        <img
          src="https://matthiasott.com/assets/pictures/AVIF/usps-57.avif"
          alt="AVIF image of a US Postal Service truck"
        />
      </picture>
    </div>
    <figcaption class="b-fleximg__caption caption drop-left">
      <p>AVIF @ 57KB</p>
    </figcaption>
  </figure>
</section>
																						
																																	<h2>Using AVIF Today</h2>
<p>To make use of the many advantages of AVIF, you don’t have to wait until all browsers support it. By using the picture element, you can use AVIF and provide other image formats as a fallback:</p>

																												
																												<pre class="language-html"><code class="language-html">&lt;picture&gt;  
  &lt;source srcset=&quot;usps.avif&quot; type=&quot;image/avif&quot;&gt;
  &lt;source srcset=&quot;usps.webp&quot; type=&quot;image/webp&quot;&gt;  
  &lt;img alt=&quot;We Deliver For You&quot; src=&quot;usps.jpg&quot;&gt;
&lt;/picture&gt;</code>
</pre>
																						
																																	<p>That being said, Firefox already supports AVIF behind a flag (<code>media.av1.enabled</code>) and the outlook for Safari seems to be positive because Apple was also involved in the development of the AV1 video codec as a founding member of the <a href="https://aomedia.org/">Alliance for Open Media</a>. There is also a <a href="https://github.com/Kagami/avif.js">polyfill for AVIF</a> that uses a service worker to detect all fetch requests for AVIF files and decode them on the fly.</p>
<h2>How to Make AVIF Files</h2>
<p>So how do you create AVIF files? Image editing software like Photoshop doesn’t support it yet, so we have to rely on conversion tools or use encoders to create our AVIF files. </p>
<h3>Squoosh</h3>
<p><a href="https://squoosh.app/">Squoosh</a>, an image compression web app by Google, now supports AVIF and you can drag and drop PNGs or JPGs into the UI and adjust the settings accordingly. This is great if you just want to explore the new image format or want to carefully optimize only a few images. Manually converting images doesn’t scale that well, though. If you want to convert a larger number of files at once, encoders are a better, and faster choice. At least if the command line is your friend.</p>
<h3>libavif</h3>
<p><a href="https://github.com/AOMediaCodec/libavif">Libavif</a> is the official library to encode and decode AVIF. If you are on a Mac, you can install it with <a href="https://brew.sh/">Homebrew</a>:</p>

																												
																												<pre class="language-bash"><code class="language-bash">brew install joedrago/repo/avifenc</code>
</pre>
																						
																																	<p>The command to convert JPGs or PNGs to AVIF is straightforward:</p>

																												
																												<pre class="language-bash"><code class="language-bash">avifenc [options] input.[jpg|jpeg|png|y4m] output.avif</code>
</pre>
																						
																																	<p>If you want an overview of the syntax and available options, use <code>avifenc --help</code>.</p>
<h3>cavif</h3>
<p>Another encoder is <a href="https://github.com/kornelski/cavif-rs">cavif</a>, written in pure Rust by Kornel Lesiński, who is also responsible for <a href="https://imageoptim.com/">ImageOptim</a>. You can build it from source or download the latest version and install it. If you are using a Mac, you can <a href="https://www.howtogeek.com/297721/how-to-create-and-use-symbolic-links-aka-symlinks-on-a-mac/">symlink</a> the binary into <code>usr/local/bin</code> and then start converting images by running:</p>

																												
																												<pre class="language-bash"><code class="language-bash">cavif image.png</code>
</pre>
																						
																																	<p>Or, if you also want to adjust the quality:</p>

																												
																												<pre class="language-bash"><code class="language-bash">cavif --quality 60 image.png</code>
</pre>
																						
																																	<h3>Cloudflare Workers</h3>
<p><a href="https://css-tricks.com/avif-has-landed/">As Chris Coyier reports</a>, <a href="https://codepen.io/">Codepen</a> now also supports AVIF. Image files that are stored in Codepen’s Assets Hosting go through a <a href="https://developers.cloudflare.com/images/worker">Cloudflare Worker</a> that does all the conversions and now also generates AVIF. So if your site uses Cloudflare, this might be an interesting option, too. And I guess other CDNs and conversion services will follow, soon.</p>
<h2>The Next Big (Small) Thing</h2>
<p>Overall, AVIF is a compelling package: Powerful compression at decent image quality, support for HDR and wide color gamut, as well as transparency. And all that in an open format that is backed by industry giants like Google, Netflix, Apple, Amazon, or Microsoft. Why should you care about AVIF? Because AVIF could well become the most popular image format on the Web.</p>
<p>-</p>
<p><em>This is the 58th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Your Brain Is Plastic</title>
                <link>https://matthiasott.com/notes/your-brain-is-plastic</link>
                <pubDate>Mon, 07 Sep 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/your-brain-is-plastic</guid>
                <description><![CDATA[
                    
																																	<p>Martha Curtis had a dream. She wanted to become a violinist. She had been playing the violin since she was nine and excelled at it. But there was a problem. A huge problem. Martha had begun suffering from seizures at age three and a half. She was diagnosed with epilepsy and even though she was on medication, the seizures continued. In her twenties, now a student at Eastman School of Music, Martha had seizures on stage. Up to five per month. Music was her life, but she realized that no orchestra would let her play if she was regularly collapsing on stage. So she sought help. </p>
<p>At Cleveland Clinic, neurologists located the origin of her epilepsy in the right temporal lobe, from where a constant storm of abnormal electrical activity was spreading into other regions of her brain. The doctors suggested surgery. There was one problem, however: The right temporal lobe is the region of the brain where musical memory seems to be stored. So Martha had to make a decision: Live with the seizures that were worsening and would make it impossible to have a musical career. Or, undergo surgery at the risk of losing what had kept her alive: Music.</p>
<p>After three surgeries in which her doctors removed close to 50 percent of her right temporal lobe, including the entire hippocampus, Martha was finally seizure-free. Then, she picked up the violin. She could play as if nothing had happened. Her musical abilities were intact and her memory and concentration even had improved. Her doctors concluded that her brain must have been damaged when she was still a toddler and because she had started to play an instrument at an early age, her brain seemingly adapted to the damage, storing musical memories in other regions than the right temporal lobe.</p>
<p>Cognition, attention, learning, memory, language, motor skills, emotions, thought, reasoning, or the mind: From whichever angle you look at it, the human brain is endlessly fascinating. One of the most fascinating abilities is its ability to adapt, change, and reorganize. And this ability is not limited to a few synapses rewiring a tiny bit. Until the 1990s, many scientists believed that the structure of the human brain was mostly defined by our genes and that the brain was more or less immutable after early childhood. Today we know that nothing could be farther from the truth. Our genes are simply not capable of describing the 100 trillion neurons of the adult brain. So we are born half-baked and the final structure and wiring of the brain are gradually formed by learning and experience. Up until old age, <a href="https://www.scientificamerican.com/article/the-adult-brain-does-grow-new-neurons-after-all-study-says/">the brain is able to grow new neurons</a> and constantly forms new connections that become stronger with use. The brain adapts to what is needed to survive. This is called neuroplasticity.</p>
<p>The amazing thing about neuroplasticity: To a certain extent, we have control over it. For one, you can choose to do something over and over again, and your brain will adapt to the new requirements. This is how we learn and change our habits. And, as researchers have found, by actively focussing attention, we can increase the effect an action has on the structure of our brains. But what is even more astonishing: Just thinking of a specific action has the same effect on your brain circuitry like actually performing the action. Your brain doesn’t distinguish between a real and an imagined action. It fires the exact same neurons. We can use the power of our minds to shape the physical structure of the brain.</p>
<p>Focussed attention can increase the chances of recovery for stroke patients and can even cure behavioral disorders that were previously thought to be incurable. In his book “<a href="https://www.goodreads.com/book/show/3281.The_Mind_and_the_Brain">The Mind and the Brain: Neuroplasticity and the Power of Mental Force</a>”, Jeffrey M. Schwartz talks about how he successfully treated people who suffered from obsessive-compulsive disorder (OCD) with a self-treatment approach that included mindfulness training. The patients, who, for example, experienced an urge to repeatedly wash their hands, practiced paying attention to the moment a compulsive behavior would arise and then tried to refocus their attention on another fulfilling, productive activity for at least 15 minutes. Over time, many were able to successfully “rewire” their brains, significantly decreasing the amount and severity of compulsive habits and injuries. In his book, Schwartz offers many more examples of stunning research about the brain and the power of directed mental force. And while I’m not yet sold on his idea that the mind even is a physical force like gravity or electromagnetism, he still offers much food for thought about how we can use our mind – and mindfulness – to shape the workings of our brains.</p>
<p>Just like with the observable universe, even after years of research, we are only scratching the surface of understanding how our brains work. But what researchers have found so far, suggests that the brain is much more malleable than we thought.</p>
<p>Our brains aren’t just the result of our genes and other influences that are predetermined or out of our control. To a large extent, we can decide which thoughts, experiences, and skills we want to admit to our brains. Maybe it is time to become better at mindfully directing our thoughts and attention. Because the things we do and think define who we become.</p>
<p>-</p>
<p><em>This is the 57th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Aspect Ratio in CSS: Hacks and a New Property</title>
                <link>https://matthiasott.com/notes/aspect-ratio-in-css</link>
                <pubDate>Fri, 04 Sep 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/aspect-ratio-in-css</guid>
                <description><![CDATA[
                    
																																	<p>Layout on the Web is all about flexibility. That elements adjust their dimensions to the size of their content, be it texts of varying length or images of different sizes, is a welcome feature, especially in times of Responsive Web Design because this flexibility makes building responsive layouts possible in the first place. Sometimes, though, we need an element with a fixed aspect ratio, for example, if we want to embed a video via an iframe or to show images cropped to a fixed aspect ratio, regardless of their original dimensions. In such cases, the infamous vertical padding hack has become our method of choice. It goes a little something like this:</p>

																												
																												<pre><code class="language-scss">.aspect-ratio-hack {
  position: relative;
  height: 0;
  padding-top: 56.25%;
    
  .inner {
	  position: absolute;
	  top: 0;
	  right: 0;
	  bottom: 0;
	  left: 0;
  }
}</code>
</pre>
																						
																																	<p>In CSS, you can’t simply set the <code>height</code> of an element in relation to its <code>width</code>. Yet this would be needed to define an aspect ratio for an element. If you set a value for vertical padding in percent, though, it is always calculated with respect to the current width of the element. And that is exactly what we harness with the vertical padding hack: If we want to maintain an aspect ratio of 16:9, for example, we set the <code>padding-top</code> of the outer container to <code>56.25%</code> (because 100 % / 16 * 9 = 56.25 %) and the <code>height</code> to 0. Now, our container has the right dimensions but because its <code>height</code> is 0, the content wouldn’t be visible. That’s why we use an <code>.inner</code> element to wrap the content and set its position to absolute. The inner element is pulled out of the document flow and we can now set its top, right, bottom, and left positions to 0 so that it completely fills the space of its parent. The outer element has itself a position of <code>relative</code>. This way, we make sure that the absolute position of the inner element is calculated based on the outer element because for elements with <code>position: absolute</code>, the browser always looks for the closest ancestor that is not statically positioned to determine the position.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 58.333333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Aspect-ratio-hack@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Aspect-ratio-hack@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack@2x.png" alt="Two rectangles showing the aspect ratio hack in action" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>And that’s it! Our element has a fixed aspect ratio. But as clever as this technique is, it still feels like a dirty hack. We are using padding to set the height of an element with <code>height: 0</code> and are combining it with an additional wrapper that is absolutely positioned. If that is not a layout hack, I don’t know what is.</p>
<p>Over time, people came up with <a href="https://www.bram.us/2017/06/16/aspect-ratios-in-css-are-a-hack/">many variations of the vertical padding hack</a>. But although setting the aspect ratio with data-attributes or <a href="https://sgom.es/posts/2017-02-17-css-custom-properties-as-your-api/">custom properties</a> (CSS variables) might be a bit more modern approaches, all those solutions are still hacks.</p>

																												
																																	<h2>A Slightly Better Hack</h2>
<p>The most sophisticated version of the padding hack might be what <a href="https://css-tricks.com/aspect-ratio-boxes/#the-psuedo-element-tactic">Chris Coyier calls the pseudo-element tactic</a>. In the example above, we have set a fixed aspect ratio. But what if there is too much content inside our element, for example, a truckload of text that might fit into the container on larger screens but will overflow on smaller viewports?</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Aspect-ratio-hack-overflow@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Aspect-ratio-hack-overflow@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack-overflow@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack-overflow@2x.png" alt="Text is overflowing a box of an aspect ratio of 16 by 9" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Because we defined a fixed height, our container can’t grow accordingly. Essentially, what we want to achieve instead is something like a min-aspect-ratio. The trick is to apply the padding to a <em>pseudo-element</em> instead of the element itself. This way, the content can still make our element grow but it has at least the height of the pseudo-element – which we float out of the way:</p>

																												
																												<pre><code class="language-scss">.aspect-ratio-hack-better {
  &::before {
    content: "";
    padding-top: 56.25%;
    float: left;
  }
  
  &::after {
    clear: left;
    content: " ";
    display: table;
  }
}</code>
</pre>
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Aspect-ratio-hack-overflow-solved@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Aspect-ratio-hack-overflow-solved@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack-overflow-solved@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Aspect-ratio-hack-overflow-solved@2x.png" alt="The text is now contained within the outer box. A dotted line indicates where the aspect ratio ends." loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>The vertical padding hack with pseudo-element tactic: The pseudo-element defines the min-height according to the aspect ratio but the element can still grow with its content.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<h2>A Look Into The Future: <code>aspect-ratio</code></h2>
<p>But wouldn’t it be nice – and more intuitive for beginners – to have a way to set the aspect ratio in CSS without any hacks? This is exactly <a href="https://www.smashingmagazine.com/2019/03/aspect-ratio-unit-css/">what the CSS Working Group proposed last year</a>: <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio">a new CSS property named <strong>aspect-ratio</strong></a>. The property, which still has to be implemented by browser vendors, will let you define a simple ratio like <code>16 / 9</code>.</p>

																												
																												<pre><code class="language-scss">.aspect-ratio {
  aspect-ratio: 16 / 9;
}</code>
</pre>
																						
																																	<p>If you want to play around with <code>aspect-ratio</code>, you can do so in Chrome Canary with <a href="https://css-irl.info/how-to-enable-experimental-web-platform-features/">the Experimental Web Platform Features flag set</a>. And as Chris Coyier notes in <a href="https://css-tricks.com/a-first-look-at-aspect-ratio/">his excellent article on CSS-Tricks</a>, <code>aspect-ratio</code> does support overflowing content and can be overridden by setting min- and max-width or height, respectively, for example. <code>aspect-ratio</code> will also let an element expand if it breaks out of the aspect ratio, but you can also constrain the height to the aspect ratio by adding <code>min-height: 0</code>.</p>
<p>Setting the aspect ratio of an element will remain a hack for the foreseeable future, but with the <code>aspect-ratio</code> property, a much more accessible and straightforward solution is just around the corner.</p>
<p>In the meantime, here is a Codepen for you to tinker with.</p>

																												
																												<p class="codepen" data-height="473" data-theme-id="default" data-default-tab="css,result" data-user="matthiasott" data-slug-hash="WNwjRGR" style="height: 473px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Apect Ratio Playground">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/WNwjRGR">
  Apect Ratio Playground</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<p>-</p>
<p><em>This is the 56th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Thing With Leading in CSS</title>
                <link>https://matthiasott.com/notes/the-thing-with-leading-in-css</link>
                <pubDate>Mon, 24 Aug 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-thing-with-leading-in-css</guid>
                <description><![CDATA[
                    
																																	<p>The spacing between individual elements of a website and, in particular, the vertical spacing, has been a regular matter of debate between web designers and developers. Designers insist that what they see in the browser doesn’t look at all like the layout they originally designed. Developers respond that all the margins in the style sheets exactly match the margins in the layout. So who is right? The tricky thing is: In a way, they are both right.</p>
<p>Let’s take this simple example of three text blocks underneath each other:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 64.713541666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-01@2x_200826_001143.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-01@2x_200826_001143.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-01@2x_200826_001143.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-01@2x_200826_001143.png" alt="Leading Spacing 01@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>In her design tool of choice, the designer defines a spacing of 12 and 36 pixels, respectively. But the final result in the browser looks more like this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 38.020833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-02@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-02@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-02@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-02@2x.png" alt="Leading Spacing 02@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>In case you can’t tell the difference, here is the text block overlaid over the original design.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 38.020833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-03@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-03@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-03@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-03@2x.png" alt="Leading Spacing 03@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>This doesn’t look right. And indeed: When the designer measures the spacings, they appear much larger than in the original layout.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 38.020833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-04@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-04@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-04@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-04@2x.png" alt="Leading Spacing 04@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Why is that? Did the developer simply ignore the designer’s layout and approximate the margins off the top of his head?</p>
<p>No. Instead, the problem which – at least in my experience – many designers and developers still don’t know about, results from a difference in how many design tools and web browsers handle line-height or, to be more precise, leading.</p>
<p>In typography, leading is a measure for the space between adjacent lines of text. The word leading derives from lead strips that were put between set lines of metal type to increase the <a href="https://practicaltypography.com/line-spacing.html">line spacing</a> of a text block. That’s also why it is pronounced “ledding” and not “leeding”.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.40625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/double-page_200826_001403.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/double-page_200826_001403.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/double-page_200826_001403.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/double-page_200826_001403.jpg" alt="Double Page" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/lead-strips_200826_001440.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/lead-strips_200826_001440.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/lead-strips_200826_001440.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/lead-strips_200826_001440.jpg" alt="Lead Strips" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p>When typography was typeset by hand, lead strips were used to increase the line spacing.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<h2>Leading Goes Digital</h2>
<p>When computers entered the scene and freed fonts from their physical constraints, early software tools borrowed from the world printed typography. In the first version of Photoshop, for example, which was released in 1990, users could define a value for leading which would then be added to the font size.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 48.046875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Leading-in-photoshop-1@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Leading-in-photoshop-1@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Leading-in-photoshop-1@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Leading-in-photoshop-1@2x.png" alt="Leading In Photoshop 1@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>In later years, more and more desktop publishing tools allowed people to set leading not in addition to the base font size but as an absolute value and the term <em>leading</em> became synonymous with the distance from one baseline to the next. Many tools also started calling it <em>line-height</em>. One thing remained, however: The extra space to increase the line height was still added below the lines.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 41.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-05@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-05@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-05@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-05@2x.png" alt="Leading Spacing 05@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Leading ≠ Leading</h2>
<p>This was about to change early after the Web was invented in 1989. When Bert Bos and Håkon Wium Lie drafted the first proposals for CSS, they were, at first, still following the “old” ways of the print world. <code>font-leading: 2pt</code>, anyone? But soon they would decide to make a logical but also radical change. With <a href="https://www.w3.org/TR/CSS1/#the-height-of-lines">the new <code>line-height</code> property, which they introduced with CSS level 1</a>, the extra space added to increase the line height was not added <em>below</em> a line of text, but <em>above and below</em> the line. Thus, half-leading was born.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 41.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/half-leading-01@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/half-leading-01@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/half-leading-01@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/half-leading-01@2x.png" alt="Half Leading 01@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 41.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/half-leading-02@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/half-leading-02@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/half-leading-02@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/half-leading-02@2x.png" alt="Half Leading 02@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>In his fabulous post <a href="https://www.figma.com/blog/line-height-changes/">Getting to the bottom of line height in Figma</a>, Marcin Wichary explains as to why the creators of CSS decided to make that change:</p>

																												
																												<blockquote><p>In the world of print or early programs, a text box only needed to hold the text inside it. The web asked it to do more. “I was aware half-leading wasn’t a traditional typographic concept,” mentioned Bert Bos, who worked on CSS1 in 1995 and 1996. "But the problem I had with adding leading only below the lines was what happened to a paragraph when you put a background behind it or a border around it.”</p>
<p>If leading appeared only at the bottom of such a box, that box would feel bottom-heavy and would require additional work to look good. Half-leading offered a way out of this new problem.</p></blockquote>
																						
																																	<p>In a way, half-leading can be regarded as a truly native feature of the Web. Just as adding leading below a line of text arose from the physicality of the printed medium, so did half-leading reflect the requirements of the new, inherently flexible medium that was the Web. Whether we like it or not, half-leading is part of the material we are working with. It is part of <a href="https://frankchimero.com/blog/2015/the-webs-grain/">the Web’s Grain</a>.</p>
<p>For many years, web design tools did not support half-leading, though, and as a consequence, many teams had long-winded discussions as to why layouts differed so much between the screen design and the browser. On top of that, not everyone knew about this intricate technical detail, which frequently leads to tensions between designers and developers. Because, obviously, they were both right:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 38.020833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/leading-spacing-06@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/leading-spacing-06@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-06@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/leading-spacing-06@2x.png" alt="Leading Spacing 06@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Luckily, first tools like Sketch and Figma have added support for half-leading recently. So at least this controversy might soon be a thing of the past.</p>
<p>Yet there is another detail about how browsers handle fonts that makes vertical alignment and spacing difficult: Fonts have different base line-heights. Depending on which font you use, using a font size of, say, 2rem (32px) and the default line-height, will result in line boxes with totally different heights.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 55.208333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/base-line-height@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/base-line-height@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/base-line-height@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/base-line-height@2x.png" alt="Base Line Height@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>You can mitigate this effect a bit by setting the line-height to 100 %, which, in this case, means 100 % of the font size:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 45.572916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/line-height-100-percent@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/line-height-100-percent@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/line-height-100-percent@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/line-height-100-percent@2x.png" alt="Line Height 100 Percent@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Yet you will still end up with different spacings if you apply equal margins at the top and bottom, for example, if you want to position a piece of text vertically in a button. This is because for each font the position of the baseline can differ. To work around this, you will have to use hacks like applying different margins at the top or bottom of the text. This, however, does in turn not work for fallback fonts which might be used if a web font doesn’t load or is blocked by the user, or if you are using a <a href="https://bitsofco.de/the-new-system-font-stack/">system font stack</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 45.572916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/line-height-100-percent-baseline@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/line-height-100-percent-baseline@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/line-height-100-percent-baseline@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/line-height-100-percent-baseline@2x.png" alt="Line Height 100 Percent Baseline@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Leveraging the Void: Leading-trim</h2>
<p>Challenges like this are the reason why the CSS Working Group is currently working on new CSS properties that will drastically improve control over the positioning of and spacing between lines of text. For an overview of the current efforts, watch <a href="https://m.youtube.com/watch?v=OtlGo48iTOk">this talk by Elika J. Etemad (aka fantasai) on “CSS Line Layout and Vertical Rhythm” from last year’s CSS Day</a>.</p>
<p>One of the new properties introduced in <a href="https://www.w3.org/TR/css-inline-3/">CSS Inline Layout Module Level 3</a> is <code>leading-trim</code>. As <a href="https://medium.com/microsoft-design/leading-trim-the-future-of-digital-typesetting-d082d84b202">Ethan Wang outlined in a detailed post lately</a>, leading-trim will allow you to trim off all the extra spacing above or below your text.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 45.572916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Leading-trim-01@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Leading-trim-01@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Leading-trim-01@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Leading-trim-01@2x.png" alt="Leading Trim 01@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>And all it takes are two lines of CSS.</p>

																												
																												<pre><code class="language-sass">
h1 { 
 text-edge: cap alphabetic;
 leading-trim: both;
}
</code>
</pre>
																						
																																	<p>With the <code>text-edge</code> property, we will be able to set the over and under edges of our inline box, in this case to the top of capital letters (<code>cap</code>) and the alphabetic baseline, which usually sits at the bottom of the “m”. With <code>leading-trim: both</code>, we then strip out the spacing above the cap height and below the alphabetic baseline. Now we can vertically align the text with more precision – regardless of the font and differing baselines in the respective font files.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 45.572916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Leading-trim-02@2x.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Leading-trim-02@2x.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Leading-trim-02@2x.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Leading-trim-02@2x.png" alt="Leading Trim 02@2X" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Exciting! But also keep in mind that human perception can often not be described in (even) numbers. To place an object in the optical center, you have to place it slightly above the geometric center, for example. And, if we used a word that includes a “g” or “y” in the example above, we might have to adjust the spacing again. So always trust your eye more than you trust the measuring stick. Or, <a href="https://medium.engineering/typography-is-impossible-5872b0c7f891">to quote Marcin Wichary again</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Type is aligned when it feels aligned, not when it actu­al­ly is aligned.</p>
</blockquote>
												<figcaption>Marcin Wichary </figcaption>
										</figure>
																
																																	<p>-</p>
<p><em>This is the 55th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>
<p><em>Images from the printing press and lead strips above are by Flickr user <a href="https://www.flickr.com/photos/mitternacht/">mitternacht</a>, slightly color-corrected and cropped. Used under <a href="https://creativecommons.org/licenses/by-nc/2.0/">Creative Commons Attribution-NonCommercial 2.0 Generic (CC BY-NC 2.0)</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Design Debt</title>
                <link>https://matthiasott.com/notes/design-debt</link>
                <pubDate>Tue, 18 Aug 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/design-debt</guid>
                <description><![CDATA[
                    
																																	<p>The dilemma with debt is that it is easily incurred but, inevitably, there comes a time when you will have to pay it back. The problem with design debt is that it is even easier to amass it. Design debt? Yes, like <a href="https://martinfowler.com/bliki/TechnicalDebtQuadrant.html">technical debt</a> but for designers.</p>
<p>Tight deadlines, feature creep, competing agencies, changing teams, or simply having different designers working on a project: There are many reasons why design debt accumulates. And we’ve all been there. A quickly defined new button style, another headline variant, a few images that don’t fit the corporate style that well, a new typeface (only for this one project), a less-than-ideal interaction pattern, or simply wrong assumptions: Keeping the design language of a product, company, or brand consistent is hard work. And making sloppy and hasty decisions now can lead to a lot of accumulated design clutter later. This makes it harder to create a consistent brand experience and will reduce the perceived quality and appeal of your interface and even increase the cost for future projects.</p>
<p>Design debt can’t be avoided completely, but when you know that it’s there, you can at least try to reduce it. Create <a href="https://www.smashingmagazine.com/design-systems-book/">a design system</a>. Avoid rushed solutions and make conscious design decisions instead. Ask yourself what the long-term consequences of variants and additions might be and also discuss this with your team. But also understand that just like music, great design isn’t always monotonous and predictable but needs moments of surprise, playfulness, and fresh perspectives. Creating and maintaining a design that is both consistent <em>and</em> versatile is a balancing act that requires zooming out a bit from time to time to see the bigger picture and evaluating if you are still on track.</p>
<p>-</p>
<p><em>This is the 54th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>BICEPS: Six Core Needs for Humans at Work</title>
                <link>https://matthiasott.com/notes/biceps-six-core-needs-for-humans-at-work</link>
                <pubDate>Mon, 17 Aug 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/biceps-six-core-needs-for-humans-at-work</guid>
                <description><![CDATA[
                    
																																	<p>How do you feel about your work at the moment? Do you enjoy what you are doing? Do you feel excited about it? Does it give you a sense of accomplishment and significance? Do you feel valued and are part of a great team? Do you enjoy your role as a leader or the choices you have at your job? Chances are that the one or other might be true for you and, depending on how much you value certain aspects of your work, you might either be happy or unhappy with what you are doing at the moment. In fact, <a href="https://www.gallup.com/education/267590/great-jobs-lumina-gates-omidyar-gallup-report-2019.aspx">many people are dissatisfied with their career choices and jobs</a>, which makes it as important as ever to create (remote) work environments and teams in which people enjoy what they are doing, get to live up to their full potential, and, most importantly, are willing to take risks and try out new things. But how?</p>
<p>Researchers have studied what it takes to create fulfilling work environments and it all comes down to a few basic human needs. Core needs that we all value and try to meet at different levels, but which are all essential to make us feel valued and satisfied. There are a few different models that try to describe those needs, one of which is <a href="https://www.palomamedina.com/biceps">Paloma Medina’s BICEPS framework</a>. Lara Hogan talked about this list of core needs in <a href="https://distributed.blog/2020/07/24/lara-hogan-management-secrets/">the latest episode of Matt Mullenweg’s podcast Distributed</a>, which I highly recommend.</p>
<p>BICEPS consists of six core needs that are most important for humans at work:</p>
<h3>Belonging</h3>
<p>As humans, we want to be part of a group, a tribe, a family. We need that feeling of friendship and closeness with others to feel safe and comfortable. </p>
<h3>Improvement/Progress</h3>
<p>We all want to grow, improve, and make progress toward a meaningful goal, both personally and as a group.  </p>
<h3>Choice</h3>
<p>What would life be without at least a feeling of choice? We want to be in control and make our own, autonomous decisions which, ideally, bring about real change.</p>
<h3>Equality/Fairness</h3>
<p>We want to be treated fairly but also demand the same for others. Access to information and resources should be equal for every member of the group.</p>
<h3>Predictability</h3>
<p>We need the certainty that resources, time, and information will be available in the future and that the challenges ahead of us are, to a certain degree, manageable. </p>
<h3>Significance</h3>
<p>And lastly, we want to be recognized for our work. We seek status and want to feel valued, important, needed, or respected.</p>
<p>Paying attention to those core needs when managing a team or a company can help us be more socially sensitive and understand team dynamics much better. But it also helps us to understand our own motivations much better. After all, we aren’t rational decision-makers. Much of our behavior is the result of complex emotions and social motivations. Understanding this is the first step to making others feel valued and, ultimately, satisfied with their work.</p>
<p>-</p>
<p><em>This is the 53rd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Fading Music in and Out in an Online Workshop (On a Mac)</title>
                <link>https://matthiasott.com/notes/fading-music-in-and-out-mac</link>
                <pubDate>Wed, 12 Aug 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/fading-music-in-and-out-mac</guid>
                <description><![CDATA[
                    
																																	<p>When it became increasingly clear that running in-person workshops would not be possible for the foreseeable future, the XDI team, <a href="https://blog.adobe.com/en/2018/02/23/meet-community-extension-xd-team-xdis.html#gs.cwtbj4">which I am a part of</a>, started to work on online versions of our Adobe XD workshops for beginners and advanced users. The resulting workshops are a nice mix of tutorial-style explanation parts and hands-on exercises in XD. One small but crucial element to the whole experience is music. Music is playing while people are waiting for the workshop sessions to start, but also throughout the sessions when everyone is busy designing and prototyping with the software.</p>
<p>After my first online workshop, a little detail surfaced: In the workshop, I started and stopped the music with the default play button on the Touch Bar of my Macbook Pro. This resulted in the Music App (the software formerly known as iTunes) starting playback at full volume and stopping abruptly, however. Wouldn’t it be much nicer to be able to fade the music in and out? At least this would make for a much smoother experience for the participants. I surfed the World Wide Web for a solution and indeed found one that would work without the need for an audio mixer.</p>
<p>With the help of Automator, we can smoothly fade music in and out and even control this behavior via a keyboard shortcut or the Touch Bar (if you happen to have one). Here is how it works:</p>
<h2>Step 1: Set up an Automator Workflow</h2>
<p>First, open Automator and create a new “Quick Action”.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 67.838541666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-01.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-01.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-01.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-01.jpg" alt="Automator screenshot showing how to create a new Quick Action" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Configure the workflow so that it doesn’t receive any input, select an appropriate icon, and pick a color. This will also be the color of the button in the Touch Bar, so pick a bright color that will help you find the button more easily when you are sweating like hell in the workshop.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 67.838541666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-02.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-02.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-02.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-02.jpg" alt="Screenshot of the new Quick Action with workflow settings" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Now, find “Run Apple Script” in the list of actions and double-click the action so that it appears in the window on the right.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 67.838541666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-03.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-03.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-03.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-03.jpg" alt="Screenshot showing the Run AppleScript action" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Copy and paste the following code into the textarea, which I found in <a href="https://apple.stackexchange.com/questions/74139/how-to-fade-out-in-in-itunes">an answer on StackExchange</a>:</p>

																												
																												<pre><code class="language-applescript">
set current_application to (path to frontmost application as Unicode text)
tell application "System Events"
	if process "Music" exists then
		tell application "Music"
			set current_volume to the sound volume
			set del to 3 / current_volume
			if (player state is playing) then
				repeat
					repeat with i from current_volume to 0 by -1
						set the sound volume to i
						delay del
					end repeat
					pause
					set the sound volume to current_volume
					exit repeat
				end repeat
			else
				set the sound volume to 0
				play
				repeat with j from 0 to current_volume by 1
					set the sound volume to j
					delay del
				end repeat
			end if
		end tell
		tell application current_application
			activate
		end tell
	end if
end tell
</code>
</pre>
																						
																																	<p>Save your Quick Action under a recognizable name like “Fade-In-Out-Music”. I am sure you will find an even better name than this. 😉</p>
<p>Now, open Music app – <strong>notice that the Music app has to be running for this whole workflow to work!</strong> – and then try if the Automator script works by hitting the play button. In Automator, that is.</p>

																												
																																	<p>The music should now fade in and out within 3 seconds. If you want to change the speed, you can change the number in line 6 (<code>set del to 3 / current_volume</code>) in the code snippet above.</p>
<h2>Step 2: Define a Touch Bar Action</h2>
<p>The last step is to <a href="https://support.apple.com/guide/mac-help/customize-the-touch-bar-mchl5a63b060/mac">configure the Touch Bar</a> so that you can quickly fade your music in and out. </p>
<p>Choose <em>Apple menu</em> 🍏 <em>&gt; System Preferences</em>, click <em>Keyboard</em>, then select <em>Keyboard</em>, and click <em>Customize Control Strip</em>. Look for the <em>Quick Actions</em> button and drag it into one of the spots in the control strip. You could, for example, replace Siri.</p>

																												
																												<style>img {min-height: 0;}</style>
																						
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 28.90625%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-05.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-05.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-05.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-05.jpg" alt="Screenshot of the UI for selecting different additional buttons to the Touch Bar" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 2.9947916666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-06.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-06.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-06.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-06.jpg" alt="Screenshot of the Touch Bar" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Click <code>Done</code> to save your settings.</p>
<p>Perfect! Now, once you touch the Quick Actions button, you can hit the new green button to fade your music in and out. Note that you might have to confirm once that Automator should be allowed to control the Music app.</p>
<p>In case you don’t have a Touch Bar, you can also define a shortcut in <em>System Preferences &gt; Keyboard &gt; Shortcuts &gt; Services</em>:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 88.802083333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/fade-music-07.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/fade-music-07.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/fade-music-07.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/fade-music-07.jpg" alt="Screenshot of the macOS settings for keyboard shortcuts" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>And that’s it. You are now able to fade music in and out like a pro in your workshops or other online sessions. Do you know of any other nice tricks for doing live demos or online workshops? Let me know.</p>
<p>-</p>
<p><em>This is the 52nd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>How I Structure My CSS (for Now)</title>
                <link>https://matthiasott.com/notes/how-i-structure-my-css</link>
                <pubDate>Tue, 11 Aug 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/how-i-structure-my-css</guid>
                <description><![CDATA[
                    
																																	<p>When it comes to structuring CSS, there is no shortage of different naming conventions, methodologies, and architectures. Be it <a href="http://getbem.com/">BEM</a>, <a href="https://github.com/stubbornella/oocss/wiki">OOCSS</a>, <a href="http://smacss.com/">SMACSS</a>, <a href="https://www.creativebloq.com/web-design/manage-large-css-projects-itcss-101517528">ITCSS</a>, or <a href="https://piccalil.li/cube-css/">CUBE CSS</a> – over the last years, many different approaches to managing modular CSS have emerged. Some are offering strategies on how to split CSS into smaller, more manageable pieces, while others focus more on naming conventions for classes. Sometimes, it can be hard to grasp where the differences or advantages of certain methodologies lie, yet in the end, they all aim at the same: Providing structure and consistency, also known as “avoiding a mess”, when you are working in a team or with your present and future self.</p>
<p>No wonder there isn’t a new project where I don’t start to think about the structure of my CSS a bit and, over time, the way I organize and write CSS has changed a lot. The biggest change came when we all started to write CSS for components. But also preprocessors like Sass have clearly left their mark.</p>
<p>In this post, I will share my current take on CSS structure. It does not religiously follow any particular methodology, although people familiar with <a href="https://www.creativebloq.com/web-design/manage-large-css-projects-itcss-101517528">Harry Roberts’ ITCSS</a> (“Inverted Triangle CSS”) will definitely recognize parts of his methodology. If you haven’t yet looked at ITCSS, I highly recommend it. What I like most, is the pragmatic, real-life approach and the principle of structuring your CSS in a way that gets ever more specific and explicit the farther down you go in the structure. This allows you to focus on the high-level styles first and makes it easier to deal with the cascade, inheritance, and selector specificity while keeping the number of classes – and the specificity! – as low as possible. There are, however, a few differences, and this is also what I’d suggest to anyone setting up their own structure: Take any methodology with a grain of salt and freely adjust it to your needs and the way you work.</p>
<h2>The Folder Structure</h2>
<p>This is how my folder structure currently looks like:</p>

																												
																												<pre><code class="language-treeview">
/scss/
├── 1-settings
├── 2-design-tokens
├── 3-tools
├── 4-generic
├── 5-elements
├── 6-skeleton
├── 7-components
├── 8-utilities
├── _shame.scss
└── main.scss
</code>
</pre>
																						
																																	<p>Let’s break it down a bit.</p>
<h3>Settings</h3>
<p>The first folder, <code>1-settings</code>, is for all general project settings, so for the most basic high-level configuration. This might be a collection of global variables – either as Sass variables or custom properties.</p>

																												
																												<pre><code class="language-treeview">
├── 1-settings
│   └── _global.scss
</code>
</pre>
																						
																																	<h3>Design Tokens</h3>
<p>The second folder is for all styles regarding the visual vocabulary of the site. At this level, we are still not generating any CSS output. It is where we define variables for the typography, colors, spacing, media-queries, or any other attributes which you will use throughout the design. For these visual design attributes, the term <em>design tokens</em> has taken hold. Those design tokens could even be coming from your design system as a single source of truth.</p>

																												
																												<pre><code class="language-treeview">
├── 2-design-tokens
│   ├── _colors.scss
│   ├── _fonts.scss
│   ├── _media-queries.scss
│   ├── _spacing.scss
│   └── _typography.scss
</code>
</pre>
																						
																																	<h3>Tools</h3>
<p>The tools folder is where your global Sass mixins and functions live. Maybe you want to manipulate colors with blend modes or set the aspect ratio for a video container? Or clear your float, for example. I am not a heavy user of mixins myself, but I know many people who love them, so this is where to put them.</p>

																												
																												<pre><code class="language-treeview">
├── 3-tools
│   ├── _aspect-ratio.scss
│   ├── _blend-modes.scss
│   ├── _center.scss
│   ├── _clearfix.scss
│   └── _gradients.scss
</code>
</pre>
																						
																																	<h3>Generic</h3>
<p>Just like in ITCSS, the generic folder is the first one that actually produces CSS. It contains global box-sizing rules, CSS resets, or print styles – anything that should be set right at the beginning of your CSS but isn’t yet project-specific.</p>

																												
																												<pre><code class="language-treeview">
├── 4-generic
│   ├── _box-sizing.scss
│   ├── _normalize.scss
│   └── _print.scss
</code>
</pre>
																						
																																	<h3>Elements</h3>
<p>Now that the most basic things are set up, we can start to style the building blocks of our front-end: Raw HTML Elements. Mostly without classes, we are now redefining the basic browser styles of headlines, buttons, links, lists, etc. and can make sure that all components in our design are using the same consistent base.</p>

																												
																												<pre><code class="language-treeview">
├── 5-elements
│   ├── _forms.scss
│   ├── _headings.scss
│   ├── _images.scss
│   ├── _links.scss
│   └── _lists.scss
│   ├── ...
</code>
</pre>
																						
																																	<h3>Skeleton</h3>
<p>Any modern web project that is built with components also comes with the need for a higher-level structure in which all the components can live: Wrappers, containers, grids, and all kinds of reusable objects that provide layout patterns. This is the skeleton of your site.</p>

																												
																												<pre><code class="language-treeview">
├── 6-skeleton
│   ├── _grid.scss
│   ├── _layouts.scss
│   └── _objects.scss
</code>
</pre>
																						
																																	<h3>Components</h3>
<p>The beating heart of the project. This is where we design the components of the UI. In a few recent projects, I sometimes distinguished between larger modules and smaller components, but you can also nest components into each other and do without the additional distinction. Use prefixes, if you like, and also <a href="https://css-tricks.com/bem-101/">a naming convention like BEM</a> can make a lot of sense. I have recently settled on a BEM-like but more simplified naming convention: Just use the simplest but most descriptive class name possible and separate elements within other elements with a simple dash, like <code>.card</code> and <code>.card-content</code>. Sometimes – for example, when I work with <a href="https://fractal.build/">Fractal</a> – the CSS for individual components might also live in another folder, together with the HTML and JavaScript code. In this case, the components folder might be empty, or contain references via <code>@import</code>.</p>

																												
																												<pre><code class="language-treeview">
├── 7-components
│   ├── _accordion.scss
│   ├── _card.scss
│   ├── _hero.scss
│   ├── _pan-galactic-gargle-blaster.scss
│   └── ...
</code>
</pre>
																						
																																	<h3>Utilities</h3>
<p>Another folder? Yes, but this is definitely the last one. The utilities folder contains utility and helper classes and, most importantly, states and modifiers like <code>.is-active</code> or <code>.visually-hidden</code>. Those styles override the styles in the previous layers and are often set via JavaScript. I really like <a href="https://piccalil.li/cube-css/exception/">the suggestion by Andy Bell in his CUBE CSS methodology</a> to use data-attributes to change the state of components, which is also useful in terms of the higher specificity.</p>

																												
																												<pre><code class="language-treeview">
├── 8-utilities
│   ├── _modifiers.scss
│   └── _states.scss
</code>
</pre>
																						
																																	<h3>_shame.scss</h3>
<p>This file, which is <a href="https://csswizardry.com/2013/04/shame-css/">another idea by Harry Roberts</a>, is a place for all the shameful CSS solutions like quick fixes and hacky things that might solve a problem for the time being but should be solved properly later. Make sure to document all those nasty hacks with comments, though: Why did you solve it this way? Do you already have an idea on how to solve it better? What is needed to solve it? And so on…</p>
<h3>Putting it all together</h3>
<p>Finally, the <code>main.scss</code> file is where all the individual files are combined. I prefer to explicitly import each file in a new line instead of importing whole folders because I have more control over the source order. But this is only my personal preference, of course.</p>

																												
																												<pre><code class="language-sass">
@charset "UTF-8";

// 1. Settings
@import 
	"1-settings/global";
  
// 2. Design Tokens
@import
  "2-design-tokens/colors",
  "2-design-tokens/fonts",
  "2-design-tokens/media-queries",
  "2-design-tokens/spacing",
  "2-design-tokens/typography";
...
</code>
</pre>
																						
																																	<p>And that’s it. A structure like this has served me well in recent projects because it keeps everything tidy. The resulting CSS is also much cleaner and it is easier to find the right piece of code when you have to make changes or do bugfixes.</p>
<p>I asked on Twitter the other day which CSS methodology you all prefer and the results were, as was to be expected, mixed:</p>

																												
																												<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Web developers and designers of the interwebs! What is your favorite…<br><br>✨CSS methodology✨?<br><br>—and why?</p>&mdash; Matthias Ott (@m_ott) <a href="https://twitter.com/m_ott/status/1292946698717757444?ref_src=twsrc%5Etfw">August 10, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>People all like to use their own flavor of CSS, which is great.  If you use a methodology or folder structure that you would like to share, write a post about it and I’ll happily link to it here. It would be interesting to see how you structure your CSS.</p>
<p>For future reference, here’s the whole folder structure again:</p>

																												
																												<pre><code class="language-treeview">
/scss/
├── 1-settings
│   └── _global.scss
├── 2-design-tokens
│   ├── _colors.scss
│   ├── _fonts.scss
│   ├── _media-queries.scss
│   ├── _spacing.scss
│   └── _typography.scss
├── 3-tools
│   ├── _aspect-ratio.scss
│   ├── _blend-modes.scss
│   ├── _center.scss
│   ├── _clearfix.scss
│   └── _gradients.scss
├── 4-generic
│   ├── _box-sizing.scss
│   ├── _font-face.scss
│   ├── _normalize.scss
│   └── _print.scss
├── 5-elements
│   ├── _forms.scss
│   ├── _headings.scss
│   ├── _images.scss
│   ├── _links.scss
│   ├── _lists.scss
│   └── ...
├── 6-skeleton
│   ├── _grid.scss
│   ├── _layouts.scss
│   └── _objects.scss
├── 7-components
│   ├── _accordion.scss
│   ├── _card.scss
│   ├── _hero.scss
│   ├── _pan-galactic-gargle-blaster.scss
│   └── ...
├── 8-utilities
│   ├── _modifiers.scss
│   └── _states.scss
├── _shame.scss
└── main.scss

</code>
</pre>
																						
																																	<p>-</p>
<p><em>This is the 51st post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Halftime</title>
                <link>https://matthiasott.com/notes/halftime</link>
                <pubDate>Mon, 03 Aug 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/halftime</guid>
                <description><![CDATA[
                    
																																	<p>This is post number 50 of my 100-days-of-writing challenge. It’s halftime! Time for me to look at how this little (?!?) experiment worked out so far and what I might have learned or experienced since I started back in May. </p>
<p>First of all, the obvious: Writing a post every day is a lot of work. Most people don’t sit down at their desks, write for half an hour and end up with a well-written, interesting post. At least that’s not how it works for me. So publishing a post every day is time-consuming and also costs a lot of energy. Something I realized pretty quickly is that I need at least a three-step process to finish a piece: First of all, a phase of thinking about what to write, then the writing phase, and lastly the most important phase: editing. It is challenging to compress all those steps into one session. So what worked well for me was thinking about a topic over the day, writing the draft in the evening (with maybe a bit of pre-editing), and then doing a final edit with a clear brain the next morning. This requires, however, that you have time for all three tasks throughout the day. And with a family at home in the office, client work, and workshops, this can get a bit difficult. So after a few posts, I decided to not write over the weekend, except for Sunday evening and I gave myself permission to publish two posts on the same day from time to time to catch up if I missed publishing the day before. I’m cheating a bit, I know, but at the same time I defined the rule to still write something every day, which I did.</p>
<p>Another thing I noticed: The idea that you could simply put out smaller posts doesn’t work at all for me. Why is that? Because writing a shorter piece will actually be more work and much more challenging than writing a longer text. If, for example, you want to convey an idea in only two paragraphs and tell a story, too, you only have so many words and sentences at your disposal. This means that, at least if you want to keep the quality of your posts at a certain level, every word counts and you’ll spend a considerable amount of time editing your post until it “works”. As a result, many of my posts turned out to be much longer than I had expected. Not as long as many of my previous articles, but still long enough to make me wonder if the posts are still “snackable” enough.</p>
<p>But now to the things that worked fairly well. First of all, it is true: When you write every day, you’ll start to think constantly about what to write about. And what is even more valuable: You start to <em>notice</em> things, thoughts, and connections throughout the day that might be an interesting topic for a post. Naturally, there are days when you immediately have an idea about what to write about, and then there are other days when ideas don’t come that easy. On such days, it worked well for me to have a constant stream of input like articles, podcasts, or books. </p>
<p>I also got faster at writing and I feel like I am editing a bit less. English is my second language (actually, it is my third – sorry for forgetting about you, Latin) and I still feel like a bloody beginner. Although I have started to use words like bloody, which, of course, I hear in Stephen Fry’s voice as I write them. But I also have the feeling that I am using the dictionary less often than before. And if I do, it is very likely because I know that there is a word that might be a better fit for the occasion – excuse me: the intended purpose – that isn’t yet part of my active vocabulary.</p>
<p>Many of my first 50 posts were circulating around topics that I have been thinking about constantly over the last few months. <a href="https://matthiasott.com/notes/designing-and-making">Design</a>, <a href="https://matthiasott.com/notes/css-custom-properties-fail-without-fallback">CSS</a>, <a href="https://matthiasott.com/notes/scrolling-elements-into-view">JavaScript</a>, <a href="https://matthiasott.com/notes/fear">fear</a>, <a href="">workflows</a>, <a href="https://matthiasott.com/notes/the-idea-machine">ideas</a>, <a href="https://matthiasott.com/notes/building-the-inclusive-web-together">inclusive design</a>, <a href="https://matthiasott.com/notes/always-at-your-service">service design</a>, <a href="https://matthiasott.com/notes/progressive">progressive enhancement</a>, <a href="https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned">Milton Glaser</a>, <a href="https://matthiasott.com/notes/world-wide-gamut-web">wide gamut color spaces</a>, and other advice I feel confident enough to give based on my still limited experience. So one step at a time, I mostly emptied my quick drafts folder in iA Writer. Looking back, though, the majority of posts wasn’t that practical or filled with hands-on advice. And this is something that, after having covered all the inspirational topics at length, I’ll plan to do more in the next 50 posts. If you have a topic you would love to read about from a UX designer who codes interfaces for the Web, let me know. Here’s to the next 50/100 posts.</p>
<p>Stay tuned, I assume, the real words come after halftime.</p>
<p>-</p>
<p><em>This is the 50th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Gall’s Law</title>
                <link>https://matthiasott.com/notes/galls-law</link>
                <pubDate>Wed, 29 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/galls-law</guid>
                <description><![CDATA[
                    
																																	<p>In 1963, the people at NASA needed a building. And not just any building. It had to be large enough to be able to assemble the enormous space vehicles NASA designed as part of their massive effort to send astronauts to the Moon. The building that was completed in 1966 allowed for the <em>vertical</em> assembly of rockets like the Saturn V, and it is to this date the largest single-story building in the world. Located at Kennedy Space Center in Florida, the “Vehicle Assembly Building” (VAB) is <a href="https://www.nasa.gov/centers/kennedy/pdf/718659main_VAB.pdf">160 meters tall, 218 meters long, and 160 meters wide</a>, with a volume 3.75 times that of the Empire State Building, and built to withstand hurricanes. The building is a vast and complex system that includes five overhead cranes used to pick up the heaviest elements of rockets and to place them carefully into position ahead of launch. It also has the largest doors in the world, through which the rockets roll to the launch pads.</p>
<p>Yet, after the Vehicle Assembly Building was completed, it had a surprise in store: It creates its own weather. The building is so vast that, on very humid days, rain clouds form below the ceiling and about 10,000 tons of air conditioning equipment are needed to control the moisture inside. And so it only takes one hour to completely replace the air in the building. Although, rumor has it that the folks at NASA often just leave the doors open…</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 67.1875%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/NASA-VAB-Saturn-V-rollout.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/NASA-VAB-Saturn-V-rollout.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/NASA-VAB-Saturn-V-rollout.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/NASA-VAB-Saturn-V-rollout.jpg" alt="Nasa Vab Saturn V Rollout" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p>Aerial view of the Apollo 11 Saturn V rollout from the Vehicle Assembly Building. 20 May 1969. <em>Image: NASA, research by J. L. Pickering.</em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>That a building can have its own weather is not only a good story to start a blog post with, but it also teaches us something about the nature of complex systems: They come with unintended consequences and unexpected behavior. “The larger the system, the greater the probability of unexpected failure,” <a href="https://en.wikipedia.org/wiki/John_Gall_(author)">John Gall</a> wrote in <em>General Systemantics</em>, his seminal book about how systems work – and how they fail. In the book, <a href="https://archive.org/details/systemantics00john/">which can be borrowed from the Internet Archive</a>, Gall offered many principles of systems design, especially with regards to complex systems. One of those principles has become known as Gall’s Law:</p>

																												
																																		<figure class="quote">
							<blockquote><p>A com­plex sys­tem that works is invari­ably found to have evolved from a&nbsp;sim­ple sys­tem that worked. A&nbsp;com­plex sys­tem designed from scratch nev­er works and can­not be patched up to make it work. You have to start over with a&nbsp;work­ing sim­ple system.</p>
</blockquote>
												<figcaption>John Gall, <cite>General Systemantics</cite> </figcaption>
										</figure>
																
																																	<p>He might have a point here: Many of the complex systems around us that work, weren’t designed from scratch. They evolved from a simpler system, a basic set of rules and conventions. Nation-states, companies, the World Wide Web – it would have been impossible to design them in all their complexity without failing miserably. And history has seen countless failed attempts at designing complex systems, from <a href="https://urbanutopias.net/2019/06/01/le-corbusier/">Le Corbusier’s radically geometric ideas for urban planning</a> to <a href="https://www.curbed.com/2019/6/7/18657121/brasilia-brazil-urban-planning-architecture-design">the utopia that is Brasilia</a> to the sinking of the Titanic.</p>
<p>So when you set out to design a system, whether it is a business, a team, its workflows, a website, or a design system, it is good to remember Gall’s Law. A complex system designed from scratch never works. Start with the simplest system you can come up with and enhance it incrementally. Don’t overspecify, but leave enough room so that connections and structures can evolve and grow over time. Loose systems last longer and work better. Lastly, be aware that your system might fail at any time. At least, <a href="https://en.wikipedia.org/wiki/Murphy%27s_law">anything that can go wrong will go wrong</a>, right? So also ask yourself: <a href="https://vimeo.com/217697727">How well does it fail?</a> </p>
<p>Designing a simple system is much harder than designing a complex system. But at least you might end up with a system that actually works.</p>
<p>-</p>
<p><em>This is the 49th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Finite and Infinite Games</title>
                <link>https://matthiasott.com/notes/finite-and-infinite-games</link>
                <pubDate>Tue, 28 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/finite-and-infinite-games</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://en.wikipedia.org/wiki/Finite_and_Infinite_Games">According to James P. Carse</a>, there are at least two types of games: Finite games and infinite games. Finite games have a clear beginning and end, a distinct set of rules and boundaries, and we play them for one purpose: to win. Take any match of chess, tennis, football, or Scrabble as an example. Infinite games are different. We don’t play them to win, because they don’t have an end. We play them for the joy of playing in itself and with the purpose of continuing the play. Life itself is such an infinite game, but so are businesses, relationships, careers, or the Web.</p>
<p>Looking at your life, or any endeavor, as an infinite game completely changes your perspective. As you want to keep playing the game, you start to look to the future, think about practical solutions to problems, constantly look around for opportunities, and invest in learning to be prepared for the unknown. But most importantly, you realize that the struggle, the process of creation and growth, is not only an essential part of the game, it is actually the reward for playing it.</p>
<p>-</p>
<p><em>This is the 48th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Range</title>
                <link>https://matthiasott.com/notes/range</link>
                <pubDate>Mon, 27 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/range</guid>
                <description><![CDATA[
                    
																																	<p>What is the right strategy to achieve greatness and succeed in a specific domain? If you believe the predominant narrative in many efficiency-oriented societies today, the answer is clear: Focus on one thing early in life to have a head start and invest at least <a href="https://www.theguardian.com/science/2019/aug/21/practice-does-not-always-make-perfect-violinists-10000-hour-rule">the famous 10,000 hours of practice</a> to become a master at it. Excellence and ingenuity, the story goes, are a result of hyperspecialization, grit, and relentless focus. Except this might actually not be true.</p>
<p>In “<a href="https://davidepstein.com/the-range/">Range</a>,” David Epstein tells a different story: Neither is an early head start and narrow specialization necessary to achieve greatness, as he demonstrates with several examples from Roger Federer, who played many different sports like skiing, basketball, and soccer as a child until settling for a career in tennis, to the “figlie di coro,” the virtuoso musicians of eighteenth-century Venice, who played not only the violin but also several other instruments like the cello, oboe, lute, mandolin, harpsichord, and “viola d’amore”. Nor is hyperspecialization the primary source of creativity, innovative ideas, and scientific breakthroughs later in life. From Vincent Van Gogh to Django Reinhardt to several inventors and Nobel laureates, the book is full of gripping stories and thought-provoking research showing that mental meandering, personal experimentation, and cross-disciplinary thinking are sources of power, creativity, and true innovation.</p>
<p><em>Range</em> is a powerful reminder that there is a place for the generalists, the curios polymaths, among us. That it is okay, also for your children, to go broad and try different paths until you find what really fits you – and who you really are. That when you face a “wicked” problem, diverse experience beyond the boundaries of a specific field is a huge advantage because it allows you to think outside the box. And that having range can be invaluable in connecting seemingly unrelated disciplines and concepts in new ways.</p>
<p>Like many other domains, the web industry is becoming more and more specialized. And many of us seem to believe that only by becoming specialists ourselves, we can keep up with the increasing complexity and diversity of the Web and its countless technologies. We invent ever more specific positions and job titles, read ever more specific books, and go to ever more specific conferences. And so you have to decide: Are you a designer or a developer? Front-end or back-end? Front of the front-end or back of the front-end? CSS or JavaScript? Angular or React? And <a href="https://css-tricks.com/the-great-divide/">the gaps between the disciplines are growing</a>.</p>
<p>Yet, many of us out there are allrounders who love to tinker, prototype, experiment, and build. Many of us are interested in the most diverse topics and feel most at home at the interfaces between design, technology, and the arts. And, as David Epstein shows, the more a domain specializes, the more it depends on generalists who see the bigger picture and make connections specialists are unable to see. Research suggests that broad individuals can even be more valuable than a diverse group of specialists. So the next time someone calls you a “Jack of all trades, master of none,” gift them a copy of <em>Range</em>.</p>
<p>Being a generalist is not a sign of weakness – it is a sign of strength. And, with <a href="https://bradfrost.com/blog/post/frontend-design/">job titles like Front-end Designer emerging</a>, it seems as if the industry is slowly recognizing this. So embrace your seemingly unimportant and inefficient interests. Paint, dance, code, run, read, write, sing, play, and dabble. And let nobody tell you that a designer shouldn’t write production code or a developer can’t also be a brilliant writer. If you are a generalist, be a generalist. It is who you are.</p>
<p>-</p>
<p><em>This is the 47th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Lateral Thinking With Withered Technology</title>
                <link>https://matthiasott.com/notes/lateral-thinking-with-withered-technology</link>
                <pubDate>Thu, 23 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/lateral-thinking-with-withered-technology</guid>
                <description><![CDATA[
                    
																																	<p>One evening in the late 1970s, an engineer from Kyoto was riding home on the Shinkansen, when he recognized the man sitting next to him playing around with his LCD calculator, punching buttons in boredom. The engineer, who worked at a toy and gaming company, had an idea: What if commuters could kill their time with a portable device that was both a watch and a gaming device? The engineer went to work and, after its release in 1980, the product that resulted from his idea became a huge success. Its name: Nintendo Game and Watch.</p>
<p><a href="https://v1.escapistmagazine.com/articles/view/video-games/issues/issue_87/490-Searching-for-Gunpei-Yokoi">Not too much is known about the life of Gunpei Yokoi</a>, the designer and engineer behind many of Nintendo’s most successful products. To control a game called “Donkey Kong” on the Game and Watch, Yokoi invented <a href="https://en.wikipedia.org/wiki/D-pad">the D-Pad</a>, the four-way directional control that can be found on almost all modern game consoles and controllers. He went on to produce games like Metroid and the Super Mario franchise and, in 1989, Nintendo introduced the product that would become Yokoi’s greatest success: The Game Boy.</p>
<p>Both the Game and Watch and the Game Boy were innovative products but there was something about them that one wouldn’t necessarily expect from such breakthrough devices: When it came to their hardware, they weren’t cutting-edge. The LCD screens used in both devices, for example, were already cheap and prevalent at the time. While competitors were outdoing each other with the latest hardware features like color displays and computing power, Nintendo focused on providing great gameplay with cheap and readily available technology. Gunpei Yokoi called this philosophy “lateral thinking with withered technology”.</p>
<p>Using cheap and readily available technology and combining it in new ways was a stroke of genius. Hardware-wise, Nintendo could not compete with larger competitors at the time. But in Yokoi‘s view, this wasn’t that much of a problem. As David Epstein writes in his book “<a href="https://davidepstein.com/the-range/">Range</a>,” Yokoi was sure that once users were playing a game with the gameplay good enough to be fully drawn in, they wouldn’t care at all about technical details like screen resolution or colors. And thus, the seeming disadvantage of using cheap technology turned into a huge advantage: The Game Boy was affordable, durable, portable, and played for hours on AA batteries. And because developers were already familiar with the underlying technology, they could easily build new games for the platform. By using “old” technology, Yokoi removed barriers to entry for both developers and users. As a result, with more than 118 million units sold, the Game Boy became the most successful game console of the 20th century.</p>
<p>I feel like we could use a bit more of Yokoi’s philosophy on the Web. With all the craze about the newest and dopest tech, it is easy to mistake using the latest technology for progress and innovation. It is, however, important to remember that technology is only a means to an end and that there is an alternative route that can be equally, if not more, successful. A route that puts the user and the experience first. A route of inventing new products not by using the latest technology available but by applying and combining existing technology in new ways and contexts. </p>
<p>The Web now consists of an ever-growing number of different frameworks, methodologies, screen sizes, devices, browsers, and connection speeds. “Lateral thinking with withered technology” – progressively enhanced – might actually be an ideal philosophy for building accessible, performant, resilient, and original experiences for a wide audience of users on the Web.</p>
<p>-</p>
<p><em>This is the 46th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Idea Machine</title>
                <link>https://matthiasott.com/notes/the-idea-machine</link>
                <pubDate>Wed, 22 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-idea-machine</guid>
                <description><![CDATA[
                    
																																	<p>I used to dream of a magical machine. It was about as big as a microwave, all silver metal (with rivets, of course), and it had little knobs, lamps, and indicators everywhere. On the left, there were two buttons: One was green and the other one red. On the right, the machine had a tiny slot. Whenever a person pressed one of the two buttons, the machine would start rattling and hissing, all of the little lamps would start blinking and all the indicators would start, well, indicating. After a few seconds, a small slip of paper, just like the one you find inside a fortune cookie, would emerge from the slot on the right of the machine. On it: An idea. But not any idea. A brilliant, life-changing idea. Or, if you had decided to press the red button, a horridly bad idea. You would only be able to use the machine once a day and, naturally, most people would use the green button almost all of the time.</p>
<p>It’s not hard to see why the image of such an idea-generating machine is so alluring: Generating good ideas is one of the hardest things to do. People outside of the creative industry often say: “Oh, it must be so hard to come up with new ideas every day!” But coming up with ideas, in general, is not the problem. The hard thing is to identify the ideas that work. Although we are all able to envision possible futures, nobody can be sure if an idea will <em>actually</em> prove to be valuable in the future. Only in hindsight do we know which ideas were great ideas in the first place.</p>
<p>Great ideas also don’t come to you in a flash of genius. You have to generate them. Research suggests that the first step to generate good ideas is to come up with <em>a lot</em> of ideas. <a href="https://www.chasejarvis.com/blog/the-science-of-making-work-not-suck-with-adam-grant/">If you generate about 10 to 15 ideas, you have a good chance of having generated a few good ones</a>. What often happens, though, is that we tend to fall in love with the first idea that comes to mind. You also might have heard people say that the first idea is generally the best. But that is simply not true. First ideas are the most obvious ideas and often the most unoriginal and outdated. They might be based on a solution you already came up with long ago and that you now use instead of thinking about the real problem, for example. Or, it is an idea that many others would also come up with as their first idea. So when you start to evaluate which ideas are the most promising, try to be objective and generate as much insight into how and why an idea might work as possible. For example, by building quick prototypes. <a href="https://justinmberg.com/wp-content/uploads/Berg_2019_OBHDP.pdf">Researcher Justin M. Berg also found in an intriguing study</a> that when we evaluate and rank our ideas by their potential creativity, it is not our favorite idea that will be the best one, but actually the second on the list. While the favorite idea might indeed work, the idea that participants thought was their second best, often proved to be more original and, ultimately, more successful. So if we were to build an idea machine, would it spit out the first or the second idea on the list?</p>
<p>The most interesting question, though: Would the machine generate all those ideas from combining seemingly unrelated knowledge from different domains? I would hope so. Because, as  David Epstein brings out brilliantly in <a href="https://davidepstein.com/the-range/">his latest book “Range”</a>, the most groundbreaking and innovative ideas are often the ones that transcend the boundaries of one specific domain and ingeniously combine different concepts in new, previously unthinkable ways.</p>
<p>-</p>
<p><em>This is the 45th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Hell Yeah or No</title>
                <link>https://matthiasott.com/notes/hell-yeah-or-no</link>
                <pubDate>Tue, 21 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/hell-yeah-or-no</guid>
                <description><![CDATA[
                    
																																	<p>Derek Sivers just published a new book. It is called “HELL YEAH OR NO” and you can <a href="https://sivers.org/n">get it on Derek’s website</a>. Having enjoyed Derek’s <a href="https://sivers.org/blog">blog articles</a> and podcast a lot, buying his book, which also includes an audio version, was a no-brainer for me. Derek is a musician, producer, circus performer, and entrepreneur, who, as a musician in New York City, founded the mail-order company CD Baby to distribute his and his friends’ music. It grew into a successful online business. In 2007, he <a href="https://sivers.org/done">decided to sell CD Baby</a> and since then, he has been writing and speaking about entrepreneurship, creativity, and learning.</p>
<p>The new book is a collection of ideas and approaches to life he collected on his website over the years. And it is full of advice that is often so simple yet hits the nail on the head in a charming, pragmatic, and thoughtful way.</p>
<p>Just to give you two examples:</p>
<p>First, take the title idea of the book, “HELL YEAH OR NO.” We all tend to say yes to far too many things. And before we know it, we are so busy that when a real opportunity comes our way, we don’t have the time and mind to react and will miss an opportunity we would have been excited about. So Derek suggests that unless you are feeling “Hell yeah, that would be awesome!” about something, say no. It makes the decision much easier and you can make sure that once a great opportunity arrives, you can give it your full attention.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Refuse almost every­thing. Do almost noth­ing. But the things you do, do them all the&nbsp;way.</p>
</blockquote>
												</figure>
																
																																	<p>Equally intriguing is this other idea from the book: Some people are more present-focused, while others are more future-focused. Present-focused people only live in the present moment and for today and, for example, are playful, impulsive, and sensual. They can get fully immersed in the moment and lose track of time. Future-focused people, on the other hand, see the present more as a stepping stone for their future selves. They can see their future goals and delay gratification to reach them and “live in their minds, picturing other selves, scenarios, and possible futures.” Think about yourself and the people near and dear to you: Who is more present-focused and who is more future-focused? In the end, as Derek points out, both mindsets are necessary.</p>

																												
																																		<figure class="quote">
							<blockquote><p>You need a&nbsp;present-focus to enjoy life. But too much present-focus can pre­vent the deep­er hap­pi­ness of achievement.</p>
</blockquote>
												</figure>
																
																																	<p>-</p>
<p><em>This is the 44th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Progressive</title>
                <link>https://matthiasott.com/notes/progressive</link>
                <pubDate>Mon, 20 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/progressive</guid>
                <description><![CDATA[
                    
																																	<p>Ethan Marcotte wrote <a href="https://twitter.com/beep/status/1285233375452835840">this on Twitter on Monday</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Nos­tal­gia for the hey­day of web design has to be bal­anced with the knowl­edge that much of what we did <span class="push-double"></span>​<span class="pull-double">“</span>in the old days” was woe­ful­ly, thor­ough­ly inac­ces­si­ble. We should acknowl­edge what an era did well, sure. But we need to be crit­i­cal and clear-eyed about what it <em>didn’t</em> do well — and whom it excluded.</p>
</blockquote>
												</figure>
																
																																	<p>Inclusive design has come a long way. Of course, we still need to do much, much better. Even in 2020, <a href="https://webaim.org/projects/million/">the vast majority of websites still isn’t accessible</a>. But at least, there seems to be a raised awareness for the topic within the web community. In the last few years, several books, articles, talks, and even whole conferences around inclusive design have certainly left their mark. Many of us now know that the privilege of building websites comes with the responsibility to build websites for everyone and, in this way, to provide access to technology for everyone. </p>
<p>Access to technology for everyone doesn’t come easy, though. As Ethan points out, “in the old days”, websites were highly inaccessible. The Flash era didn’t do much to improve accessibility on the Web either. Screens readers can scan linear, static HTML, but the dynamic, constantly changing nature of Flash sites made it almost impossible to optimize a Flash site so that a screen reader user would have a valuable experience. Besides that, Flash websites often also needed a lot of bandwidth and at least a decent CPU to run smoothly. And because you basically could do anything in a Flash movie, people did everything: There were no rules, no standards, no patterns, no fallbacks.</p>
<p>The progress we have nevertheless seen over the last two decades is the result of an ever-growing number of people pushing hard against the status quo. And this is not only true for accessibility, but also other essential building blocks of a modern, inclusive Web: Web standards, usability, performance, security, interoperability, and robustness. The Web of today is in many ways so much more mature than the Web of the early 2000s. And the progress in all of those areas makes the Web more inclusive already.</p>
<h2>Enhance!</h2>
<p>One of the most useful strategies – and philosophies – to build inclusive experiences for the Web is progressive enhancement. 
<a href="http://hesketh.com/publications/inclusive_web_design_for_the_future.html">Coined in 2003 by Steven Champeon and Nick Finck</a>, it describes the idea that instead of building exclusive websites for latest browsers and devices, it is much smarter to build a basic experience first which is then progressively enhanced (aha!) to provide a richer, more advanced experience as opportunity allows. That way, you make sure that your product is usable by people with any kind of device, on any kind of network connection, and with any kind of assistive technology.</p>
<p><a href="https://resilientwebdesign.com/chapter6/#Identify%20core%20functionality">Jeremy Keith likes to break progressive enhancement down into three steps</a> that are as powerful as easy to remember:</p>
<ul>
<li><em>Identify core functionality.</em></li>
<li><em>Make that functionality available using the simplest possible technology.</em></li>
<li><em>Enhance!</em></li>
</ul>
<p>Sounds straightforward, right? Yet, wherever I look, I can’t escape the feeling that this approach is still, even after almost 20 years, more of an exception rather than the rule. Yes, I know a lot of people who know what progressive enhancement means and also practice it. They start with structured content, or at least with semantic HTML, add CSS that works well in older browsers, sprinkle in all the new layout goodness for modern browsers, and, in the end, they enhance all of this with JavaScript – including better accessibility support. But I have also worked with even more people who have no idea what progressive enhancement even means. They might have heard of the term but also often mistake it for graceful degradation. And who can blame them? The complexity of the modern Web is breathtaking and the things one could learn and incorporate into their practice endless. But that’s exactly why learning about progressive enhancement would be so valuable for those people: Progressive enhancement is not yet another technology or passing fad. It is a lasting strategy, a principle, to deal with complexity because it lets you build inclusive, resilient experiences that work across different contexts and that will continue to work, once the next fancy JavaScript framework enters the scene – and vanishes again.</p>
<p>But why don’t more people practice progressive enhancement? Is it only because they don’t know better? This might, in fact, be the primary reason. On top of that, especially many JavaScript developers seem to believe that it is not possible or necessary to build modern websites and applications that way. All they know is their hammer and so <a href="https://adactio.com/journal/17140">they just can’t imagine how one could possibly build a product like Hey! without megabytes of client-side logic, hot module replacement, and virtual DOMs</a>. Meanwhile, they introduce huge amounts of technical debt and continue to build exclusive experiences that remind me a lot of the Flash era. Even progress bars are making a comeback. Can you tell which way the wind is blowing?</p>
<p>In my experience, it is also quite hard to change the culture and processes of agencies and web development studios. Many designers don’t know about progressive enhancement either and modern design tools also don’t support the layered approach of progressive enhancement. Imagine what a difference it would make if a designer could turn off a web font in her design tool or even switch off all the styles to see nothing but the underlying semantic structure of her layout.
For now, the only design tool <a href="https://twitter.com/mxbck/status/1263899490093879297">that can do such things</a>, is the browser. And this is why I will continue to advocate for more interdisciplinary collaboration within teams and more prototyping. Because in order to practice progressive enhancement well, every member of the team has to be able to make well-informed decisions. If a designer never sees a design in its most basic form, how can she possibly improve this state of the system?</p>
<p>Some look at progressive enhancement like a thing from the past of which the old guard just can’t let go. But to me, progressive enhancement is the future of the Web. It is the basis for building resilient, performant, interoperable, secure, usable, accessible, and thus inclusive experiences. Not only for the Web of today but for the ever-growing complexity of an ever-changing and ever-evolving Web.</p>
<p>If you want to learn more about progressive enhancement, read those two books to get started: </p>
<p><strong>Aaron Gustafson’s <a href="https://adaptivewebdesign.info/">Adaptive Web Design: Crafting Rich Experiences with Progressive Enhancement</a></strong> in invaluable and explains the core idea as well as many examples very well. You can even <a href="https://adaptivewebdesign.info/1st-edition/read/">read the first edition for free</a> – and then buy the second edition!</p>
<p><strong><a href="https://resilientwebdesign.com/">Resilient Web Design</a> by Jeremy Keith</strong> is a delightful journey through the history of the Web that brilliantly explains what it means to build for the Web and why progressive enhancement is at the core of creating resilient, future-proof experiences. It is a free online book.</p>
<p>-</p>
<p><em>This is the 43rd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Their Fault</title>
                <link>https://matthiasott.com/notes/their-fault</link>
                <pubDate>Fri, 17 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/their-fault</guid>
                <description><![CDATA[
                    
																																	<p>It is clearly their fault.</p>
<p>The clients just don’t get design.  <br>
The designers only care about how it looks.  <br>
The developers have no sense for aesthetics.  <br>
CSS is broken.  <br>
The users are just too stupid.    </p>
<p>It is clearly their fault. Is it, though?</p>
<p>Whenever we struggle or fail, our first instinct is often to blame others or external factors beyond our control. Psychologists have a name for that: <a href="https://en.wikipedia.org/wiki/Self-serving_bias">Self-serving bias</a>. When we exhibit the self-serving bias, it is primarily to boost our self-esteem. We take credit for personal success to feel better and more confident and at the same time try to preserve our confidence by denying that we might also be responsible for personal failure.</p>
<p>The self-serving bias is a bias, though. So it would be fatal to simply accept it and keep on blaming external factors. Because we might be mistaken. In fact, we often are. And this keeps us from identifying the real problems and changing our behavior accordingly. Take the statement “the client just doesn’t get design“, for example. It might be true that the client has a hard time understanding your design or that she has no eye for great typography. But if you have to change your design against your will or the project even fails, blaming the client conceals the true problem: That you failed to communicate the intention of your design or the intricacies and importance of good typography. Maybe you were not voicing your opinion loud enough. Maybe you were too complacent or not optimistic enough. Or maybe you also work in an environment, where designers don’t present and explain their work in front of the client by themselves. Whatever it is, though, it is very likely to happen again if you hide behind the self-serving bias and don’t acknowledge the fact that something is wrong.</p>
<p>What if it is actually <em>not</em> their fault?</p>
<p>What if clients <em>could</em> get design? What if better collaboration between designers and developers would improve mutual understanding? What if CSS isn’t broken but you simply don’t know it good enough yet? What if users are just the way they are and, in reality, your design just does not cut the mustard yet?</p>
<p>What if we actually could change all of that?</p>
<p>-</p>
<p><em>This is the 42nd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Always at Your Service</title>
                <link>https://matthiasott.com/notes/always-at-your-service</link>
                <pubDate>Thu, 16 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/always-at-your-service</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://adactio.com/">Jeremy Keith</a> and the team at <a href="https://podcast.clearleft.com/">Clearleft have started a new podcast</a>. In each episode, they are looking at a different theme related to design, development, and beyond. The <a href="https://podcast.clearleft.com/season01/episode01/">first episode covered design systems</a> and was already very worthwhile. But I especially enjoyed <a href="https://podcast.clearleft.com/season01/episode02/">the latest episode</a> about a topic that has become a bit of a hyped buzzword over the last few years: Service design.</p>
<p>Rich with anecdotes and stories, the episode started with an investigation: What is service design, anyway? This was when I realized that I had always assumed to know what service design is, but – maybe like a few other people, too – I hadn’t <em>really</em> thought about where it differs from, let’s say, user experience design. Because it is tricky: Depending on how you define service design, it can actually be quite hard to distinguish it from other fields. User experience design? Customer experience design? Digital service design? Where do all these terms overlap and what, in the end, constitutes service design? Or, in Jeremy’s words: “Maybe I should draw a diagram.”</p>
<p>At its core, service design is the design of every aspect of a customer journey, including every possible touchpoint, physical products, and also human interactions, for example, with service personnel. This sounds like service design is literally everything. And it reminds me a lot of <a href="https://www.youtube.com/watch?v=9BdtGjoIN4E">the charming video of Don Norman</a> talking about the term “User Experience”:</p>

																												
																																		<figure class="quote">
							<blockquote><p>[The user expe­ri­ence] is every­thing that touch­es upon your expe­ri­ence with the prod­uct. And it may not even be near the prod­uct. It may be when you’re telling some­body else about it. That’s what we meant when we devised the term <span class="push-single"></span>​<span class="pull-single">‘</span>user expe­ri­ence’ […] It’s every­thing: it’s the way you expe­ri­ence the world, it’s the way you expe­ri­ence your life, that’s the way you expe­ri­ence the ser­vice, or — yeah – an app or a&nbsp;com­put­er sys­tem — but it’s a&nbsp;sys­tem that’s <em>every­thing</em>.</p>
<p>Got it?</p>
</blockquote>
												<figcaption>Don Norman </figcaption>
										</figure>
																
																																	<p>So where is the difference between user experience design and service design, then? The answer lies in the respective names: User experience design is all about the user. Who is she? What are her needs, wants, and problems? All the research and all the consecutive design work are focussed on creating a good experience for the people who are using the product – or service. Service design goes one layer deeper though. Think about what is necessary for a good service: Imagine you are sitting in a café. You order an espresso and a chocolate cake. In order for both things to arrive at your table in great quality and in time, a friendly waiter is not enough. From the person operating the coffee machine to the quality of the coffee beans to the people in the kitchen and how well they work together – everything about the service, including the things a customer can’t see, has to be well-orchestrated and carefully organized.  </p>
<p>While user experience design focuses primarily on the experience of using the product or service, service design focuses primarily on the design of the service in the background – with all the people and processes involved – which makes a good user experience possible in the first place. An often-used metaphor in service design is that of frontstage vs. backstage: Depending on whether a component of a service is happening in front of or behind the curtain, it may be visible to the user or not. Yet underlying structures, processes, technologies, principles, corporate culture, and the “experience of the employee” ultimately define the quality of the service. This does not only make a lot of sense but it also makes me want to delve into service design a bit deeper in the future.</p>
<p>Lou Downe’s <a href="https://good.services/15-principles-of-good-service-design">15 Principles of Good Service Design</a> might be a good starting point.</p>
<p>-</p>
<p><em>This is the 41st post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Wicked Design</title>
                <link>https://matthiasott.com/notes/wicked-design</link>
                <pubDate>Wed, 15 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/wicked-design</guid>
                <description><![CDATA[
                    
																																	<p>Problems come in two flavors. There are the problems we know how to solve, or at least know that there is a solution to them. Like mathematical equations, for example, or beating another chess player in five moves. For those problems, the mission is clear. And then, there are <a href="http://www.sympoetic.net/Managing_Complexity/complexity_files/1973%20Rittel%20and%20Webber%20Wicked%20Problems.pdf">“wicked” problems</a>. Wicked problems are problems that don’t have an immediate, obvious solution to them. They are complex, messy, full of unknown unknowns, and thus difficult to solve, often even unsolvable. Solutions to wicked problems are also not right or wrong, but rather good or bad. Wicked problems include all kinds of economic, political and societal issues, healthcare, the COVID-19 crisis, climate change, urban development, education, poverty, or social justice. But also: Design.</p>
<p>Design is a wicked problem because we have to deal with the complexity of changing contexts, unpredictable user behavior, differing stakeholder interests, and new technologies and materials all the time. But more importantly, design is a wicked problem because at the very moment we start, we have no idea how an appropriate solution might look like. Be it a music streaming service, a corporate website, or an interface for an elective stove – neither do we know upfront how the final solution has to look like, nor does a “right” solution exist. The solution can be a good or bad solution. But which one it will be in the end, will be determined by the process and the decisions we make along the way.</p>
<p>Too many teams and agencies, though, approach design with a technical rationality that just doesn’t fit the true nature of design as a wicked problem. They plan project timelines with distinct phases, work in linear workflows with static layouts, and hope to increase the efficiency of their processes over time. Yet, how can you become efficient at solving problems that are messy and different every time? Once you truly understand that design is a wicked problem, it becomes obvious that we have to approach design differently. Design is not chess. Truly “efficient” design is a result of a more flexible approach that lets us explore and evaluate different solutions, that leaves room for the emotional, irrational, surprising aspects of good design, and that lets us constantly redefine the problem space once we have learned more about our problem. Because if design is a wicked problem, we only have found a solution when we have successfully defined the problem.</p>
<p>-</p>
<p><em>This is the 40th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Scrolling Elements Into View</title>
                <link>https://matthiasott.com/notes/scrolling-elements-into-view</link>
                <pubDate>Tue, 14 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/scrolling-elements-into-view</guid>
                <description><![CDATA[
                    
																																	<p>Although you should not mess with scrolling unless it is <em>really</em> necessary, scrolling an element into view is something that is needed from time to time. In my case, I recently wanted to scroll to the top of a table after a user clicked on the pagination underneath the table. One way to scroll to an element is to use the good old anchor link. While this is by far the most reliable and resilient option to scroll an element into view, it is not always possible and you have to rely on a bit of JavaScript instead. For a long time, the most reliable way to do this was to use jQuery and scroll the body to the top offset of the element you want to scroll into view:</p>

																												
																												<pre><code class="language-js">$('html, body').scrollTop($(element).offset().top);</code></pre>
																						
																																	<p>If you want to have a smooth scroll animation as well, you could use jQuery’s <code>animate()</code> function like so:</p>

																												
																												<pre><code class="language-js">$('html, body').animate({
    scrollTop: $(element).offset().top
}, 500);</code></pre>
																						
																																	<p><a href="https://codepen.io/matthiasott/pen/LYGJpoO">Here is a Codepen for this example</a>:</p>

																												
																												<p class="codepen" data-height="480" data-theme-id="31848" data-default-tab="js,result" data-user="matthiasott" data-slug-hash="LYGJpoO" data-preview="true" style="height: 480px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Scroll Into View – with jQuery">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/LYGJpoO">
  Scroll Into View – with jQuery</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<h2>A Native, Modern Solution</h2>
<p>While you <em>could</em> still do it that way, times have changed and modern browsers now come with <a href="http://youmightnotneedjquery.com/">native behaviors that can provide better alternatives to jQuery</a> or other third-party scripts. This lets you save one dependency and, in the case of <code>animate()</code>, you might even end up with superior browser performance.</p>
<p>One way to scroll an element into view with native browser APIs is to rewrite the jQuery solution above so that it only uses element properties available in the browser:</p>

																												
																												<pre><code class="language-js">// Get the size and position of our element in the viewport
var rect = element.getBoundingClientRect();
// The top offset of our element is the top position of the 
// element in the viewport plus the amount the body is scrolled
var offsetTop = rect.top + document.body.scrollTop;
// Now we can scroll the window to this position
window.scrollTo(0, offsetTop);</code></pre>
																						
																																	<p>As you can see, we have achieved the same result with only three lines of code and both <a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect"><code>Element.getBoundingClientRect()</code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo"><code>Window.scrollTo()</code></a> have full browser support. But one thing is still missing: The animation. There are two ways we can add smooth scrolling to this solution. The first is to use <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior">the native CSS feature <strong>scroll-behavior</strong></a>:</p>

																												
																												<pre><code class="language-css">html {
  scroll-behavior: smooth;
}</code></pre>
																						
																																	<p><a href="https://codepen.io/matthiasott/pen/qBbMbro">Again, have a look at the Codepen for this example</a>:</p>

																												
																												<p class="codepen" data-height="480" data-theme-id="31848" data-default-tab="js,result" data-user="matthiasott" data-slug-hash="qBbMbro" data-preview="true" style="height: 480px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Scroll Into View – with CSS scroll-behavior: smooth">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/qBbMbro">
  Scroll Into View – with CSS scroll-behavior: smooth</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<p></p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<p>Nice! Still no need to mess around with JavaScript animations and we have a robust, progressively enhanced solution. Setting <code>scroll-behavior</code> to <code>smooth</code> will also work for anchor links, by the way. There is only one caveat: Some browsers, like <a href="https://caniuse.com/#feat=css-scroll-behavior">Internet Explorer and Safari, don’t support <code>scroll-behavior</code> yet</a>. </p>
<p>So if you want to support those browsers, too, you might want to use <a href="https://developer.cdn.mozilla.net/de/docs/Web/API/Element/scrollIntoView"><code>element.scrollIntoView</code></a> instead:</p>

																												
																												<pre><code class="language-js">element.scrollIntoView({ behavior: 'smooth' });</code></pre>
																						
																																	<p><a href="https://caniuse.com/#feat=scrollintoview">Browser support for scrollIntoView is good</a>, but a few browsers like – you guessed it – IE and Safari don’t support the <code>smooth</code> behavior option. But fear not, there is <a href="https://github.com/iamdustan/smoothscroll">a polyfill available</a> that adds this functionality to those browsers.</p>
<p><a href="https://codepen.io/matthiasott/pen/GRoXqMQ">Play around with this Codepen if you like</a>:</p>

																												
																												<p class="codepen" data-height="480" data-theme-id="31848" data-default-tab="js,result" data-user="matthiasott" data-slug-hash="GRoXqMQ" data-preview="true" style="height: 480px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Scroll Into View – with element.scrollIntoView">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/GRoXqMQ">
  Scroll Into View – with element.scrollIntoView</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<h2>Scroll Into View With GSAP</h2>
<p>There is one more interesting option to achieve our scroll into view, and that is using the <a href="https://greensock.com/gsap/">Greensock Animation Platform</a>, aka GSAP, a JavaScript animation library. Let’s say you want to use hardware-accelerated animations in other corners of your site, too, then it can be a good idea to use GSAP to handle the scrolling as well. For one, you can stick to one solution and don’t have to jump from GSAP to <code>element.scrollIntoView</code> and back, but you will also be able to use a <a href="https://greensock.com/docs/v3/GSAP/Timeline">timeline</a> in GSAP and easily combine the scroll animation with other animations.</p>
<p>The scroll position of the window can be animated in Greensock with the help of the <a href="https://greensock.com/docs/v3/Plugins/ScrollToPlugin">ScrollToPlugin</a>:</p>

																												
																												<pre><code class="language-js">gsap.to(window, {duration: 0.75, scrollTo: element});
</code></pre>
																						
																																	<p>Another advantage of using Greensock is that you have more control over the animation timing and the <a href="https://easings.net/">easing functions</a>, meaning the style of animation, and can make your animation <em>really</em> smooth and fine-tune it to your needs.</p>

																												
																												<pre><code class="language-js">gsap.to(window, {
    duration: 1.2,  ease: "power4.inOut", scrollTo: element
});</code></pre>
																						
																																	<p>Here, we are using a slightly slower animation with a nice, soft easing curve. <a href="https://codepen.io/matthiasott/pen/KKVxqyY">Play around with this Codepen</a> to try how the animation feels. If you are unsure which easing functions are available in GSAP, try the <a href="https://greensock.com/ease-visualizer">Ease Visualizer</a>.</p>

																												
																												<p class="codepen" data-height="480" data-theme-id="31848" data-default-tab="js,result" data-user="matthiasott" data-slug-hash="KKVxqyY" data-preview="true" style="height: 480px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Scroll Into View – with Greensock (GSAP)">
  <span>See the Pen <a href="https://codepen.io/matthiasott/pen/KKVxqyY">
  Scroll Into View – with Greensock (GSAP)</a> by Matthias Ott (<a href="https://codepen.io/matthiasott">@matthiasott</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
																						
																																	<h2>What about A11y?</h2>
<p>Depending on how much you scroll around, scroll around, scroll up, scroll up, and scroll down on the site, you will have to make sure that keyboard users don’t get lost. If you change the scroll position via JavaScript, keyboard focus might still not be updated. So when the user starts to navigate again, the site jumps back to where it was before you triggered the scrolling. Heather Migliorisi has written <a href="https://css-tricks.com/smooth-scrolling-accessibility/">a nice post for CSS-Tricks about what to look for</a> to make sure you build an accessible solution.</p>
<p>Another problem can be that people with a vestibular disorder can get sick when a site moves around too fast. And while those people can opt-out of playing video games that could become dangerous for them, visiting your site should not trigger motion sickness or an epileptic fit. One solution with <a href="https://caniuse.com/#feat=prefers-reduced-motion">good browser support</a> is the <code>prefers-reduced-motion</code> media query (<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion">1</a>, <a href="https://css-tricks.com/introduction-reduced-motion-media-query/">2</a>):</p>

																												
																												<pre><code class="language-css">html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion) {
  html {
	  scroll-behavior: auto;
	}
}</code></pre>
																						
																																	<p>If you want the learn more about designing web animations for motion sensitivity, <a href="https://alistapart.com/article/designing-safer-web-animation-for-motion-sensitivity/">Val Head has written an excellent post for A List Apart</a>.</p>
<p>And that’s it for today. If you have found other or even better ways to scroll an element into view, let me know. And if you found this post interesting, share it with your friends.</p>
<p>-</p>
<p><em>This is the 39th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Useless Is Useful</title>
                <link>https://matthiasott.com/notes/useless-is-useful</link>
                <pubDate>Mon, 13 Jul 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/useless-is-useful</guid>
                <description><![CDATA[
                    
																																	<p>Much like every other weekend, I spent several hours cleaning the apartment this Sunday. Although I enjoyed the result of it, I had always looked at cleaning as a tedious task. Yet, I have come to enjoy it over the last few years. This is because I have started to listen to talks, podcasts, and audiobooks while I’m emptying the dishwasher, vacuuming the floor, or scrubbing the toilet. The combination of doing a physical task over and over again, while opening your mind to the thoughts and stories of others, is an intriguing combination for me. It helps me relax and clear my head of the things that occupy my thinking over the rest of the week. I now enjoy it so much that I even forget time while I’m cleaning and am already looking forward to the next weekend, once I am done.</p>
<p>What am I listening to? I really don’t care as long as it seems to provide a fresh perspective on a topic I’m interested in or is about something entirely new. The latest podcasts and books I listened to include Tim Ferriss’ <a href="https://tribeofmentors.com/">Tribe of Mentors</a>, Ted Chiang’s <a href="https://www.goodreads.com/book/show/41160292-exhalation">Exhalation</a>, a collection of short stories, Carmine Gallo’s <a href="https://www.goodreads.com/book/show/17910144-talk-like-ted">Talk Like TED</a>, Haruki Murakami’s <a href="https://en.wikipedia.org/wiki/What_I_Talk_About_When_I_Talk_About_Running">What I Talk About When I Talk About Running</a>, and interviews with <a href="https://tim.blog/2020/07/09/janna-levin-transcript/">Jenna Levin</a>, <a href="https://designobserver.com/feature/tea-uglow/40082">Tea Uglow</a>, <a href="https://insideeducation.podbean.com/e/programme-402-derek-sivers-on-learning-creating-and-educating-20-5-20/">Derek Sivers</a>, and many more.</p>
<p>To some people, listening to all those interviews and books might appear to be a useless pastime. But I have long believed that there is no such thing as useless knowledge. For one, you simply can’t consume only useful content. How would someone even know what qualifies as “useful” over a longer period of time? But more importantly, new ideas are born from combining existing ideas in new ways. So the more you know, the larger the possibility that two seemingly unrelated ideas connect. What is better than broadening your mind by absorbing the experiences, habits, and dreams of others, then? (Okay, travel might be. But that’s not so easy at the moment – in particular, while vacuuming.)</p>
<p>So I try to read, watch, listen to, and observe as many things as possible, and don’t worry if something isn’t useful at this very moment or for a current project. Your next idea might be hidden in an interview with a physician or a short story about time travel. You never know. So stay curious. What seems useless today might turn out to be useful tomorrow.</p>
<p>-</p>
<p><em>This is the 38th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Fear</title>
                <link>https://matthiasott.com/notes/fear</link>
                <pubDate>Fri, 10 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/fear</guid>
                <description><![CDATA[
                    
																																	<p>I knew it would happen again. The fear. The tunnel vision. The blackout.</p>
<p>Only a few seconds left. I don’t want to be here.</p>
<p>“Next is Matthias, who will play the first movement of Mozart’s Piano Sonata No. 11 for us.”</p>
<p>Applause!</p>
<p>I can’t think straight. The tunnel vision is here now. What if it happens again? It will happen again, for sure. But I have to go.</p>
<p>I walk over to the piano. It feels like I’m dreaming. My piano teacher smiles at me. He is great. Patient, caring, and relaxed. “It will all work well, Matthias. You’ll see. Good luck!” His voice is calming.</p>
<p>I cast a glance at the audience. I search for my family. There they are. My grandmother is smiling blissfully at me.</p>
<p>I start playing. My hands are shaking and are reminding me of what is going to happen. For the first bars, it works quite well. I can hear my own play but it sounds muted. Everything is disconnected. Am I still in control? Then, the first wrong note. Did they notice? Another one. This is the passage I just managed to play through a few days ago. It will happen again. And because I play everything by memory, I won’t have the notes as my lifeline. There it is. Now. The blackout.</p>
<p>Everything is gone. No notes. Only emptiness. My heart is in my mouth. Okay, calm down. Try to remember. Just start the last passage again. Come on. But I can’t. It’s gone. I’m paralyzed. What. I…</p>
<p>~</p>
<p>I can’t recall how many piano recitals I had during the ten years I played the piano. But in my memory, I had a blackout in almost every one of them. I was terrified of playing in front of an audience.</p>
<p>In hindsight, I simply wasn’t prepared well enough. If I had practiced more before a concert, I surely would have been able to play through the fear. At least that is what I have learned in the meantime: Preparation is everything. But tell that to a fourteen-year-old who would rather play football with his friends or change the boot screen of Windows 95 in logo.sys. In my head, I was the guy who just could not perform well in front of an audience. How could a little more preparation change that?</p>
<p>~</p>
<p>This week, I successfully finished my first fully remote workshop for Adobe on designing and prototyping with Adobe XD. Over the last few years, I have now run dozens of workshops, gave a few occasional talks in front of up to 100 people, was part of live webinars with hundreds of people watching, and taught hundreds of students in my Interface Prototyping seminar. With every lecture, workshop, and talk, I became a little bit more confident. I am still nervous every single time, though, and I’m sure this won’t ever go away. But I know now that <a href="https://the-pastry-box-project.net/eric-a-meyer/2015-October-2">I am not alone in this</a> and that if I’m prepared and know my material, it is going to go well. </p>
<p>But more importantly, I know today that no matter how well-prepared I am, it might still happen that something goes wrong. Yet, I will always make it out of the arena alive. So I take a deep breath and focus again. There are also a few “hacks” and helpful advice I received which helped me a lot:</p>
<ul>
<li>People in the audience are generally on your side. If you struggle, they will empathize with you. Especially if you smile and are genuine and honest. 🤗</li>
<li>Nervousness is also a good sign: It shows that you are taking the challenge seriously and that you and your body recognize how special the situation is. If you acknowledge this and transform it into focus, nervousness can actually be helpful to identify the moments you need to focus.</li>
<li>So if you are nervous, also be brutally honest with yourself: Are you prepared enough or is there anything else that you could do to be better prepared still? Often, this helps to reduce anxiety further.</li>
<li>What happens in your body when you are nervous and anxious is actually similar to moments when you feel excitement. So try to embrace your anxiety and transform this energy into excitement. This is a special moment, so you have every reason to be excited!</li>
<li>Nobody knows your agenda and what you want to say. So don’t worry if you forget something or say something that you know could be explained better.</li>
<li>Our bodies and postures influence our emotions and our thinking. Changing your body position changes your body chemistry and how you feel. If you do a power posture right before an event, for example, you <em>will</em> feel more confident. If you force yourself to smile, you will feel more relaxed and happy. Try it, it works.</li>
<li>There is no alternative to <a href="https://www.ted.com/talks/brene_brown_the_power_of_vulnerability/transcript">being vulnerable out there</a>. So show up.</li>
<li>The moments you leave your comfort zone and are most afraid often are the moments you learn and grow the most. Embrace the fear and learn to live with it.</li>
</ul>
<p>-</p>
<p><em>This is the 37th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The New Urgency of Climate Change</title>
                <link>https://matthiasott.com/notes/the-new-urgency-of-climate-change</link>
                <pubDate>Thu, 09 Jul 2020 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-new-urgency-of-climate-change</guid>
                <description><![CDATA[
                    
																																	<p>The COVID-19 crisis has temporarily shifted our attention away from the most pressing and life-threatening of all challenges: Climate change. But while we – at least in Europe and other parts of the world with responsible leadership – are on a flattening curve, the issue of the rapidly accelerating climate crisis is surfacing again. <a href="https://www.theguardian.com/environment/2020/jul/09/co2-in-earths-atmosphere-nearing-levels-of-15m-years-ago">The CO2 in Earth’s atmosphere is nearing levels of 15 million years ago</a>, <a href="https://www.theguardian.com/commentisfree/2020/jun/25/arctic-heatwave-38c-siberia-science">Siberia saw a record-setting hat wave with up to 38 °C</a>, <a href="https://www.carbonbrief.org/arctic-sea-ice-minimum-in-2019-is-joint-second-lowest-on-record">Arctic sea ice coverage is the second-lowest on record</a>, and 2020 is on course of becoming the hottest year ever.</p>
<p>The more you read up on the topic, the more you realize that the current trajectory points to the elimination of humanity. This might sound pessimistic or overly alarmist but it really is the path we are on of we don’t change how we produce and consume energy as a species. Radically. Given that, despite all the clapping at the Paris conference, emissions are still rising and earth’s nations are far from taking joint action, it is easy to fall into a doomsday depression, though. What can <em>we</em> do anyway? We are all dead already. Humanity won’t make it.</p>
<p>But that would be giving in to exactly the complacency that brought us into this situation in the first place. And it would also strip us from the last chance we have. Every action we take now will mitigate the consequences of global warming over the next decades and centuries. So it is important to hear about the things that are already changing. That many companies and governments are already working on finding solutions and that <a href="https://www.irena.org/publications/2020/Jun/Renewable-Power-Costs-in-2019">renewable electricity is increasingly cheaper than any new power capacity based on fossil fuels</a>, for example.</p>
<p>In an interesting <a href="https://www.ted.com/talks/al_gore_the_new_urgency_of_climate_change/">conversation with TED’s Chris Anderson, Al Gore gives many more reasons to be optimistic</a>: We are already at the cusp of a beginning transformation of manufacturing, transportation and agriculture and a generation of young leaders is pressing for much-needed change. It is up to each and every one of us to do their part in pulling this off and preserving our planet for future generations – one of which might be the next generation, already.</p>

																												
																																		<figure class="quote">
							<blockquote><p>We have seen dark times in peri­ods of the past, and we have risen to meet the chal­lenge. We have lim­i­ta­tions of our long evo­lu­tion­ary her­itage and ele­ments of our cul­ture, but we also have the abil­i­ty to tran­scend our lim­i­ta­tions, and when the chips are down, and when sur­vival is at stake and when our chil­dren and future gen­er­a­tions are at stake, we’re capa­ble of more than we some­times allow our­selves to think we can do. This is such a&nbsp;time. I&nbsp;believe we will rise to the occa­sion, and we will cre­ate a&nbsp;bright, clean, pros­per­ous, just and fair future. I&nbsp;believe it with all my&nbsp;heart.</p>
</blockquote>
												<figcaption>Al Gore </figcaption>
										</figure>
																
																																	<p>-</p>
<p><em>This is the 36th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Don’t Assume, Validate.</title>
                <link>https://matthiasott.com/notes/dont-assume-validate</link>
                <pubDate>Wed, 08 Jul 2020 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/dont-assume-validate</guid>
                <description><![CDATA[
                    
																																	<p>As we gain more and more experience in building digital products, we tend to think ever so often that we already know what a good solution looks like and how people will use our design. But that’s not true. Far too often, we are assuming that things work in a certain way or that users will understand our intentions – but we’re wrong. A classic case of <a href="https://matthiasott.com/notes/100-days-of-writing-001-the-curse-of-knowledge">the Curse of Knowledge</a>. </p>
<p>But, as <a href="https://vimeo.com/292673896">Ida Aalen explained in a great talk at CSS Day</a>, this often also works the other way round: Things that experts consider too hard to understand for users, actually work quite well when put to the test. Ultimately, when we base decisions on assumptions and our own experience and opinions alone, they will always be heavily biased. The only way to really know if a solution is valid is to test it.</p>
<p>So don’t assume that people will get how your nice carousel interface works. Test it with a prototype. Don’t assume that your API responses will be fast enough to provide a great experience. Test it with a prototype. Don’t assume that your typography is easy to read. Test it with a prototype – on real devices. Only by validating your design you will be able to tell if you’re really building the right thing. </p>
<p>-</p>
<p><em>This is the 35th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Necessity Is the Ultimate Teacher</title>
                <link>https://matthiasott.com/notes/necessity-is-the-ultimate-teacher</link>
                <pubDate>Tue, 07 Jul 2020 22:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/necessity-is-the-ultimate-teacher</guid>
                <description><![CDATA[
                    
																																	<p>Remember that thing you wanted to learn? You know what I mean. That thing that keeps on nagging in the back of your head. That thing that comes to mind now and then and reminds you that there are so many things that you could explore. You know it would be interesting and, almost certainly, fun to learn it. But somehow, you never started.</p>
<p>Learning to draw. Learning to sing. Learning to write. Learning to debate. Learning to speak in public. Learning to say no. Learning to design. Learning to code. Learning to fly.</p>
<p>There are so many opportunities to learn out there. Yet most of the time, we seem to learn only the things that are really necessary at this very moment. Suddenly, learning something becomes essential for survival. When there are no excuses and no alternatives, learning something and staying at it is suddenly much easier.</p>
<p>So if you want to learn something, create necessity. Start a small project that presents you with real challenges and problems to solve. Sign up for a course, book a workshop, set yourself a deadline. Find something that excites your curiosity and is endlessly interesting but also lets you work hands-on and solve real problems as you go. You’ll discover that it is now much easier to overcome the first hurdle of learning something: Getting started. And you’ll discover that only by having to solve real problems, you’ll go deep and learn by experience – which is where true learning happens.</p>
<p>Necessity is the ultimate teacher.</p>
<p>-</p>
<p><em>This is the 34th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>TeamOps</title>
                <link>https://matthiasott.com/notes/team-ops</link>
                <pubDate>Mon, 06 Jul 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/team-ops</guid>
                <description><![CDATA[
                    
																																	<p>Ethan Marcotte just wrote <a href="https://ethanmarcotte.com/wrote/the-design-systems-between-us/">a great piece about design systems</a> and how the promise that design systems would hugely improve collaboration between designers and developers never really materialized. Many teams are still working in silos, which means there is a clear separation between design and development teams. And, as Ethan points out, while our tools might have become better in supporting collaboration <em>within</em> the respective fields, many of them still fall short of closing the gap <em>between</em> the disciplines. There are a few exceptions to this rule, of course. Some design tools let designers pull in data from JSON files or APIs into their prototypes, for example, with plugins like <a href="https://www.datapopulator.com/">Data Populator for Sketch and Adobe XD</a>. Other tools like <a href="https://www.framer.com/">Framer</a> or <a href="https://www.supernova.io/">Supernova Studio</a> tightly integrate visual design and prototyping features with production-ready code. Yet these tools are very much focused on certain technologies and frameworks and are therefore still limited to specific use-cases and projects. Not every project is built with React, for example.</p>
<p>Design systems shine in providing consistency and reliability. This alone makes them a tool worth investing in. But why do they often fail to provide the communicative link that closes the gap between design and development? What else could provide that link? And yet another interesting question: Do companies and teams even understand why close communication is the way to go in the first place? After all, change will only occur when there is enough understanding but also pain and pressure to leave the seemingly safe harbor of the status quo.</p>
<h2>Designing and Making</h2>
<p>If you want to build great products and services, <a href="https://matthiasott.com/notes/designing-and-making">designing and making really should be inseparable</a>. The closer designers and engineers work together, the more they can work with and around the constraints of the material and come up with solutions that are thoroughly designed and engineered down to the last detail. This works because designers are less likely to design solutions that don’t respect underlying technologies, while engineers at the same time develop a deeper understanding of the importance of creating work that combines great engineering with the subtle nuances and design details that create great experiences.</p>
<p>Many organizations realize that a lot of their products don’t come out as expected and that collaboration and the flow of information between design and engineering needs to be improved. Yet their answer often seems to be to increase the complexity of the systems between us. They put stringent processes in place, require more documentation, or establish a sophisticated design system to save the day. Meanwhile, designing and making are still separated.</p>
<h2>People over Processes</h2>
<p>I get that we need a certain level of consistency and professionalism. And that it is human nature to prefer solutions that provide safety. But when it comes to collaboration, tools alone won’t save us. The most vital factor of good team collaboration is and always will be: People. How good they understand each other and their respective fields of expertise. How much they listen and try to understand each other’s perspectives. How much they learn from, inspire, and challenge each other. How much they trust and rely on each other. And how much they share common values and goals. When it comes to ingenuity and collaboration, a design system will only take you so far if you only see it as a tool. Yes, a design system <em>could</em> foster collaboration. And it <em>could</em> improve mutual understanding. But a design system in itself will not make up for poor team dynamics and interactions.</p>
<p>So instead of relying on processes and tools to fix team communications for us, we should mix our teams, remove the separations between departments, bust the silos. Smaller teams communicate better and often arrive at outstanding solutions much faster, especially if interdisciplinary team members know their talents well and supplement each other. The flexibility of a small team will also make it easier to deal with uncertainty and complexity – a much-needed skill in today’s fast-changing world of technology.</p>
<h2>Complex vs Simple</h2>
<p>We still need systems that enable communication, of course. But instead of trying to build complex systems from scratch, it might be smarter to first focus on establishing workflows and processes that reduce the friction to communicate and are as simple as possible. Always remember <a href="https://en.wikipedia.org/wiki/John_Gall_(author)#Gall&amp;#039;s_law">Gall’s law</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>A com­plex sys­tem that works is invari­ably found to have evolved from a&nbsp;sim­ple sys­tem that worked. A&nbsp;com­plex sys­tem designed from scratch nev­er works and can­not be patched up to make it work. You have to start over with a&nbsp;work­ing sim­ple system.</p>
</blockquote>
												<figcaption>John Gall </figcaption>
										</figure>
																
																																	<p>Ask yourself: What is the simplest way to communicate? What is the simplest way to document our work? What is the simplest way to make changes to our product? What is the simplest way to test our assumptions and develop new ideas together? What is the simplest way to combine designing and making? Building a lot of prototypes in a small, interdisciplinary team can be one answer to those questions. Slowly building up a design system based on shared practices could be another one. And there are certainly many more.</p>
<p>With DevOps and <a href="https://matthiasott.com/notes/smooth-operations">DesignOps</a>, we are already addressing the challenge of working and communicating <em>within</em> the separate teams. Maybe it is time to focus on “TeamOps” next.</p>
<p>-</p>
<p><em>This is the 33rd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>One Egg</title>
                <link>https://matthiasott.com/notes/one-egg</link>
                <pubDate>Thu, 02 Jul 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/one-egg</guid>
                <description><![CDATA[
                    
																																	<p>The kids wanted pancakes. But there was only one egg left. Usually, I use four eggs to make pancakes. But the kids wanted pancakes. So I made pancakes. With only one egg.</p>
<p>They turned out delicious.</p>
<p>Sometimes, one egg is enough.</p>
<p>Sometimes, you should just try although the conditions seem less than ideal.</p>
<p>-</p>
<p><em>This is the 32nd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Thoughts on Writing: Read It Out Loud</title>
                <link>https://matthiasott.com/notes/thoughts-on-writing-read-it-out-loud</link>
                <pubDate>Wed, 01 Jul 2020 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/thoughts-on-writing-read-it-out-loud</guid>
                <description><![CDATA[
                    
																																	<p>For me, 2020 started with a few posts about writing. I had read and listened to a lot of material on writing and wanted to share some of the things I had learned about how other writers approach writing as a craft, a process, and a passion. So I wrote posts about <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">shitty first drafts</a>, about not caring too much about <a href="https://matthiasott.com/notes/thoughts-on-writing-what-they-say">what others say</a>, and about the difference between <a href="https://matthiasott.com/notes/thoughts-on-writing-diamond-polishers-and-vomit-drafters">Diamond Polishers and Vomit Drafters</a>.</p>
<p>There are still a few shitty drafts left in my drafts folder, so I will definitely share more thoughts on writing from time to time. Yet, while I wrote a lot about the process in general, writing about <em>my very own</em> process is still not so easy. Mostly, because I don’t have one, at least not a very strict one. There is, though, one simple but extremely effective piece of advice which I was just reminded of by <a href="https://www.chasejarvis.com/blog/life-writing-and-real-talk-with-roxane-gay/">a wonderful interview with writer Roxane Gay</a>:</p>
<p><strong>When you are done with your text, read it out loud.</strong></p>
<p>For me, this has become one of the most effective techniques to check how well a text works. I do it every single time. Reading a text out loud will surface all the tiny details that you tend to overlook when you read it quietly. Maybe you misspelled a word, or a sentence is too long or overly complicated. Or, it doesn’t make any sense at all. Is everything comprehensible, are the transitions working, and do the pauses between paragraphs feel right? You will recognize so much more once you read your text out loud. Because you shift your perspective a bit and actually hear how your text might sound in the head of a reader. You can totally use your news anchor voice for this, or your Jony Ive voice, if you happen to have one, too. And ideally, you even read your text with the rhythm and emphasis you intended. If the kids are asleep or you don’t want to wake up the sleeping dog, maybe turn down the volume a bit. But read your text so that you can hear your voice. I can almost guarantee you that it will improve the quality of every piece you write.</p>
<p>-</p>
<p><em>This is the 31st post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>85 Percent</title>
                <link>https://matthiasott.com/notes/85-percent</link>
                <pubDate>Tue, 30 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/85-percent</guid>
                <description><![CDATA[
                    
																																	<p>As a child, teenager, and student, I used to play a lot of football (or soccer, for my American friends). I only played in a club for about two years and had to quit the team because of an injured knee, but I always loved playing with my friends during my leisure time. Spending a whole afternoon running up and down a badly mowed pitch was pure bliss. So many bad plays, so many bad passes, so many untrained bodies. But also so much passion, energy, and dedication. And the joy when one play or goal suddenly turned out to be a work of art. When a brilliant pass was played. When I tried a bicycle kick and somehow volleyed the ball into the net. (Yes, this really did happen at times. And it also hurt almost every time, especially as I got older and started to miss the ball more often…) </p>
<p>I played for that joy. For those moments of intuitive flow. But there is also one thing I learned from playing football: If you want something too hard, it won’t happen. On some days, I would walk over to the pitch full of energy and ready to play a good match. Scoring some goals, doing many precise and some surprising passes, and helping the team win with a great performance. I really wanted it! But on those days, it often just didn’t work, somehow. As much as I tried, many passes were just a bit off. Instead of going in, the ball hit the post – or (almost) the sky. Putting in more effort only resulted in more frustration.</p>
<p>Something was missing on those days: relaxation. If you want to be at your best, going for 100 percent often won’t help. You need the right level of relaxation and ease to avoid frustration and early fatigue. You need the right level of relaxation to keep a clear mind and have focus and confidence and to leave room for intuition. <a href="https://tim.blog/2020/06/26/hugh-jackman/">In a recent interview, Hugh Jackman talked about the 85 percent rule</a>: The rule says that sprinters and other athletes perform best when they are at 85 percent of their maximum performance capacity. At 100 percent, your muscles might be over-stressed too fast and the risk of injury grows exponentially. But more importantly, at full speed, “<a href="https://furthermore.equinox.com/articles/2019/03/asics-train-at-85-percent">technique and form go out the window</a>”. So by scaling back a bit, you can actually be faster and maintain your speed longer.</p>
<p>I experience the same in other areas of life and work. When there is a tight deadline, for example, you will achieve the most not by stressing out, pushing harder, and running at full speed but by actually going at a fast but steady rate that keeps you in a position where you are still able to focus and make conscious decisions. 85 percent is still really fast. But it is not so fast that you’ll be unable to see the forest for the trees.</p>
<p>-</p>
<p><em>This is the 30th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Fussy Web, True Meaning.</title>
                <link>https://matthiasott.com/notes/fussy-web-true-meaning</link>
                <pubDate>Mon, 29 Jun 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/fussy-web-true-meaning</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://sarahdrasnerdesign.com/">Sarah Drasner</a> just published a fabulous article, <a href="https://css-tricks.com/in-defense-of-a-fussy-website/">In Defense of a Fussy Website</a>, in which she makes the case that we should all design and build websites again that are a joy to visit. Sites with those little details that make you smile, with small delights and touches that really make users stay.</p>

																												
																																		<figure class="quote">
							<blockquote><p>When a&nbsp;site is done with care and excite­ment you can tell. You feel it as you vis­it, the hum of inten­tion. The craft, the cohe­sive­ness, the atten­tion to detail is obvi­ous. And in turn, you meet them halfway.</p>
</blockquote>
												<figcaption>Sarah Drasner </figcaption>
										</figure>
																
																																	<p>Sarah is so right: The Web is becoming more and more homogenous and unimaginative. The websites of today are primarily built with efficiency and usefulness in mind, but in turn, they often lack the creativity, playfulness, and dedication that make a site stand out and a joy to interact with.</p>
<p>What happened to the rampant playfulness of the early web and the Flash era? Back in the late 90s and early 2000s, the visual language of the Web was still developing but also so refreshing. Almost every website – even though a fair amount looked quite questionable by today’s standards – had their very own character and distinct charm to it. Now, almost <a href="https://modus.medium.com/on-the-visual-weariness-of-the-web-8af1c969ce73">all websites look the same</a>. How did we end up here?</p>
<p>In the search for answers, it makes sense to take a look back at the history of a related profession that once faced a similar challenge: graphic design. After the iconic graphic designer <a href="https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned">Milton Glaser died this Friday</a>, I listened to a few interviews he gave over the last years. At one point, he talked about how he perceived the state of graphic design earlier in his career, in the late 1960s. After the constructivists and modernists had dominated the visual language of design for several decades, everyone was striving to create design that was rational, functional, and formalistic. Design that was aimed at accomplishing a specific goal. Design that was promotional and persuasive. For him, this wasn’t enough. He wanted to create design work that would also speak to the other, the emotional part of the brain. Design that would tell a story and create affection, just like art. Affection not only for the work itself but also for the world at large.</p>
<p><a href="https://www.youtube.com/watch?v=KFu_Y6sa98w">According to Milton Glaser</a>, <em>“the most corrosive thing about the relationship between design and the public has been the idea that design is a manifestation of promotion and advertising.”</em>  And the marketing people, who came to dominate the landscape, were looking only into the past, trying to collect metrics that would reduce uncertainty and risk. As a result, design had become merely a means to an end.</p>
<p>It seems to me that the same can be said of today’s Web: Websites are primarily seen as functional software, built to fulfill a business objective and to reach quantifiable goals. The field of user experience is obsessed with KPIs, jobs-to-be-done, optimized user flows, and conversion rates. And in quest of ever more efficient processes – and in the spirit of true modernists –, design and development teams try to standardize solutions into reusable templates and components, streamlined pattern libraries, and scalable design systems. Don’t get me wrong: The establishment of design systems, of all the professionalization that has happened in the web design community at large, is a great thing. It’s an important advancement of a still very young profession. But maybe we are now at a point, where we must acknowledge that it is time for us to take the next step. We know how to design and build sites that have sufficient function and form. And, although <a href="https://webaim.org/projects/million/">we fall short in this regard</a>, building performant and accessible sites should be perfectly doable by now, too. But this isn’t enough. We have to go beyond that. We have to take risks, tell stories, do the fussy work, and create affection to do work that does not only meet standards but exceeds expectations and surprises. We have to <a href="https://matthiasott.com/notes/go-deep">go deep</a> and use our imagination. Not only for ourselves, but for the people who get to use our sites. And for the next generation of designers, developers, and creators on the Web – all those people who might fall in love with the Web, just like we did.</p>
<p>Who could explain it better than, once more, <a href="https://soundcloud.com/designmatters/design-matters-with-debbie-91">Milton Glaser in an interview with Debbie Millman</a>:</p>

																												
																												<blockquote><p>In early life, […] we wanted to be professional, and we wanted our work to look professional. And we wanted it to have that veneer and that sense of authority that we saw around us. And it was all we really wanted to do. We got out of school and we wanted to have your work look like these marvelously put together, slick, effortless things that were in the world and you admired the people who could do that. And then, at a certain point you reach a professional level and your work looks like that and you realize: It’s not enough! That nearly getting to a point where your work looks good enough to be called professional, is only the starting point. I use the same metaphor for learning how to draw. When you start to learn how to draw you are so overwhelmed with the difficulty of making things look like what they are. You know, you have a cup and a saucer and you try to make it sit on the page and look like a cup and a saucer. And you almost <em>die</em> trying to control your nerve endings so that the object looks like it’s supposed to. And you spend <em>years</em> doing that. And finally, you get to the point where you can actually draw something that looks like what you’re drawing. And then, you discover: That’s not the point. That being able to make a drawing that looks like its subject is nothing. That it is only the starting point. <em>Now</em> you have to ask yourself: What can I do? A good drawing? Or an expressive drawing? Or a drawing that means something? Because the ability simply to make it accurate is a low-level ability. Even though it has taken you years to get to that point. And then to discover, it’s not very relevant. But there is no other way to get there. </p>
<p>The same is true of your own work. You sort of strive to make it look good, and make it look good as your peers’, and make it look as good as the other things in the art directors annual, and so on. Then, at a certain point, if you continue and persevere you realize it is not good enough. You have got to go beyond that level in order to engage that other thing, which is true expressive content. True meaning.</p></blockquote>
																						
																																	<p>-</p>
<p><em>This is the 29th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Milton Glaser – Ten Things I Have Learned</title>
                <link>https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned</link>
                <pubDate>Fri, 26 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned</guid>
                <description><![CDATA[
                    
																																	<p>Milton Glaser, one of the greatest graphic designers of our time, passed away this Friday on his 91st birthday in New York City. Well known for his 1977 “I ❤️ NY” logo and <a href="https://www.moma.org/collection/works/8108">his Bob Dylan poster with psychedelic hair</a>, Glaser changed the visual culture in the 1960s and 70s with his brightly colored, expressive designs and “brought wit, whimsy, narrative and skilled drawing to commercial art at a time when advertising was dominated by the severe strictures of modernism”, as William Grimes writes in <a href="https://www.nytimes.com/2020/06/26/obituaries/milton-glaser-dead.html">his obituary for the New York Times</a>. Glaser designed over 400 posters in his lifetime, was <a href="https://nymag.com/intelligencer/2020/06/milton-glaser-new-york-and-iny-designer-dies-at-91.html">a founder of New York magazine</a>, a strong believer in the power of drawing, and in the obligation to pass on your experience through teaching. In case you want to learn more about him and his work, there is <a href="https://vimeo.com/19005726">a lovely short film by Hillman Curtis</a>, the documentary <a href="https://www.youtube.com/watch?v=jZ1YHqgZzGQ">“To Inform and Delight”</a>, <a href="https://www.youtube.com/watch?v=tWmJcR-x_hc">his illuminating TED talk</a>, and <a href="https://www.youtube.com/watch?v=py2vt4vcMa8">a wonderful interview with Debbie Millman</a>. </p>
<p>In 2001, Milton Glaser put together a list of 10 things he had learned about work and life. The list is available as <a href="https://www.miltonglaser.com/milton/c:essays/#3">an essay on his website</a>. But as the site is not optimized for mobile and the text not structured with semantic HTML, I’ll quote it here in its entirety.</p>
<h2>Ten Things I Have Learned</h2>

																												
																												<blockquote>
<style>ol li { margin-bottom: 3rem; }</style>
<ol>
    <li>
        <h3>You Can Only Work for People That You Like.</h3>
        <p>This is a curious rule and it took me a long time to learn because in fact at the beginning of my practice I felt the opposite. Professionalism required that you didn’t particularly like the people that you worked for or at least maintained an arms length relationship to them, which meant that I never had lunch with a client or saw them socially. Then some years ago I realized that the opposite was true. I discovered that all the work I had done that was meaningful and significant came out of an affectionate relationship with a client. And I am not talking about professionalism; I am talking about affection. I am talking about a client and you sharing some common ground. That in fact your view of life is someway congruent with the client, otherwise it is a bitter and hopeless struggle.</p>
    </li>
    <li>
        <h3>If You Have a Choice Never Have a Job.</h3>
        <p>One night I was sitting in my car outside Columbia University where my wife Shirley was studying Anthropology. While I was waiting I was listening to the radio and heard an interviewer ask ‘Now that you have reached 75 have you any advice for our audience about how to prepare for your old age?’ An irritated voice said ‘Why is everyone asking me about old age these days?’ I recognized the voice as John Cage. I am sure that many of you know who he was – the composer and philosopher who influenced people like Jasper Johns and Merce Cunningham as well as the music world in general. I knew him slightly and admired his contribution to our times. ‘You know, I do know how to prepare for old age’ he said. ‘Never have a job, because if you have a job someday someone will take it away from you and then you will be unprepared for your old age. For me, it has always been the same ever since the age of 12. I wake up in the morning and I try to figure out how am I going to put bread on the table today? It is the same at 75, I wake up every morning and I think how am I going to put bread on the table today? I am exceedingly well prepared for my old age’ he said.</p>
    </li>
    <li>
        <h3>Some People Are Toxic. Avoid Them.</h3>
        <p>This is a subtext of number one. There was in the sixties a man named Fritz Perls who was a gestalt therapist. Gestalt therapy derives from art history, it proposes you must understand the ‘whole’ before you can understand the details. What you have to look at is the entire culture, the entire family and community and so on. Perls proposed that in all relationships people could be either toxic or nourishing towards one another. It is not necessarily true that the same person will be toxic or nourishing in every relationship, but the combination of any two people in a relationship produces toxic or nourishing consequences. And the important thing that I can tell you is that there is a test to determine whether someone is toxic or nourishing in your relationship with them. Here is the test: You have spent some time with this person, either you have a drink or go for dinner or you go to a ball game. It doesn’t matter very much but at the end of that time you observe whether you are more energized or less energized. Whether you are tired or whether you are exhilarated. If you are more tired then you have been poisoned. If you have more energy you have been nourished. The test is almost infallible and I suggest that you use it for the rest of your life.</p>
    </li>
    <li>
        <h3>Professionalism Is Not Enough or the Good Is the Enemy of the Great.</h3>
        <p>Early in my career I wanted to be professional, that was my complete aspiration in my early life because professionals seemed to know everything - not to mention they got paid for it. Later I discovered after working for a while that professionalism itself was a limitation. After all, what professionalism means in most cases is diminishing risks. So if you want to get your car fixed you go to a mechanic who knows how to deal with transmission problems in the same way each time. I suppose if you needed brain surgery you wouldn’t want the doctor to fool around and invent a new way of connecting your nerve endings. Please do it in the way that has worked in the past.Unfortunately in our field, in the so-called creative – I hate that word because it is misused so often. I also hate the fact that it is used as a noun. Can you imagine calling someone a creative? Anyhow, when you are doing something in a recurring way to diminish risk or doing it in the same way as you have done it before, it is clear why professionalism is not enough. After all, what is required in our field, more than anything else, is the continuous transgression. Professionalism does not allow for that because transgression has to encompass the possibility of failure and if you are professional your instinct is not to fail, it is to repeat success. So professionalism as a lifetime aspiration is a limited goal.</p>
    </li>
    <li>
        <h3>Less Is Not Necessarily More.</h3>
        <p>Being a child of modernism I have heard this mantra all my life. Less is more. One morning upon awakening I realized that it was total nonsense, it is an absurd proposition and also fairly meaningless. But it sounds great because it contains within it a paradox that is resistant to understanding. But it simply does not obtain when you think about the visual of the history of the world. If you look at a Persian rug, you cannot say that less is more because you realize that every part of that rug, every change of colour, every shift in form is absolutely essential for its aesthetic success. You cannot prove to me that a solid blue rug is in any way superior. That also goes for the work of Gaudi, Persian miniatures, art nouveau and everything else. However, I have an alternative to the proposition that I believe is more appropriate. ‘Just enough is more.’</p>
    </li>
    <li>
        <h3>Style Is Not to Be Trusted.</h3>
        <p>I think this idea first occurred to me when I was looking at a marvelous etching of a bull by Picasso. It was an illustration for a story by Balzac called The Hidden Masterpiece. I am sure that you all know it. It is a bull that is expressed in 12 different styles going from very naturalistic version of a bull to an absolutely reductive single line abstraction and everything else along the way. What is clear just from looking at this single print is that style is irrelevant. In every one of these cases, from extreme abstraction to acute naturalism they are extraordinary regardless of the style. It’s absurd to be loyal to a style. It does not deserve your loyalty. I must say that for old design professionals it is a problem because the field is driven by economic consideration more than anything else. Style change is usually linked to economic factors, as all of you know who have read Marx. Also fatigue occurs when people see too much of the same thing too often. So every ten years or so there is a stylistic shift and things are made to look different. Typefaces go in and out of style and the visual system shifts a little bit. If you are around for a long time as a designer, you have an essential problem of what to do. I mean, after all, you have developed a vocabulary, a form that is your own. It is one of the ways that you distinguish yourself from your peers, and establish your identity in the field. How you maintain your own belief system and preferences becomes a real balancing act. The question of whether you pursue change or whether you maintain your own distinct form becomes difficult. We have all seen the work of illustrious practitioners that suddenly look old-fashioned or, more precisely, belonging to another moment in time. And there are sad stories such as the one about Cassandre, arguably the greatest graphic designer of the twentieth century, who couldn’t make a living at the end of his life and committed suicide.But the point is that anybody who is in this for the long haul has to decide how to respond to change in the zeitgeist. What is it that people now expect that they formerly didn’t want? And how to respond to that desire in a way that doesn’t change your sense of integrity and purpose.</p>
    </li>
    <li>
        <h3>How You Live Changes Your Brain.</h3>
        <p>The brain is the most responsive organ of the body. Actually it is the organ that is most susceptible to change and regeneration of all the organs in the body. I have a friend named Gerald Edelman who was a great scholar of brain studies and he says that the analogy of the brain to a computer is pathetic. The brain is actually more like an overgrown garden that is constantly growing and throwing off seeds, regenerating and so on. And he believes that the brain is susceptible, in a way that we are not fully conscious of, to almost every experience of our life and every encounter we have. I was fascinated by a story in a newspaper a few years ago about the search for perfect pitch. A group of scientists decided that they were going to find out why certain people have perfect pitch. You know certain people hear a note precisely and are able to replicate it at exactly the right pitch. Some people have relative pitch; perfect pitch is rare even among musicians. The scientists discovered – I don’t know how - that among people with perfect pitch the brain was different. Certain lobes of the brain had undergone some change or deformation that was always present with those who had perfect pitch. This was interesting enough in itself. But then they discovered something even more fascinating. If you took a bunch of kids and taught them to play the violin at the age of 4 or 5 after a couple of years some of them developed perfect pitch, and in all of those cases their brain structure had changed. Well what could that mean for the rest of us? We tend to believe that the mind affects the body and the body affects the mind, although we do not generally believe that everything we do affects the brain. I am convinced that if someone was to yell at me from across the street my brain could be affected and my life might changed. That is why your mother always said, ‘Don’t hang out with those bad kids.’ Mama was right. Thought changes our life and our behavior. I also believe that drawing works in the same way. I am a great advocate of drawing, not in order to become an illustrator, but because I believe drawing changes the brain in the same way as the search to create the right note changes the brain of a violinist. Drawing also makes you attentive. It makes you pay attention to what you are looking at, which is not so easy.</p>
    </li>
    <li>
        <h3>Doubt Is Better Than Certainty.</h3>
        <p>Everyone always talks about confidence in believing what you do. I remember once going to a class in yoga where the teacher said that, spirituality speaking, if you believed that you had achieved enlightenment you have merely arrived at your limitation. I think that is also true in a practical sense. Deeply held beliefs of any kind prevent you from being open to experience, which is why I find all firmly held ideological positions questionable. It makes me nervous when someone believes too deeply or too much. I think that being skeptical and questioning all deeply held beliefs is essential. Of course we must know the difference between skepticism and cynicism because cynicism is as much a restriction of one’s openness to the world as passionate belief is. They are sort of twins. And then in a very real way, solving any problem is more important than being right. There is a significant sense of self-righteousness in both the art and design world. Perhaps it begins at school. Art school often begins with the Ayn Rand model of the single personality resisting the ideas of the surrounding culture. The theory of the avant garde is that as an individual you can transform the world, which is true up to a point. One of the signs of a damaged ego is absolute certainty.Schools encourage the idea of not compromising and defending your work at all costs. Well, the issue at work is usually all about the nature of compromise. You just have to know what to compromise. Blind pursuit of your own ends which excludes the possibility that others may be right does not allow for the fact that in design we are always dealing with a triad – the client, the audience and you.&nbsp;Ideally, making everyone win through acts of accommodation is desirable. But self-righteousness is often the enemy. Self-righteousness and narcissism generally come out of some sort of childhood trauma, which we do not have to go into. It is a consistently difficult thing in human affairs. Some years ago I read a most remarkable thing about love, that also applies to the nature of co-existing with others. It was a quotation from Iris Murdoch in her obituary. It read ‘Love is the extremely difficult realization that something other than oneself is real.’ Isn’t that fantastic! The best insight on the subject of love that one can imagine.</p>
    </li>
    <li>
        <h3>On Aging.</h3>
        <p>Last year someone gave me a charming book by Roger Rosenblatt called ‘Ageing Gracefully’ I got it on my birthday. I did not appreciate the title at the time but it contains a series of rules for ageing gracefully. The first rule is the best. Rule number one is that ‘it doesn’t matter.’ ‘It doesn’t matter what you think. Follow this rule and it will add decades to your life. It does not matter if you are late or early, if you are here or there, if you said it or didn’t say it, if you are clever or if you were stupid. If you were having a bad hair day or a no hair day or if your boss looks at you cockeyed or your boyfriend or girlfriend looks at you cockeyed, if you are cockeyed. If you don’t get that promotion or prize or house or if you do – it doesn’t matter.’ Wisdom at last. Then I heard a marvelous joke that seemed related to rule number 10. A butcher was opening his market one morning and as he did a rabbit popped his head through the door. The butcher was surprised when the rabbit inquired ‘Got any cabbage?’ The butcher said ‘This is a meat market – we sell meat, not vegetables.’ The rabbit hopped off. The next day the butcher is opening the shop and sure enough the rabbit pops his head round and says ‘You got any cabbage?’ The butcher now irritated says ‘Listen you little rodent I told you yesterday we sell meat, we do not sell vegetables and the next time you come here I am going to grab you by the throat and nail those floppy ears to the floor.’ The rabbit disappeared hastily and nothing happened for a week. Then one morning the rabbit popped his head around the corner and said ‘Got any nails?’ The butcher said ‘No.’ The rabbit said ‘Ok. Got any cabbage?’</p>
    </li>
    <li>
        <h3>Tell the Truth.</h3>
        <p>The rabbit joke is relevant because it occurred to me that looking for a cabbage in a butcher’s shop might be like looking for ethics in the design field. It may not be the most obvious place to find either. It’s interesting to observe that in the new AIGA’s code of ethics there is a significant amount of useful information about appropriate behavior towards clients and other designers, but not a word about a designer’s relationship to the public. We expect a butcher to sell us eatable meat and that he doesn’t misrepresent his wares. I remember reading that during the Stalin years in Russia that everything labelled veal was actually chicken. I can’t imagine what everything labelled chicken was. We can accept certain kinds of misrepresentation, such as fudging about the amount of fat in his hamburger but once a butcher knowingly sells us spoiled meat we go elsewhere. As a designer, do we have less responsibility to our public than a butcher? Everyone interested in licensing our field might note that the reason licensing has been invented is to protect the public not designers or clients. ‘Do no harm’ is an admonition to doctors concerning their relationship to their patients, not to their fellow practitioners or the drug companies. If we were licensed, telling the truth might become more central to what we do.</p>
    </li>
</ol>
</blockquote>
																						
																																	<p>-</p>
<p><em>This is the 28th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Web in the Age of Ubiquity</title>
                <link>https://matthiasott.com/notes/the-web-in-the-age-of-ubiquity</link>
                <pubDate>Thu, 25 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-web-in-the-age-of-ubiquity</guid>
                <description><![CDATA[
                    
																																	<p>If you have kids, you think a lot about how the world might look like when they grow up.</p>
<p>At the moment, the world is being transformed on so many levels and so rapidly that, <a href="https://www.akimbo.me/blog/s-4-e-23-welcome-to-the-post-modern-world">as Seth Godin argues</a>, we might be in the middle of a change that is as big as the change that marked the end of modernity. This new era we are heading into is, for one, characterized by the ubiquity of connection and communication. Everyone and everything can and will be connected and communication is everywhere. With this comes the synchronization of culture and information – but also the ubiquity of opportunity.</p>
<p>At the same time, we are about to witness a transformation of work, where computers and robots will take over all tasks that can be described and translated into repeatable processes. Infinitely trainable, infinitely patient, and, soon enough, infinitely cheap. Ubiquitous robotics. A development that will not only make a great number of jobs obsolete but also raises questions of ethics.</p>
<p>Finally, and by far the most terrifying of all challenges that lie ahead of us, because it is both irreversible and ubiquitous: climate change. The result of local pollution and economic growth becoming a global, ubiquitous problem fueled by more and more humans on the planet and a lack of innovative energy technologies and political inaction as a result of competing interests, lobbyism, greed, and fear.</p>

																												
																																		<figure class="quote">
							<blockquote><p>We brought our­selves to the thresh­old of true cli­mate cat­a­stro­phe in the time span of a&nbsp;sin­gle gen­er­a­tion. We now have about the time of a&nbsp;sin­gle gen­er­a­tion to avoid unimag­in­able suf­fer­ing and we are the ones writ­ing that&nbsp;story.</p>
</blockquote>
												<figcaption>David Wallace-Wells, Author of The Inhabitable Earth </figcaption>
										</figure>
																
																																	<p>The Web plays a crucial role in facing all of those challenges. Because the Web, just like the Internet as its underlying structure, is ubiquitous and therefore provides the only layer of communication infrastructure that is able to spread ideas and discussions to the global level and scale solutions to the necessary extent. Without the Web working as needed, we will never reach global political consensus as a result of raised awareness and global pressure. The Web is the ubiquitous medium for the new Age of Ubiquity.</p>
<p>To fulfill this function, the Web needs to be accessible, though. Not only in the sense of providing access for everyone, but on the most basic level: The Web needs to be accessible to everyone who wants to <em>participate</em>, who wants to share their knowledge with the world, who is not satisfied with the status quo and ready to change culture and society. Yet instead, we are currently building a Web of superficial distractions that is becoming less and less accessible to future generations. Generations who critically depend on the Web as an open platform. </p>
<p>The Web of today is a Web of the pros. It restricts access to creation with artificial, technological barriers to entry for those with the most open-minded and fresh ideas. It is accessible mostly to those who feel comfortable with the tools and processes they can master. And by that, I mean designers and developers and capital, yes, but also Big Tech. Google, Microsoft, Facebook, Amazon, and Apple not only nurture their very own frameworks and distribution platforms, but they are even on the cusp of <a href="https://venturebeat.com/2019/04/06/google-and-other-tech-giants-are-quietly-buying-up-the-most-important-part-of-the-internet/">taking over the physical infrastructure of the Web</a>. Don’t play by their rules? Access denied.</p>
<p>My son wants to build robots and games. He draws, he writes, and he is full of ideas and hope. One day soon, he will want to build his first website. So might my daughter in a few years. <em>Using</em> the Web will be the most natural thing for them. I hope their Web will still allow them to also create and participate. I hope that they will fall in love with the Web as an accessible and open platform like I did. And I hope that they, and so many others of their generation, will still be able to use the Web to make a change. It is our job to preserve this gleam of hope for them.</p>
<p>-</p>
<p><em>This is the 27th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Go Deep</title>
                <link>https://matthiasott.com/notes/go-deep</link>
                <pubDate>Wed, 24 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/go-deep</guid>
                <description><![CDATA[
                    
																																	<p>Do you know the feeling when you know an album so well that you always anticipate the next bar of a song and when the song ends, you can already hear the first beats of the next song playing in your head? The best albums are the ones, where it might take quite a while to get to know the music that well, but even when you seem to know every line and every note, you are still surprised and delighted by new facets every time you listen to it. What a joy!</p>
<p>Real satisfaction comes from going deep into something. From listening to music over and over again. From being deeply immersed in reading. From exploring a topic that interests us not only on the surface by reading a summary, but digging deep into the rabbit hole until we unearth the truly fascinating details. From understanding how something works at its core.</p>
<p>That’s also when we create our best work: When we know something so well that we are able to not only apply our knowledge and use our skills intuitively without much thinking, but also know when to playfully and consciously improvise or vary to create something new. Mastery comes from going deep into something.</p>
<p>Far too often, we only scratch the surface. We try to take shortcuts to understanding and mastery. Take any topic you like: Writing, playing an instrument, drawing, learning a language, astrophysics, medicine, cooking, interaction design, typography, and, of course, HTML, CSS, or JavaScript. Try to master it by only scratching the surface, and you will utterly fail. It’s easy to dismiss it as being overly complicated or “broken” then. Yet, in the end, you just didn’t go deep enough. There are no shortcuts. There is no silver bullet. Go deep.</p>
<p>-</p>
<p><em>This is the 26th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>What Would This Look Like If It Were Easy?</title>
                <link>https://matthiasott.com/notes/what-if-it-were-easy</link>
                <pubDate>Tue, 23 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/what-if-it-were-easy</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://tim.blog/">Tim Ferriss</a> just released <a href="http://audible.com/ferriss">the audiobook of his book “Tribe of Mentors”</a>. The book contains the answers to 11 questions he sent out to hundreds of the world’s “top performers” from across all possible fields of expertise. In the introduction, which you can also listen to in <a href="https://tim.blog/2020/06/22/tribe-of-mentors-audiobook/">Tim’s latest podcast episode</a>, he talks about how the book came into being and mentions a question he regularly uses to start any kind of project. It is a question that leads to asking many other good questions:</p>

																												
																																		<figure class="quote">
							<blockquote><p>What would this look like if it were&nbsp;easy?</p>
</blockquote>
												</figure>
																
																																	<p>Whenever we start a new endeavor, we often convince ourselves that things need to be hard, that they need to be sophisticated and at a certain expert-level. Whether it is strategy, design, or development, we tend to believe that something is only worthy of our attention and time if it is expert enough. Otherwise, we feel like cheaters who take the easy way out instead of using the advanced process that real professionals use. This often leads to more work and hardships in the process than necessary and consumes a lot of time and energy that we could use for more important pieces of the puzzle instead.</p>
<p>If it were easy, how would we simplify the checkout flow for our visitors? If it were easy, how would a person who relies on assistive technology navigate our user interface? If it were easy, would we really create layouts for all page types in four different viewport sizes? If it were easy, would we still build this website as a client-side React app? If it were easy, how would a prototype look like to test this idea we have?</p>
<p><a href="https://matthiasott.com/notes/clarity-and-style">Making something easy and crystal clear is hard</a>. But asking the right questions upfront can be more productive than trying to make up for wrong decisions by stressing out later on. Asking “What would this look like if it were easy?” is such a right question. It frees you from the obligation to do things “as we have always done them” and lets you think about a problem in new and unusual ways so you can reframe it and create something truly unique.</p>
<p>-</p>
<p><em>This is the 25th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Debugging HTML With Advanced CSS Selectors</title>
                <link>https://matthiasott.com/notes/debugging-html-with-advanced-css-selectors</link>
                <pubDate>Mon, 22 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/debugging-html-with-advanced-css-selectors</guid>
                <description><![CDATA[
                    
																																	<p>Writing HTML is hard. At least writing semantically sound, valid HTML is. This might come as a surprise to those who only scratch the surface of what HTML really can do. What can be so hard about a few elements, right? At least it isn’t an object-oriented, multi-paradigm programming language. But as soon as you start to dig deeper you realize that there is a lot to get wrong in HTML.</p>
<p>For one, HTML now contains <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element">hundreds of elements</a>. This alone can make it hard to find the right element for the job. But also if you know all the vocabulary, there are many more things to consider. For example, which elements are allowed to be nested within other elements or which attributes a certain element can have. Not to forget accessibility: If we use semantically correct elements, we make sure that our content will be understood by assistive technologies like screenreaders and that our interfaces are usable for everyone. Using a <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button">native button element</a> <a href="https://www.htmhell.dev/2-div-with-button-role/">instead of a <code>div</code></a> when you need a button will not only impress your friends but also add standard styles and accessibility features like focus and additional keyboard events.</p>
<p>So there are a lot of reasons why you should write semantic, valid, accessible HTML. But how do you make sure that your code is error-free? If you are working on a larger team or with a team of content managers, it can be a challenge to maintain a high standard, especially if different team members have a different experience level with HTML.</p>
<p>You can, and this would definitely be the best solution, set up a thorough testing environment where each HTML or accessibility error is flagged immediately. Truth be told, we are far from testing being a priority – or even a sphere of knowledge – for many developers and clients. Also, when you are in an earlier phase of a project, and you are, for example, still prototyping in HTML or building basic HTML templates, you might not yet have an automated testing solution in place.</p>
<p>So how can you still make sure that your HTML is valid? Testing your HTML manually with the <a href="https://validator.w3.org/">W3C Markup Validation Service</a> would be another option. But this can be tedious, too. Wouldn’t it be nice to be able to see HTML errors directly in the browser? This is where CSS comes in. By the very nature of CSS, you are able to filter for elements in the most remote corners of the DOM. And, as it turns out, you can also use it to, at least visually, validate your code by highlighting elements that contain errors.</p>
<p>Adam Argyle <a href="https://twitter.com/argyleink/status/1274728784659267584">posted an example of how this can look like</a> on Twitter the other day:</p>

																												
																												<pre><code class="language-scss">/* CSS */
:is(ul, ol) > *:not(li) {
  outline: 2px dotted red;
}
</code></pre>
																						
																																	<p>In this case, the selector matches all elements that are inside of lists but not a list item <code>li</code> and displays them with a red outline. An outline makes sense because, other than using <code>border</code>, it does not change the size of the box of the element. Adam uses the new <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:is"><code>:is()</code> pseudo-class</a>, which still has <a href="https://caniuse.com/#feat=mdn-css_selectors_is">limited browser support</a>. But you could easily write it without <code>:is()</code>:</p>

																												
																												<pre><code class="language-scss">/* CSS */
ul > *:not(li), ol > *:not(li) {
    outline: 2px dotted red;
}
</code></pre>
																						
																																	<p>This technique can be used for many more useful things, for example, detecting images without an <code>alt</code> attribute:</p>

																												
																												<pre><code class="language-scss">/* CSS */
img:not([alt]) { ... }
</code></pre>
																						
																																	<p>As a general rule, images should always have an <code>alt</code> attribute to be accessible. When the attribute is set, a screen reader will read the alternative text. And when it is empty, the screen reader will ignore the image. If there is no <code>alt</code> attribute at all, though, the screen reader will read the <code>src</code> attribute instead. Not very useful in most cases.</p>
<p>Ire Aderinokun has written <a href="https://bitsofco.de/linting-html-using-css/">a great post about many more use cases for listing HTML with CSS</a>, like checking for empty interactive elements, unlabelled form elements, or faulty or missing link targets:</p>

																												
																												<pre><code class="language-scss">/* CSS */
a:not([href]),
a[href="#"],
a[href=""],
a[href*="javascript:void(0)"] { … }
</code></pre>
																						
																																	<p>She even created <a href="https://chrome.google.com/webstore/detail/alix-for-chrome/aepmadgjacfjcneccddiccnkbpimobge">a Chrome extension</a> that combines many of those selectors into a style sheet that you can apply to any web page to check the HTML for accessibility issues.</p>
<p>And there are many more interesting things you could do. For example, checking for the previously mentioned <a href="https://www.htmhell.dev/2-div-with-button-role/"><code>div</code> buttons from hell</a>:</p>

																												
																												<pre><code class="language-scss">/* CSS */
div[role="button"] { 
  text-decoration: blink; 
  /* Don't actually use blink here, it's a joke. */
}
</code></pre>
																						
																																	<p>Or, if you don’t shy away from using gigantonormous selectors, you could check if a span only contains the allowed “phrasing content”, or if some div lover put a lovely div in your span:</p>

																												
																												<pre><code class="language-scss">/* CSS */
span > :not(abbr):not(audio):not(b):not(bdo):not(br):not(button):not(canvas):not(cite):not(code):not(command):not(data):not(datalist):not(dfn):not(em):not(embed):not(i):not(iframe):not(img):not(input):not(kbd):not(keygen):not(label):not(mark):not(math):not(meter):not(noscript):not(object):not(output):not(picture):not(progress):not(q):not(ruby):not(samp):not(script):not(select):not(small):not(span):not(strong):not(sub):not(sup):not(svg):not(textarea):not(time):not(var):not(video):not(wbr) {
  outline: 3px dashed red;
}
</code></pre>
																						
																																	<p>Using CSS to debug all of your code covering all possible ways HTML in which elements could be misused would certainly be overkill. But depending on your project, this technique could still be quite useful to work against the most common and most severe mistakes like missing links or alt attributes. One could even think of having a default debug.css file that contains a standard set of the most useful rules. I think I’ll try that in one of the next projects.</p>
<p>-</p>
<p><em>This is the 24th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Becoming a Tyrant</title>
                <link>https://matthiasott.com/notes/becoming-a-tyrant</link>
                <pubDate>Fri, 19 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/becoming-a-tyrant</guid>
                <description><![CDATA[
                    
																																	<p>It is one of the most emotional and finest moments in “<a href="https://www.netflix.com/Title/80203144">The Last Dance</a>”, Netflix’s documentary series about Michael Jordan and the Chicago Bulls of the Nineties: The interviewer asks Michael Jordan if he thinks that the intensity at which he played the game has come at the expense of being perceived as a nice guy. Jordan looks a bit surprised and uncomfortable, he smiles, then pulls the corners of his mouth down, he blinks nervously. Then, he says:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Well, I&nbsp;don’t know. I&nbsp;mean… Win­ning has a&nbsp;price. And lead­er­ship has a&nbsp;price. So, I&nbsp;pulled peo­ple along when they didn’t wan­na be pulled. I&nbsp;chal­lenged peo­ple when they didn’t wan­na be chal­lenged. […] Once you join the team, you live at a&nbsp;cer­tain stan­dard that I&nbsp;play the game and I&nbsp;wasn’t gonna take any­thing less. Now, that means I&nbsp;had to go in and get in your ass a&nbsp;lit­tle bit. And I&nbsp;did that.”</p>
</blockquote>
												</figure>
																
																																	<p>Michael Jordan was, as his former teammate B. J. Armstrong puts it, “difficult to be around if you didn’t truly love the game of basketball.“ While being a loving son, husband, and father, Jordan showed a different side on the court. He was <a href="https://www.viralhoops.com/michael-jordan-trash-talking-stories/">a heavy trash-talker</a>, a bully, and even got into fights with teammates and, of course, opponents. He wanted to win at all costs and he knew that in order to win, he had to be a leader. For him, this meant “pulling people along” and being a tyrant at times. It was his mentality.</p>
<p>Steve Jobs <a href="https://www.cnet.com/pictures/15-surprisingly-mean-quotes-from-steve-jobs-and-2-nice-ones/">talked a lot of trash</a>, too. As Apple CEO, he was known for being cruel at times, yelling at employees and board members, and insulting business partners and, of course, the competition. People he didn’t like were most likely “bozos” to him and work he didn’t like was “a piece of shit”. Jobs was as unpleasant as a boss as he was successful.</p>
<p>So, do you have to be a tyrant to be a successful leader? There are still many people who believe this to be true. For them, strong leadership indeed means being authoritarian, controlling, harsh, and unforgiving. What those people don’t understand, though, is that they won’t be successful simply by being a tyrant. Many people, when confronted with authoritarian leadership, will react with resistance. People want to be in control of their lives and make their own decisions. So if you’re a tyrant, many people will push back – and ultimately, you’ll lose them.</p>
<p>But why were Jordan and Jobs still so successful then? At least, they both had a close circle of people who trusted and respected them and would go through fire and water for them. One answer to this question lies in the rest of the response Michael Jordan gave in the interview:</p>

																												
																																		<figure class="quote">
							<blockquote><p>You can ask all my team­mates: <span class="push-single"></span>​<span class="pull-single">‘</span>The one thing about Michael Jor­dan was, he nev­er asked me to do some­thing that he didn’t fuck­ing do.’ […] I&nbsp;want­ed to win, but I&nbsp;want­ed them to win and be a&nbsp;part of that as&nbsp;well.”</p>
</blockquote>
												</figure>
																
																																	<p>Michael Jordan might have been demanding, but he also demanded the same from himself. He wasn’t only the greatest player who ever played the game, but he also led by example, laser-focused on his goal of winning (yet) another championship. This inspired his teammates and provided them with a vision, a glimpse into the future, and thus a sense of purpose. </p>
<p>The same was true for Steve Jobs. He was known for meticulously preparing and practicing his presentations and walking the extra mile to get the details of a product right. And while he demanded a lot from the people working with him, he was also a strong communicator who believed in challenging ideas together. Believe it or not, he was even able to change his opinion. And most importantly: Many people who worked with him had the sense of working on something larger than themselves.</p>
<p>Both Jordan and Jobs were great leaders not because of but in spite of their tempered nature and demanding mentality. They might have deemed it necessary to be a tyrant at times, but what ultimately drove their success was that they provided people with a vision and a sense of purpose. Being a tyrant might be a strategy that can fix things in the short term and push people to get work done. But in the long term, being a tyrant isn’t that smart, because it undermines your authority and creates an environment of mistrust, frustration, and fear. So unless you are the next Michael Jordan or the next Steve Jobs (and chances are, you aren’t), you better abstain from becoming a tyrant. Instead, create a safe space for people to thrive. Trust them, help them excel and get better, create a sense of purpose – and inspire.</p>
<p>-</p>
<p><em>This is the 23rd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Release</title>
                <link>https://matthiasott.com/notes/release</link>
                <pubDate>Thu, 18 Jun 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/release</guid>
                <description><![CDATA[
                    
																																	<p>One of the things I’ve been thinking a lot about is how to know when something is ready. A website, an article, a song, a painting – whatever it is, how do you know that it is ripe for publication?</p>
<p>There are many answers to that question and maybe everyone of us has their own answer. When it is complete. When there nothing more to add. When there is nothing more to remove. When I’m tired of looking at it. When it sparkles.</p>
<p>Today, I listened to <a href="https://sivers.org/2020-05-ie">an interview with Derek Sivers</a> and he gave an answer I’ve found to be true for me as well. Never wait until it’s “ready”:</p>

																												
																																		<figure class="quote">
							<blockquote><p>If you wait until it’s ready, then you’ve wait­ed too long. You have to let it go and release it, and remem­ber that you’ll keep improv­ing. <br><br>I&nbsp;like that the fact that we use the word <span class="push-double"></span>​<span class="pull-double">“</span>release” in Eng­lish. You release an album or a&nbsp;book. I&nbsp;like the dou­ble mean­ing of that word. You have to let it go. You’ll always have the feel­ing that it’s nev­er done. Dimin­ish­ing returns, or what­ev­er met­ric you want to mea­sure, but at some point, put it out there before you’re ready.</p>
</blockquote>
												</figure>
																
																																	<p>-</p>
<p><em>This is the 22nd post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Smooth Operations</title>
                <link>https://matthiasott.com/notes/smooth-operations</link>
                <pubDate>Wed, 17 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/smooth-operations</guid>
                <description><![CDATA[
                    
																																	<p>How many connections are there in a team of two? One, of course. In a team of three? Three, of course. A team of four? Six. A team of five? Ten, already. What about a team of ten people? A team of ten has 66 connections. Yes, sixty-six. </p>
<p>This basic concept of network theory – that the number of connections between nodes in a network increases exponentially – is the basis for <a href="https://en.wikipedia.org/wiki/Metcalfe%27s_law">Metcalfe’s Law</a>, which states that the impact and usefulness of a network increase significantly the more users it has. Metcalfe’s Law is often illustrated with the example of a fax machine: One single fax machine in itself is useless, but as soon as other people also own fax machines, the value of each machine increases.</p>
<p>Metcalfe’s Law is a blessing when you look at it from the perspective of networks like Twitter or the internet at large. The more users the more useful the network becomes. But in the example above, when we’re looking at a high number of team members, Metcalfe’s Law can actually lead to the opposite. When a team grows, more communication is necessary. In a team of three, it is no problem when everyone is constantly exchanging information with all the other team members. In a team of ten, this becomes basically impossible.</p>
<p>This perfectly illustrates why you can’t simply throw more people at a problem to solve it faster. And there is another challenge: People are not machines. By increasing the team size, you also amplify a complex web of human relations, different personality types, varying goals, experience levels, and skillsets. Managing teams is a challenge and the bigger the team gets, the more difficult this becomes. On top of that, when people have to spend ever more time with being part-time project managers, leaders, communicators, and coordinators, it reduces the time they can devote to products and users. Often, the result is a decline in quality and craftsmanship.</p>
<p>Over the last few years, the role of design within businesses has shifted. Many organizations have come to understand that <a href="https://www.mckinsey.com/business-functions/mckinsey-design/our-insights/the-business-value-of-design#">design has business value</a> and that <a href="https://www.invisionapp.com/design-better/design-maturity-model/">design maturity is a competitive advantage</a>. As a consequence, they have grown their design teams or started building up an in-house design team in the first place. With their teams evolving, for many organizations questions of how to best organize design teams arise. As a consequence, the practice of Design Operations, or DesignOps, has received more and more attention.</p>
<p>Other than DevOps, which focuses more on the tooling and processes that facilitate great developer experience, DesignOps has a much broader scope: It is now often defined as everything about design work that isn’t designing per se. So it is not only workflows and software, but all the work that you have to do around design to be able to scale design teams while staying effective and maintaining quality.</p>
<p>As Kevin M. Hoffmann points out in <a href="https://aneventapart.com/news/post/what-is-design-ops-and-why-do-i-care">his An Event Apart talk on the topic</a>, there is no one right way to do DesignOps. What you have to do to improve the workflows, processes, collaboration, and team culture highly depends on your company, products, and ultimately your team. He suggests that before you define any measures, you should first focus on the values of your company or team. What is it that you can agree on and that defines how you work and what you believe in? Only then, you can go on and ask more operational questions like: </p>
<ul>
<li>How do we want to work together?</li>
<li>How do we know what our design team is working on?</li>
<li>Does the team work well with other colleagues from development or marketing?</li>
<li>Does the team have clear goals?</li>
<li>Are there regular feedback sessions – and how many do we really need?</li>
<li>Is the team producing work of high quality that meets your standards and is in line with your values?</li>
<li>How do you find and hire new talent?</li>
<li>How do you make sure they thrive in your organization?</li>
</ul>
<p>If you want to learn more about DesignOps, Kevin M. Hoffmann’s talk is a great starting point. What I really like about it is that he focuses not so much on efficiency, which is the darling of many managers and also the main focus of methodologies like agile (“velocity!”), but instead on what should be at the heart of good design and thus DesignOps: People producing outstanding work together. So instead of increasing the speed in which your design teams work, for example, he encourages us to actually give people <em>more</em> time because they will do better work then.</p>
<p>In their effort to improve the operations of their design teams, many organizations put a lot of weight on workflows, tools, and defining processes. Of course, having a clear structure in your team can be of advantage and well-defined workflows can increase productivity, especially when it comes to repetitive tasks. But design work also has a “liberal arts” component to it. To come to innovative solutions, teams need to have a safe space to explore different paths, to think outside the box, to challenge assumptions, and to continuously improve the details of their work. Many of those aspects often go unnoticed if the person in charge of defining workflows focuses too much on efficiency and operations alone.</p>
<p>Finally, to build a strong design team we also need to establish a strong team culture. As Daniel Coyle writes in <a href="https://matthiasott.com/notes/the-culture-code">The Culture Code: The Secrets of Highly Successful Groups</a>, this is best done by building a place where people feel safe and be vulnerable together to establish trust, and by providing a sense of purpose. Only then are teams able to reach their full potential. We should keep that in mind when we continue to think about how we can shape the future of our design teams together.</p>
<h3>More about DesignOps:</h3>
<ul>
<li><a href="https://aneventapart.com/news/post/what-is-design-ops-and-why-do-i-care">“What is Design Ops, and Why Do I Care?” by Kevin M. Hoffman—An Event Apart</a></li>
<li><a href="https://www.nngroup.com/articles/design-operations-101/">DesignOps 101</a></li>
<li><a href="https://www.designbetter.co/designops-handbook">DesignOps Handbook</a></li>
<li><a href="https://clearleft.com/posts/a-theory-for-design-ops">A universal theory for DesignOps</a></li>
<li><a href="https://www.uxmatters.com/mt/archives/2018/09/designops.php">DesignOps, A UX matters column by Janet M. Six</a></li>
<li><a href="https://gamestorming.com/mapping-design-operations/">Mapping Design Operations</a></li>
<li><a href="https://uxdesign.cc/defining-designops-my-first-6-months-as-a-designops-manager-921285cc75c9">Defining DesignOps — my first 6 months as a DesignOps Manager</a></li>
<li><a href="https://uxdesign.cc/designops-the-questions-youre-probably-asking-yourself-now-fdac491bfe4f">DesignOps: the questions you’re probably asking yourself now</a></li>
</ul>
<p>-</p>
<p><em>This is the 21st post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Feck Perfuction</title>
                <link>https://matthiasott.com/notes/feck-perfuction</link>
                <pubDate>Tue, 16 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/feck-perfuction</guid>
                <description><![CDATA[
                    
																																	<p>There are books that you read once and never open again. There are even more books that you start to read and somehow never finish. I have a lot of them. And there are book with a lot of images in them, so there is not so much to read. I have a lot of them, too. But then, there are a few books which tend to pay you a visit from time to time. Because you are reminded of them, or you walk by and see them sitting on the shelf – and somehow, you just can’t help but start reading a bit.  I have such a book that I love coming back to at the moment.</p>
<p>It’s by <a href="https://www.jamesvictore.com/">James Victore</a> and it’s called “<a href="https://www.feckperfuction.com/">Feck Perfuction</a>”.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 75%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/feck-perfuction-01.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/feck-perfuction-01.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/feck-perfuction-01.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/feck-perfuction-01.jpg" alt="Feck Perfuction 01" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>James Victore is an artist, art director, and designer from New York City who is known for speaking his mind and creating expressive, rebellious pieces, often including rough, bold calligraphy. Feck Perfuction is his manifesto for having “a fucking opinion“ and making things that are wildly creative. Against normalcy, against assimilation, and against Feck Perfuction is a collection of 77 lessons learned, of dangerous ideas, thoughtful, thought-provoking, and challenging. Yet also full of wisdom, humor, optimism, possibility, and confidence. Each lesson is short and snackable, and many are illustrated with collages, drawings, and his signature brush lettering. The main lesson of the book – though definitely not the only one of this nature – is that perfection is not only a myth, it actually often holds us back from starting and finishing our best work:</p>

																												
																												<blockquote><p>On its surface, perfectionism seems like it would be a professional advantage, a creative accelerator. But really, as a driver, it hits the brakes more often than the gas. Perfectionism stops you from starting projects—or even relationships – because you are not ready. It stops you from finishing projects because they are never quite right. “When it’s perfect!” Is our defense, but this habitual overthinking leaves us stymied, unable to get over ourselves and just move.
</p><p>
Should you strive for excellence? Of course. Pay attention to details? Yes. But never let “perfect” stop progress. You know what’s better than perfect? Done. Done is better than perfect.</p></blockquote>
																						
																																	<p>-</p>
<p><em>This is the 20th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>There Is No Secret Code</title>
                <link>https://matthiasott.com/notes/there-is-no-secret-code</link>
                <pubDate>Mon, 15 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/there-is-no-secret-code</guid>
                <description><![CDATA[
                    
																																	<p>Back in design school, I spent days – weeks even – trying to crack the secret code of a given topic. Typography? Once I know all the rules and all the typefaces, I’ll be a well-versed typographer. Logo design? Once I have looked at enough logos to understand what the essence of logo design is, I’ll be able to design great logos myself. Flash? Once I&#039;ve fully understood all the concepts and methods of ActionScript, I’ll have mastered Flash for good. </p>
<p>Except that there is no secret code. There is only cutting your teeth. There is only doing. There is only practice. There is only learning what you have to learn to get the job done. There is no right or wrong. There is only what works and what doesn’t.</p>
<p>-</p>
<p><em>This is the 19th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Resilient Systems vs Humans</title>
                <link>https://matthiasott.com/notes/resilient-systems-vs-humans</link>
                <pubDate>Sun, 14 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/resilient-systems-vs-humans</guid>
                <description><![CDATA[
                    
																																	<p>There was this strange sound. Clack, clack, clack! Was it coming from the tires? Clack, clack, clack! Just a few minutes after we hit the Autobahn to drive back home all the way across Germany. Clack, clack, clack! Maybe I’ll better have a look. I pulled over and stopped at the filling station. I was lucky: There was a mechanic from the ADAC, the German automobile association, just filling up his car. I walked over and asked him if he could have a look at the wheels I had just changed a few hours before. “Well, these are the wrong bolts.” He looked worried. “This could have killed you.” It turned out that I had used the longer bolts from the steel rims of the winter tires to tighten up the summer tires. But because they didn’t fit, they had started to come loose. A few more kilometers and a white Golf I with two students on the way back to their parents would have lost a tire at 80 miles an hour. And all of this because of one small human error.</p>
<p>When we design systems, we want them to be fail-safe. We want them to be as resilient as possible. To make a system resilient, we often focus on the design of technical aspects like durability, reliability, and security. We try to build it from individual parts that are as simple as possible to reduce complexity and, thus, the possibility of technical failure. We try to add in redundancies so that when one component of the system fails, another one can take over so that the whole system keeps running. This is also the reason why we often use a decentralized approach to structure our system. All of this because we know that a resilient system has to be able to respond to change and therefore has to be as adaptable and agile as possible.</p>
<p>But what we often overlook are ourselves. Humans. In our love for technological solutions, we forget that humans will have to work with a system. Humans who architect, use, maintain, change, and enhance the system. Humans with different skillsets and levels of knowledge. Humans who make mistakes.</p>
<p>Humans are significant components of every system. Sometimes, they are the predominant elements in the system. Sometimes, for example in a team, humans even constitute the entire system itself. Be it a spacecraft, a hospital, or a pattern library for a website – if the system is truly resilient, it doesn’t allow for an individual human to become the single point of failure.</p>
<p>-</p>
<p><em>This is the 18th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Web of Privilege</title>
                <link>https://matthiasott.com/notes/the-web-of-privilege</link>
                <pubDate>Sat, 13 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-web-of-privilege</guid>
                <description><![CDATA[
                    
																																	<p>My father likes to say: “Man gewöhnt sich an jeden Scheiß,“ which translates to something along the lines of “eventually, any shit grows on you.“ He often uses it jokingly and with a wink, yet there is much truth to it. As human beings, we are extremely good at growing accustomed to our current situation and the things that are happening around us, both good and bad. Even in the worst circumstances, we are still looking for something positive and for reasons to not change. We post-rationalize our decisions so that we perceive them as better than they really are. We start to <a href="https://en.m.wikipedia.org/wiki/Mere_ownership_effect">like things better once we own them</a>. We like to think that we, more than others, deserve the things and status we have earned. And once we have grown accustomed to it, <a href="https://en.m.wikipedia.org/wiki/Loss_aversion">we don’t want to give up what we have</a>, even though we might not have wanted all those things in the first place or are worse off adhering to the past.</p>
<p>Somewhere along the way, we often forget how it was to not have those things we now take for granted. And we also forget that many people don’t have what we have. That it is a privilege to have <a href="https://seths.blog/2020/06/invisible-insulation/">access to clean water, food, electricity, and education</a>, for example. That it is a privilege to own a computer or a smartphone that is connected to the internet with a fast data plan. And that is is a privilege to be able to design and code for the Web and publish your work without fear of being bullied, harassed, censored, arrested, imprisoned, or killed.</p>
<p>We all live in our very own little bubbles and circles of influence and often forget that our collective responsibility is much greater than our narrow perspectives, opinions, and world views. This is why we have to work hard every day to continually improve the world around us – and the Web – for those who are less privileged. Building inclusive, safe, performant, and welcoming spaces does not come easy, though, and is a constant battle against constraints of money, opposing opinions, and our own complacency to speak up and turn words into action. </p>
<p>The first step in making meaningful progress is to realize that we, the creators of the Web, are very much in the minority and that in order to create lasting change, we have to step down from our ivory tower and look at the world not as we perceive it but as it really is. In the West, we have to leave our predominantly white and male teams behind and hire for diversity. Not because we want to create same-ness or comply with a quota, but because only <a href="https://youtu.be/r4g_Utz_gCI">by embracing our differences, we will be able to reach everyone and create groundbreaking innovation</a>. We have to get away from our high-resolution screens attached to high-end machines with 8-core processors behind fiber internet connections. Not because we shouldn’t use the best tools available to be “productive”, but because people in the real world don’t care if a product looks stunning and works well on <em>your</em> machine. <a href="https://youtu.be/eIFTbuEW7MA">People want the best experiences we can offer them</a>, even if the majority of people don’t have access to vast computing powers. We also have to realize that, while we might be able to provide for a family with our work, others, like the many content moderators fact-checking social media, are less privileged. And some of them will be <a href="https://slate.com/technology/2020/04/coronavirus-facebook-content-moderation-automated.html">the first to be removed to increase productivity in the age of Machine Learning and AI</a>.</p>
<p>There is a challenge ahead of us that is larger than anything we have encountered before. And, although most of us might not be responsible for and profiting from the climate breakdown, it will take each and every one of us to mitigate the impacts of climate change by changing and invoking change ourselves. The Web might be the most powerful tool mankind has ever invented and it will play a crucial role in shaping our future. But only if it stops to be a Web of the privileged. </p>
<p>-</p>
<p><em>This is the 17th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>CSS Custom Properties Fail Without Fallback</title>
                <link>https://matthiasott.com/notes/css-custom-properties-fail-without-fallback</link>
                <pubDate>Fri, 12 Jun 2020 23:58:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/css-custom-properties-fail-without-fallback</guid>
                <description><![CDATA[
                    
																																	<p>Today I learned! <a href="https://adactio.com/journal/16993">Jeremy Keith wrote about an interesting detail about CSS custom properties</a>, also known as CSS variables, that he learned from Lea Verou: They don’t support the Cascade when a value is invalid. Or, as Lea writes in her article <a href="https://lea.verou.me/2020/06/hybrid-positioning-with-css-variables-and-max/">Hybrid positioning with CSS variables and max()</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The brows­er doesn’t know if your prop­er­ty val­ue is valid until the vari­able is resolved, and by then it has already processed the cas­cade and has thrown away any poten­tial fallbacks.</p>
</blockquote>
												</figure>
																
																																	<p>Jeremy goes on to explain that this is the reason why using the <code>color()</code> function will fall back successfully if you use it like this:</p>

																												
																												<pre><code class="language-scss">/* CSS */
p {
  background-color: red;
  background-color: color(display-p3 1 0 0);
}
</code></pre>
																						
																																	<p>But it will fail if you use a custom property like so:</p>

																												
																												<pre><code class="language-scss">/* CSS */
:root {
  --myvariable: color(display-p3 1 0 0);
}
p {
  background-color: red;
  background-color: var(--myvariable);
}
</code></pre>
																						
																																	<p>What happens is that the browser <strong>first figures out the cascade and then looks at the custom properties</strong>. If a property is invalid “at computed-value time”, there is no fallback value because the browser has already thrown away the other values. So in the example above, the browser will not display the red background-color, but instead <code>unset</code> it.</p>
<p>A lot of people are switching from Sass to using CSS custom properties these days. And unless you still have to support IE11, you can totally do that because <a href="https://caniuse.com/#feat=css-variables">browser support is solid</a>. So it will only be a matter of time until using CSS variables will have be the new normal. Knowing that they fail all that gracefully is an important thing to know, though. Especially if you are using them to use features that are only supported by a few browsers, like the new color functions <code>color()</code>, <code>lab()</code>, or <code>lch()</code>.</p>
<p>But what can you do? Do we have to wait and skip using custom properties for values that might fail? Not really. As I wrote in <a href="https://matthiasott.com/notes/world-wide-gamut-web">my recent post about the new color functions coming to CSS</a>, you could use <code>supports()</code> to check for support before setting the properties:</p>

																												
																												<pre><code class="language-scss">/* CSS */
:root {
  --myvariable: red;
}

@supports (color: color(display-p3 1 0 0)) {
  :root {
    --myvariable: color(display-p3 1 0 0);
  }
}

p {
  background-color: var(--myvariable);
}
</code></pre>
																						
																																	<p>Another option would be to use a <a href="https://furbo.org/color/ResponsiveColor/">media-query like <code>color-gamut</code></a>. But if you want to set many values at once in one ruleset, <code>supports()</code> might be the better solution. Sara Soueidan recently wrote about how she defines <a href="https://www.sarasoueidan.com/blog/style-settings-with-css-variables/"> Global and Component Style Settings with CSS Variables </a>. In such a case, you could rely on a feature query using <code>supports()</code> to set all the custom properties for supporting browsers.</p>

																												
																												<pre><code class="language-scss">/* CSS */
:root {
  /* UI Colors */
  --color--primary: rgb(217,0,189);
  --color--secondary: rgb(242,199,0);
}
    
@supports (color: lch(50% 132 334)) {
  :root {
     /* UI Colors for browsers that support LCH colors */
     --color--primary: lch(50% 132 334);
     --color--secondary: lch(82% 132 86);
  }
}

</code></pre>
																						
																																	<p>-</p>
<p><em>This is the 16th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Building the Inclusive Web Together</title>
                <link>https://matthiasott.com/notes/building-the-inclusive-web-together</link>
                <pubDate>Thu, 11 Jun 2020 23:45:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/building-the-inclusive-web-together</guid>
                <description><![CDATA[
                    
																																	<p>It’s been over a year now that, after reading <a href="https://ethanmarcotte.com/wrote/the-web-we-broke/">an article by Ethan Marcotte</a>, I wrote about <a href="https://matthiasott.com/notes/information-management-a-proposal">why we all need to do better to make the Web truly inclusive</a>. Ethan had shared the results of WebAIM’s 2019 study covering the state of accessibility on the Web and the results were devastating: 97.8 % of the sites had detectable WCAG 2 failures. The study seemed to be a wake-up call and over the following year, accessibility as a topic received much more attention than in previous years – at least that was my perception. But in February 2020, the next WebAIM study showed the exact opposite: Instead of making the Web more accessible, we actually managed to make the Web even more inaccessible. Now, <a href="https://webaim.org/projects/million/">98.1 % of the sites had detectable accessibility issues</a>. </p>
<p>As I wrote back then, nobody builds inaccessible websites on purpose. Mostly, it is still a lack of awareness. But this lack of awareness reveals a problem that runs much deeper: It shows a lack of diversity within the teams that build those websites. As Olu Niyiawosusi writes in her great article “<a href="https://alistapart.com/article/building-the-woke-web/">Building the Woke Web: Web Accessibility, Inclusion &amp; Social Justice</a>” for A List Apart:</p>

																												
																												<blockquote>Hiring inclusively creates teams full of people who aren’t like you or each other. And those kinds of teams build better products, bring better ideas to the table, and better reflect the user base of the majority of products. It is important to remember that diversity isn’t just about race or hiring women; there are neurodiverse people, people with physical disabilities, people of other genders, people from various backgrounds, and many other marginalizations than could be listed here.</blockquote>
																						
																																	<p>One of the sites that I’m working on has to be WCAG-compliant by the end of September to comply with the <a href="https://en.wikipedia.org/wiki/European_Accessibility_Act">European Accessibility Act</a>. We are currently working on improving the codebase and we will also do extensive accessibility testing over the next months. But one thing bothers me already: While it is great to have the budget to test for compliance with accessibility guidelines, there is currently no time and budget planned for doing accessibility tests with real end-users who, for example, are using assistive technology to access the Web. Also, we don’t have anyone on the team who could add their experience as a person with access requirements. And this is exactly the problem that many teams face. On that note: I will try to share as many experiences from this project as possible. Maybe it will help other teams avoid some of the errors we made and will run into.</p>
<p>Building the inclusive Web will take a long time, obviously, and it requires all of us to understand that inclusive, accessible, and performant websites and apps must not be a “nice-to-have” anymore. Building inclusive products is a requirement and if our work isn’t accessible, it’s not done yet. Testing for compliance is a good start, but going forward, we will also have to include the voices of the people who depend on our solutions. And ultimately, there is no better way to do this than to hire them.</p>
<p>-</p>
<p><em>This is the 15th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Importance of Being Inauthentic</title>
                <link>https://matthiasott.com/notes/the-importance-of-being-inauthentic</link>
                <pubDate>Wed, 10 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-importance-of-being-inauthentic</guid>
                <description><![CDATA[
                    
																																	<p>“Just be authentic!” I’m sure you’ve heard that advice before. Maybe you also know some people, who proudly proclaim that they always like to be authentic and always openly tell people what they are thinking.</p>
<p>There is only one problem with being authentic: It can be highly disrespectful, overly selfish, hurtful even, and, in the end, counterproductive. Don’t get me wrong. I am not talking about feeling comfortable and being relaxed and confident. I am talking showing your “true self”, your true character, and always being open about what you really think or how you feel inside. What, Matthias? But isn’t it a person’s right to follow their natural instincts and just be “authentic”? </p>
<p>When you are happy and have a positive story to share, there is nothing wrong with being authentic, of course. But imagine anyone who got out the wrong side of the bed, who is bored, tired, angry, pissed off, or simply a selfish jerk, would always show that. A client would angrily hang up on you in a business call, a public speaker would openly show discomfort and fear, a workshop host would act totally uninterested and indifferent to the people in the room, and a guest at your birthday party would tell everyone that he doesn’t really “like anyone but you in here.”</p>
<p>Being authentic is often understood as being truthful. But as Mark Bowden illustrates in <a href="https://youtu.be/1zpf8H_Dd40">his great TEDxToronto talk on body language and the importance of being inauthentic</a>, while it might be more honest (and easy) to follow your gut instincts, it is counterproductive if you are trying to communicate with the people around you. And in a professional setting, it can even be highly disrespectful of the people you are interacting with. If, for example, people paid and came to see you speak, it would be disrespectful of their time and attention to not even try to make them feel comfortable and create a positive experience. It is the hallmark of the professional that she shows up and gives her best, whatever obstacles might be in her way. And this includes leaving your comfort zone and being a little bit inauthentic whenever it is needed. You owe it to yourself, to the people around you, and to the story you want to tell.</p>
<p>-</p>
<p><em>This is the 14th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Welcome to the 21st Century</title>
                <link>https://matthiasott.com/notes/welcome-to-the-21st-century</link>
                <pubDate>Tue, 09 Jun 2020 23:56:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/welcome-to-the-21st-century</guid>
                <description><![CDATA[
                    
																																	<p>My late grandmother was born in 1913. When she was my age, she had already lived through the Great Depression, the Spanish flu pandemic, hyperinflation, the fall of the Weimar Republic, two world wars, and, with the Nazi regime and the Holocaust, the darkest chapter in German history. She had also witnessed the birth of radio, television, passenger aviation, mass-produced cars, and the modern computer – although the last invention wasn’t on anyone’s <a href="https://en.wikipedia.org/wiki/History_of_radar">radar</a> yet. Whenever I hear someone saying that we are living “in crazy times,” I think of her and how it must have been to live back in <em>those</em> crazy times. The first half of the 20th century was an era of radical transformation. Politically, economically, and technologically so many things changed in such a profound way that over the course of just three centuries the way of life was completely turned upside down for millions of people.</p>
<p>A few days ago, Tim O’Reilly published a long-form essay titled “<a href="https://www.oreilly.com/tim/21stcentury/">Welcome to the 21st Century</a>” in which he argues that the current situation, and in particular the COVID-19 pandemic, might mark a point in time that, similar to the assassination of Austrian Archduke Ferdinand in 1914, once more triggers such fundamental changes that the world won’t ever be the same again:</p>

																												
																												<blockquote>We are entering the century of being blindsided by things that we have been warned about for decades but never took seriously enough to prepare for, the century of lurching from crisis to crisis until, at last, we shake ourselves from the illusion that our world will go back to the comfortable way it was and begin the process of rebuilding our society from the ground up. […] Our comfortable “American century” of conspicuous consumer consumption, global tourism, and ever-increasing stock and home prices may be gone forever.</blockquote>
																						
																																	<p>Especially the greatest challenge of them all, anthropogenic climate change, <a href="https://www.penguinrandomhouse.com/books/586541/the-uninhabitable-earth-by-david-wallace-wells/">will bring even more natural disasters, pandemics, economic and political instability, conflict, and forced migration</a>. This sounds terrifying but it is a fact that we will have to prepare for. The question is: How can we even plan and budget for so many unknown and uncertain futures? According to O’Reilly, scenario planning can be the answer. In scenario planning, you don’t make static plans but instead imagine a wide range of possible future scenarios – even if they seem most unlikely – and then look for data points, for indicators, which of those scenarios might indeed become reality. By making plans that hold up for a wide range of unknown futures, you increase the likelihood of being prepared.</p>
<p>What if there is no back to normal? What if there will be even more surveillance and, for example, quarantine enforced by sensors? What if remote work is the new normal and offices are never the primary work location again? What if the value of the commercial real-estate sector crashes? What if the school schedule as we knew it never resumes? What if government services go online, becoming as available, effective, and easy-to-use as the best consumer applications? O’Reilly envisions many possible futures, and indeed many of those futures don’t even seem that unlikely. Yet, we aren’t prepared. </p>
<p>Going forward, we will have to decide how we want to prepare for the shifts ahead of us. Scenario planning suggests that you come up with a “robust strategy”. Robust in this case doesn’t mean “rigid” but instead being flexible, adaptable, and also “resilient” and therefore well-prepared for a range of possible outcomes.</p>
<p>Preparing for constantly emerging and evolving technologies? Coping with uncertainty and unknown futures? I don’t know about you, but all of this sounds like scenario planning could also be a darn useful strategy for building digital products and the Web in general. In many of our projects, we would be well advised to imagine a broader range of possible futures instead of making rigid plans. And by <a href="https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping">prototyping</a>, <a href="https://matthiasott.com/notes/designing-and-making">making</a>, and testing, we would get the data points we need to evaluate which outcomes might be more likely. This would then help us to come up with a robust, resilient strategy that we could use as a basis for action and for layering tactics on top that allow us to react to the current situation. That seems like something worth exploring…</p>
<p>-</p>
<p><em>This is the 13th post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Balancing Risk</title>
                <link>https://matthiasott.com/notes/balancing-risk</link>
                <pubDate>Mon, 08 Jun 2020 23:44:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/balancing-risk</guid>
                <description><![CDATA[
                    
																																	<p>Life is full of risks. The risk to make a wrong decision. The risk to lose. The risk to fail. The risk to mention too many risks in the first paragraph of a blog post.</p>
<p>There are some risks that most of us understandably want to reduce as much as possible. The risk to die, for example.</p>
<p>Then, there are also risks worth taking. Why are they “worth” it? Not because there is no risk involved at all, but because the return, the utility, outweighs the potential damage. But because <a href="https://en.m.wikipedia.org/wiki/Risk_aversion">we are risk-averse beings</a>, we overestimate potential losses and also the risk of losing in itself. Consequently, we often shy away to take even the smallest risks. Publishing that blog post? Singing a song at a birthday party? Speaking in front of people? This all can seem quite risky. But is it, really?</p>
<p>Risk can never be eliminated completely. So instead of not doing the things that include some risk, why not accept the risk and try to evaluate more closely? Just because something seems like it has a high possibility of failure, doesn’t mean it is not worth trying, for example. If the potential return is huge, ask yourself: What is the worst that could possibly happen? If “the worst” isn’t actually that bad, then maybe the risk is still worth taking.</p>
<p>We have to make many decisions every day, and if we can’t eliminate risk, the best strategy might be to <a href="https://www.goodreads.com/author/quotes/5289593.Ray_Dalio?page=13">balance the risks in ways that keep the big upside while reducing the downside</a>.</p>
<p>-</p>
<p><em>This is the twelfth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Blue Eyes, Brown Eyes</title>
                <link>https://matthiasott.com/notes/blue-eyes-brown-eyes</link>
                <pubDate>Sun, 07 Jun 2020 00:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/blue-eyes-brown-eyes</guid>
                <description><![CDATA[
                    
																																	<p>Joschi Kuphal <a href="https://twitter.com/jkphl/status/1269497851693891585">shared an amazing video on Twitter this morning</a>. It is a documentary about an exercise that the school teacher, lecturer, and diversity trainer Jane Elliot devised in response to the assassination of Martin Luther King, Jr. in 1968. The exercise is called “Blue Eyes–Brown Eyes” and in it, Elliot uses the eye color of students to separate them into two groups: One with blue eyes and one with brown eyes. The group with the blue-eyed students – which turn out to be predominantly white – are then treated as being inferior throughout the exercise to make them feel the effects of racism and discrimination. The exercise received much public attention, especially in the 1970s and 1980s, and although <a href="https://en.wikipedia.org/wiki/Jane_Elliott#Academic_research_into_the_Blue-Eyes-Brown-Eyes_exercise">scientific studies showed no evidence for long-term effects to reduce racism</a>, the immediate effects of the exercise are obvious and fascinating to watch:</p>
<p><a href="https://www.youtube.com/watch?v=jPZEJHJPwIw">https://www.youtube.com/watch?v=jPZEJHJPwIw</a></p>
<p>-</p>
<p><em>This is the eleventh post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Designing and Making</title>
                <link>https://matthiasott.com/notes/designing-and-making</link>
                <pubDate>Fri, 05 Jun 2020 23:00:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/designing-and-making</guid>
                <description><![CDATA[
                    
																																	<p>One of the reasons for Apple’s success in the years when they invented breakthrough products like the iPod, the iPhone, and the iPad, was the way they created their products. At the heart of the design process was the design studio where lots of models and prototypes of everything the team had in the works would always be on display. As Walter Isaacson describes in his biography of Steve Jobs, always being able to see the current state of the designs allowed Apple’s CEO and his chief design officer Jony Ive to see and feel a model and also see things in relationship to each other. Not only did they design the products as such, but they also constantly invented tools and experimented with processes that would make new solutions at the often-quoted intersection of technology and liberal arts possible. Walking through the studio, you would see CAD workstations, molding machines to create foam models, and a robot-controlled spray-painting chamber to make the models look more real. In close exchange with engineering, the design team was constantly making tangible things. This way, the team was able to better assess the quality of a design, refine it down to its essence, and work on the details that make a product stand out.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Design­ing and mak­ing real­ly should be inseparable.</p>
</blockquote>
												<figcaption>Jony Ive </figcaption>
										</figure>
																
																																	<p>The whole studio was built around the idea that designing and making should be inseparable. An idea that Jony Ive and the designers at Apple shared with other industrial designers, like Charles and Ray Eames, for example. In such an environment, the design isn’t created merely based on groupthink or by ticking off checklists of required features. By making designing and making inseparable, the designers form the product in a constant conversation with creatie ideas, materials, and constraints. They give the product room to evolve and themselves the permission to learn and grow.</p>

																												
																																	<p>Now think about how you are designing your products. If you work in a company that is a bit like many I’ve seen over the years, chances are that designing and making are sharply separated, especially if you are designing digital products. Contrary to what is being preached and how many innovative people already work, many teams still work in silos. A concept team might create requirements, a sitemap, and wireframes. The design team might design static images aka layouts (albeit in different screen sizes). And the developers then build the product based on all those specifications. <a href="https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping">I’ve written in detail about this before</a>, but I still don’t see a lot of change happening, except for everyone now working with components and pattern libraries – which is indeed a kind of progress. But are designers really <em>making tangible things</em>? So few of them are working with HTML, CSS, and JavaScript, the material the Web is made of. So few of them are building interactive prototypes, although we have a wealth of tools that now come with powerful prototyping capabilities. But most importantly, the whole process does still not honor the fact that designing and making should be inseparable.</p>
<p>Have you ever watched a child having an idea and manically getting to work to make it come alive? They don’t care about the medium. They don’t care if making something requires a drawing, written text, singing, or dirt from the garden. They just make. How about we re-learn to do that, too? So instead of starting with a visual layout, or <em>how something looks</em>, why not start with <em>making</em> something?</p>
<p>-</p>
<p><em>This is the tenth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Shortcut Boomerang</title>
                <link>https://matthiasott.com/notes/the-shortcut-boomerang</link>
                <pubDate>Thu, 04 Jun 2020 23:59:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-shortcut-boomerang</guid>
                <description><![CDATA[
                    
																																	<p>I love shortcuts. Not only keyboard shortcuts but also those in real life: When there is the opportunity to solve a problem quicker and more easily by taking a different path. Such a shortcut might be a new technique that you discovered or a new tool that makes your life easier. Such a shortcut might be possible through automation or a clever hack. And sometimes, such a shortcut might be that you do things a bit differently than they have been done before, for example by leaving out the unnecessary stuff.</p>
<p>Beware of pseudo-shortcuts, though. Pseudo-shortcuts are shortcuts that might seem like a quick solution for the pressing problem at hand, but in reality, they are more of a shoddy trick. Cutting back on research and user testing, for instance. Or not telling a client about a seemingly tiny detail you decided to leave out. Or promising a new hire great opportunities for personal development and growth, when in reality you already know that they might end up doing the same boring tasks for months on end. Pseudo-shortcuts like these usually come back at you with a vengeance, just like a boomerang. Instead of saving money on research and testing, you end up designing and developing the wrong product. Instead of saving some time and getting clearance, your client asks about the tiny detail – because it somehow mattered to them – and gets upset. Instead of having a passionate, happy team member, you will very soon have to invest money again into finding a new employee.</p>
<p>So whenever something feels like a shortcut, watch out. Ask yourself: Is this a real, valuable improvement and therefore a valid shortcut? Then fine, go on. Or is it a pseudo-shortcut that will most likely backfire? Then just don’t do it. Answer this question honestly and it will certainly improve the quality and consistency of everything you do.</p>
<p>-</p>
<p><em>This is the ninth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Fuck it, why wait?</title>
                <link>https://matthiasott.com/notes/fuck-it-why-wait</link>
                <pubDate>Wed, 03 Jun 2020 23:50:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/fuck-it-why-wait</guid>
                <description><![CDATA[
                    
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/RTJ4-cover.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/RTJ4-cover.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/RTJ4-cover.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/RTJ4-cover.jpg" alt="RTJ4 Cover" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Run the Jewels released “<a href="https://us-preorder.runthejewels.com/collections/rtj4">RTJ4</a>” today, two days ahead of schedule because of recent events in the US. It is available on the streaming services, but also as <a href="https://us-preorder.runthejewels.com/products/rtj4-download">a free download</a> again. You can combine the download with a donation that will go to the National Lawyers Guild Mass Defense Fund, a network of lawyers, legal workers, and law students providing legal support for political activists, protesters, and movements for social change.</p>
<p>Naturally, I spent the evening listening to the album. Both musically and lyrically, Killer Mike’s and El-P’s long-awaited fourth album is their greatest yet. The duo is arguably the best hip-hop has to offer at the moment. The combination of El-P’s powerful, multi-faceted, raw but masterfully produced beats and woke, punch-you-in-the-face <a href="https://genius.com/albums/Run-the-jewels/Rtj4">lyrics full of rage</a> makes for a unique combination. Andrew Barker puts it best in <a href="https://variety.com/2020/music/reviews/run-the-jewels-album-review-rtj4-1234624373/">his review for Variety</a> when he calls the music “ever mutating and nodding to hip-hop’s roots while gazing steadily forward”. Jon Dolan <a href="https://www.rollingstone.com/music/music-album-reviews/run-the-jewels-rtj4-review-1009231/">writes for Rolling Stone</a>: “The lyrics are designed to shake even the most self-regardingly woke of us out of our complacency. […] The music bounces as much as it brays, with an elastic flow and deep history.”</p>
<p>Lately, people have been sharing the ten albums that defined their musical taste on Twitter. I haven’t participated yet. But this album is where it all leads to for me.</p>

																												
																																		<figure class="quote">
							<blockquote><p>They promise edu­ca­tion, but real­ly they give you tests and scores&nbsp;<br> And they pre­dictin’ prison pop­u­la­tion by who scor­ing the lowest&nbsp;<br> And usu­al­ly the low­est scores the poor­est and they look like&nbsp;me&nbsp;<br> And every day on evening news they feed you fear for&nbsp;free&nbsp;<br> And you so numb you watch the cops choke out a&nbsp;man like&nbsp;me&nbsp;<br> And <span class="push-single"></span>​<span class="pull-single">’</span>til my voice goes from a&nbsp;shriek to whis­per, <span class="push-single"></span>​<span class="pull-single">‘</span>I can’t breathe’&nbsp;<br> And you sit there in the house on couch and watch it on&nbsp;<span class="caps">TV</span>&nbsp;<br> The most you give’s a&nbsp;Twit­ter rant and call it a&nbsp;tragedy&nbsp;<br> But tru­ly the trav­es­ty, you’ve been robbed of your empathy.</p>
</blockquote>
												<figcaption>Killer Mike, <cite>Walking in the Snow, RTJ4</cite> </figcaption>
										</figure>
																
																																	<p>-</p>
<p><em>This is the eighth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>World Wide Gamut Web</title>
                <link>https://matthiasott.com/notes/world-wide-gamut-web</link>
                <pubDate>Tue, 02 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/world-wide-gamut-web</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/color">Color on the Web</a> has seen many iterations. When I started to fall in love with the Web in the late nineties, every self-respecting web designer was using web-safe colors. Although it can be argued that they never really worked, because colors still looked different on different screens, web-safe colors were at least the attempt to achieve consistency in a time where it was worth mentioning in ads that a monitor was able to display “millions of colors“.</p>
<p>Today, we are using not only the hex notation and <code>rgb()</code> in CSS but also <code>rgba()</code> to control transparency. Our displays have grown to be much more accurate in how they display color. And in recent years, so-called wide gamut displays have become increasingly popular. While the old lowest common denominator was the tiny sRGB color space, many modern displays are able to reproduce a much larger <a href="https://en.wikipedia.org/wiki/Gamut">color gamut</a>, resulting in more vivid, vibrant colors. Once primarily used in prepress workflows to reproduce the full range of printable colors, wide gamut displays can now be found in both pro and consumer monitors, laptops, and even tablets and smartphones. The <a href="https://en.wikipedia.org/wiki/DCI-P3">DCI-P3 color space</a>, originally designed as a standard for digital movie projection for the film industry, made its debut in a consumer computer in September 2015 in Apple’s iMac. A year later, both Apple and Samsung released their first flagship phones with P3 wide gamut display.</p>
<p><a href="https://www.w3.org/TR/css-color-4/">Now</a>, support for these wider color spaces is finally coming to the Web. In case you want to dig deeper, Lea Verou has written <a href="http://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/">a brilliant article on the upcoming changes</a>. <a href="https://www.w3.org/TR/css-color-4/#specifying-lab-lch">The CSS 4 Color specification</a> includes, among other things, <code>lab()</code> and <code>lch()</code>. LCH is a color space designed to cover the entire spectrum of human vision, so it is even larger than P3. Safari already supports it, Chrome is going to support it soon, and Firefox is considering implementation. With the <code>lch()</code> color function and support for the P3 color space in our devices, we will therefore soon have access to about 50% more colors than with sRGB. Another advantage is that LCH, which stands for “Lightness, Chroma, Hue”, is perceptually uniform. So when you define two colors that share the same lightness, the two colors will indeed be perceived as being equally bright by the human eye, which can also be useful if you want to create an accessible color palette.</p>
<p>Here is how you write a color with the new <code>lch()</code> function, in the new commaless syntax:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
lch(50% 73 327)
</code></pre>
																						
																																	<p>The first value stands for the lightness of the color and is written as a percentage ranging from 0 to 100. The second value, chroma, is a number that describes how vibrant and saturated the color is. It starts at 0 but is theoretically unbound, so how high it can be set depends on the color gamut of the monitor. Usually, it doesn’t exceed 230, though. The third value ranging from 0 to 360.</p>
<p>If you want to also use an optional alpha channel, you can do so with the new notation that uses a slash:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
lch(50% 73 327 / 75%)
</code></pre>
																						
																																	<p>Lea Verou also made a neat <a href="https://css.land/lch/">LCH Color Picker</a>. Have a look at it and play around with the values a bit. For best results, use Safari on a machine with a wide gamut display.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 65.494791666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/LCH-Color-Picker.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/LCH-Color-Picker.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/LCH-Color-Picker.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/LCH-Color-Picker.jpg" alt="Screenshot of LCH Color Picker" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>CSS 4 Color also adds a new <code>color()</code> function, which can be used to specify a color in a certain color space, like P3, for example:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
color(display-p3 1 0 0.331)
</code></pre>
																						
																																	<p>Here, the color function is used to first define the color space and then set the color with three values ranging from 0 to 1 which represent the red, green, and blue channels. Ollie Williams nicely explains the new <code>color()</code> function as well as LCH in <a href="https://css-tricks.com/the-expanding-gamut-of-color-on-the-web/">his post over at CSS-Tricks</a>.</p>
<p>As you can see, a lot is going on at the moment in terms of how we can write colors in CSS. And while a few of those features might not yet be ready for prime time in all browsers, we can already make use of them in supporting browsers using progressive enhancement. We can, for example, use <a href="https://www.w3.org/TR/mediaqueries-4/%23color-gamut#color-gamut">the new color-gamut media query</a> to write specific CSS only for devices that support a certain color space.</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
@media (color-gamut: p3) {
  .main {
    background-color: color(display-p3 1 0 0.331);
  }
}
</code></pre>
																						
																																	<p>Another option would be to check for support using @supports:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
/* sRGB color. */
:root {
    --bright-green: rgb(0, 255, 0);
}

/* Display-P3 color, when supported. */
@supports (color: color(display-p3 1 1 1)) {
    :root {
        --bright-green: color(display-p3 0 1 0);
    }
}

header {
    color: var(--bright-green);
}
</code></pre>
																						
																																	<p>So while Safari is currently the only browser with full support for <code>lch()</code> and <code>color()</code> there really is no need to wait until the other vendors have added support. I for one will look into how I can update the colors of my site a bit over the next days to make my site ready for this next, exciting era of color on the World Wide (Gamut) Web.</p>
<h3>A few more links (I’ll probably add some more over time):</h3>
<ul>
<li><a href="https://webkit.org/blog/10042/wide-gamut-color-in-css-with-display-p3/">Wide Gamut Color in CSS with Display-P3</a>    </li>
<li><a href="https://webkit.org/blog/6682/improving-color-on-the-web/">Improving Color on the Web</a>    </li>
<li><a href="https://furbo.org/color/ResponsiveColor/">Responsive Color with Media Queries</a>    </li>
</ul>
<p>-</p>
<p><em>This is the seventh post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Right Way to Use fonts.com Web Fonts</title>
                <link>https://matthiasott.com/notes/the-right-way-to-use-fonts-com-web-fonts</link>
                <pubDate>Mon, 01 Jun 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-right-way-to-use-fonts-com-web-fonts</guid>
                <description><![CDATA[
                    
																																	<p>Let’s talk about web fonts. More specifically, about a mistake I have seen developers make in several projects for different agencies: Embedding a web font in the wrong way. In each of the cases, the service they were using was <a href="https://www.fonts.com/">Fonts.com</a>, and given the service’s popularity, this quick tip might come in handy for some people. </p>
<p>So what’s the problem? When you download a font for self-hosting, it often comes with some demo CSS, so that you see how you can use the web font in your project. Fonts.com does that, too. Here is how that CSS code looks like, for example:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
@font-face {
  font-family: "DIN Next LT W01 Regular";
  src: url("Fonts/936930ba-a8da-4765-9e89-0f35cdff223f.eot?#iefix");
  src: url("Fonts/936930ba-a8da-4765-9e89-0f35cdff223f.eot?#iefix")
      format("eot"),
    url("Fonts/6b4d4830-9c7d-43d2-b5d3-c73f739561b9.woff2") format("woff2"),
    url("Fonts/ccf25ada-6d2a-4133-95dc-deb039e22999.woff") format("woff"),
    url("Fonts/126195b4-2fa0-4b95-b5cf-ad9bf10193f0.ttf") format("truetype"),
    url("Fonts/58fc798b-98f9-4485-8d2b-7b93a71ee2a6.svg#58fc798b-98f9-4485-8d2b-7b93a71ee2a6") format("svg");;
}

@font-face {
  font-family: "DIN Next LT W01 Bold";
  src: url("Fonts/fa5ed46b-792d-4f47-894e-fa587cf4e1cf.eot?#iefix");
  src: url("Fonts/fa5ed46b-792d-4f47-894e-fa587cf4e1cf.eot?#iefix")
      format("eot"),
    url("Fonts/03008527-67bd-478e-98e3-3b56dd9a6520.woff2") format("woff2"),
    url("Fonts/557f817d-9c25-4a23-baaf-a3cf84a7cd7c.woff") format("woff"),
    url("Fonts/92ed1479-1d40-4a94-8baf-6abd88b17afa.ttf") format("truetype"),
    url("Fonts/03008527-67bd-4485-8d2b-7b93a71ee2a6.svg#03008527-67bd-4485-8d2b-7b93a71ee2a6") format("svg");;
}
</code></pre>
																						
																																	<p>First of all, you might not need the older file formats EOT, SVG, and even TTF. Modern browsers <a href="https://caniuse.com/#search=woff">all understand WOFF of WOFF2</a>, so let’s get rid of the rest.</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
@font-face {
  font-family: "DIN Next LT W01 Regular";
  src: url("Fonts/6b4d4830-9c7d-43d2-b5d3-c73f739561b9.woff2") format("woff2"),
    url("Fonts/ccf25ada-6d2a-4133-95dc-deb039e22999.woff") format("woff");
}

@font-face {
  font-family: "DIN Next LT W01 Bold";
  src: url("Fonts/03008527-67bd-478e-98e3-3b56dd9a6520.woff2") format("woff2"),
    url("Fonts/557f817d-9c25-4a23-baaf-a3cf84a7cd7c.woff") format("woff");
}
</code></pre>
																						
																																	<p>Much better already. Also make sure that WOFF2 comes before WOFF so that browsers which support the 30 % smaller WOFF2 format will use it.</p>
<p>But back to the initial problem. When you wanted to use the fonts defined in the code above, you would reference the <code>font-family</code> from the <code>@font-face</code> rule like so:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
p {
	font-family: "DIN Next LT W01 Regular", sans-serif;
}

strong {
	font-family: "DIN Next LT W01 Bold", sans-serif;
}
</code></pre>
																						
																																	<p>Can you see the problem? No? There are actually two problems this creates. The first one is that by only using a separate font-family for each font-weight, you are creating <a href="https://alistapart.com/article/say-no-to-faux-bold/">faux-bold</a> text. In the example above, the browser will artificially add an extra bit of “boldness” to all text that is marked up with <code>strong</code>. That’s clearly not what we want, so I have seen people simply adding a <code>font-weight</code> rule to their code:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
p {
	font-family: "DIN Next LT W01 Regular", sans-serif;
	font-weight: normal;
}

strong {
	font-family: "DIN Next LT W01 Bold", sans-serif;
	font-weight: normal;
}
</code></pre>
																						
																																	<p>Problem solved! Well, no, not really. Now our strong text will be rendered with the bold font without any additional weight – but only if the web font successfully loads. When the download fails (or a user uses a content blocker to block web fonts from loading) our strong text suddenly isn’t bold at all. It is as normal-looking as the rest of the text.</p>
<p>And there’s another problem. Sometimes, people don’t even bother to use the right font-family for elements that should have bold text or are rendered in bold via the browsers default styles.</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
body {
	font-family: "DIN Next LT W01 Regular", sans-serif;
	font-weight: normal;
}

strong {
	font-weight: bold;
}
</code></pre>
																						
																																	<p>It might not be immediately visible to the untrained eye, but any seasoned designer or typographer will see the difference. Strong is now faux-bold again. Because the regular weight is used for the whole body, the strong element will get the bold font of the family. But in this case, the family is &quot;DIN Next LT W01 Regular&quot; and a bold font does not exist. So the browser will faux-bolden the text. Not only does this change the contrast and letterforms of the typeface and thus look clunky and unprofessional, it even can create this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 50%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/faux-bold.png 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/faux-bold.png 1536w, https://matthiasott.com//assets/pictures/_standardImage768/faux-bold.png 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/faux-bold.png" alt="Futura rendered in the Book weight, as well as in faux bold." loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p>Paul Renner’s Futura is a font with sharp edges. Different browsers will give their best to artificially make the font bolder. But you will end up with distorted proportions and shapes.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>There is one simple solution to all of those problems: Properly define a font-family with different font-weights and font-styles in your <code>@font-face</code> declarations. Instead of using a font-family for each font, use the same family name for all fonts and tell the browser which weight (and style) it is:</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
@font-face {
  font-family: "DIN Next LT W01";
  src: url("Fonts/6b4d4830-9c7d-43d2-b5d3-c73f739561b9.woff2") format("woff2"),
    url("Fonts/ccf25ada-6d2a-4133-95dc-deb039e22999.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
  font-family: "DIN Next LT W01";
  src: url("Fonts/03008527-67bd-478e-98e3-3b56dd9a6520.woff2") format("woff2"),
    url("Fonts/557f817d-9c25-4a23-baaf-a3cf84a7cd7c.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}
</code></pre>
																						
																																	<p>And that’s it! Now, your strong text – or also your headlines, if you like – will use the bold font-weight and also have the correct fallback font in case the web font doesn’t load. The same goes for italic or cursive fonts. </p>
<p>Unless you are using a JavaScript-based <a href="https://www.zachleat.com/web/comprehensive-webfonts/">web font loading strategy</a>, you might also add <code>font-display: swap</code> to the code. By that you opt-in to so-called FOUT (Flash of Unstyled Text) on browsers with support for font-display. So while the site loads, the fallback font is shown first, and as soon as the web font has been downloaded, the fallback font is swapped with the new one.</p>

																												
																												<pre><code class="language-scss">/* CSS / Sass */
@font-face {
  font-family: "DIN Next LT W01";
  src: url("Fonts/6b4d4830-9c7d-43d2-b5d3-c73f739561b9.woff2") format("woff2"),
    url("Fonts/ccf25ada-6d2a-4133-95dc-deb039e22999.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: "DIN Next LT W01";
  src: url("Fonts/03008527-67bd-478e-98e3-3b56dd9a6520.woff2") format("woff2"),
    url("Fonts/557f817d-9c25-4a23-baaf-a3cf84a7cd7c.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
</code></pre>
																						
																																	<p>Done.</p>
<p>Final remark: There might be one situation in which using faux-bold text might actually be useful and justified. If you are using a two-stage font loading strategy as <a href="https://www.zachleat.com/web/css-tricks-web-fonts/">Zach Leatherman did for CSS-Tricks</a>. It basically means that you are splitting your web fonts into a smaller chunk and a larger lazy-loaded chunk, for example by loading the regular version of the font first and showing the faux-bold text to your users until the real bold font-weight arrives. By that, you can mitigate text movement across the page a bit as soon as your web fonts are loaded and the text reflows.</p>
<p>–</p>
<p><em>This is the sixth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Change and the Status Quo</title>
                <link>https://matthiasott.com/notes/change-and-the-status-quo</link>
                <pubDate>Sun, 31 May 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/change-and-the-status-quo</guid>
                <description><![CDATA[
                    
																																	<p>Nature changes.  <br>
Culture changes.  <br>
Technologies change.  <br>
Societies change.  <br>
Markets change.  <br>
We change.    </p>
<p>Change is everywhere around us. All the time. Inevitably. Change is a constant. The only problem with this is that human beings generally don’t like change that much. We are even afraid of it. So once something seems to work well for us, we stick to it. Food, tools, habits, whatever it is: We rather play it safe than to risk being worse off after a change. Try a new shampoo brand? Na, the old shampoo smells so nice and familiar. Try a new JavaScript framework? Uhm, you never know which one is worth learning anyway so let’s stick with the one we are already using. </p>
<p>There are many explanations for why we avoid change. For one, we are loss-averse. We tend to rather avoid a potential loss than to acquire an equivalent gain. So unless the benefits of a change substantially outweigh the risk of potential losses, we rather don’t make any change at all. But our preference to stick with the status quo can’t be explained with loss aversion alone. It goes much deeper. When asked to choose the color of a new car, for example, people tend to pick the color they already own. Cognitive scientists call this bias the status quo bias.</p>
<p>That’s why it might be so hard for some companies and markets to respond when a technological shift occurs and suddenly a new competitor appears who does things a bit differently. It might be the reason the ice companies weren’t the ones inventing the household refrigerator, which would ultimately replace the entire ice industry. It might be the reason <a href="https://www.youtube.com/watch?v=eywi0h_Y5_U">Microsoft’s Steve Ballmer laughed at the iPhone because it had no keyboard</a> and the managers at Nokia probably did the same before they sank into insignificance. And it might be the reason German car manufacturers laughed at the idea that electric cars would be the future.</p>
<p>If we want to be able to keep playing the infinite game we are playing, we need to be ready and willing to adapt to change. By highlighting the costs of inaction. By reducing uncertainty, for example through building prototypes and testing. And also by not trying to change everything at once, but by splitting it up into smaller, gradual changes that are easier to process and getting used to. Let’s try to hone that skill – we will need it going forward.</p>
<p>–</p>
<p><em>This is the fifth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Beautiful</title>
                <link>https://matthiasott.com/notes/the-beautiful</link>
                <pubDate>Sat, 30 May 2020 23:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-beautiful</guid>
                <description><![CDATA[
                    
																																	<p>It is 1995. A 13-year old boy in Germany is playing basketball in his room. The walls are plastered with posters. Michael Jordan (life-sized), Scottie Pippen, Dennis Rodman, Shaq, Charles Barkley, Patrick Ewing, Sean Kemp, David Robinson, and many more are all watching him play. He dreams of moving to the US one day, this great country full of opportunities, culture, skyscrapers, and Coca-Cola. A country that had overcome slavery, ended racial segregation, defeated Nazi Germany, and landed a man on the moon. </p>
<p>I finally visited the US for the first time in my life in 2018, when my family and I went to see my sister and her family in Harlem, New York. And I was both amazed and shocked at the same time. Amazed by the sheer scale of the city, the enormous vibrance, and the cultural richness that surrounded me. What a beautiful place to be. </p>
<p>But I was also shocked by how obvious it was that this society is in a constant state of fear. Shocked by how obvious it was that late-stage capitalism has pushed gentrification and social inequality to the extreme, leaving so many people behind. And shocked how obvious the structural racism in this country really is. I experienced it first-hand when I crossed Malcolm X Boulevard the very first morning to get a can of coffee at the grocery store across the street. All of a sudden, a guy came up to me yelling that I should “get my ass outta Harlem” or he would beat the shit out of me. I decided to quickly go into the grocery store instead. The other day, we saw a guy on Broadway verbally attacking and insulting two women wearing a hijab. Both incidents were nothing compared to what black people in America have had to endure for decades. America isn’t that beautiful for many people.</p>
<p>Today, after yet another black man has been killed by a police officer, the US is on fire. Again. Many people are angry. And rightfully so. But although the US seems to be a broken country at the moment, I have always admired the strength and resilience with which US citizens have fought for justice and to bring about positive change. The country has always had a strong civil society. That’s what gives me hope that change is still possible and that the US somehow finds a way out of this. Just listen to <a href="https://www.youtube.com/watch?v=rapfJYfPU38">this speech by Michael Render aka Killer Mike</a> and you’ll know what I mean.</p>
<p>Racism isn’t only an American problem, though. All across Europe, refugees are being attacked and racist parties, who are willing to let human beings die on the Mediterranean Sea, are on the rise. We must not let them take control. Fighting racism is a constant struggle and each and everyone of us has to do their part. By speaking up when someone casually says something that is clearly racist – because some things are <em>not</em> okay to say. By helping people who are in need of help. By showing racists that they are wrong and in the minority. And by voting. Because every voice counts.</p>
<p>–</p>
<p><em>This is the fourth post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Details</title>
                <link>https://matthiasott.com/notes/the-details</link>
                <pubDate>Fri, 29 May 2020 17:06:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-details</guid>
                <description><![CDATA[
                    
																																	<p>Ask any business owner or manager what could be improved about the operations of their company and they will very likely tell you that they are working on “improving efficiency”. They are switching from waterfall to agile to improve efficiency. They are tracking tasks and measuring progress to improve efficiency. They are trying to establish repeatable processes and are experimenting with automation to improve efficiency. In a world where everything is becoming a commodity, efficiency is the latest craze.</p>
<p>At the same time, we naturally want to provide the best quality possible. And this is where it gets tricky. Because in pursuit of efficiency, people tend to give far too much weight to the number of tasks that can be accomplished in the shortest amount of time. Yet to create a product of high quality, the number of features and the speed of execution are secondary. What really makes a product great is meticulous attention to detail.</p>

																												
																																		<figure class="quote">
							<blockquote><p>The details are not the details; they make the product.</p>
</blockquote>
												<figcaption>Charles and Ray Eames </figcaption>
										</figure>
																
																																	<p>The details that make a product great are often invisible if you don’t pay close attention. But although they might not be obvious, those details add up to create an overall perception of quality and they will make a product more useful, longer-lasting, or, for example, more energy-efficient. In other words, caring about the details ultimately makes all the difference. But because a focus on efficiency favors measurable quick wins over long-term thinking, taking the time to get the details right is one of the things that is readily dismissed as a waste of resources. “We don’t have time for unnecessary details.” The end result is a product that has all the features the client or the team came up with but which lacks focus and vision.</p>
<p>But even if you know how important attention to detail is and are willing to walk the extra mile, there is a second challenge: Which details should you focus on? Which are the ones worth pursuing and which are a waste of time? You’ll never know for sure, of course, but there are two things that can help you make a decision. The first one is having a clear goal. You can also call it a vision, a mission, or principles. What matters is that it is not a “task” or a “to do” but really a set of overarching principles that everyone agreed upon and which can serve as a compass when you are uncertain. When you know where you’re going, every task is just a step towards your goal. It can be as simple as to agree that “we will at all times provide an inclusive user experience” or “our product is and will always be the fastest on the market” or “<a href="https://adactio.com/journal/16811">user experience, even over developer experience</a>” or “we must not tolerate hate speech on our platform”. If someone then wants you to compromise on those guiding principles, you can remind them that this would undermine what your product stands for and you’ll be able to confidently make a decision that doesn’t favor the quick hack over building a valuable, resilient product.</p>
<p>The second tool at your disposal is to always be willing to learn and gradually improve. Nobody gets it right the first time, but if you didn’t allocate some time and budget for course corrections, you will never know which details aren’t working yet. Consequently, your product will never succeed in the long run. Even the world-famous designs by Charles and Ray Eames underwent several rounds of prototyping and improvement until, for example, <a href="https://www.eamesoffice.com/blog/the-details-are-not-the-details/">the feet of the steel constructions stopped cracking and breaking off</a>. So don’t skip your research, build prototypes, test, and iterate.</p>
<p>But remember: This is not about perfection. Perfection might not exist. But attention to detail surely does.</p>
<p>–</p>
<p><em>This is the third post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Digital Type Specimens</title>
                <link>https://matthiasott.com/notes/digital-type-specimens</link>
                <pubDate>Thu, 28 May 2020 14:44:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/digital-type-specimens</guid>
                <description><![CDATA[
                    
																																	<p>Type specimens are as old as printed typography. They were originally designed by printers and type foundries as documents that would show typefaces in use across different applications and with all available weights and styles, so that potential customers could evaluate a typeface’s inherent qualities and stylistic capabilities. Type specimens have become an integral part of our visual culture and the history of graphic design. Just look at <a href="https://archive.org/search.php?query=type%20specimen">the gorgeous examples that can be found in the Internet Archive</a>. </p>
<p>So in times when glyphs made from type metal were far too expensive to buy them just to try out a typeface, printed specimens were an indispensable part of the distribution process. But also later, when the digital distribution of fonts became the new normal, the printed specimen remained an invaluable source of inspiration and the go-to resource for typographers and students in search of the right typeface for the job. I still remember the joy that came with finally buying my own yellow FontBook. It still has a special place in the typography section of my bookshelf, although I open it very rarely these days.</p>
<p>In recent years, however, there has been a shift happening. The advent of web fonts not only allowed font lovers to easily find and try fonts online. But also the type foundries were now able to react accordingly to the shift in the marketplace. So more and more type foundries added type specimens to their websites. Fast forward to today and the digital type specimen is not a misfit anymore. New releases by foundries are often accompanied by increasingly stunning digital type specimens that, thanks to animations and interactive features, take the genre to new heights – and newfound glory. Just take a look at the type specimens of <a href="http://www.gt-zirkon.com/">Grilli Type’s GT Zirkon</a> and <a href="http://www.gt-america.com/">GT America</a>, <a href="https://sharptype.co/typefaces/trois-mille-3000/">Sharp’s Trois Mille</a>, or <a href="https://klim.co.nz/collections/soehne/">Klim Type’s Söhne Collection</a>. You’ll also find other great examples in <a href="https://typespecimens.io/">this collection</a> by <a href="https://johndjameson.com/">John D. Jameson</a>.</p>
<p>Now, <a href="https://markboulton.co.uk/">Mark Boulton</a> has started a new research and design project about type specimens: <a href="https://typespecimens.xyz/">typespecimens</a> is a collection of beautiful examples as well as a blog. You can also sign up for a weekly newsletter. But Mark will not only curate a list of digital type specimens of the highest quality. Part of the project is also to explore how typeface designers and foundries can provide font users with delightful and useful specimens: “What is the best way to present glyphs? What do designers want to actually <em>do</em> with a specimen? How important is the typeface&#039;s back story?”</p>
<p>I’m very much looking forward to what he comes up with and all the great specimens that will be added over time. If you happen to know a beautiful example, I’m sure he would appreciate a short message.</p>
<p>–</p>
<p><em>This is the second post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Curse of Knowledge</title>
                <link>https://matthiasott.com/notes/100-days-of-writing-001-the-curse-of-knowledge</link>
                <pubDate>Wed, 27 May 2020 11:30:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/100-days-of-writing-001-the-curse-of-knowledge</guid>
                <description><![CDATA[
                    
																																	<p>A few weeks ago, my son came up to me and asked if I wanted to guess which song he was about to clap. I agreed, sure that it couldn’t be so hard to guess. But as soon as he started, I didn’t have the slightest idea which song he was clapping. He became a bit frustrated and insisted that I should try harder. I tried again, but I was as clueless as before. Then he revealed the song. I don’t recall which song it was, but I remember it was some well-known children&#039;s song. Why had it been so hard to guess the song? I mean, I get that all the claps sounded the same – but shouldn’t I still be able to recognize the melody of a song from a clapped rhythm?</p>
<p>What I experienced first-hand with my son, has been described by a Stanford University graduate student in psychology named Elizabeth Newton in 1990. Newton studied a simple game: She divided people into two groups, tappers and listeners. The tappers were given the task to tap out well-known songs, and the listeners were told to guess the songs. Before the experiment started, Newton asked the tappers, how many of their songs would be guessed correctly. They predicted 50 %. After the 120 songs were tapped out, the success ratio was sobering: 2.5 %. Only three out of the 120 songs were guessed correctly. Why?</p>
<p>Try tapping or clapping out a song yourself. (And don’t pick “We Will Rock You”, of course.) Once you start, you’ll immediately hear the melody of the song in your head, sometimes even with instruments or vocals. This makes us think that it can’t be so hard for others to guess the song. We might even be confident that we are fairly talented tappers, yay! Meanwhile, the listener will only hear tock, tock, tock tock tock, tock, tock tock…</p>
<p>When you have an advance in knowledge over someone else, it can be difficult to recognize this gap and act accordingly. This phenomenon – that we falsely assume that others have the background to understand – is called the curse of knowledge.</p>
<p>The curse of knowledge is a cognitive bias that can be observed whenever people want to convey information. The readers of your article, the students in your class, the participants of your workshop, the listeners of your podcast, the people at your next meetup, the clients in your conference call, the users of your interface – they all don’t know what you know and are therefore missing context. Always. And while you are confidently talking and explaining like a pro, people actually don’t understand you as well as you would hope.</p>
<p>To overcome the curse of knowledge, it is first of all important to start with a beginner&#039;s mind: Remember how you felt as a beginner. What were the things that others assumed you would know? What might be hard to grasp for a beginner listening to you today? It is extremely hard to remember what it’s like to not know something, but it is necessary. Take terms like font-weight, leading, descender, bleed, overprinting, function, loop, closure, easing, friction, but also design system, Design Thinking, framework, ES Module, React, Vue, and so on: Our world is full of things that were once hard to understand. And the more abstract the concepts are, the larger the effect of the curse of knowledge will be. So remember to explain those things when they are crucial to understanding what you want to convey. <a href="https://matthiasott.com/notes/clarity-and-style">Making something as easy and simple as possible is hard</a> but it is key to communicating effectively. This requires that we go deep into a topic, that we understand it at its core to extract the essence – and then tell a story. Because stories make it easier to tell and understand even complex topics more easily.</p>
<p>Working against the curse of knowledge also requires us to understand the people we want to communicate with as good as possible. The people we create for might not only not know (and, in all honesty, don’t care) what a hamburger menu, a web font, or an accordion is, they will also have their own set of unique experiences, expectations, and specialist knowledge. Far too often, designers and developers dismiss those facts and assume that people will understand what is put in front of them. When people don’t get it, they are either dismissed as being DAUs (dumbest assumable users) or “clients who just don’t get design”. In reality, it is part of our job to recognize and overcome the curse of knowledge. So whatever it is you are about to create today: Think about how the curse of knowledge might cloud your judgment and do what is necessary to make your creation better. Often, all it takes is creating a quick draft or building a prototype to create a shared understanding and to better see where information imbalances exist.</p>
<p>–</p>
<p><em>This is the first post of my 100 days of writing series. <a href="https://matthiasott.com/notes/100-days-of-writing">You can find a list of all posts here</a>.</em></p>

																												            	]]></description>
            </item>
                    <item>
                <title>100 Days of Writing</title>
                <link>https://matthiasott.com/notes/100-days-of-writing</link>
                <pubDate>Tue, 26 May 2020 00:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/100-days-of-writing</guid>
                <description><![CDATA[
                    
																																	<p>So, I haven’t written in a while. Or, to be more precise: I haven’t finished a written piece in a while. That is not because I didn’t write at all, but in the current situation, I simply decided to prioritize family and work over writing, which is still kind of a hobby for me. I started a few posts from time to time but then didn’t take the time to edit and finish them. This bugs me.</p>
<p>I genuinely love to write. Thinking about what to write is interesting already but when you start to put your thoughts on, well, virtual paper, something amazing happens. Just like with design work, the end result is never what you expected it to be when you started the piece. The act of writing is always exciting and surprising. Especially when you try to let the words just pour out. It sounds like a platitude, but the older I get, the more I realize how true it is: The journey really is the reward.</p>
<p>In some of my previous posts on this site, I wrote about what I learned from reading and listening to books and podcasts on writing. <a href="https://matthiasott.com/notes/ideas-on-writing">One of the first pieces of advice</a> was to just start writing. Regardless of whether you are in the mood or not. Regardless of whether you think you have something to write about. If you want to be a better writer – write. But somehow, I did not practice what I preach. I’ll change that today.</p>
<p>Starting today, I will post a shorter – or sometimes maybe even longer – piece on this site for 100 days. I have no idea what I will write about yet. Some posts will surely be about the Web, about design, and about coding. But others might also be about an observation I made that day or something I learned or enjoyed. I might share insights from books and podcasts or also a chocolate cake recipe. We’ll see. </p>
<p>What will I learn from this? Will my writing improve? Will I think more about what to write? Will I make it a habit? Will you enjoy what you read? Will I fail? I don’t know. All I know is that I already like the idea of writing more and seeing where this leads me. I’m actually excited! Let’s do this. I’ll see you tomorrow.</p>
<p>P.S. If you want me to write about a particular topic, just <a href="mailto:mail@matthiasott.com">drop me a note</a> or <a href="https://twitter.com/m_ott">write me on my twttr</a>. </p>
<h2>Posts I wrote thus far</h2>

																												
																												<ul>
<li>Day 1: <strong><a href="https://matthiasott.com/notes/100-days-of-writing-001-the-curse-of-knowledge">The Curse of Knowledge</a></strong>    </li>
<li>Day 2: <strong><a href="https://matthiasott.com/notes/digital-type-specimens">Digital Type Specimens</a></strong>    </li>
<li>Day 3: <strong><a href="https://matthiasott.com/notes/the-details">The Details</a></strong>    </li>
<li>Day 4: <strong><a href="https://matthiasott.com/notes/the-beautiful">The Beautiful</a></strong>     </li>
<li>Day 5: <strong><a href="https://matthiasott.com/notes/change-and-the-status-quo">Change and the Status Quo</a></strong>       </li>
<li>Day 6: <strong><a href="https://matthiasott.com/notes/the-right-way-to-use-fonts-com-web-fonts">The Right Way to Use fonts.com Web Fonts</a></strong>    </li>
<li>Day 7: <strong><a href="https://matthiasott.com/notes/world-wide-gamut-web">World Wide Gamut Web</a></strong>    </li>
<li>Day 8: <strong><a href="https://matthiasott.com/notes/fuck-it-why-wait">Fuck it, why wait?</a></strong>    </li>
<li>Day 9: <strong><a href="https://matthiasott.com/notes/the-shortcut-boomerang">The Shortcut Boomerang</a></strong>    </li>
<li>Day 10: <strong><a href="https://matthiasott.com/notes/designing-and-making">Designing and Making</a></strong>    </li>
<li>Day 11: <strong><a href="https://matthiasott.com/notes/blue-eyes-brown-eyes">Blue Eyes, Brown Eyes</a></strong>    </li>
<li>Day 12: <strong><a href="https://matthiasott.com/notes/balancing-risk">Balancing Risk</a></strong>    </li>
<li>Day 13: <strong><a href="https://matthiasott.com/notes/welcome-to-the-21st-century">Welcome to the 21st Century</a></strong>    </li>
<li>Day 14: <strong><a href="https://matthiasott.com/notes/the-importance-of-being-inauthentic">The Importance of Being Inauthentic</a></strong>    </li>
<li>Day 15: <strong><a href="https://matthiasott.com/notes/building-the-inclusive-web-together">Building the Inclusive Web Together</a></strong>    </li>
<li>Day 16: <strong><a href="https://matthiasott.com/notes/css-custom-properties-fail-without-fallback">CSS Custom Properties Fail Without Fallback</a></strong>    </li>
<li>Day 17: <strong><a href="https://matthiasott.com/notes/the-web-of-privilege">The Web of Privilege</a></strong>    </li>
<li>Day 18: <strong><a href="https://matthiasott.com/notes/resilient-systems-vs-humans">Resilient Systems vs Humans</a></strong>    </li>
<li>Day 19: <strong><a href="https://matthiasott.com/notes/there-is-no-secret-code">There Is No Secret Code</a></strong> <span style="display: inline-block;transform:rotate(2deg)"> Day 20: <strong><a href="https://matthiasott.com/notes/feck-perfuction">Feck Perfuction</a></strong></span></li>
<li>Day 21: <strong><a href="https://matthiasott.com/notes/smooth-operations">Smooth Operations</a></strong></li>
<li>Day 22: <strong><a href="https://matthiasott.com/notes/release">Release</a></strong></li>
<li>Day 23: <strong><a href="https://matthiasott.com/notes/becoming-a-tyrant">Becoming a Tyrant</a></strong></li>
<li>Day 24: <strong><a href="https://matthiasott.com/notes/debugging-html-with-advanced-css-selectors">Debugging HTML With Advanced CSS Selectors</a></strong></li>
<li>Day 25: <strong><a href="https://matthiasott.com/notes/what-if-it-were-easy">What Would This Look Like If It Were Easy?</a></strong></li>
<li>Day 26: <strong><a href="https://matthiasott.com/notes/go-deep">Go Deep</a></strong></li>
<li>Day 27: <strong><a href="https://matthiasott.com/notes/the-web-in-the-age-of-ubiquity">The Web in the Age of Ubiquity</a></strong></li>
<li>Day 28: <strong><a href="https://matthiasott.com/notes/milton-glaser-ten-things-i-have-learned">Milton Glaser – Ten Things I Have Learned</a>
</strong></li>
<li>Day 29: <strong><a href="https://matthiasott.com/notes/fussy-web-true-meaning">Fussy Web, True Meaning.</a></strong></li>
<li>Day 30: <strong><a href="https://matthiasott.com/notes/85-percent">85 Percent</a></strong></li>
<li>Day 31: <strong><a href="https://matthiasott.com/notes/thoughts-on-writing-read-it-out-loud">Thoughts on Writing: Read It Out Loud</a></strong></li>
<li>Day 32: <strong><a href="https://matthiasott.com/notes/one-egg">One Egg</a></strong></li>
<li>Day 33: <strong><a href="https://matthiasott.com/notes/team-ops">TeamOps</a></strong></li>
<li>Day 34: <strong><a href="https://matthiasott.com/notes/necessity-is-the-ultimate-teacher">Necessity Is the Ultimate Teacher</a></strong></li>
<li>Day 35: <strong><a href="https://matthiasott.com/notes/dont-assume-validate">Don’t Assume, Validate.</a></strong></li>
<li>Day 36: <strong><a href="https://matthiasott.com/notes/the-new-urgency-of-climate-change">The New Urgency of Climate Change</a></strong></li>
<li>Day 37: <strong><a href="https://matthiasott.com/notes/fear">Fear</a></strong></li>
<li>Day 38: <strong><a href="https://matthiasott.com/notes/useless-is-useful">Useless Is Useful</a></strong></li>
<li>Day 39: <strong><a href="https://matthiasott.com/notes/scrolling-elements-into-view">Scrolling Elements Into View</a></strong></li>
<li>Day 40: <strong><a href="https://matthiasott.com/notes/wicked-design">Wicked Design</a></strong></li>
<li>Day 41: <strong><a href="https://matthiasott.com/notes/always-at-your-service">Always at Your Service</a></strong></li>
<li>Day 42: <strong><a href="https://matthiasott.com/notes/their-fault">Their Fault</a></strong></li>
<li>Day 43: <strong><a href="https://matthiasott.com/notes/progressive">Progressive</a></strong></li>
<li>Day 44: <strong><a href="https://matthiasott.com/notes/hell-yeah-or-no">Hell Yeah or No</a></strong></li>
<li>Day 45: <strong><a href="https://matthiasott.com/notes/the-idea-machine">The Idea Machine</a></strong></li>
<li>Day 46: <strong><a href="https://matthiasott.com/notes/lateral-thinking-with-withered-technology">Lateral Thinking With Withered Technology</a></strong></li>
<li>Day 47: <strong><a href="https://matthiasott.com/notes/range">Range</a></strong></li>
<li>Day 48: <strong><a href="https://matthiasott.com/notes/finite-and-infinite-games">Finite and Infinite Games</a></strong></li>
<li>Day 49: <strong><a href="https://matthiasott.com/notes/galls-law">Gall’s Law</a></strong></li>
<li>Day 50: <strong><a href="https://matthiasott.com/notes/halftime">Halftime</a></strong></li>
<li>Day 51: <strong><a href="https://matthiasott.com/notes/how-i-structure-my-css">How I Structure My CSS (for Now)</a></strong></li>
<li>Day 52: <strong><a href="https://matthiasott.com/notes/fading-music-in-and-out-mac">Fading Music in and Out in an Online Workshop (On a Mac)</a></strong></li>
<li>Day 53: <strong><a href="https://matthiasott.com/notes/biceps-six-core-needs-for-humans-at-work">BICEPS: Six Core Needs for Humans at Work</a></strong></li>
<li>Day 54: <strong><a href="https://matthiasott.com/notes/design-debt">Design Debt</a></strong></li>
<li>Day 55: <strong><a href="https://matthiasott.com/notes/the-thing-with-leading-in-css">The Thing With Leading in CSS</a></strong></li>
<li>Day 56: <strong><a href="https://matthiasott.com/notes/aspect-ratio-in-css">Aspect Ratio in CSS: Hacks and a New Property</a></strong></li>
<li>Day 57: <strong><a href="https://matthiasott.com/notes/your-brain-is-plastic">Your Brain Is Plastic</a></strong></li>
<li>Day 58: <strong><a href="https://matthiasott.com/notes/avif-a-new-image-format">AVIF: A New Image Format</a></strong></li>
<li>Day 59: <strong><a href="https://matthiasott.com/notes/css-custom-properties-with-at-property">CSS Custom Properties With @property</a></strong></li>
<li>Day 60: <strong><a href="https://matthiasott.com/notes/design-and-the-80-20-principle">Design and the 80/20 Principle</a></strong></li>
<li>Day 61: <strong><a href="https://matthiasott.com/notes/on-the-design-systems-between-us">On the Design Systems Between Us</a></strong></li>
<li>Day 62: <strong><a href="https://matthiasott.com/notes/focus-visible-is-here">:focus-visible Is Here</a></strong></li>
<li>Day 63: <strong><a href="https://matthiasott.com/notes/painting-with-the-web">Painting With the Web</a></strong></li>
<li>Day 64: <strong><a href="https://matthiasott.com/notes/better-options">Better Options</a></strong></li>
</ul>
																						            	]]></description>
            </item>
                    <item>
                <title>My Visual Studio Code Setup: Extensions and Themes</title>
                <link>https://matthiasott.com/notes/visual-studio-code-setup</link>
                <pubDate>Thu, 19 Mar 2020 01:39:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/visual-studio-code-setup</guid>
                <description><![CDATA[
                    
																																	<p>And then, the display of my MacBook Pro broke. So after five years, it was time to get a new machine, after all. Every time this had happened in the past, I took the opportunity to start from scratch and do a fresh install of all the software I in fact use and need. Consequently, I spent the past couple of days <a href="https://sourabhbajaj.com/mac-setup/">setting up my new Mac</a>. As part of that, I also set up my development environment and my current editor of choice, <a href="https://code.visualstudio.com/">Visual Studio Code</a>. One of the strengths of VS Code is the <a href="https://marketplace.visualstudio.com/VSCode">ecosystem of extensions</a> that has grown quite substantially and many of the extensions can really take our coding experience one step further. But which are the extensions one should install? I already had tried and installed quite a few extensions before but I also asked on Twitter to get other people’s opinions and maybe learn about a few extensions I hadn’t heard of before. So here’s the list of extensions I ended up installing, in alphabetical order. If you have more to add, feel free to write me a message or email.</p>
<h2>Extensions</h2>
<h3>Auto Close Tag</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag">https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag</a></p>
<p>This extension automatically adds HTML or XML closing tags so you don’t have to do it manually.</p>
<h3>Better Comments</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments">https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments</a></p>
<p>Better Comments will help you write, well, better comments by highlighting different types of comments, like alerts, questions, or TODOs, in different colors. </p>
<h3>Bracket Pair Colorizer 2</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2">https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2</a></p>
<p>This extension colorizes matching brackets in the same color.
So useful once you get used to the many additional colors in your code.</p>
<h3>Dash</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=deerawan.vscode-dash">https://marketplace.visualstudio.com/items?itemName=deerawan.vscode-dash</a></p>
<p>Dash is an app that lets you read API documentation and code snippets, also offline. This integration for Visual Studio Code is an easy way to access documentation from VS Code.</p>
<h3>EditorConfig for VS Code</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig">https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig</a></p>
<p>Providing an <code>.editorconfig</code> file has become a standard for many, especially when working together in teams. It allows you to define editor settings for a project so that, for example, a newline is inserted at the end of files automatically or that everyone indents their code with spaces, or tabs, or spaces, or tabs… </p>
<p>*<strong>UPDATE</strong>: This extension is obviously no longer needed as VS Code now comes with support for <code>.editorconfig</code> files built-in.* ✨</p>
<h3>ESLint</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint</a></p>
<p>Code linters analyze your code and find problems and errors. This extension integrates the JavaScript linter ESLint into VS Code.</p>
<h3>Git History</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory">https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory</a></p>
<p>If you are using Git for version control, this extension lets you explore the history of your project within VS Code. View and search Git log, view previous versions of a file, or compare branches, commits, and files across commits.</p>
<h3>GitLens — Git supercharged</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens</a></p>
<p>The essential extension for Git. You can see when and by whom each line of code was changed – inline in your editor. GitLens also lets you explore the history of your codebase and compare branches, commits, tags, and much more.</p>
<h3>Import Cost</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost">https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost</a></p>
<p>If you are working with JavaScript modules, it happens quickly that you import too much code. Using Webpack, this extension will display the size of the imported package right behind the import statement.</p>
<h3>Live Share</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare">https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare</a></p>
<p>Visual Studio Live Share enables you to collaboratively edit and debug with others in real-time. You can share your current project, and then as needed, share debugging sessions, terminal instances, localhost web apps, voice calls, and more.</p>
<h3>npm Intellisense</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense">https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense</a></p>
<p>npm Intelligente autocompletes npm modules in import statements. As simple as effective.</p>
<h3>Path Intellisense</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense">https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense</a></p>
<p>This extension autocompletes filenames.</p>
<h3>Permute Lines</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=earshinov.permute-lines&amp;amp;ssr=false#review-details">https://marketplace.visualstudio.com/items?itemName=earshinov.permute-lines&amp;ssr=false#review-details</a></p>
<p>Permute Lines lets you reverse or shuffle lines of code or filter for unique lines.</p>
<h3>PHP Intelephense</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client">https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client</a></p>
<p>Intelephense provides PHP language features like code completion, documentation, formatting, and more.</p>
<h3>Prettier - Code formatter</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode">https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode</a></p>
<p>Prettier is a code formatter for JavaScript, TypeScript, JSON, CSS, SCSS, HTML, Vue, Markdown, YAML, and many more code styles.</p>
<h3>Project Manager</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager">https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager</a></p>
<p>Project Manager helps you to easily access your projects, no matter where they are located. You can manually add projects or let the extension auto-detect Git, Mercurial or SVN repositories, VSCode folders or any other folder. Thanks to <a href="https://mxb.dev/">Max Böck</a> for the suggestion!</p>
<h3>SVG</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=jock.svg">https://marketplace.visualstudio.com/items?itemName=jock.svg</a></p>
<p>SVG adds full SVG language support to VS Code, including auto-complete, a live preview, the MDN reference, and a color picker.</p>
<h3>Remote - SSH</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh">https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh</a></p>
<p>The Remote - SSH extension lets you use any remote machine with an SSH server as your development environment. Thanks to <a href="https://twitter.com/salmto">Timo Salm</a> for the suggestion!</p>
<h3>Task Explorer</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=spmeesseman.vscode-taskexplorer">https://marketplace.visualstudio.com/items?itemName=spmeesseman.vscode-taskexplorer</a></p>
<p>Lists all supported tasks (think npm, Gulp, Ruby, etc.) for a project in a tree view. Tasks can be viewed, edited, started, and stopped directly from within VS Code.</p>
<h3>Twig Language 2</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=mblode.twig-language-2">https://marketplace.visualstudio.com/items?itemName=mblode.twig-language-2</a></p>
<p>Adds support for the Twig templating language. Useful if you use Craft CMS, for example.</p>
<h3>VS DocBlockr</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=jeremyljackson.vs-docblock">https://marketplace.visualstudio.com/items?itemName=jeremyljackson.vs-docblock</a></p>
<p>A DocBlock is a special type of comment that includes details about a method or function, like the function parameters or the type of returned data. VS DocBlockr makes writing those comments easy: Pressing enter or tab after <code>/**</code> will yield a new line and automatically close the comment. This alone makes it much easier to write longer comment blocks. But if the line directly afterward contains a function definition, then the name and parameters of the function are automatically added to the comment, too.</p>
<h3>Wrap Console Log Simple</h3>
<p><a href="https://marketplace.visualstudio.com/items?itemName=WooodHead.vscode-wrap-console-log-simple">https://marketplace.visualstudio.com/items?itemName=WooodHead.vscode-wrap-console-log-simple</a></p>
<p>Put your cursor on a word and use a shortcut to create a console.log statement with that exact word.</p>
<h2>Installing Extensions via the CLI</h2>
<p>Shortly after I shared this article, <a href="https://www.stefanjudis.com/">Stefan Judis</a> shared a super useful tip with me: You can <a href="https://code.visualstudio.com/docs/editor/extension-gallery#_command-line-extension-management">install VS Code extensions</a> via the <a href="https://code.visualstudio.com/docs/editor/command-line">command line (CLI)</a> and put them all in a script and into your <a href="https://driesvints.com/blog/getting-started-with-dotfiles/">dotfiles</a>, for example.</p>
<p>Here is an example script with the extensions from the list above: <a href="https://gist.github.com/matthiasott/1695ca6f1fe9ccfc18ff6748fb2767c1">https://gist.github.com/matthiasott/1695ca6f1fe9ccfc18ff6748fb2767c1</a></p>
<h2>Themes</h2>
<p>So that’s it as far as extensions are concerned. But there is one important topic missing: Themes. The theme substantially influences how comfortable you feel in your code editor. So it is worth mentioning, although, in the end, it is above all a matter of personal preference. </p>
<p>For quite a while, I was using the dark <a href="http://citylights.xyz/">City Lights theme</a>. I like the balanced colors of the theme and that it puts a lot of focus on functions and variable names. It also comes with an icon pack that fits in nicely with the overall look of the theme.</p>
<p>A few days ago, though, I decided to switch to <a href="https://sarahdrasnerdesign.com/">Sarah Drasner</a>’s <a href="https://marketplace.visualstudio.com/items?itemName=sdras.night-owl">Night Owl theme</a>. Sarah has done outstanding work in creating a theme that is colorful without being distracting. Night Owl is also accessible to people with colorblindness and in low-light circumstances. I like the background of the editor window to be a tiny bit darker than the default blue of the theme, so I adjusted the color in the preferences. So far, I enjoy the theme a lot.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.145833333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/VS-Code-Night-Owl.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/VS-Code-Night-Owl.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/VS-Code-Night-Owl.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/VS-Code-Night-Owl.jpg" alt="Vs Code Night Owl" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>So that wraps up this post about my current VS Code setup. I hope you found this list helpful and, as mentioned before, if you have anything to add like better or more extensions, I’d love to hear from you.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Thoughts on Writing: Diamond Polishers and Vomit Drafters</title>
                <link>https://matthiasott.com/notes/thoughts-on-writing-diamond-polishers-and-vomit-drafters</link>
                <pubDate>Sat, 29 Feb 2020 18:04:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/thoughts-on-writing-diamond-polishers-and-vomit-drafters</guid>
                <description><![CDATA[
                    
																																	<p>They say that writers come in two flavors: Diamond polishers and vomit drafters. Let me explain.</p>
<p>Have you ever been sitting at your desk, trying to write one single paragraph, but then found yourself meticulously fiddling with every single shred of a word and each and every sentence until you finally got rid of the feeling that something just doesn’t feel right yet? Chances are you’re a diamond polisher.</p>
<p>Or, are you the kind of person who just loves to get lost in writing, quickly entering that state of flow, where words just pour out in one creative burst? That’s a vomit drafter.</p>
<p>Of course, the reality is much more nuanced. We are all diamond polishers to a certain degree and we all might have days on which we spit out quick drafts more easily. But is there a right way to approach writing? Is it better to be a diamond polisher or should everyone become a vomit drafter? As often, the answer is: It depends.</p>
<p>First and foremost, we are all different and you should go with the approach that you feel comfortable with and that produces the best results in your case. There are, however, certain things that both types of writers should be aware of and there is always room to grow. Even more so, if you don’t feel comfortable with how you approach writing at the moment or simply don’t get the results you want.</p>
<p>If you are more of a diamond polisher, it is obvious that you care deeply about every word. And that is fine. Language has its subtle nuances and in many cases there is indeed the perfect word that exactly expresses what you want to say. Being precise and clear in what you say should always be the goal. But this attention to detail can also block you. If your first sentence isn’t right already or you only manage to get one short paragraph done in over an hour, being a diamond polisher can be a curse that keeps you from progress. In the worst case, you get frustrated, stop publishing your work, and lose interest in writing altogether. Diamond polishers should therefore remind themselves from time to time that perfection is a myth and that how they say something might not be as important as saying it in the first place. It can be extremely liberating to let go of the idea that the first draft of a text has to be perfect, already. You will have to edit your piece anyway, so why not try to start with a <a href="https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts">shitty first draft</a> the next time you sit down to write? I used to be a heavy diamond polisher myself but I found that forcing me to write quicker drafts helped a lot to increase the rate at which I publish on my site. It also makes it easier to let go from bad ideas. As Hugh Howey notes, it’s <a href="https://hughhowey.com/the-inertia-of-bad-ideas/">often better to delete entire chapters and start with a blank page than it is to fix a story that’s gone awry</a>. And it is extremely hard to kill your darlings once you’re busy polishing diamonds.</p>
<p>So should we all become vomit drafters, then? Not so fast! Writing quick drafts has its advantages, but never forget: Very few people vomit diamonds and you are most likely not one of them. Your draft might have a nice beginning and a compelling end and it might already look quite complete, yet it is still a draft that needs further refinement. The process of rigorously editing your work is extremely valuable. So don’t forget to take a step back and critically review your piece. Where could you be more clear? Which parts could be cut or rewritten to get your point across? What parts of your text might even be unnecessary? As a vomit drafter, you can produce quantity. Now, make sure that you also publish quality.</p>
<p>In the end, it comes down to one central question: Are you front- or back-loading editing? There certainly is a point to be made for writing quicker drafts and separating the process of drafting from editing your work. But this is not to say that you should stop polishing diamonds altogether, if that’s just how you roll. Whatever type of writer you are, make sure that your process allows you to be flexible and that editing is part of your routine. Whether you do your editing earlier or later in the process is not that important – as long as you’re doing it. And then, hit publish.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Thoughts on Writing: What They Say</title>
                <link>https://matthiasott.com/notes/thoughts-on-writing-what-they-say</link>
                <pubDate>Sun, 26 Jan 2020 17:31:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/thoughts-on-writing-what-they-say</guid>
                <description><![CDATA[
                    
																																	<p>You might have heard of this quote from Marty Neumeier, author of <a href="https://www.martyneumeier.com/the-brand-gap">The Brand Gap</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>A brand is not what you say it is. It’s what <em>they</em> say it&nbsp;is.</p>
</blockquote>
												</figure>
																
																																	<p>What he means by that is that no matter how much you want your product or company to be perceived in a certain way by the public, what <em>really</em> defines your brand is what people actually think and say about it. This is surely true for brands, but it is also true for all the pieces of work we put into the world as creators. Be it an idea, a song, a drawing, a video, a website, or any written piece – you as the creator are not the one who ultimately decides how your work resonates with other people or if it is perceived as “good” by an audience. Of course, you might personally feel that your work is of high quality and also have a gut feeling that it could go down well with others. But this doesn’t necessarily mean that others will feel the same and, consequently, <a href="https://seths.blog/2019/12/only-the-hits/">there is no way you can plan for something to become a hit</a>. </p>
<p>What a piece of work really means is not determined by what you want it to be but by what happens when people interact with it. As <a href="https://www.brainpickings.org/2012/08/23/the-creative-act-marcel-duchamp-1957/">Marcel Duchamp wrote</a>: <em>“All in all, the creative act is not performed by the artist alone; the spectator brings the work in contact with the external world by deciphering and interpreting its inner qualifications and thus adds his contribution to the creative act.”</em> In other words: Only by publishing your work and placing it out in the world and in front of other people it is truly complete.</p>
<p>So does this mean that we should listen to what <em>they</em> say? Many people  indeed try to adjust their writing to what others might like. You could call this the SEO approach to creation: You try to meet the taste, opinions, and standards of others to get their attention and approval. There is one huge problem with this approach, though: The more you adjust your writing to the expectations of others, the more it will, inevitably, lose character. Your work will be stripped of your unique voice and will become generic and disposable.</p>
<p>We all want to create successful work. We want our voices to be heard. We all want to be recognized or, at least, respected. But instead of trying to please everyone, you should deep down inside of you accept the fact that it is not yours to decide if others like your work. This will give you immense freedom. Suddenly, you can start to <a href="https://www.sarasoueidan.com/desk/just-write/">just write, without worrying whether your readers like what you’re saying or how you are saying it</a>. You can write whether or not the reader is in line with your values, your vision, or your sense of humor. You can write about what you deeply care about. Your process, your struggles, your opinions, your passions. You can focus on clarifying your thoughts, establishing your individual writing style, and getting better with each piece. Just do your best and create work that is genuinely you. That doesn’t necessarily mean that you stop thinking about what might be of value to others or that you can’t be open to feedback anymore. Not at all. Just don’t let this be the sole objective. Write about what is most important to you in the first place and create the opportunity for people to learn and reach their own conclusions. Oh, and don’t forget to publish your work. Ideally <a href="https://matthiasott.com/articles/into-the-personal-website-verse">on your own site</a>.</p>
<p>If your work resonates with a like-minded audience – and if you share your experiences and tell a story, I guarantee you that it will – great! If only a few people like it, great as well! And even if nobody gives a damn, never mind! You can still decide to continue working on what you care about because you enjoy the process of writing or you are convinced of an idea. That’s completely up to you. Because regardless of what <em>they</em> say, it is still <em>your</em> work. Your writing.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>My RSS Feed Collection of Personal Websites</title>
                <link>https://matthiasott.com/notes/rss-feed-collection-personal-websites</link>
                <pubDate>Thu, 09 Jan 2020 00:57:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/rss-feed-collection-personal-websites</guid>
                <description><![CDATA[
                    
																																	<p>Yesterday, <a href="https://chriscoyier.net/">Chris Coyier</a> asked a question on Twitter: 
“Who’s gonna read your personal blog because it has an RSS feed? I’m gonna read your personal blog because it has an RSS feed.” Chris then attached a screen recording of him scrolling down his massive list of RSS feeds of personal websites.</p>

																												
																												<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Who’s gonna read your personal blog because it has an RSS feed? I’m gonna read your personal blog because it has an RSS feed. <a href="https://t.co/mtcyKhEVet">pic.twitter.com/mtcyKhEVet</a></p>&mdash; Chris Coyier (@chriscoyier) <a href="https://twitter.com/chriscoyier/status/1214606808125341696?ref_src=twsrc%5Etfw">January 7, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>This reminded me of the fact that I had wanted to clean up my own list of RSS feeds for quite a while and so I spent some time today doing exactly that. And while I was at it, I added a few new sites, too. The result is not as impressive as Chris’s collection but it is a great improvement.</p>
<p>While I was updating the list, I also noticed how impressive and wonderful it is to see so many personal websites out there. The quality of the sites really is breathtaking, as is the variety of different approaches, designs, and topics. Seeing all those sites so closely together shows just how diverse and rich our community really is. And the richness of this “<a href="https://matthiasott.com/articles/into-the-personal-website-verse">personal-website-verse</a>” will only increase as more and more people realize that Medium might not be the ideal place for their content and start publishing on their own sites.</p>
<p>RSS can be a great way to connect to other people and their work and it is thus one of the technologies that can weave our network of personal sites more tightly together. So if you want to add a bunch of personal sites to your feed reader, go ahead and <a href="https://github.com/matthiasott/personal-websites-RSS">grab an OPML export of my list on Github</a>. I will update it from time to time, too, because RSS is, obviously, not dead yet.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>2019 Year in Review</title>
                <link>https://matthiasott.com/notes/2019-year-in-review</link>
                <pubDate>Wed, 01 Jan 2020 23:47:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/2019-year-in-review</guid>
                <description><![CDATA[
                    
																																	<p>Now that a lot of people are publishing their year in review posts, I decided to write my first one, too, this time. And if only to be able to look back later on what I did and thought about in 2019.</p>
<p>Writing a full “decade in review” post seemed a bit too excessive to me, though. So much has happened in the last ten years! Here is the TL;DR: I obtained my university degree in design, married the love of my life, our two children were born, I worked the whole 10 years as a freelance designer, finding my way as a professional and making lots of good friends along the way.</p>
<p>Overall, 2019 was a good year for my family and me. After the birth of our daughter in 2017, 2018 had intentionally been a bit slower work-wise but that changed again in 2019, with a lot of interesting work – in fact, maybe even a bit too much work at times. This is also the reason why I finally decided to set up a personal task management system. It’s a stripped-down version of <a href="https://gettingthingsdone.com/">Getting Things Done</a> that I manage in <a href="https://culturedcode.com/things/">Things</a>, the ingenious to do app by Cultured Code. I am still improving the details and working on making it a habit but getting my to dos out of my head into a system has helped me a lot already, especially in the more work-intense weeks of the year.</p>
<h2>Client work</h2>
<p>As in the past years, the main focus of my work was designing and coding projects for the Web. In 2019, this again included a lot of freelance work for agencies, where I worked on anything from small landing pages to large corporate websites, but I also worked on projects for own clients. Overall, the year was a bit more split up into smaller projects than 2018, where I had worked in two large projects for several months straight. But I am fine with both, as long as the work is challenging. And given that, depending on the client, I do UX strategy, design, and front-end development work these days, I always had interesting problems to solve.</p>
<h2>Workshops</h2>
<p>2019 was the second year I ran workshops for Adobe Systems on designing and prototyping with Adobe XD. Running workshops is a lot of fun and in the past year, I started feeling even more comfortable in teaching groups of various sizes, professions, and levels of experience. In total, I ran <strong>18 workshops</strong> in cities like: </p>
<ul>
<li>Trier</li>
<li>Stockholm</li>
<li>Zurich</li>
<li>Dresden</li>
<li>Stuttgart</li>
<li>London</li>
<li>Frankfurt</li>
<li>Hannover</li>
<li>Ludwigshafen</li>
<li>Nuremberg</li>
<li>Munich</li>
<li>Heidelberg</li>
<li>Berlin</li>
</ul>
<p>This naturally included a lot of travel but was also a welcome change to the “usual” design work. A huge thank you to everyone at Adobe for this opportunity, in particular, Andre Jay Meissner, to the other designers in <a href="https://theblog.adobe.com/meet-community-extension-xd-team-xdis/">the XDI team</a>, and everyone who came to my workshops.</p>
<p>A personal highlight of 2019 was that I also ran my very first own workshop. It was a two-day workshop on Responsive Web Design and the modern web design process in general. In 2020, I want to run more of my own workshops. I have two workshops ready: The one on RWD and another one all about prototyping for the Web. If this sounds interesting, get in touch. <a href="https://matthiasott.com/workshops">You can find more information about my workshops here</a>.</p>
<h2>Teaching</h2>
<p>2019 was the seventh year that I had the opportunity to teach Interface Prototyping at the <a href="https://muthesius-kunsthochschule.de">Muthesius University of Fine Arts and Design</a>, Kiel. It is a great pleasure to work with the students each year and I’m already looking forward to the next semester.</p>
<h2>Prototyping.news</h2>
<p>My little <a href="https://prototyping.news">free monthly newsletter on prototyping</a> and the ideas and processes related to adopting a prototyping mindset has been around for the second year now. The audience of the newsletter is rather small but excellent and I still very much enjoy curating and writing the newsletter. I feel flattered by the feedback I received throughout the year from people taking the time to write to me. Thank you all very much! On the other hand, the project still consumes more time than I initially thought. So in the new year, I will look at how to improve the process a bit so I can keep on writing this newsletter.</p>
<h2>My personal site</h2>
<p>One of the best decisions of my professional and personal life has been to start writing on this website back in 2015. In 2019, this became ever more clear to me. I wrote and published a total of <strong>23 posts</strong> and my <a href="https://matthiasott.com/articles/into-the-personal-website-verse">article on the future of personal websites and why you should get one</a> was by far my most successful piece yet. Writing such longer posts is always a joy but at the same time, it takes a lot of time to write and edit them. So just like last year, I only managed to write one long read in 2019. I still want to get better and faster at this and publish longer posts more regularly. Let’s see which topic catches my attention next.</p>
<p>Currently, I am writing a series of <a href="https://matthiasott.com/notes/ideas-on-writing">Thoughts on Writing</a>. In part to share what I learned about writing from various articles, podcasts, and books. But also to clarify my thoughts on writing and the strategies around it. Let me know what you think.</p>
<h2>Books</h2>
<p>Mostly thanks to the wonderful invention of audiobooks, I started reading – and listening – a lot more again in 2019. Some of the books I very much enjoyed include:</p>
<ul>
<li><em>‪This is Marketing</em>, by Seth Godin‬</li>
<li><em>Inclusive Components</em>, by Heydon Pickering</li>
<li><em>Form Design Patterns</em>, by Adam Silver</li>
<li><em>Future Ethics</em>, by Cennydd Bowles</li>
<li><em>The War of Art</em>, by Steven Pressfield</li>
<li><em>The Culture Code</em>, by Daniel Coyle</li>
<li><em>The Art of Possibility</em>, by Rosamund Stone Zander and Benjamin Zander</li>
<li><em>Demystifying Public Speaking</em>, by Lara Hogan</li>
<li><em>Tools of Titans</em>, by Tim Ferriss</li>
<li><em>On Writing</em>, by Stephen King</li>
<li><em>Design Systems</em>, by Alla Kholmatova</li>
<li><em>The Uninhabitable Earth</em>, by David Wallace-Wells</li>
<li><em>The Wright Brothers</em>, by David McCullough</li>
<li><em>Getting Things Done</em>, by David Allen</li>
<li><em>Creative Calling</em>, by Chase Jarvis</li>
<li><em>Thinking, Fast and Slow</em>, by Daniel Kahnemann</li>
<li><em>Atomic Habits</em>, by James Clear</li>
<li><em>Bird by Bird</em>, by Anne Lamott</li>
<li><em>Sense &amp; Respond</em>, by Jeff Gothelf and Josh Seiden</li>
<li><em>Feck Perfuction</em>, by James Victore</li>
</ul>
<p>If you look closely, you might notice that there isn’t a single novel on the list. The reason: I did not touch a single novel in 2019. I will change that in 2020.</p>
<h2>Self-care</h2>
<p>Towards autumn of 2019, I realized that although I had always thought of myself as still being in reasonably good shape, I was constantly feeling a bit worn out and I had not been doing any kind of sport for several years. You are what you do, so they say, and how sporty can you possibly be if you don’t <em>actually</em> do any sports? So, also being triggered by my wife who started running again in summer, I decided to try running, too. I had just read <em><a href="https://jamesclear.com/atomic-habits">Atomic Habits</a></em> by James Clear and knew that if I wanted to start doing any kind of sport again, it had to be easy and rewarding. Only then, it could become a habit and thus a regular part of my life again. I started running in early November. I set myself two goals: Go for a run of at least 15 minutes. Do it daily and if I ever had to skip a day: Never skip twice. It worked out astonishingly well, although I still missed a few days. In November and December, I ran 35 times in total. I extended my route twice and am now running about 3.5 kilometers in 18 minutes, feeling confident that I will soon be running for half an hour at a comfortable pace. Not overdoing it and starting cautiously was the key, I guess. Going for a short run never felt like a burden but always like a doable exercise.</p>
<p>Regarding health and self-care, I have one huge goal for 2020: To sleep more, ideally for at least 7 hours a night.</p>
<h2>Here’s to 2020</h2>
<p>I don’t like new year resolutions that much but I keep a list of things that would be nice to accomplish in the near future. I won’t tell you what’s on that list (😉) but rather write about it in my next year in review post.</p>
<p>There is one huge topic, though, that already dominated 2019 for me and, to be honest, often also darkened my thoughts: Climate change. Climate change is not a hoax, not an opinion, and most certainly not hysteria. It is a scientific fact and the most pressing issue of our lifetimes. I am sure that it will be dominating 2020 and the next decade like no other issue. We are desperately in need of solutions, both on the personal as well as the political and societal levels and it can sometimes be hard to stay hopeful. Yet in the end, there is simply no other option than to act and change. Change how humanity produces and consumes energy and goods. Change our way of life and how we travel. But most importantly, we need to find ways to cope with the impacts that are already locked into the system. At the end of the decade that has just started, my son will be 18 years old and my daughter will be 12. What happens in this decade will determine if they will be able to look into the future with confidence and hope. If we all can. Let’s get to work.</p>
<p>I am sure that, despite the huge challenges ahead, we will make 2020 one of the best years yet. I wish you all a healthy, successful, and happy 2020 and hope to meet and talk with as many of you as possible – online and in real life.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Thoughts on Writing: Shitty First Drafts</title>
                <link>https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts</link>
                <pubDate>Sun, 29 Dec 2019 15:50:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/ideas-on-writing-shitty-first-drafts</guid>
                <description><![CDATA[
                    
																																	<p>I don’t know about you but many people seem to think that accomplished writers are able to sit down at their desks and immediately start writing in beautiful, fully formed sentences and paragraphs. In reality, though, nothing could be farther from the truth. As Anne Lamott points out in her seminal book on writing, <a href="https://www.penguinrandomhouse.com/books/97395/bird-by-bird-by-anne-lamott/">Bird by Bird</a>, almost all writers start with a rough, unpolished, shitty first draft. In fact, such a shitty first draft is often the reason they are able to put down any words in the first place. A shitty first draft allows the writer to jot down a stream of thought without being interrupted by long periods of refinement and without thinking about what potential readers, colleagues, or critics might think of the text.</p>

																												
																																		<figure class="quote">
							<blockquote><p>The first draft is the child’s draft, where you let it all pour out and then let it romp all over the place, know­ing that no one is going to see it and that you can shape it&nbsp;later.</p>
</blockquote>
												<figcaption>Anne Lamott, <cite>Bird by Bird</cite> </figcaption>
										</figure>
																
																																	<p>Knowing that you don’t need to get it right at the first try gives you an immense amount of freedom. It permits you to write freely and without pressure. The shitty first draft is for you and you only. No one is going to see it, so don’t worry about your writing style or if your ideas are good enough yet — just write. </p>
<p>Moreover, trying to get it all right at the first try is not only cumbersome, but it is also quite unlikely that your first draft will ever be the best version you will come up with, anyway. Or, in the immortal words of Ernest Hemingway:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The first draft of any­thing is&nbsp;shit.</p>
</blockquote>
												</figure>
																
																																	<p>So why waste your precious time by laboriously crafting a “perfect” first version of your text when you will need to edit and refine it later, anyway? </p>
<p>So if you only take one piece of advice out of <a href="https://matthiasott.com/notes/ideas-on-writing">my little series on writing</a>, let it be this: Silence your internal critic early in the process and give yourself permission to write shitty first drafts. This will allow you to write more freely and to get your thoughts out of your head while they are still fresh. Evaluation and revision are for later stages when you have produced enough material to work with. But until then, a shitty first draft is exactly what you need.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Thoughts on Writing</title>
                <link>https://matthiasott.com/notes/ideas-on-writing</link>
                <pubDate>Wed, 18 Dec 2019 19:41:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/ideas-on-writing</guid>
                <description><![CDATA[
                    
																																	<p>Since I started writing on this site about three years ago, I have been thinking a lot about writing as a craft. What are the qualities of good writing? Are there any recipes or best practices to become a better writer? What are the tricks and habits of great writers? And so, although I knew that there are no magic recipes that guarantee a positive outcome, I found myself listening to podcasts, reading books, and skimming articles on writing. On the one hand, I was curious to learn how other people approached the process of writing, and on the other hand, a little voice in my head wasn’t satisfied with the <a href="https://goinswriter.com/write-drunk/">questionable advice to “write drunk, edit sober”</a> – there had to be more.</p>
<p>Over time, I have been collecting quite a few interesting ideas and strategies around writing and in this and some upcoming posts, I want to share a few of those ideas. I have written before about <a href="https://matthiasott.com/notes/out-there">how important it is to share even the tiniest bit of information</a> because even something that seems insignificant to you might actually spark an idea in someone else. So I hope that sharing those ideas will be of value for those of you who also want to improve their writing or share a general interest in the topic. Depending on what you are writing – poetry or prose, fiction or non-fiction, a book or an article for <a href="https://matthiasott.com/articles/into-the-personal-website-verse">your personal website</a> – some of those ideas may be more applicable than others. And, of course, it is still up to you to decide what strategies might work for you and which you want to try.</p>
<p>So here’s the first idea:</p>

																												
																																	<p>Sit down regularly to write.</p>
<p>This is a piece of advice that has come up over and over again in books or interviews with accomplished writers. Besides their love for words, they all share one important habit: They regularly sit down to write. Of course, they do, you might say. This is so obvious! As with so many things in life, you don’t become good at writing without practice, right? Yet, so many people who would love to improve their writing or publish more often, including me, still don’t sit down regularly to write. The key is to not only “try to write more often” or say to yourself that you will “write when you find some time”, but to actually sit down every day at roughly the same time and write. It doesn’t matter if it’s early in the morning or late at night. That’s up to you. It also doesn’t matter what you write and if you also publish your work. The only thing that does matter, is that you force yourself to sit down and start typing. </p>
<p>Over time, you will notice a few things: For one, it will become easier and easier to focus and put down your thoughts. You will also have more ideas about what to write. As sitting down to write becomes a habit, you will even feel the need to write something. And, most importantly, your writing will improve as you gain confidence. Confidence not only in your ability to write in general but also in your ability to write more versatile, to try out new things, to play with the material. By sitting down to write, you will become a writer.</p>
<p>That is not to say that you won’t have bad days anymore. Days when you just sit there, at your desk, desperately waiting for inspiration to strike, unable to put down a single word. Days on which you need to force yourself to finalize even the most halting sentences. Days when scrolling a social media feed might seem like such a tempting alternative. Resist. Persist. Even the most accomplished writers have their rainy days. What matters is that you show up and create something, even if it is a rough draft that nobody except you will ever see. It’s a bit like doing scales or finger exercises when playing the piano. It might feel dull and cumbersome at times, but eventually, you will improve your play.</p>
<p>So sit down regularly. And write.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Sharpen the Contradictions</title>
                <link>https://matthiasott.com/notes/sharpen-the-contradictions</link>
                <pubDate>Sun, 17 Nov 2019 21:37:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/sharpen-the-contradictions</guid>
                <description><![CDATA[
                    
																																	<p>In a <a href="https://tim.blog/2019/10/24/ben-horowitz/">recent conversation with Tim Ferriss</a>, <a href="https://a16z.com/author/ben-horowitz/">Ben Horowitz</a>, a co-founder and general partner at Andreessen Horowitz, shared a line he likes to use in management:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Sharp­en the contradictions.”</p>
</blockquote>
												</figure>
																
																																	<p>What he means by this line is that in an organization, you will often witness little disagreements between people. But instead of smoothing things over, which is often the first reaction, the better answer is to sharpen the contradictions because there is a lot of information hidden in them. There is always a reason why people disagree. It might be that something still needs clarification or that there is a misunderstanding. It might be that your objectives are not aligned or that your strategy is wrong.</p>
<p>This technique of sharpening the contradictions is not only applicable in organizational management, but it also works well in design and development. Whenever a team tries to solve a problem together, there will inevitably be moments of disagreement.  We have all been there. But how the team handles this contradiction is crucial: Do they kill the messenger and dismiss any objections? Do they try to dispel any concerns and stick to the word of those higher up in the pecking order? Do they avoid conflict at all costs and prefer to “better move on”? Or do they instead take those objections and disagreements seriously and recognize that something might be wrong here or that they might be missing an opportunity? And do they then try to generate more information and insight by asking questions, validating their assumptions, and exploring alternatives?</p>
<p>As human beings, we are wrong more often than we want to admit or realize. We all tend to <a href="https://en.m.wikipedia.org/wiki/Overconfidence_effect">overestimate how much we understand about the world or a given problem and rush to make overconfident judgments</a> and decisions based on causality where, in reality, none exists. Our mind even generates causality when, in fact, there is none.</p>
<p>So when someone disagrees with you, listen. When someone questions a decision, take it seriously. When someone comes up with an idea that you instinctively want to dismiss immediately, take a moment to consider it. Try to understand: What is the other person’s point here? What is the reasoning behind the objection? Why do we disagree? Or why did they think that their idea is worth mentioning? Do your best to sharpen the contradictions by asking questions or, for example, by building a prototype together. Otherwise, you might be missing an opportunity for improvement or, even worse, you might be on the wrong track without noticing it.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Construction vs. Growth</title>
                <link>https://matthiasott.com/notes/construction-vs-growth</link>
                <pubDate>Wed, 13 Nov 2019 16:48:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/construction-vs-growth</guid>
                <description><![CDATA[
                    
																																	<p>For those of us who work on and with the Web, the idea that the Web has its very own inherent qualities is not new. Whether you read John Allsopp’s seminal article “<a href="https://alistapart.com/article/dao/">A Dao of Web Design</a>” or watch Frank Chimero’s elaborate talk “<a href="https://www.webstock.org.nz/talks/the-webs-grain/">The Web’s Grain</a>”, the fundamental concept is the same: Instead of approaching building for the Web as if it was one of the static mediums that came before it, we should embrace the Web’s inherent qualities. The Web is interactive, inclusive, non-linear, edgeless, unpredictable, fragile, and, above all, dynamic. It is in a constant state of change and growth.</p>
<p>Last weekend, I watched an interesting episode of the latest season of Netflix’s “<a href="https://www.netflix.com/en-en/title/80057883">Abstract</a>”, a documentary series about creators across all disciplines. The episode portrayed <a href="https://neri.media.mit.edu">Neri Oxman</a>, a designer and professor at MIT Media Lab. Neri leads the <a href="https://mediatedmattergroup.com">Mediated Matter research group</a> at MIT where she and her team create the most amazing objects out of natural materials which they apply and form in new, otherworldly ways. Neri considers computation, fabrication, and the material itself as inseparable dimensions of design and she creates products and buildings that are informed and engineered with and for nature.   She calls this “material ecology”. She <a href="https://www.dezeen.com/2015/08/26/neri-oxman-3d-printing-transparent-glass-sculptural-structures-mediated-matter-mit-media-lab/">3d-printed transparent glass</a>. She created <a href="https://www.dezeen.com/2013/06/03/silkworms-and-robot-work-together-to-weave-silk-pavilion/">a dome that was woven by 6,500 free-ranging silkworms</a> on a huge nylon frame. She <a href="https://www.dezeen.com/2014/11/25/neri-oxman-mit-media-lab-stratasys-wearable-3d-printed-structures-interplanetary-voyages-synthetic-biology/">3D-printed wearable structures</a> that contain living matter like, for instance, bacteria, to explore the future of body-extending wearables that can interact with the environment they are in.</p>
<p>Her work is fascinating, mind-boggling, and innovative, but what I found the most interesting, is the underlying approach she takes to create those multifunctional objects, structures, and systems. Neri Oxman sees the world and all structures within it as organisms that change regularly and respond to use. Therefore, building becomes much more of a dynamic process where you start exploring a material by prototyping a lot and then try to provide the conditions under which the system grows into the desired direction. This idea of nurturing growth and letting a system gradually and naturally evolve is in stark contrast to the traditional notion of architecture and systems design as the assembly of ready-made parts and patterns. Usually, when we talk about designing systems for the Web, for example, we draw parallels to architecture and refer to seminal works like the book “<a href="https://en.wikipedia.org/wiki/A_Pattern_Language">A Pattern Language: Towns, Buildings, Construction</a>”. Constructed from small, reusable components and repeatable patterns we aim to create highly complex systems that, ideally, are flexible, modular, scalable, and persistent.</p>
<p>While this modular approach often works quite well, because it makes it easier to establish standards and achieve a higher level of consistency, it also comes at the price of rigidity and uniformity. For one, context is often missing or only partially considered. So a solution that might work well in one situation might not be the right solution in a different context. Predefined patterns only get you so far. But moreover, it is hard to envision and construct a system upfront that includes the possibility to grow and adapt over time – especially on the Web, one of the most diverse environments where, just like in nature, the only constant is change and control is an illusion.</p>
<p>What if the nature of the Web, the Web‘s grain, with all its edgelessness and unpredictability, called for an approach that focuses much more on exploring materials and nurturing growth than it is about predefined templates? After all, the most resilient systems aren’t those that are the most rigid but the ones that prove to be most flexible, adaptable, and fault-tolerant. What if we understood the Web not as a “world made of parts” but a breeding ground for possibility and change? </p>
<p>What if, after all, we were <em>gardeners</em> much more than we are <em>builders</em>?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Frequency</title>
                <link>https://matthiasott.com/notes/frequency</link>
                <pubDate>Thu, 17 Oct 2019 11:17:12 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/frequency</guid>
                <description><![CDATA[
                    
																																	<p>How often should you publish work on your site? Once a month? Once a week? Daily even? When you ask other creators or look on the Web for advice, you will get the most diverse answers to this question.</p>
<p>People who post daily will tell you that, of course, you should post daily to stimulate your brain and train your writing skills or other creative muscles. Only by repetition, by doing small, creative tasks over and over again, you will gain fluency and develop a personal style.</p>
<p>People who don’t post that often might tell you that your brain needs time to think. That you need periods of time where you don’t force yourself to publish something, no matter what. That developing a standpoint and creating outstanding work takes time and that you should therefore only publish a piece when it is refined and elaborate.</p>
<p>So, who’s right? As with so many things, it depends. Publishing regularly and frequently will indeed activate your brain and you will start thinking about what to publish next – which leads to more ideas and more output after a while. By taking your time, on the other hand, you will indeed publish more refined pieces. Without practice, though, you won’t achieve mastery, so finding a creative habit and sticking to it is important.</p>
<p>But the most important thing is that you feel comfortable with the way you publish your work. If you feel guilty for not publishing often enough, the only answer might be to write or create more often. If you feel pressured to publish daily and also don’t enjoy it anymore, then maybe just don’t publish so often. Try out what works best for you and find a frequency that feels right. Then, publish the work you love.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Illusion of Control</title>
                <link>https://matthiasott.com/notes/the-illusion-of-control</link>
                <pubDate>Fri, 19 Jul 2019 01:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-illusion-of-control</guid>
                <description><![CDATA[
                    
																																	<p>What would happen if we really accepted the fact that control is an illusion?</p>
<p>How would this change the way we approach projects?</p>
<p>Making plans would always imply the possibility of failure and the willingness to adapt to new insights and shifting contexts.</p>
<p>Leading a team would mean providing a safe space to curiously explore, imagine, and build together. Guided not by assumptions and orders but by the vision of a common goal and the change we want to make.</p>
<p>We would understand that to navigate the ever-growing complexity of the Web, we have to heavily invest in organizational learning and in training our people.</p>
<p>Work would be more like a game. Playing at the highest possible level within the constraints and rules of the game as a guiding framework, but with endless possibilities for those who combine a playbook with curiosity, intuition, and creativity.</p>
<p>We would also recognize that the true reward is the process itself and that the process, therefore, needs our full attention. We would realize that it pays off to focus on finding the things that are truly worth your precious time and energy and that increasing the number of ideas we generate and improving the quality of the decisions we make is the only way we will come to working solutions. </p>
<p>We would realize that the true nature of an experience is revealed only in the interplay with the people who use it and that an invalidated design is nothing but an opinion.</p>
<p>We would have to get comfortable with uncertainty, accept our vulnerability, and learn to dance with the fear of being wrong. Because it will never go away.</p>
<p>Finally, we would acknowledge the fact that perfection is a myth yet everything can and should always be improved.</p>
<p>Now, do you <em>really</em> think you are in control?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Decisions Journey</title>
                <link>https://matthiasott.com/notes/the-decisions-journey</link>
                <pubDate>Mon, 15 Jul 2019 18:29:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-decisions-journey</guid>
                <description><![CDATA[
                    
																																	<p>With every project we start and every problem we are trying to solve, we are embarking on a journey. And although we might have a goal, this journey is still a journey into the unknown. </p>
<p>Even with the most proper planning we won’t be able to predict and factor in all the obstacles that might lie in front of us. There are simply too many unknowns that are impossible to predict. How could we, really? It’s the future. What we can do, though, is prepare. Prepare for the moments our assumptions prove to be wrong and our plans fail us.</p>
<p>The journey of a creative project involves thousands of possibilities, potential ideas, and choices. The outcome of our adventure, therefore, highly depends on our ability to make informed decisions the very moment we face them. Which way is the right one? Should we take the safe road or try a more risky approach off the beaten track? What helps us find the right answers in such moments is a clear vision of where we want to go together. A sense of purpose. Furthermore, we need to be able to make our decisions based on facts and real experience. And, because we can never be completely sure to make the <em>right</em> decisions, we need to increase the possibility of making <em>better</em> decisions. The way you do this is by generating enough good options, enough promising ideas, and enough valuable solutions. This way, we are increasing the possibility of making a good decision, no matter which solution we end up picking. Prototyping – in the broadest possible sense – is the perfect tool to unearth the most promising solutions and by that expanding our decision surface. Embrace prototyping and you will be able to navigate into the unknown towards your goal with confidence. Not because you know all the solutions upfront, but because you know that you are able to find them when you need to.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Culture Code</title>
                <link>https://matthiasott.com/notes/the-culture-code</link>
                <pubDate>Sun, 14 Jul 2019 13:18:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-culture-code</guid>
                <description><![CDATA[
                    
																																	<p>The best books are the ones that change your perspective, your view on the world, in such a profound way that you don’t look at it the same way ever again. To illustrate this fundamental switch, <a href="https://adactio.com/">Jeremy Keith</a> likes to give the example of ducks and dog masks. All ducks look perfectly normal at first, until you are told that all ducks are actually wearing dog masks all the time:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 108.984375%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/all-ducks-wear-dog-masks-21525-1282659886-6.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/all-ducks-wear-dog-masks-21525-1282659886-6.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/all-ducks-wear-dog-masks-21525-1282659886-6.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/all-ducks-wear-dog-masks-21525-1282659886-6.jpg" alt="All Ducks Wear Dog Masks 21525 1282659886 6" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Once you see it that way, it is impossible to unsee.</p>
<p>I just finished listening to the audio version of such a book. <a href="http://danielcoyle.com/the-culture-code/"><strong>The Culture Code, The Secrets of Highly Successful Groups</strong></a>, by Daniel Coyle, in an in-depth look at why some teams fail miserably while others thrive and add up to be greater than just the sum of their parts.</p>
<p>In the ten years I’ve been working as a freelance designer now, I’ve seen many different teams and organizations. I worked with agencies large and small, with startups, individuals, and large, highly-hierarchical organizations that organize their work environments and decision-making processes down to the last detail. Joining a new team and seeing how – or if – its members successfully work together to create great work is one of the most fascinating things of working as an independent designer. In their attempt to get ever more efficient and produce great work, I’ve seen agencies take many different approaches to team organization. And surprisingly often, project managers, team leaders, and executives seem to think that in order for a team to get more productive and creative, one must dictate clearly defined processes and give strict instructions. If a team fails to produce extraordinary work, the first instinct is often to call for more discipline or more guidance and to increase pressure on individual team members. It seems as if the old assembly-line model is so ingrained in people that, especially in angular-shaped Germany, the desire to do things “the right way” leads to executives making decisions that could not be more wrong if you want to create an environment where creative teams live up to their full potential.</p>
<p>As <em>The Culture Code</em> shows, in order for teams to successfully work together and create outstanding work, psychological safety is key. Team members who feel safe are more likely to build connections, more likely to take risks, and more likely to cooperate regardless of rank or status. As a consequence, successful teams almost work as a single entity when solving problems. They talk in short, clear bursts of information, ask lots of questions, and listen actively. I feel like this is also a key reason why prototyping works so well as a tool for collaboration, but that’s another story. </p>
<p>To feel safe, we as human beings are prone to so-called “belonging cues”, little moments of social interactions like close physical proximity, body language, eye contact, active listening, and other ways of paying close attention to each other. These belonging cues tell our brains that “we are safe here”, that there is no danger lurking anywhere and we can therefore safely work with those people and in the environment, we are in. And, equally important, belonging cues signal that the relationship will continue, that is, that we will have a future together that is worth investing in. The last piece in the puzzle is purpose: Establishing purpose by creating shared goals and values will provide teams with the necessary map to navigate the obstacles and uncertainty of a fast-changing world, while also providing a sense of proficiency and excellence. This is how we do things around here.</p>
<p>The author then goes on to tell dozens of stories of successful teams and cultures like the basketball team of the San Antonio Spurs, U.S. Navy’s SEAL Team Six, or design firm IDEO, and shares many common principles of cultural chemistry and actionable insights that transform individuals into functional teams, including the idea that leaders of successful teams should be vulnerable first and most often instead of relying on the old-fashioned and ineffective leadership style of “command and control”.</p>
<p>Whether you are working in a team that needs fixing, leading a team that is up to something great, or are an executive who wonders why all those young, talented people don’t seem to live up to their full potential and are leaving your company far too early, <em>The Culture Code</em> is a must-read. It is transformative and eye-opening in that it shows just how wrong so many of the deeply ingrained habits and ideas about teamwork of the assembly-line model of work are and it is full of great advice on how to improve as a team and as an organization. You will never look at your team the same way.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>The Single Best Way to Take Notes</title>
                <link>https://matthiasott.com/notes/the-single-best-way-to-take-notes</link>
                <pubDate>Sun, 14 Jul 2019 01:15:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/the-single-best-way-to-take-notes</guid>
                <description><![CDATA[
                    
																																	<p>Ernest Hemingway did it. Successful entrepreneurs like <a href="https://www.virgin.com/richard-branson/why-everyone-should-be-taking-notes">Richard Branson do it</a>. And I’m quite sure, even most of the former US presidents did it: Taking notes. As I <a href="https://matthiasott.com/notes/write-it-down-1">wrote earlier this week</a>, note-taking is not only important because you get stuff out of your head and make sure to remember it later. But you will also somehow enable your mind to think more freely and are more likely to produce more ideas as a result.</p>
<p>But why is that? Why is note-taking so useful? And is there a best way to take notes?</p>
<p><a href="https://www.sciencedirect.com/science/article/pii/S1747938X17300374">According to scientists</a>, taking notes is beneficial in two ways: First of all, it enhances learning and retention by producing deeper processing of information. Information that is “encoded” this way is, therefore, more likely to be retrieved. This is known as the <em>encoding effect</em>. 
The second advantage is that note-taking offers long term benefits by having notes available for review and rehearsal. Write it down and you can look it up later. Scientists refer to this as the <em>external storage effect</em> of note-taking.</p>
<p>Regarding the best way to take notes, scientists are in disagreement. Several studies looked at the effects of taking notes by hand versus writing them on the computer. Some found better retention rates when participants were typing into their laptops while <a href="https://journals.sagepub.com/doi/full/10.1177/0956797614524581">other studies</a> found that students who took notes on laptops performed actually <em>worse</em> on conceptual questions than students who took notes longhand. </p>
<p>What seems to be the case, though, is that if you take notes during a talk or a lecture, your notes should follow your train of thought and you should try to reframe the processed information in your own words instead of transcribing it verbatim, which is detrimental to learning.</p>
<p>Other than that, there is only one single best way to take notes: Your way. Whether you like to scribble rough thoughts, like to thumb all your notes into your smartphone, love to draw mind maps, or prefer advanced™ techniques like the <a href="https://en.wikipedia.org/wiki/Cornell_Notes">Cornell Method</a> – each and every one of us is different in what we like and how our mind works. Consequently, there are as many ways and systems of note-taking as there are people. And they all can work well. Of course, it helps to make note-taking a habit. It also might be a good idea to start reviewing your notes regularly. But in the end, you will only benefit from taking notes, if you make it work for you. And for you only.</p>
<p>I for one, like to take handwritten notes and to draw sketches in a large Leuchtturm 1917 notebook with a LAMY swift rollerball pen. A good pen will go a long way here. For digital notes, I use almost exclusively <a href="https://ia.net/">iA Writer</a>, for quick notes as well as for longer thoughts. It is just the quickest way I can think of to dump a note into a backlog of ideas that can later easily be fleshed out into first drafts of blog posts or other written pieces. I enjoy the flexibility of iA Writer as a tool that doesn’t force you into a specific way of working and also that I can take notes on my mac as well as on the smartphone. But, as I said, this is only the way I found out works well for me. This might not work for many other people and everyone needs to find a way to take notes that feels right for them.</p>
<p>This also matches with the results of the scientific research study™ I conducted on Twitter. I asked:</p>

																												
																												<blockquote class="twitter-tweet"><p lang="en" dir="ltr">What is your primary tool for note-taking these days? Please RT for reach &amp; feel free to add more tools/information in the replies! Thank you! 🙌🤗</p>&mdash; Matthias Ott (@m_ott) <a href="https://twitter.com/m_ott/status/1149610307683094528?ref_src=twsrc%5Etfw">July 12, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>What came as a bit of a surprise to me, is that even in my little web design and development filter bubble an overwhelming majority still uses pen and paper as their primary tool for note-taking. I suppose this is because the pen is just unbeatable when it comes to speed, ease of use, and directness of the tool. No other tool offers less cognitive distance between your thoughts and the resulting note. But what also surprised me was that it really seems to be true: Everybody has their favorite way to take notes. So in addition to the 114 votes, I also received numerous replies mentioning one tool after the other. Thank you all so much for your answers!</p>
<p>Here is the list:</p>
<ul>
<li><a href="https://www.agenda.com/">Agenda</a></li>
<li><a href="https://support.apple.com/en-us/HT205773">Apple Notes</a></li>
<li><a href="https://bear.app/">Bear</a></li>
<li><a href="https://getdrafts.com/">Drafts 5</a> </li>
<li><a href="https://evernote.com/">Evernote</a></li>
<li><a href="https://www.goodnotes.com/">Goodnotes</a></li>
<li><a href="https://www.google.com/keep/">Google Keep</a></li>
<li><a href="https://github.com/">GitHub</a> repositories</li>
<li><a href="https://ia.net/">iA Writer</a> </li>
<li>Markdown editor &amp; <a href="https://syncthing.net/">Syncthing</a></li>
<li><a href="https://www.notion.so/">Notion</a></li>
<li><a href="https://simplenote.com/">Simplenote</a></li>
<li><a href="https://www.sublimetext.com/">Sublime Text</a></li>
<li><a href="https://telegram.org/">Telegram</a></li>
<li><a href="https://todoist.com/">Todoist</a></li>
<li><a href="https://trello.com/">Trello</a></li>
<li><a href="https://workflowy.com/hi/">WorkFlowy</a></li>
</ul>
<p>So if you are considering to start taking notes or maybe want to try a new tool, this list should prove useful. Isn’t it wonderful how many high-quality tools we have these days? But regardless of the tool, always remember to write all your thoughts and ideas down. Even the smallest and seemingly unimportant ones. <a href="https://seths.blog/2009/12/fear-of-bad-ideas/">Even the bad ones</a>. Because, as <a href="https://paulingblog.wordpress.com/">Linus Pauling</a>, an American chemist, biochemist, peace activist, author, educator, and two-times Nobel Prize winner, said:</p>
<p>The best way to have a good idea is to have <em>a lot</em> of ideas.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Write It Down</title>
                <link>https://matthiasott.com/notes/write-it-down-1</link>
                <pubDate>Tue, 09 Jul 2019 19:43:06 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/write-it-down-1</guid>
                <description><![CDATA[
                    
																																	<p>Whenever you have an idea, write it down. Immediately. </p>
<p>It doesn’t matter how big or small you think the idea is. Just write it down. It doesn’t matter if you have other things to do, like changing diapers, fixing that horrible JengaScript bug, or debating on Twitter whether everyone’s a designer. There is always something that seems more important. But trust me. Write it down. Immediately. </p>
<p>It is totally up to you in which way you jot down your idea. You can use a notebook if you want, you can use your smart phone, or, you can also just draw a quick, hasty sketch on a napkin. It really doesn’t matter as long as you grasp the idea as long as it is still fresh.</p>
<p>By writing down the idea you will first and foremost, of course, make sure that you will remember it later. And as trivial as this might sound, how often have you found yourself pondering over what this idea was that you had yesterday but which is now gone for good, irretrievably lost in oblivion? Writing down your ideas frees up space in your head for new ideas. At least that’s what you might think. That’s what I was thinking, too. But what I noticed over time, is that instead of simply making room for new ideas, your old ideas still linger in the back of your head. They are still somewhere in there, patiently waiting to come back as soon as something magical occurs: An association. And maybe this is the most powerful advantage of getting stuff out of your head. That once you write them down, your ideas will get babies more easily. It’s a miracle. It’s as if your mind suddenly is able to draw associations freely without having to remember the whole story all the time. Without pressure. And this is so powerful. Your ideas connect, they merge, they diverge, they form new constellations and in the end you will often find out something you’ve never thought before. One bit at a time you will connect the dots and create something truly unique.</p>
<p>So whenever you have an idea, write it down. Immediately.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Nownownow</title>
                <link>https://matthiasott.com/notes/nownownow</link>
                <pubDate>Mon, 17 Jun 2019 00:22:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/nownownow</guid>
                <description><![CDATA[
                    
																																	<p>Lately, I’ve been listening to a lot of podcasts. I enjoy the new perspectives they provide, especially interviews. <a href="https://www.designobserver.com/podcast-design-matters.php">Debbie Millman’s legendary design matters podcast</a>, for example, is only one of many great shows where the host manages to stimulate a conversation that yields the most amazing stories and opinions. Another such conversation is the one I listened to last weekend: <a href="https://tim.blog/2015/12/14/derek-sivers-on-developing-confidence-finding-happiness-and-saying-no-to-millions/">Tim Ferriss talks to Derek Sivers</a> about his career as a professional musician, circus clown, speaker, entrepreneur, and many more interesting things. A wonderful conversation that I highly encourage you to listen to. </p>
<p>At one point, Derek mentions a project he has been working on and I really love the idea behind it, so I thought I’d share it with you: Many personal websites, including this one here, have an “about” page. It’s a page that tells you something about the background of a person or about the services provided. But what this page often doesn’t answer – and neither do Twitter or Facebook pages – is what this person really is up to <em>at the moment</em>. A page that answers questions like: What are you focused on at this point in your life? What have you just started working on that excites you like nothing else? Did you just move to a new town? Did you start a new career as a Jengascript wrangler? To answer all those questions, Derek suggests to create a “now page”. A page that tells visitors of your site “what you’d tell a friend you hadn’t seen in a year.”</p>
<p>If you want to get an idea of how such a page can look like, go to <a href="https://nownownow.com/">nownownow.com</a>, a directory Derek has created. In about four years, he has collected almost 2000 examples of personal sites with a /now page.</p>
<p>And <a href="https://matthiasott.com/now">here is my own new “now page”</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Into the Personal-Website-Verse</title>
                <link>https://matthiasott.com/articles/into-the-personal-website-verse</link>
                <pubDate>Sun, 12 May 2019 11:21:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/into-the-personal-website-verse</guid>
                <description><![CDATA[
                    
																																	<p><a href="https://alistapart.com/article/nothing-fails-like-success/">Social media in 2019 is a garbage fire</a>.</p>
<p>What started out as the most promising development in the history of the Web – the participation of users in the creation of content and online dialogue at scale – has turned into a swamp of sensation, lies, hate speech, harassment, and noise.</p>
<h2>Your Unfriendly Neighborhood</h2>
<p>Craving for attention and engagement, our timelines have changed. Algorithms now prioritize content from people with a huge following and everything that is loud and outrageous. It’s all about what the masses and the bots “want”, what they will like, share, and click. This strategy might be driving sales of ads because traditional online marketers are obsessed with quantity and it is – besides selling user data – the only answer they found for venture capital constantly demanding a bang for the buck. Yet it leads to an experience that is so often just more of the same and at the same time much less predictable, less organic, and less adjustable to your own preferences. As <a href="https://craigmod.com/essays/newsletters/">Craig Mod writes</a>, “social networks seem more and more to say: You don’t know what you want, but we do.”</p>
<p>Consequently, it has become substantially harder for people with a small to medium following to get their voices heard and find a practical and creative use for services like Twitter or Medium. Twitter, for example, used to be that place where you would meet nice and brilliant people from the web community and make new friends, where you could find and share ideas and inspiration. But Twitter has changed so drastically and I’ve seen so many people turning quiet or leaving completely, that I don’t know how long this journey will continue. As with so many technologies before, the initial hopeful enthusiasm that accompanied the rise of social media has given way to disillusionment.</p>
<p>One day, Twitter and other publishing platforms like Facebook, Instagram, or Medium will indeed die, <a href="https://indieweb.org/site-deaths">like so many sites before them</a>. And every time this happens, we lose most of the content we created and with it a fair amount of our collective cultural history. </p>
<p>Data loss isn’t our only problem, though. If you decide to publish your work on a platform like Medium, you’re giving away control over it. What if Medium suddenly decided to extend the already existing paywall to all articles? There’s not much you could do about it. Simply because you don’t own your content anymore.</p>
<p>Maybe this wouldn’t be a big issue if owning your content today wasn’t more important than ever. Especially, but not only, if you are working as an independent or freelancer, your content is not just something you happen to have created – and for which you own the copyright of, by the way – but it is also part of your identity. It is part of who you are, what you’re thinking about, what you believe in, and what you’re up to. It is part of the story you are about to tell. It is part of the change you seek to make. Your content is one of your most valuable assets and thus owning it is invaluable.</p>
<p>So it comes as no surprise that more and more people are looking for alternatives. Not only for alternatives to Twitter or Medium per se but to the way social media currently works in general. Many are craving for more control, less noise, and for having more real and meaningful conversations again.</p>
<h2>Homecoming</h2>
<p>There is one alternative to social media sites and publishing platforms that has been around since the early, innocent days of the web. It is an alternative that provides immense freedom and control: The personal website. It’s a place to <a href="https://matthiasott.com/notes/out-there">write, create, and share whatever you like</a>, <a href="http://brendandawes.com/blog/permission-to-write-anything">without the need to ask for anyone’s permission</a>. It is also the perfect place to explore and try new things, because, as Seth Godin likes to say, we now live in a <a href="https://matthiasott.com/notes/unlimited-bowling">world of “unlimited bowling”</a>. It is totally up to you what you create and because you have unlimited shots on the Web, you can try out different formats, different styles, different topics. Regardless of what other people might think and although it might not work. Creation is free.</p>
<p>A personal website is also a powerful playground to tinker with new technologies and discover your powers. Take <a href="https://rachelandrew.co.uk/archives/2017/01/05/its-more-than-just-the-words/">Rachel Andrew’s</a> and Sara Soueidan’s word for it:</p>

																												
																												<blockquote class="twitter-tweet"><p lang="en" dir="ltr">- My first <a href="https://twitter.com/hashtag/CSS?src=hash&amp;ref_src=twsrc%5Etfw">#CSS</a> Grid implementation was on my own site<br>- My first service worker implementation was on my own site<br>- My first real-world CSS Variables implementation was/is on my own site (WIP)<br>- My first Variable Fonts implementation will be on my own site<br>- ...</p>&mdash; Sara Soueidan (@SaraSoueidan) <a href="https://twitter.com/SaraSoueidan/status/1093781826815119360?ref_src=twsrc%5Etfw">February 8, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>I couldn’t agree more. Building things for your own site is so worthwhile because you are allowed to make mistakes and learn without pressure. If it doesn’t work today, well, maybe it’ll work tomorrow. It doesn’t matter. And so it was on my own site that I, too, wrote my first service worker, that I first tried out CSS Grid, that I designed and implemented a <a href="https://matthiasott.com/notes/colorful-code-adding-syntax-highlighting">custom syntax highlighting theme</a>, that I set up an <a href="https://matthiasott.com/notes/adding-json-feed-to-my-craft-cms-site">RSS/Atom and JSON feed</a>, that I wrote three plugins for Craft CMS in PHP/<a href="https://www.yiiframework.com/">Yii</a>, and <a href="https://https://twig.symfony.com/">Twig</a>, with one of those plugins <a href="https://github.com/matthiasott/webmention">adding Webmention support to my site</a>. I also learned a ton about accessibility, performance optimization, or web font loading. All of which I then could put to use in my day-to-day work as a designer and developer.</p>
<p>But maybe the most compelling reason why a personal website and also learning how to build one is incredibly valuable is this: community. Since the days of “guest books”, personal websites have been a place to receive feedback and discuss ideas and concepts with others. Often by the means of comments, sometimes even by writing a series of follow-up articles back and forth.</p>
<p>Now imagine, for a moment, an environment where a decentralized fabric of connected personal sites allows everyone to publish their own content but also enables each individual to engage in an open discussion – answering, challenging, and acknowledging the ideas of others through this universe of personal sites. </p>
<p>As idealistic as this vision of the Web might seem these days, it isn’t that far out of reach. Much of what’s needed, especially the publishing part, is already there. It’s also not as if our sites weren’t already connected in one way or another. Yet much of the discussions and establishment of connections, of that social glue that holds our community together – besides community events in real life, of course –, mostly happens on social media platforms at the moment. But: this is a choice. If we would make the conscious decision to find better ways to connect our personal sites and to enable more social interaction again, and if we would then persistently work on this idea, then we could, bit by bit, influence the development of Web technologies into this direction. What we would end up with is not only a bunch of personal websites but a whole interconnected personal-website-verse.</p>
<h2>Weaving Our Web</h2>
<p>It’s, of course, safe to assume that a web of personal websites will never be an equivalent substitute for a social network like Twitter. But that’s also not the goal. Personal websites are called personal websites because they are just that: personal. Thus, the primary objective still is to have a place to express ourselves, to explore ourselves, a place that lasts while the daily storms pass by. A place of consideration, and yes, a place of proudly sharing what we do, what we think, and what we care about. A place to contribute your voice and help others. A home on the internet. A place to tell <em>your</em> story.</p>
<p>But on top of that, we have the chance to (re-)establish personal websites also as central elements of online discourse and as entry points for people who are new to the web community. For this, we need to find ways to create an ecosystem that lives up to the diversity of the personal-website-verse. Consequently, what will hold our sites together, is most possibly not one technology to rule them all, but a multitude of different and ever-evolving technologies. Things like hyperlinks, comments, Webmentions, and RSS, of course, but also other technologies that have yet to be invented. Not only would this leave enough room for individual preferences, but it would also make the whole construct more resilient while still being flexible enough to evolve over time. </p>
<p>The first step of this is to explore more ways to establish new and strengthen existing connections – and also to improve findability. We don’t have to reinvent everything from scratch but can build on so much that already exists. Some things that can serve as good starting points are:</p>
<h3>Quote people and link to other sites.</h3>
<p>Whenever you stumble upon an interesting thought on another site, write about it and link to it. Not only is it respectful to link to the person you quoted, but hyperlinks are also the magic force holding the Web together. They are both helpful and powerful. You can also add a links section to your site, where you collect interesting links you found on the web and over time build an archive for yourself and others.</p>
<p>By the way: What happened to the blogroll? Remember? That little box in the sidebar of blogs that would link to the websites of friends and fellow bloggers. The blogroll isn’t dead yet – some people still use it. So how about adding a little section or page to your site that does exactly the same? Link to the personal websites of people you respect and appreciate, maybe with a little description? While we’re on it, we could also <a href="https://bryanlrobinson.com/blog/2019/02/07/bring-fansites-back-to-the-web/">bring webrings back</a>. Charlie Owen recently also wrote <a href="https://www.sonniesedge.net/posts/webrings">about them</a> and Max Böck <a href="https://mxb.dev/blog/webring-kit/">was so inspired he built a starter kit for hosting your own webring</a>.</p>
<h3>Use RSS feeds and readers.</h3>
<p>RSS has been pronounced dead over and over again, yet it is still not dead and I doubt that it ever will be. In fact, it is witnessing a little comeback from time to time. Personally, I have started to use it more regularly again and others have, too. RSS is a great way to follow the people whose posts, ideas, and opinions matter to you. So if you write or put any kind of content on your site, also make sure to add an RSS feed. And then go and add some sites to a feed reader like <a href="https://feedbin.com/">Feedbin</a>, <a href="https://feedly.com">Feedly</a>, or Michael Scharnagl’s <a href="https://feediary.com/">Feediary</a>. If you use a Mac or iOS device, also have a look at <a href="http://reederapp.com/">Reeder</a>.</p>
<h3>Use website directories.</h3>
<p>There are a few really helpful directories that list RSS feeds or personal sites and that can help you find interesting content. For example, Andy Bell’s <a href="https://personalsit.es/">personalsit.es</a>, Dave Winer’s <a href="http://feedbase.io/">feedbase</a>, the <a href="https://indieweb-directory.glitch.me/">IndieWeb Directory</a>, or RSS lists like the ones of <a href="https://github.com/simevidas/webplatformnews-feeds/blob/master/feeds.opml">Sime Vidas</a> or <a href="https://github.com/sturobson/myRSS/blob/master/subscriptions.xml">Stuart Robson</a>.</p>
<h3>Use Webmentions and Microformats – and join the IndieWeb.</h3>
<p>Another powerful technology which can glue our sites together is <a href="https://indieweb.org/webmention">Webmention</a>. Webmention <a href="https://www.w3.org/TR/webmention/">is a W3C recommendation</a> that describes a simple protocol to notify any URL when a website links to it, and for web pages to request notifications when somebody links to them. The mentioned site can then grab a snippet of the HTML of the website that links to it and, if it is enriched with <a href="http://microformats.org">Microformats</a>, display the mention somewhere, for example under a blog post like this one. Aside from all questions of data protection, Webmentions are a powerful tool and one of the many technologies that originated in the IndieWeb community. If you don’t know about the IndieWeb yet, take a look at <a href="https://matthiasott.com/articles/going-indie-reclaiming-content">my article on reclaiming control over your content</a>, or head over to <a href="https://indieweb.org">indieweb.org</a>. Built around the basic idea that you should own your content, the IndieWeb community is the birthplace of a few powerful technologies that all have the goal to make your personal website the center of a more open, decentralized web.</p>
<p>Webmentions are a great way to connect and intertwine two sites and thus, two ideas. You could even build something like a commenting system around Webmention – if only it still wasn’t a bit complicated for mere mortals to implement them. Luckily, there are plugins available for content management systems like <a href="https://github.com/pfefferle/wordpress-webmention">Wordpress</a>, <a href="https://github.com/gRegorLove/ProcessWire-Webmention">ProcessWire</a>, or <a href="https://docs.grabaperch.com/addons/blog/webmentions/">Perch</a>. I will update my own <a href="https://github.com/matthiasott/webmention">Webmention plugin for Craft CMS</a> over the coming weeks so that it supports the latest version 3 of Craft CMS.</p>
<h3>Go to meetups and conferences and spread the word.</h3>
<p>There are meetups for everything and they are a great place to meet like-minded people, exchange, connect, and tell others about how great having a personal website is. So look up if there’s maybe a meetup about blogging in your city. Also, meetups on topics like WordPress, writing, or publishing in general could be worth a visit. Then there are more and more <a href="https://indieweb.org/Homebrew_Website_Club">Homebrew Website Clubs</a> emerging. Homebrew Website Clubs, which are also an IndieWeb idea, are a great opportunity to work with others on your personal sites once or twice a month. And if you don’t find an appropriate meetup or event near you, how about starting one? </p>
<h2>“Don’t do it like me. Do it like you.”</h2>
<p>As you can see, there are many ways and many good reasons to start building your site today. But whatever you start, keep in mind that you don’t have to build something from start to finish to show it to the world. To the contrary, it can be a great idea to start as simple and rudimentary as possible, to get the fundamentals right before diving too deep into over-complicated solutions. Take your time to think about how to build a site that’s truly tailored to you and your work. What are you really trying to achieve? What content do you want to create? Who is your audience? And how does a website look like that reflects all that in terms of structure, hierarchy, complexity, visual design, and scope?</p>
<p>Kylie Timpani, for example, who <a href="https://css-tricks.com/design-v17/">recently worked as the lead designer on v17 of CSS-Tricks</a>, is now <a href="https://dribbble.com/shots/5993693-Personal-Website-2019-WIP-001-In-the-Wild">doing an open redesign of her website</a>. So she is building the website out in the open, starting with some blank and raw HTML, and will be documenting what she’s learning along the way. This, by the way, is generally a great thing to do on your site: Document your process and share all the things you learn. <a href="https://amberwilson.co.uk">Amber Wilson is doing this on her site</a>, too. Since she decided to become a web developer, she regularly writes about her experience and <a href="https://amberwilson.co.uk/blog/wilt100days/">what she learned</a>. Not only is this a great way to help others find their way, but it also shows that we all have to learn and we all have things we don&#039;t know. Don’t let that stop you.</p>
<p>Also, don’t hesitate to write about little ideas and observations that might seem too small or unimportant to share. We all have our unique perspectives and even the smallest experience is worth sharing. Someone else might be in a similar situation as you or also in a completely different situation. They both might learn something new from reading about your experiences. Each contribution to the community, even the smallest one, is useful and will make a change. So <a href="https://www.sarasoueidan.com/desk/just-write/">just write</a>. By the way: If you are struggling to find something to write about and feel blocked, remember that there is <a href="https://itunes.apple.com/de/podcast/akimbo-a-podcast-from-seth-godin/id1345042626?l=en&amp;amp;mt=2&amp;amp;i=1000405208122">no such thing as writer‘s block</a>. The more you write and create, the easier it will get.</p>
<h2>To Begin, Begin</h2>
<p>When I studied design back in the early 2000s, my digital media professor, Tom Duscher, held the view that every designer should have their own blog. It was still the early days of blogging but he already saw the potential and power of writing about your craft and reflecting on your experiences. At the time, I thought I understood what he meant, but it took me over 10 years to finally overcome (or simply ignore) the fear of being wrong and start to publish on my site. I won’t ever look back.</p>
<p>Building and maintaining your personal website is an investment that is challenging and can feel laborious at times. Be prepared for that. But what you will learn along the way does easily make up for all the effort and makes the journey more than worthwhile. But most importantly, having a website makes you part of an amazing community of creators, forming new friendships, new connections, and new opportunities. This is invaluable.</p>
<p>Personal websites are the backbone of the independent Web of creators. Even after all those years, they remain a vital part of what makes the web the most remarkable and open medium to date. We shouldn’t take this for granted, though. If we don’t pay enough attention and care about the open web enough, we might lose this valuable asset. So let us protect the Web as a source of inspiration, diversity, creativity, and community. Let us maintain what we have and work together to make this little part of the magic of the Web sparkle even brighter. Let us help new members of the community to start their journey. Let us build, prototype, publish, and connect.</p>
<p>Let’s start today.</p>
<p>If you start a new personal site or already have one, you are welcome to share it below. There are three ways to do that:
If your site supports that, just send a Webmention via your personal website. You can also use the form below this article to send a Webmention. Then, you can reply to <a href="https://twitter.com/m_ott/status/1127504584262463488">this tweet</a> – all replies are automatically added to this article as a Webmention. Or, write me a quick email and I’m happy to manually add your site below.</p>
<p>–</p>
<p><em>The header image illustration is based on photographs of the <a href="https://www.flickr.com/photos/rvr/22572526695/">Apple Lisa by Victor R. Ruiz</a> and the <a href="https://www.flickr.com/photos/mwichary/2283395560/">Apple Lisa mouse by Marcin Wichary</a>, both released under a Creative Commons license (Attribution 2.0 Generic, CC BY 2.0).</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Repeat After Me</title>
                <link>https://matthiasott.com/notes/repeat-after-me</link>
                <pubDate>Sat, 13 Apr 2019 16:06:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/repeat-after-me</guid>
                <description><![CDATA[
                    
																																		<figure class="quote">
							<blockquote><p>Rep­e­ti­tio est mater studiorum.</p>
</blockquote>
												</figure>
																
																																	<p>Repetition is the mother of learning. You might have heard this old Latin proverb before, and it’s true: Repetition is key to memorizing something because with each iteration your brain builds up stronger connections in the neuronal networks which then makes it easier and easier to recall this piece of information from memory. <a href="http://www.jneurosci.org/content/30/50/16864">Neuroscientists discovered</a> that this process of learning through the development of so-called “cortical memory traces” happens faster than previously thought: After repeating a word for 160 times in 14 minutes, the new memory traces of contestants were virtually indistinguishable from those of already familiar words.</p>
<p>So it really is that simple: Repeat something often enough and your brain will have formed a whole new network of neurons specifically tasked with remembering that information. Your brain adapts to the need of retrieving this information.</p>
<p>But there’s more to it.</p>
<p>The <em>way</em> you repeat something has a profound impact on how well you remember things. And as Robert Bjork, Distinguished Research Professor in the UCLA Department of Psychology and a renowned expert on human learning, explains in <a href="https://www.youtube.com/watch?v=oxZzoVp5jmI">this super interesting UCLA Faculty Research Lecture</a>, we tend to remarkably misunderstand our own learning. Although we have a lifetime of learning, we don’t seem to learn how the system works and carry around a flawed mental model of how we learn and remember. For example, taking notes in a sort of stenographer mode actually represses learning instead of supporting it. We also highly overestimate the success of our learning, thinking that we are well prepared, while in reality, our brain has already started to forget most of what we studied. That might also be the reason why we unknowingly favor short term successes over long term learning when we restudy the same information or do the same physical exercises over and over again over a short period of time. This “massing” of learning looks like this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 22.916666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/repetition-learning-01.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/repetition-learning-01.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/repetition-learning-01.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/repetition-learning-01.jpg" alt="Repetition Learning 01" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>Yet, <a href="http://www.jneurosci.org/content/38/35/7649">studies show</a> that there is a clear benefit of <em>spacing</em> your study sessions meaning that you do something completely different in between those sessions, like going for a walk or watching a movie or whatever you like to do.  Like this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 22.916666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/repetition-learning-02.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/repetition-learning-02.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/repetition-learning-02.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/repetition-learning-02.jpg" alt="Repetition Learning 02" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>While this seems to be counterproductive, because you start to forget what you just learned, it is exactly this process of forgetting between the study sessions that actually enhances long time learning significantly. Cramming everything in your head still has a slight advantage if you test your knowledge immediately after learning. Forgetting after mass studies is very rapid though. Consequently, if you test after a longer period of time, for example after four weeks, there is a <em>large</em> advantage for spaced learning.</p>
<p>So where am I going with this?</p>
<p>There are things that are worth repeating over an over again: That we should build products and websites for everyone, inclusive and accessible. That we should care about web performance because it, too, is a way of making a website more inclusive and also resource-efficient. That we should take care of each other and guide those who are younger and less experienced than we are. That there is no place for racism and misogyny in our community and our societies. That we need to design the upcoming machine learning and robotics revolution with ethics in mind. And that we are responsible for anthropogenic climate change and that this certainly is the greatest challenge we face in our lifetime.</p>
<p>At the moment though, many of those topics only surface for a short moment every once in a while, like peaks that briefly stick out of a sea of constant noise. And every time a topic raises to the surface, for a short moment we are reminded that this indeed is an important topic and that we should do something about it. But then, it disappears again. And we carry on. We need those peaks of interest, of course, because they raise awareness. But just as much, we need constant reminders, constant repetition that helps us to not forget those things in the long run, once the dust has settled.</p>
<p>So if you have a topic you deeply care about – equality, accessibility, security, climate change, whatever it is, big or small – keep repeating it over and over again. Write about it, tweet about it, tell other people about it. Constantly and persistently and even if it might feel like you are, well, repeating yourself. Because, as we have seen, repetition is good. Not only because there will always be people who hear about something for the first time, but also because repetition is the mother of all learning and how you change culture for the better.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Vulnerability, Creativity, and Prototyping</title>
                <link>https://matthiasott.com/notes/vulnerability-creativity-and-prototyping</link>
                <pubDate>Wed, 27 Mar 2019 00:40:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/vulnerability-creativity-and-prototyping</guid>
                <description><![CDATA[
                    
																																	<p>Vulnerability is still highly stigmatized in our society, particularly in business. If you want to be successful in life you better be brave and don’t show any signs of weakness. And vulnerability is such a weakness. At least that’s what many of us are being taught from a very young age. <a href="https://brenebrown.com/">Brené Brown</a>, a Research Professor at the University of Houston and author of five #1 New York Times best sellers, has been studying vulnerability for years. Her TED talk “<a href="https://www.ted.com/talks/brene_brown_on_vulnerability">The Power of Vulnerability</a>” is one of the top five most viewed TED talks, with over 38 million views. Recently, I listened to a <a href="https://www.youtube.com/watch?v=kAk4cwjvJ0A">very interesting interview with Brené from 2014</a>. In her conversation with Chase Jarvis, she said something that is as true as it is often overlooked:</p>

																												
																																		<figure class="quote">
							<blockquote><p>There is no cre­ativ­i­ty with­out vulnerability.</p>
</blockquote>
												</figure>
																
																																	<p>What she means is that whenever you create something important and put yourself out there and show it to the world, you make yourself vulnerable. You expose yourself to criticism, especially if your work challenges what is considered best practice or “normal”. Yet it is this type of work, the truly innovative and creative work, that has the most potential to invoke change. It is this work, the work that you are most scared of, especially when you are doing it for the first time, that has the most impact. And it’s also important to recognize that people don’t do this work because they are free from fear, they do it <em>although</em> they are afraid. Courage is not the absence of fear, it is acknowledging your own vulnerability and doing something despite feeling uncomfortable – and although you might fail.</p>
<p>But far too often, we avoid being vulnerable. We hesitate to speak up when we disagree because we fear rejection. We postpone sending that important email or making that necessary phone call. We forgo telling a client that this crazy idea won’t work because we don’t want to be seen as a complainer or fear to even lose the client if we disagree. To avoid vulnerability, we also often go for the safe solution, the one that promises a more predictable outcome. All of this leads to less robust and less innovative work, though. So taking a stand and advocating for a specific solution – whether it is the <a href="https://matthiasott.com/notes/clarity-and-style">clear and robust</a>, yet <a href="https://css-tricks.com/simple-boring/">seemingly boring</a> or the bold, daring, and unique – will truly make a difference. And it’s part of our job.</p>
<p>This is even more true if you are working in a modern design workflow with a lot of prototyping. You have to be comfortable with sharing rough, early prototypes with stakeholders and users. You have to be comfortable with live-editing that raw Codepen of your component in a meeting. You have to be willing to not take things for granted but to constantly challenge your assumptions – and the assumptions of others. All of this makes you vulnerable. But it is the only way to push your work beyond the expected.</p>
<p>There is no prototyping without vulnerability.</p>

																												
																												<div class="prototpyingnews-teaser" style="display:block; margin-top:3rem; padding:2rem 2rem 1rem; background:#73f5b5;"><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news" style="text-shadow:none;">my free newsletter Prototyping.news</a>.</em></p></div>
																						            	]]></description>
            </item>
                    <item>
                <title>#SaveYourInternet</title>
                <link>https://matthiasott.com/notes/saveyourinternet</link>
                <pubDate>Mon, 25 Mar 2019 22:55:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/saveyourinternet</guid>
                <description><![CDATA[
                    
																																	<p>It’s hard to decide what’s right and what’s wrong these days. There are so many people and so many organizations with so many different interests that it’s easy to get overwhelmed and to be fooled into believing the wrong things. And so it seems to be an option to give up and not have an opinion at all about many of the topics that seem to be beyond our sphere of influence.</p>
<p>The latest EU copyright reform is such a topic. Copyright, in general, is a topic you can have a lot of debate about: How can we save the independence of creators and guarantee fair compensation for creative work, which, of course, is a good thing? What constitutes fair use and what doesn’t? When is quoting and remixing a piece of work a form of creative expression and when is it just plain criminal theft? The lines are blurry.</p>
<p>Supporters of the new copyright directive point out that currently, there is no clear framework to compensate creators if their work gets used online. And they are right. Something has to be done.</p>
<p>Opponents of the new copyright directive fear censorship and a restriction of freedom of expression. The Web as we know it is in danger. And they are right, too. This danger is real and the battle seems to be lost already.</p>
<p>The biggest problem I see with the new copyright directive isn’t the general idea of trying to find a way to reinforce copyright. The problem lies in the way Europe tries to compensate their inaction from the past with protectionism. If you listen carefully to interviews with MEP Axel Voss, who negotiated the current agreement and is a strong advocate for the directive, you will understand that, of course, it’s all about the money. For one, the EU sees a huge opportunity of holding YouTube (read: Google) and other web giants financially accountable. And as we all know, YouTube was built on a lot of copyright infringement. On the other hand, the directive is a desperate attempt to save the old European media groups from extinction. No wonder they passionately write in favor of the directive and mock the European youth on the streets demonstrating to #SaveYourInternet. This is old media versus “new media”. It’s a battle for power and money. But that&#039;s not the whole story.</p>
<p>If you want to understand how this directive, which also prescribes upload filters that check every piece of user-generated content for copyright infringements, will change the Web, I highly recommend one of the latest episodes of Seth Godin’s podcast Akimbo. In “<a href="https://www.akimbo.me/blog/s-4-e-4-interoperability">Interoperability</a>”, Seth brilliantly explains how monopolization and locking people into closed systems that prevent interoperability will lead to independent people being unable to get their product to market, regardless of how innovative they are. And that’s exactly the greatest danger of the EU copyright directive. Instead of guaranteeing the compensation of independent artists, upload filters would in fact not weaken the position of internet giants like Google, but instead strengthen, even cement it. When asked how upload filters could be realized, Axel Voss responds that “of course, this would require some kind of technology“ and he refers to Google’s ability to identify memes on the image search results page. Yes, Google is able to identify memes and other types of content quite well – and YouTube already does quite a good job of identifying copyrighted material. But what about small communities, small companies, non-profits, and start-ups? Having to implement upload filters and the machine learning technology necessary to make those filters efficient significantly raises the barrier of entry for competitors. Moreover, being sued can be existence-threatening for smaller companies – not for Google, though.</p>
<p>So in reality, the new copyright directive isn’t so much about the compensation of artists and fighting web content monopolies. The established players are closing down the system in a way that will make it hard for new businesses to come up with innovative ideas and challenge the status quo. The large media and internet companies will control technology, access, and who is allowed to participate for years to come. They are creating a walled garden.</p>
<p><em>This</em> is why we should fight against the copyright directive in its current form.</p>
<p>Visit: <a href="https://saveyourinternet.eu/act/">https://saveyourinternet.eu/act/</a></p>

																												
																											<p>#SaveYourInternet</p>

																																		            	]]></description>
            </item>
                    <item>
                <title>Building an Accessible Mega Menu – Part 1: Background</title>
                <link>https://matthiasott.com/notes/building-an-accessible-mega-menu-part-1-background</link>
                <pubDate>Sun, 24 Mar 2019 22:44:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/building-an-accessible-mega-menu-part-1-background</guid>
                <description><![CDATA[
                    
																																	<p>Although some designers dislike them, because, at a first glance, they seem to be too overwhelming and too densely packed with information: If you design them carefully, <a href="https://www.nngroup.com/articles/mega-menus-work-well/">mega menus work really well for site navigation</a>. They convey site structure, present your users all available options at a glance, and thus provide a convenient and fast way of navigating deep and broad hierarchies and taxonomies.</p>
<p>In one of my current projects for an agency, we are building and incrementally improving a website for a state-wide public transport initiative, launched by the Ministry of Transport of the State of Baden-Württemberg. As we need to serve all citizens with various types of information about public transport and also because of the <a href="https://developer.paciellogroup.com/blog/2018/04/eu-directive-on-the-accessibility-of-public-sector-websites-and-mobile-applications/">EU Directive on the Accessibility of Public Sector Websites and Mobile Applications</a>, the site will have to comply with industry standards for web accessibility, like the <a href="https://www.w3.org/TR/WCAG21/">Web Content Accessibility Guidelines (WCAG) 2.1</a>. Of course, in a project that large there is always room for improvement and as the website has grown considerably over the last 1.5 years, the next phase will also include a relaunch of the main navigation. The previous solution, a hamburger menu which was also used on desktop, did, <a href="https://www.nngroup.com/articles/hamburger-menus/">unsurprisingly</a>, not perform well in usability tests and will make way for a mega menu.</p>
<p>In my current position in the team as a UX designer and UI engineer (you could also say front-end designer), I’m in charge of much of the design and code of the front-end, which also includes making it accessible. So when the idea of rebuilding the navigation emerged, I instantly was hooked up. An accessible mega menu! A fantastic opportunity to learn so many new things. But at the same time also <em>quite</em> a challenge.</p>
<p>So in this and a few upcoming posts, I will share my experience of building this mega menu, from the initial research to designing and developing a component. But here’s an important disclaimer: Although I care about accessibility a lot and have acquired basic knowledge, I don’t consider myself an expert in accessibility at all. So I might make decisions along the way that could be further improved with more experience in the field. If you happen to be such an expert or spot any weaknesses in my approach, please (!) don’t hesitate to write me a quick email or tweet. I’d love to hear from you. As soon as the project is live, you can also file a bug or create an issue on GitHub. Thank you so much!</p>
<p>The goal is to end up with an accessible mega menu component that can be published and open sourced. The website project is publicly funded and open sourcing the code I write for it also seems to be a good way to give back to the public and make sure the work isn’t lost.</p>
<p>Last week, after <a href="https://ethanmarcotte.com/wrote/the-web-we-broke/">Ethan Marcotte wrote his passionate clarion call for action</a>, <a href="https://matthiasott.com/notes/information-management-a-proposal">I, too, wrote about our obligation to build an inclusive Web for all and share what we learned</a>. From now on, you will be hearing a lot more about accessibility from me. This post is the first in what will hopefully become a little series. I will make each post as concise as I can and try to bring in my design as well as my development experience, so there’s something in it for both domains.</p>
<p>I really hope you’ll be back for the next article. If you are planning to do so, consider subscribing to my <a href="https://matthiasott.com/rss">RSS feed for articles and notes</a> to stay in the loop.</p>

																												
																												<div class="prototpyingnews-teaser" style="display:block; margin-top:3rem; padding:2rem 2rem 1rem; background:#73f5b5;"><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news" style="text-shadow:none;">my free newsletter Prototyping.news</a>.</em></p></div>
																						            	]]></description>
            </item>
                    <item>
                <title>Copy That.</title>
                <link>https://matthiasott.com/notes/copy-that</link>
                <pubDate>Wed, 20 Mar 2019 22:27:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/copy-that</guid>
                <description><![CDATA[
                    
																																	<p>When I was in school our art teacher used to say:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Kopieren heißt kapieren.</p>
</blockquote>
												</figure>
																
																																	<p>Which translates to something along the lines of “copying something means understanding it.” What he meant is that if you want to understand how a piece of art was created, if you want to understand the technique the artist used, or aspects like form, composition, materials, and use of color, you will learn the most by getting your hands dirty and copying and dissecting the piece down to the last detail.  So I spent a considerable amount of time copying <a href="https://en.wikipedia.org/wiki/Max_Beckmann">Max Beckmann</a> and other expressionists as well as <a href="https://www.youtube.com/watch?v=ma_vQvPeSiE">the Cubist style of Georges Braque and Pablo Picasso</a>. And my teacher was right: By copying Cubism as good as I could, I learned a lot about the characteristics of the painting techniques like, for example, the interplay of the different layers of shades of brown and grey, and how an illusion of sculptural three-dimensionality and movement is created through light and shadows on geometric shapes.</p>
<p>Copying is an incredibly useful tool for learning. The process of copying something makes it your experience. By deconstructing it you gain a tangible understanding of the thought process of the creator(s) and how all the individual pieces come together to form something new and special. And by reassembling those elements again and recreating the piece, you acquire the necessary technical abilities  – and make them your own. Copying itself is an art. </p>
<p>Copying has a bad reputation, though. Because often, it is understood as simply stealing an idea or concept. Of course, you should always credit people accordingly and respect the license under which a piece of work is published before you take and manipulate someone else’s work. Copying must not be theft. But that doesn’t prevent you from thoroughly analyzing something and then building your own thing based on what you learned. Nothing is completely new and even the most sophisticated innovation could not have happened without so many ideas that came before it. In the end, every new idea is just a combination of other ideas and your personal experience.</p>
<p>So the next time you see something that excites and amazes you, ask yourself: <em>How</em> was this done? How would <em>I</em> do it? Then, <a href="https://christianheilmann.com/2018/07/09/different-views-on-view-source/">View Source</a> (or <a href="https://css-tricks.com/view-source/">use the DevTools</a>), build prototypes and demos, and learn from copying and deconstructing the most advanced solutions out there. And then, apply it to your work in new and unseen ways.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Clarity and Style</title>
                <link>https://matthiasott.com/notes/clarity-and-style</link>
                <pubDate>Mon, 18 Mar 2019 23:55:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/clarity-and-style</guid>
                <description><![CDATA[
                    
																																	<p>A few days ago, <a href="https://maeda.pm/">John Maeda</a>, Head of Computational Design and Inclusion at Automattic, shared this tweet:</p>

																												
																												<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Good design is about clarity over style, and accountability over ego.</p>&mdash; John Maeda (@johnmaeda) <a href="https://twitter.com/johnmaeda/status/1106148197959901185?ref_src=twsrc%5Etfw">March 14, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>He is right. We are all responsible for what we create and the ego of a designer should never influence the design in a way that it negatively affects quality. But it was primarily the first part of the tweet that got me thinking because it touches on something quite important.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Good design is about clar­i­ty over&nbsp;style.</p>
</blockquote>
												</figure>
																
																																	<p>There is much truth in this statement, yet it is something that still isn’t well understood, it seems. Good design has intention and it has to communicate something, often on many different levels, to be effective. This makes clarity essential: The purpose of a design has to be clear, the functionality has to be clear, and the message has to be clear.</p>
<p>Style, though, in the sense of a distinctive aesthetic appearance, might appeal to the eye and thus successfully deceive people for a little while if a design lacks clarity. But taken all by itself, style is not enough for a design to be effective. If the message isn’t clear, making it look pretty will only get you so far. Style in the sense of appearance is not sustainable. It is volatile.</p>
<p>Yet, many designers seem to still favor style over clarity quite often. Why? It might well be that, sometimes, designers are themselves deceived by style, by an extraordinarily well-crafted sensual appearance. Sometimes, designers also simply fall in love with the artistic side of design so much that they get lost in it and forget to look with a beginners mind. Sometimes, designers deliberately use style to “seduce” clients and stakeholders to get approval or to gloss over certain shortcomings. Style certainly is powerful and seductive. But maybe the primary reason why so many designers prefer style over clarity is: Styling something is easy. Making something crystal clear is hard.</p>
<p>Making something crystal clear requires straightforwardness, consistency, and perseverance. It requires advocating for something and at the same time being open to change your mind. To achieve clarity, you need to be willing to ask questions, to challenge every detail, and to reduce something down to the essential. Clarity is when you communicate exactly the right amount of something, not too much, but at the same time – and this also often gets confused – not too little. Only because we make something less complex, it doesn’t automatically get more clear. Sometimes, you have to add the right amount of complexity to make something clearer. Maps, for example, can be exceedingly complex yet still strikingly clear.</p>
<p>Making something crystal clear also means knowing not only <em>how</em> to say something and <em>how much</em> of it but, first and foremost, <em>what</em> to say and <em>why</em>. And for this, it isn’t enough to simply slap some lorem ipsum text into your design and wait for someone else to fill in just the right words later. You need to know how to encode your message so that the right people are able to decode it. This is standard semiotics but it requires a deep understanding of the people you want to reach. You need to understand your audience, their needs and wants, what drives them, and the context in which they might interact with your design. You need to work with content first – maybe not the final version of it but already on point regarding the message – and design with this material, the real material, all real materials, constantly prototyping, observing, and improving every aspect of your design until you <em>know</em> it works.</p>
<p>And this is where style comes in again. Because, of course, style has its place. Which is also why John wrote “clarity <em>over</em> style” and not “clarity <em>instead of</em> style”. There is still an <em>and</em>. Style can be what sets you apart from the competition. Style can create identity and convey emotions and atmosphere, even a feeling of familiarity. Style can support your message by further improving clarity.</p>
<p>Good design is about clarity over style. Combining clarity and style so that they complement each other and the design reaches another level of fidelity is mastery.</p>

																												
																												<div class="prototpyingnews-teaser" style="display:block; margin-top:3rem; padding:2rem 2rem 1rem; background:#73f5b5;"><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news" style="text-shadow:none;">my free newsletter Prototyping.news</a>.</em></p></div>
																						            	]]></description>
            </item>
                    <item>
                <title>Information Management, A Proposal</title>
                <link>https://matthiasott.com/notes/information-management-a-proposal</link>
                <pubDate>Wed, 13 Mar 2019 23:30:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/information-management-a-proposal</guid>
                <description><![CDATA[
                    
																																	<p>Yesterday, the Web turned 30. </p>
<p>Thirty years ago, Tim Berners-Lee submitted a document called “<a href="https://www.w3.org/History/1989/proposal.html">Information Management, A Proposal</a>,” his formulation of an information network for sharing and exchanging information at CERN, marking the birth of the World Wide Web. Three decades later, the Web has permeated every pore of our societies and daily lives and <a href="https://www.internetworldstats.com/stats.htm">the number of people with access to the web has surpassed 50 percent of the population of humans on this planet</a>. The Web is by far the most impressive and revolutionary technological invention mankind has ever managed to create. As with every new technology, the Web started with a lot of enthusiasm and great hopes. Finally, information would be free and available to all, regardless of gender, religion, place of birth, or social status. The Web is for everyone!</p>
<p>Except, it is not.</p>
<p>Also yesterday, <a href="https://ethanmarcotte.com/wrote/the-web-we-broke/">Ethan Marcotte expressed his deep frustration</a> over the results of <a href="https://webaim.org/projects/million/">WebAIM’s latest study covering the state of accessibility on the Web</a>. WebAIM analyzed the top 1 million home pages and although – or maybe even though – they only looked at the things that could be detected automatically, “<a href="https://webaim.org/projects/million/">the results paint a rather dismal picture of the current state of web accessibility</a>.” I don’t want to list all of the findings here. Instead, please look at them yourself. Only to give you a first idea of what we are talking about: 97.8% of home pages had detectable WCAG 2 failures. Thirty years after its invention, we obviously failed miserably in keeping the original promise of a Web that is inclusive and empowering to all. As Ethan rightfully points out, “we’ve created a web that’s actively excluding people, and at a vast, terrible scale. […] Improving the state of accessibility on the web is work we have to support. The alternative isn’t an option. Leaving the web in it’s current state isn’t fair. It isn’t <em>just</em>.”</p>
<p>I also really like Ethan’s suggestion that instead of trying to get “accessibility” right at large, maybe we could all do <em>one</em> thing this week to broaden our understanding of how people use the Web. I’d even add: Write about it, too.</p>
<p>Léonie Watson, an accessibility advocate who recently recorded <a href="https://www.smashingmagazine.com/2019/02/accessibility-webinar/">a webinar with Smashing Magazine that is freely available</a> and that I highly encourage you to watch and <em>listen to</em>, agrees and <a href="https://twitter.com/leoniewatson/status/1105868534826049536?s=21">shared this quote with me</a>, which she included in one of her talks:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Acces­si­bil­i­ty does­n’t have to be per­fect, it just has to be a&nbsp;lit­tle bit bet­ter than yesterday.</p>
</blockquote>
												</figure>
																
																																	<p>I think Léonie and Ethan are right: We would certainly not be talking about the Web as the inaccessible, discriminatory mess it appears to be, if we had all improved it one bit at a time. But as much as I appreciate that this quote doesn’t blame anyone directly and, in a way, also acknowledges that building something accessibly is often quite challenging and even harder if you try to solve everything at once, I also fear that it leaves too much room for interpretation and excuses. There simply are no excuses. <a href="https://marcysutton.com/accessibility-is-a-civil-right">Accessibility is a civil right</a>. Or to put it another way: If your work isn’t accessible, it’s not done yet. We are all accountable. And we should be held accountable.</p>
<p>That is not to say that all of this is easy or that you’re a bad person if there are still things that could be improved. Of course not. But let’s be honest: Far too often, accessibility is still a mere afterthought in digital projects, if it is considered at all. I happen to see a staggering discrepancy between what is discussed by a relatively small group of thought leaders who share a deep understanding of and interest in accessibility and many of the people in agencies, marketing offices, and development shops doing the ground work. If we want to invoke change, we need to find the root cause of the devastating state of accessibility. And for this, we have to look at where and especially <em>how</em> the majority of sites gets built.</p>
<p>Because reality still often looks somewhat like this: Neither the client who wants to spend as less money as possible for a site nor the agency that promised a stunning, state-of-art design are even <em>aware</em> of accessibility as an important topic to consider. Maybe, the client has heard of “response web design” (no typo) and of course they need tracking. KPIs FTW! But many just don’t know that a website explicitly has to be built to be accessible. Maybe some also just take it for granted. But certainly, it won’t be part of their project requirements. </p>
<p>Many agencies, then, are too busy getting miscalculated projects out of the door that pose a challenge on so many levels: All those different static Photoshop or Sketch layouts that now also have to be broken down into Atomic design components and documented in a style guide. Managing the creation of all of the content and then replacing it in the layouts again. Including last minute change requests by the client who “just doesn’t understand good design.” Then handing everything over to the other company that does the frontend development. Accessibility? Come on, we need to finish the job and, by the way, we’re already running out of budget! Also, the client didn’t ask for it, specifically! But we can maybe leave a note for the devs – that’s their responsibility anyway, right? </p>
<p>At the bottom of the food chain and with an unrealistically set deadline approaching rapidly, the developers are struggling with their build process and with making sense of poorly documented static layouts that have to be translated into React components or, alternatively, Twitter Bootstrap. That the external developers in Asia are working in a different time zone doesn’t help, either. Accessibility? That wasn’t a requirement, as far as I know. Maybe, if there’s some time left, I’ll add some ARIA roles in the end. Alt texts for images? Nobody sent us those.</p>
<p>Of course, there are countless other ways in which things for the Web get built and maybe I’m exaggerating a bit here and there – but then again, not so much. If an inaccessible site gets built, then obviously nobody thought of accessibility as being important enough to raise their voice, at no step of the process. But then again, nobody builds inaccessible websites on purpose. And that’s exactly why it is so important to never stop advocating for accessibility. Every day. Persistently and passionately. Because it still can work if we keep making noise.</p>
<p>That being said, this job is never done. We have to keep educating not only fellow designers and developers, but also clients and other stakeholders. It is vitally important that they, too, care and see the need for building inclusive experiences. It is hard work to raise awareness. Yet there is no other option. We can all do better – and never stop learning.</p>
<p>So follow people on social media, go to conferences and meetups and talk to people about their struggles and successes, read articles and newsletters, listen to podcasts and most importantly: Consider accessibility in every project you are part of. Ask why when accessibility isn’t considered, file bugs, and insist on improvements, regardless of your role in the team – because accessibility should be part of every step of the process. Plan with accessibility in mind, design with accessibility in mind, prototype with accessibility in mind, develop with accessibility in mind – and learn how to test it. There have never been better tools at our disposal. And then, share what you&#039;ve built and what you learned along the way.</p>
<p>There really are no excuses for building inaccessible websites and applications in 2019. As Ethan wrote, we are all constantly under deadlines. But that’s no excuse for excluding people from a medium that still comes with the promise that it’s for everyone. It’s our job. Let’s not wait another thirty years. Let us fix this together.</p>

																												
																												<div class="prototpyingnews-teaser" style="display:block; margin-top:3rem; padding:2rem 2rem 1rem; background:#73f5b5;"><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news" style="text-shadow:none;">my free newsletter Prototyping.news</a>.</em></p></div>
																						            	]]></description>
            </item>
                    <item>
                <title>Planning, Goals, and Uncertainty</title>
                <link>https://matthiasott.com/notes/planning-goals-and-uncertainty</link>
                <pubDate>Wed, 13 Mar 2019 00:03:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/planning-goals-and-uncertainty</guid>
                <description><![CDATA[
                    
																																	<p>People like to stick to their habits. Why? Because it is safer where they are now. Following a routine, a trusted pattern, reduces uncertainty about the future and thus alleviates fear. Everything is plannable and manageable. Tomorrow is safe.</p>
<p>The problem is: The future is unstable and change is inevitable. So each plan you make can only be a rough guess of where you will ultimately end up. Even if you were able to obtain all information there is about a situation, there are still so many factors that are beyond your control that from a rational perspective, planning – especially in a classical waterfall approach – doesn’t make any sense. So why people still do it? Because people like to stick to their habits. And because this is how you do those things as a professional, right? Also, what’s the alternative? You have to have a plan, right?</p>
<p>The reason why plans still work, to a certain extent, is that they invoke change. Not because the plan is laid out so nicely but because you set a goal that describes a state in the future which is not where you are now. And the feeling of control that the plan provides allows us to overcome our fear of change and take the next steps towards our goal, together. What keeps us moving isn’t the plan, it’s the goal.</p>
<p>This is not to say that you shouldn’t plan, or to be more precise, that you shouldn’t obtain as much information about a problem and its context as you possibly can – as if you were making a plan. Because when the future is most likely not going according to plan you have to be well-informed to react to different unexpected outcomes and challenges. So instead of making a plan, start by defining what it is you are trying to achieve, what change you are about to make and set a goal. Then try to generate as much information as possible by talking to stakeholders and users, by building prototypes and testing your assumptions, by exploring new materials and their combinations, by evaluating different contexts, by trying out different content and formats, and anything else that could make your design more resilient and adaptable.</p>
<p>There’s only one caveat: You will need to get comfortable with uncertainty, with moving from one decision to the next without a plan, without routines, without a handbook. This can feel daunting at first. But with your growing knowledge and experience, and a lot of curiosity, you will constantly gain more confidence in your ability to improve things as you go.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Convenient or Unique?</title>
                <link>https://matthiasott.com/notes/convenient-or-unique</link>
                <pubDate>Tue, 12 Mar 2019 00:23:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/convenient-or-unique</guid>
                <description><![CDATA[
                    
																																	<p>If you’re riding through the suburbs in a train, you might recognize that houses usually come in two flavors. For one, there are the townhouses: Tightly packed, not too large, repeatable, convenient. And then there are the individual single-family homes which come in all forms and sizes, small or large, each one unique. </p>
<p>Both types of houses have their advantages. If you are looking for the safe bet and don’t want to spend too much, the proven and reliable concept of a townhouse can reduce much of the risk involved with buying or building a home. Of course, you trade convenience for a more tailored solution. With townhouses, changes to the ground plan are less easy and especially on the outside, you will have to content yourself with something more ordinary. Individual single-family houses, on the other hand, offer much more flexibility and room for realizing your dreams. You are still restricted by the qualities of the building materials as well as things like architectural statics and, not to forget, the environmental context like ground conditions, groundwater level, binding site plans, et cetera. But other than that, you can realize a solution that perfectly fits your individual ideas and unique demands. Yet, this flexibility also comes at a cost: An individual solution like this will most likely be more expensive than a townhouse, it might take longer to build, and, depending on who you hire to do the job, you can’t be sure about the outcome in terms of build quality and timely completion.</p>
<p>This question – do we need a convenient or unique solution? – is also vitally important when designing a product or any kind of system for the Web. If someone approaches you with a specific problem to solve, whether it&#039;s a corporate website or a single component, it is important to consider which solution works best in the given situation. Does the budget allow for building something unique or are you better off with a convenient solution? Are you ready to take some risks – also the risk that your solution might be so unique that it doesn’t work – or should you go for the tried and tested pattern first?</p>
<p>As with so many things, the right answer depends on many factors that have to be assessed anew for each project or task at hand.</p>
<p>What I often see though is agencies or designers promising – or also clients demanding – something unique without checking first if this is really what they need. More than often, they would be better advised to consider the convenient solution. Because being unique is really hard and getting the convenient right can be hard enough. Don’t get me wrong: I’m not talking about setting goals that are too low or not ambitious enough. I’m talking about unrealistic expectations and the danger of investing time and energy into the wrong things. Because if you promise something unique but don’t realistically acknowledge what it means to walk that road, the result won’t be satisfactory. Even worse, you might find yourself in a situation where the unique solution falls short in terms of accessibility or performance and you’re already running out of budget to fix all of this. </p>
<p>Going for the convenient solution is often much more valid because it ensures an experience that gets the job done. Sometimes it’s also a start on which you can further improve upon, but still far better than pointless innovation for its own sake.</p>
<p>But how do you decide which solution is the best? Well, it depends. It depends on your budget, of course, but that should never be an excuse for building something that doesn’t cut the mustard. Above all, it depends on the purpose of what you are building and who you are building it for. Because the primary goal is to build something that works for the people who are using your product or service. What is the core of what they need and are you providing that in a respectful, appropriate, accessible, and useful way? Finding an answer to this question will most likely also answer the question if the convenient is the right solution or if it is worth going the extra mile for something truly unique. </p>
<p>And how do you know what your users want? By doing your homework: Research, prototyping, user testing. All of which are still neglected far too often. It’s up to us to change that.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Considering the Opposite</title>
                <link>https://matthiasott.com/notes/considering-the-opposite</link>
                <pubDate>Wed, 06 Mar 2019 23:55:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/considering-the-opposite</guid>
                <description><![CDATA[
                    
																																	<p>When you are developing a statement about something, this advice can be useful: If you can turn the statement into the opposite and it sounds like the most ridiculous thing on earth, chances are that your original statement isn’t that distinctive. </p>
<p>For example, if you were to say about your service that it provides “a great user experience”, the opposite statement, that is to say, that a service provides a “poor user experience” surely isn’t something anyone would strive for – let alone proudly tell the world about. So while you still might want to communicate that you provide a great user experience, it is obviously something that everyone else could say about their service as well. Focus instead on highlighting something that <em>truly</em> stands out.</p>
<p>This reframing of a statement into the opposite can also be helpful by providing a fresh perspective if you are designing or prototyping something: Is your solution really that innovative? Is it distinctive? Can it be turned into the opposite and what happens then? Does it become useless? Unusable? Harmful even? In this way, looking at the opposite can reinforce a decision because you now know for sure that the opposite isn’t an option at all.</p>
<p>Or is maybe the opposite worth considering, too? Which solution is better? Light or dark? Visible or hidden? Animated or static? Ordered or random? Contextual or unrelated? Inclusive or exclusive? </p>
<p>It might not be easier to decide. Harder even. But at least you considered the full spectrum.</p>

																												
																												<div class="prototpyingnews-teaser" style="display:block; margin-top:3rem; padding:2rem 2rem 1rem; background:#1ae280;"><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news" style="text-shadow:none;">my free newsletter Prototyping.news</a>.</em></p></div>
																						            	]]></description>
            </item>
                    <item>
                <title>Our New Design Overlords and a Remarkable Future</title>
                <link>https://matthiasott.com/notes/our-new-design-overlords-and-a-remarkable-future</link>
                <pubDate>Wed, 02 Jan 2019 21:54:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/our-new-design-overlords-and-a-remarkable-future</guid>
                <description><![CDATA[
                    
																																	<p>I spent the last days of 2018 listening to an amazing podcast: <a href="http://www.stephenfry.com/greatleapyears/">Stephen Fry’s Great Leap Years</a> brilliantly tells the story of the evolution of information technology throughout human history – from Johannes Gutenberg inventing the printing press to Alexander Graham Bell and his Bell Labs changing the course of history to <a href="https://qz.com/639952/googles-ai-won-the-game-go-by-defying-millennia-of-basic-human-instinct/">Google’s AI DeepMind winning against the world champion in the complex board game Go in 2016</a>. For one, as <a href="https://adactio.com/journal/14633">Jeremy Keith puts it</a>, “you’ve got the wonderful voice of Stephen Fry in your earholes the whole time”, but Fry also masterfully creates an overall picture of all the consecutive but also somehow magically intertwined events and stories that lead us to where we are now: A present and future full of wonder, opportunities, but also unprecedented challenges.</p>

																												
																																		<figure class="quote">
							<blockquote><p>The world is about to change as fun­da­men­tal­ly as it did as a&nbsp;result of the agri­cul­tur­al and then the indus­tri­al rev­o­lu­tions. We sleep­walked into the infor­ma­tion age. Let’s not stum­ble as blind­ly into Human­i­ty <span class="numbers">4</span>.<span class="numbers">0</span>.</p>
</blockquote>
												<figcaption>Stephen Fry, <cite>Stephen Fry’s Great Leap Years</cite> </figcaption>
										</figure>
																
																																	<p>2019 will no doubt be the year we all finally realize that artificial intelligence, or AI, is not some distant thing of the future anymore. It has already begun to permeate the software tools we use and, as <a href="https://ethanmarcotte.com/wrote/azeban/">Ethan Marcotte rightly points out</a>, “instead of asking ourselves if something can be automated, maybe we should start asking who’ll be affected once it is.” Also, because we as an industry will be one of the first to witness this sea change and experience its impact firsthand. The change is already visible in tools like <a href="https://www.remove.bg/">Remove.bg</a>, <a href="https://letsenhance.io/">Let’s Enhance</a>, or apps like <a href="https://prisma-ai.com/">Prisma</a> – and also Photoshop uses a lot of AI these days. But it already goes much, much further than that.</p>
<p>Last October, I had the opportunity to visit the World Usability Congress in Graz, Austria. One of the speakers, Sean Chiu, talked about how Alibaba, the world&#039;s largest retailer, uses AI to produce or, dare I say, “design” artwork for their e-commerce platforms. Alibaba created an AI called Luban(鹿班) that generates millions of high-quality, customized website banners each day. Millions of layouts. Each day. You can see it in action here: <a href="https://www.youtube.com/watch?v=C4izVFzarug">https://www.youtube.com/watch?v=C4izVFzarug</a> 
<a href="https://johnmaeda.github.io/">John Maeda’s 2018 Design in Tech Report</a> states that there are 1 million banner or e-commerce designers in Alibaba’s ecosystem – and 70 % of them face the challenge from Luban. So will designers lose their jobs to AI? Yes. Maybe not immediately and of course mainly regarding certain repetitive and tedious tasks but the way we design will – once more – alter drastically with photo editing and layout being only the tip of the iceberg. According to the Design in Tech Report, <em>AI and machine learning</em> is the number one emerging trend to have the biggest impact on design and future design tools with further developments in AI will possibly…</p>

																												
																											<p></p>
<p>1. Construct models of our customers</p>
<p>2. Generate design directions on their own</p>
<p>3. Sort and prioritize competing constraints</p>
<p>4. Identify best potential ROI and more</p>
<p>5. Enable savings in time for designers</p>
<p>6. Run experiments for us and reduce risks</p>
<p>7. Create many variations to test</p>
<p>8. Scan the entire experience for inconsistencies</p>
<p>9. Prevent re-invention of past solutions</p>
<p>10. Have the potential to remove apprentice-level jobs</p>
<p></p>

																																		
																																	<p>And those are only predictions. Maybe you’ve heard of other predictions that drastically underestimated the radical change of technological innovations, like the famous prediction by Thomas Watson, president of IBM, from 1943:  “I think there is a world market for maybe five computers.”</p>
<p>Each time a technological breakthrough changes the way our world, our society, and our culture works, the implications are unlikely if not impossible to predict. Because, as Jeremy Keith notes in <a href="https://aneventapart.com/news/post/evaluating-technology-by-jeremy-keith-aea-video">his talk “Evaluating Technology”</a>, they create a form of singularity which means that “there is no way, that we, from our vantage point here, in the present, can possibly see what’s beyond that event horizon of the technological singularity.” Who could have guessed that it would be completely natural to talk to any person around the world via telephone? Who could have predicted that people would rearrange their living rooms around television screens that bring them news and entertainment? Who could have foreseen that people would spend hours and hours of their day looking into mobile glass devices that act as a magic door to a World Wide Web? No one.</p>
<p>Yet although it is almost impossible to predict the magnitude and quality of the transformative change that lies ahead of us on so many different areas, we can still be aware that this fundamental change <em>indeed is happening</em> and, most importantly, we can still actively influence, shape, and develop it in the right direction. Because regardless of where we live on this planet, we are all also facing many other challenges aside from the fourth industrial revolution like climate change, poverty, unnecessary wars, human diversity, social inclusion, equality, and above all: climate change. Technology can help us save the world from harm but it can also cause more suffering.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Robot­ics, <span class="caps">AI</span>, nanoscience, the Inter­net of Things, quan­tum com­put­ing, genomics, gene edit­ing, bioaug­men­ta­tion, bion­ics, autonomous weapon­ry and trans­port, brain-machine inter­fac­ing – all these exis­ten­tial­ly trans­for­ma­tive devel­op­ments are gath­er­ing pace and momen­tum now. And when they con­verge and coa­lesce, they will cre­ate a&nbsp;remark­able future.</p>
</blockquote>
												</figure>
																
																																	<p>A future that lies beyond our imagination. Let us at least make sure that it, in fact, <em>will be</em> remarkable.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Drives safe!</title>
                <link>https://matthiasott.com/notes/drives-safe</link>
                <pubDate>Mon, 31 Dec 2018 01:11:09 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/drives-safe</guid>
                <description><![CDATA[
                    
																																	<p>We all know that we should backup our data regularly and ideally with some sort of backup strategy but let’s be honest: Many of us don’t. Over the years, I got a bit better, but after listening to <a href="https://workingdraft.de/364/">one of the highly recommended episodes</a> of the (mainly German) <a href="https://workingdraft.de">Working Draft</a> podcast, it became obvious to me that there was still a lot of room for improvement. So I used some spare time over the holidays to spruce up my backup setup. In this post, I’ll share what I did – maybe it inspires you to do something similar or you might have much better ideas, in which case I would love to hear from you, of course. A warning upfront: I use MacOS, so this post might be of less use here and there if you prefer any other operating system.</p>
<h2>The current situation</h2>
<h3>Daily backups: Non-existent.</h3>
<p>Yes, this is pretty bad, I know. I used to have an external drive for a Time Machine backup but over time I completely stopped doing regular backups of my MacBook Pro’s hard drive. And although SSDs are much more reliable than SATA hard drives, you never know when disaster strikes (knock on wood…). So obviously, this was one of my major pain points I wanted to improve.</p>
<h3>Home server solution: Synology Disk Station</h3>
<p>A few years ago, I bought a Synology DiskStation DS214+. It’s a two-bay NAS server that comes with a lot of useful features for setting up your own little datacenter including a “cloud” solution that works a bit like Dropbox. I configured it so that I have one network volume called <em>ARCHIVE</em> and one called <em>HOME</em>. The <em>ARCHIVE</em> is where I move completed projects and all the other stuff I still need to tidy up one day but I definitely don’t want to lose. The <em>HOME</em> network volume is for daily work and automatically synced with a folder of the same name on my work computer – although I often switched off automatic syncing via the Synology Cloud Station application, because it slows down my Mac quite substantially – especially if I use a watch task in a tool like Gulp, for example. Overall, this setup worked quite well and gave me peace of mind regarding my work files, also because the two 2 TB hard drives are combined in a RAID, so if one hard drive fails I still have the other one.</p>
<p>The main problem with this setup was that the 2 TB RAID was filling up and was in danger of running out of space. So I was in need of a storage upgrade.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100.26041666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/wd-drives-safe-1280.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/wd-drives-safe-1280.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/wd-drives-safe-1280.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/wd-drives-safe-1280.jpg" alt="A bunch of hard drives on a table" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Upping the game</h2>
<h3>Step 1: Upgrading storage capacity</h3>
<p>To expand the storage capacity of the Synology NAS, I bought two 4 TB Western Digital Red hard drives which are optimized for use in NAS systems. The upgrade process itself was astonishingly easy – and yes, I use the word easy intentionally here, because it indeed <em>was</em> easy: I replaced one of the old 2 TB drives in the NAS with a new 4 TB drive. Then, I went into the <em>Storage Manager</em> of the Synology DiskStation Manager (DSM) and started a <em>Repair</em> of the <em>degraded</em> RAID storage pool. After the successful repair, which took a few hours, the two drives were in synch again so I then replaced the second old drive with a new one. I started a <em>Repair</em> again – done. <a href="https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/StorageManager/storage_pool_expand_replace_disk">Here is an article that explains the process</a>.</p>
<h3>Step 2: Wireless Time Machine backup</h3>
<p>A Time Machine backup is a super convenient way to back up your work machine, but I didn’t want to fill the precious space of my NAS with incremental backups. So I put one of the old 2 TB drives inside an external HDD case to plug it into the USB 3.0 port of the Synology.</p>
<p>But before I connected it to the NAS, I formatted the external 2 TB drive with MacOS’s disk utility. Side note: Since MacOS High Sierra, MacOS switched to the newer Apple File System (APFS) which is also used by iOS, tvOS, and watchOS. Time Machine can’t make use of the new file system though, so if you want to use a hard drive with Time Machine, make sure to format it using the Mac OS Extended (journaled) aka HFS+ file system.</p>
<p>But, as it turns out, this step wasn’t necessary. The Synology already comes with the option to <a href="https://www.synology.com/en-global/knowledgebase/DSM/tutorial/Backup_Restore/How_to_back_up_files_from_Mac_to_Synology_NAS_with_Time_Machine">create a shared volume for Time Machine backups</a> and for that, the drive can perfectly be formatted with ext4, a journaling file system for Linux. So I reformatted the external USB drive again, renamed the shared folder of the drive to <em>TMBACKUP</em>, enabled <em>Bonjour Time Machine Broadcast via SMB</em> in the DSM, and selected <em>TMBACKUP</em> as the Time Machine folder. After that, I was able to mount the <em>TMBACKUP</em> volume on my Mac and select it as the backup disk in the Time Machine system preferences. If you’re interested in the whole process, there is a <a href="https://www.synology.com/en-global/knowledgebase/DSM/tutorial/Backup_Restore/How_to_back_up_files_from_Mac_to_Synology_NAS_with_Time_Machine">helpful article in the Synology Knowledge Base</a>.</p>
<p>Ultimately, after a pretty time-consuming first Time Machine backup, my MacBook Pro’s hard drive is now backed up hourly via WLAN onto the external USB drive connected to the NAS. Yay!</p>
<h3>Outlook: Physical separation</h3>
<p>So after all this tinkering with hard drives and DSM settings, I now have much larger storage capacity and a wireless Time Machine backup up and running. The last thing to do is to find a nice way to keep another backup copy offsite, which is especially important for the <em>ARCHIVE</em>.</p>
<p><a href="https://lip.pe/">Patrick</a> suggested that I could buy a cheaper or used Synology to remotely backup the main Synology and this seems to be a pretty compelling solution. Another idea would be to rent storage online. I haven’t yet decided what to do regarding physical separation, all I know is that I don’t want to manually copy any data because I won’t do it anyway then.</p>
<p>Overall, I’m already much more satisfied with my setup than before. But now I’m also curious: How do you back up your data? Do you keep a backup offsite and if you do which solution did you choose? I would love to hear from you via Webmention or Twitter – or write me a good ol’ email.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Crazy Work</title>
                <link>https://matthiasott.com/notes/crazy-work</link>
                <pubDate>Sun, 16 Dec 2018 22:17:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/crazy-work</guid>
                <description><![CDATA[
                    
																																	<p>I have a confession to make. I’ve become utterly terrible at finishing books, especially non-fiction. I once even published a list of <a href="https://matthiasott.com/notes/books-i-will-definitely-maybe-read-in-2017">books I will definitely maybe read one day</a>. The reasons why I don&#039;t finish them are manifold: For one, there is always some work to do that seems more important than to sit down and read a book. Then, I have a lovely family and I spend as much time as I can with them. And ultimately, there is the Interwebs demanding “screen time”. So I had not finished a book in months.</p>
<p>Last Friday, I did.</p>
<p>The book is the latest one by David Heinemeier Hansson and Jason Fried, the founders of <a href="https://basecamp.com/">Basecamp</a>, and it’s called <em><a href="https://basecamp.com/books/calm">It Doesn’t Have to Be Crazy at Work</a></em>. It is a collection of ideas and advice about how to establish and maintain a “calm” company culture, without the hassle and craziness that seems to have become the new normal in tech, design, and often also in business in general. Yet the book is not only aimed at founders or executives but also full of useful advice for everyone working anywhere, regardless of position or if they work at a company or are self-employed.</p>
<p>The main message is as true as it is often left unsaid: At many places, work has become this ugly, greedy beast that wants you to work for 60, 70, or even 80 hours a week and robs you of your time with family and friends, your sleep, and, ultimately, your health.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Sus­tained exhaus­tion is not a&nbsp;badge of hon­or, it’s a&nbsp;mark of stupidity</p>
</blockquote>
												</figure>
																
																																	<p>The answer, according to the authors, isn’t more hours, but “less bullshit”. Fewer meetings, less distractions, less unrealistic deadlines, less false promises, and more focus on the real important work.</p>
<p>Through my work as a freelance designer, I have seen quite a few companies and their different approaches to company culture and processes. David and Jason are definitely right: At many companies, unnecessary work, artificially created tasks, and – especially in open-plan offices – repeated distractions absorb most of the time there is to do your work. What you end up with is a cluttered day, where you don’t have the time to focus on a task for a few hours straight or to thoroughly think something through. Combine this with unrealistic deadlines like a website launch date set by a client upfront or rash overpromising by project managers without getting a second opinion from the people doing the work and you are right on track for a project full of stress and compromises. What a waste of energy.</p>
<p><em>It Doesn’t Have to Be Crazy at Work</em> provides important, sane, and actionable advice on how to change all of this and I cannot recommend it more. I can’t wait to give many of the ideas a try.</p>
<p>A few days before I bought the book, I listened to <a href="http://5by5.tv/bigwebshow/182">a great conversation between Jeffrey Zeldman and Jason Fried on the Big Web Show</a> that also covered the book, so I already had a pretty good idea about what to expect. Maybe that’s the reason why – in the spirit of the book and despite the busy last weeks of the year – I took the time to unwind a bit and read it calmly from start to finish. It already felt like a first step on the road to recovery.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Infused Design Attitude</title>
                <link>https://matthiasott.com/notes/infused-design-attitude</link>
                <pubDate>Tue, 27 Nov 2018 23:24:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/infused-design-attitude</guid>
                <description><![CDATA[
                    
																																	<p>I recently listened to an interesting <a href="https://designobserver.com/article.php?id=39949">episode of the podcast “The Design of Business | The Business of Design”</a>, in which <a href="https://twitter.com/jessicahelfand">Jessica Helfand</a> and <a href="https://twitter.com/michaelbierut">Michael Bierut</a> talked with <a href="https://www.newschool.edu/parsons/faculty/Mariana-Amatullo/">Mariana Amatullo</a>, who teaches strategic design and management at Parsons School of Design at The New School in New York.</p>
<p>One of Mariana’s fields of research is how and when design works in large organizations. According to Mariana, whether design-oriented approaches to business succeed or not is largely determined by the level of a “design attitude” found not only in designers but also leaders and organizations as a whole. This design attitude consists of five dimensions:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The first one is empa­thy. We real­ly work with design stu­dents around this notion of empathy.</p>
<p>The sec­ond one is cre­ativ­i­ty — being able to look at the&nbsp;novel.</p>
<p>The third one is engage­ment with aes­thet­ics, and think­ing about a&nbsp;mul­ti­sen­so­r­i­al environment.</p>
<p>The fourth one is ambi­gu­i­ty tolerance.</p>
<p>Num­ber five is con­nect­ing mul­ti­ple per­spec­tives — the diver­gence we talk about a&nbsp;lot in design think­ing methods.</p>
</blockquote>
												</figure>
																
																																	<p>In my work with clients of all sizes, I found this indeed to be true: The more pronounced the elements of this “design attitude” are in a person or a group of stakeholders, the better the outcome of a design project will be. If you are working in an agile setting and are building a lot of prototypes, for example, you will always encounter reluctance if the people looking at the work have a low ambiguity tolerance, which means that they are getting extremely uncomfortable if things look unfinished, raw, and not precisely defined yet. In design though, especially when you consider today’s diverse, heterogeneous environment we need to design for, it is almost impossible to precisely plan upfront. You need to be comfortable with tackling completely new problems with only partially pre-determined processes with uncertain outcomes. Clients often struggle here, because they are used to having control over things and making decisions before the work starts. But that’s not how iterative design works nowadays.</p>
<p>The same is true though for the teams creating the design. Each one of the aforementioned traits is crucial if you want to build a product based on considerate, appropriate decisions together because you are able to avoid long discussions arising purely from matters of taste or snap judgments. The level of design attitude can then also make a difference when it comes to articulating design decisions to a client – and also if you need to defend those decisions with vigor if needed. I have seen more than a few design teams struggle not because the clients didn’t “get design” but because parts of the agency were obviously lacking a design attitude, too.</p>
<p>Design attitude can be seen as a form of design literacy. The more design-literate your organization is, the more it values design which in turn results in better user experiences. Someone who often brings this idea forward in <a href="https://articles.uie.com/design_infused/">articles</a> and <a href="https://m.youtube.com/watch?v=q374lg6RI-k">talks</a> is Jared Spool. While he has been getting a lot of pushback recently for repeatedly stating that everyone involved in creating a product is influencing the design and thus everyone is a designer, Jared is certainly right with the basic idea that to become more design-literate, teams need to spread the knowledge and expertise of design beyond just designated designers:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Every devel­op­er and prod­uct man­ag­er must become lit­er­ate in the dif­fer­ences between bad design and good design. More impor­tant­ly, they must also be lit­er­ate in the dif­fer­ences between good design and great design, so they strive for excel­lence at every opportunity.</p>
</blockquote>
												</figure>
																
																																	<p>An organization that successfully makes the transition into an organization where everyone has a high design literacy – by consistent exposure to users, a solid vision of the aspirational user experience, and embracing a culture of continuous learning – can then reach a state of “infused UX design”, as Jared calls it.</p>
<p>While I already had a good understanding of the <em>why</em> and the <em>how</em> of improving design literacy, the <em>what</em> still wasn’t that clear to me. What traits or skills should we focus on if we want to improve design literacy in our organization? Mariana Amatullo provided a possible answer to this question.</p>
<p>I really like the idea: Becoming a design-infused organization by facilitating empathy, creativity, aesthetics, ambiguity tolerance, and the ability to connect multiple perspectives – in every individual in your organization.</p>
<p><em>Infused design attitude</em>, so to say.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Overflow: unlimited</title>
                <link>https://matthiasott.com/notes/overflow-unlimited</link>
                <pubDate>Thu, 22 Nov 2018 01:00:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/overflow-unlimited</guid>
                <description><![CDATA[
                    
																																	<p>This morning, I read a tweet by Dave Rupert that made me smile:</p>

																												
																												<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Hey, Internet. My son loves drawing. This is great. My house is filled with 1000s of pieces of paper tho. This is not so great. <br><br>Has anyone converted a ~5yo to an iPad or Surface Go for drawing? Does it work? Is there another strategy to limit Papergeddon?</p>&mdash; Dave Rupert (@davatron5000) <a href="https://twitter.com/davatron5000/status/1064934638232223744?ref_src=twsrc%5Etfw">November 20, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>I had to smile because it’s exactly the same with my son. He is seven now and has been producing drawings since he was able to hold a pen. He can sit for hours in his room and draw dragons, knights, pirates, robots, superheroes, machines, factories, or also computer games. He produces new pieces faster than we can sort them out so we decided to buy a huge box for everything he spits out. This box is now overflowing regularly and so we need to still clear it out from time to time. Meanwhile, I am honestly impressed by how skilled, fast, and confident he has become. It’s amazing to watch and in a way, he is already better at drawing than me. Most certainly, he is so much more unafraid and less occupied with what is a right or wrong way to draw. He just does it. I have been thinking a lot about how this came to be. And I believe it comes down to this: not limiting him.</p>
<p>Of course, you also need to have a bit of talent and a general interest in drawing. But then again, which child doesn’t? But what happens to so many kids is that, beginning already in Kindergarten, they are constantly being evaluated and teachers and parents start to tell them how to draw correctly. “Is this supposed to be a tree? It doesn’t look like a tree at all! And why is it blue and purple? Let me show you how to draw a proper tree!” And after some time, kids get so occupied with drawing things “the right way”, that they forget how to doodle and invent and explore and play and dream. What they are also told, is not to waste precious paper with careless scribbles but instead to carefully consider what to draw. But while there is certainly a time and place for conceptual considerations, by giving such narrow-minded adult advice we are limiting the scope of what our kids could create before they even started. The idea that it is better to carefully craft one fine piece of art than to produce a wealth of seemingly flawed experiments is flat wrong. </p>
<p>Nobody will ever become as good a painter as Pablo Picasso by painting just a handful of paintings. The number of artworks Picasso created has been estimated at 50,000. Nobody will ever become as good a composer as Mozart by composing just a handful of pieces. Mozart composed more than 600 works until his early death at the age of 35. And nobody will ever become as good a blogger as Seth Godin by writing only a handful of posts. His blog has been appearing daily for more than a decade.</p>
<p>What I am trying to say is: Regardless of what it is – if you want to become really good at something, you will need to do it over and over and over again. And while you are practicing, you need to realize that there is no right or wrong and only if you fearlessly explore and try out things, you will reach a state of fluency. Also, get comfortable with producing a lot of stuff that might look like junk. It isn’t. It’s the most valuable output you could ever create. Because only by drawing a line a thousand times, you will finally own it.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>What is it for?</title>
                <link>https://matthiasott.com/notes/what-is-it-for</link>
                <pubDate>Tue, 20 Nov 2018 22:12:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/what-is-it-for</guid>
                <description><![CDATA[
                    
																																	<p>Yesterday, <a href="https://matthiasott.com/notes/unlimited-bowling">I shared some advice</a> by Seth Godin from an <a href="https://www.youtube.com/watch?v=6xMxAZhgVvU">interview with Chase Jarvis</a>. Today, I’ll do the same again, but not because I’m lazy (at least not this time) but because I think it’s a great follow up and just as actionable and useful advice.</p>
<p>It goes like this: Whenever you need to communicate, write, build, or create something, always ask yourself</p>

																												
																																		<figure class="quote">
							<blockquote><p>What is it&nbsp;for?</p>
</blockquote>
												</figure>
																
																																	<p>This sounds like the most obvious thing in the world to ask, but how many times have you been part of a project where you built something just because you were told to do so or because everybody does it this way? Or how many times have you seen clients demand changes that obviously had nothing to do with the purpose of the project? And how many times have you started a task without really knowing what it really is for? Far too often, this simple and important question is neglected.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Am I&nbsp;a pro­fes­sion­al who is doing this in a&nbsp;way that the work match­es what the work is&nbsp;for?</p>
</blockquote>
												</figure>
																
																																	<p>Asking yourself this question can completely change the way you approach your creative process, how you plan what to build and what to focus on. It makes sure you consider the true purpose of the work you are doing. It lets you eliminate the unnecessary and ambiguous. But most importantly, if you have found an answer to this question, it gives you the confidence to march into the unknown, to try out new things without knowing if they will work, and to be persistent, patient, and passionate – because you know <em>why</em> you are doing it.</p>
<p>This works for whatever you are up to – whether you are writing a blog post or a newsletter, planning an event, taking pictures, running an agency, coding a website, or building a prototype. So whatever it is that you are working on at the moment: What is it for?</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Unlimited Bowling.</title>
                <link>https://matthiasott.com/notes/unlimited-bowling</link>
                <pubDate>Mon, 19 Nov 2018 22:46:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/unlimited-bowling</guid>
                <description><![CDATA[
                    
																																	<p>Last weekend, I listened to a <a href="https://www.youtube.com/watch?v=6xMxAZhgVvU">highly interesting episode of the Chase Jarvis Live Show</a>, a podcast featuring interviews with creators, innovators, and entrepreneurs. The episode’s guest was <a href="https://seths.blog/">Seth Godin</a> and as you might expect, he dropped a lot of knowledge and good advice. And while there was a whole lot more to take away from the interview, I especially liked what Seth said about content creation, using the analogy of bowling:</p>

																												
																																		<figure class="quote">
							<blockquote><p>One of the dri­vers of bowl­ing is you got­ta pay by the game. So if I&nbsp;only got three games, I&nbsp;got­ta be care­ful with my&nbsp;rolls.</p>
<p>What would hap­pen if you had unlim­it­ed bowl­ing? If you had unlim­it­ed bowl­ing, you could prac­tice dif­fer­ent shots, you could prac­tice dif­fer­ent approach­es, don’t wor­ry about&nbsp;it!&nbsp;[…]</p>
<p>That’s where we live now: Unlim­it­ed bowling.</p>
<p>So we got­ta decide: Are we just con­stant­ly try­ing to get it just right down the cen­ter – which is bor­ing and isn’t gonna get us any­where. Or do we have the guts to say: You know, this might not work. But I’m gonna per­sis­tent­ly and con­sis­tent­ly and gen­er­ous­ly bring it forward.&nbsp;[…]</p>
<p>If you’re ask­ing for a&nbsp;guar­an­tee, you’re in the wrong&nbsp;line.</p>
</blockquote>
												</figure>
																
																																	<p>This advice is gold if you are writing a blog, for example. What you write is totally up to you. And because you have unlimited shots on the Web, you can try out different formats, different styles, different topics. Regardless of what other people might think and although it might not work.</p>
<p>But this advice is also gold when you are prototyping user interfaces. Because prototypes are so inexpensive compared to high-fidelity solutions, you can easily try out different approaches to solving your problem, although it might not work.</p>
<p>That’s where we live now: Unlimited prototyping.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Never done.</title>
                <link>https://matthiasott.com/notes/never-done</link>
                <pubDate>Thu, 04 Oct 2018 00:53:34 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/never-done</guid>
                <description><![CDATA[
                    
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 56.25%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/72nd.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/72nd.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/72nd.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/72nd.jpg" alt="72Nd" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>I spent two weeks in August visiting my sister in New York. It was the first time for me in New York and one of the things that impressed me the most, was the perpetual movement of the city. This city <em>really</em> never sleeps. Everything seems to constantly evolve and change. Even such an evolved and established system as the Subway, which is now 114 (!) years old, isn’t at all “done”. For example, closed platforms in the south of Manhattan tell of the changing ridership over the years when more and more people started to work in Midtown Manhattan. The system adapts to the changing city. Somehow, New York felt like an agglomeration of interwoven systems that all have a prototypical element to them. Rough. Unfinished. Constantly exploring what works and what doesn’t. I really like that.</p>
<p>I wish more projects were like that: Acknowledging the fact that the world around us is constantly changing and we are therefore never really done.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Out there.</title>
                <link>https://matthiasott.com/notes/out-there</link>
                <pubDate>Fri, 14 Sep 2018 01:11:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/out-there</guid>
                <description><![CDATA[
                    
																																	<p>Recently, I read two posts within a few days that both resonated a lot with me. The topic of both pieces was the same: Writing. Or more specifically, writing on your own site. The first piece, “<a href="http://www.sarasoueidan.com/desk/just-write/">Just write.</a>”, is by Sara Soueidan and if you haven’t read the article, I highly encourage you to do so. Besides the general advice that you should just write, no matter if people read it or not, what stuck in my mind the most were those two short sentences:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Once I&nbsp;got over my own obsta­cles, I&nbsp;stopped feel­ing like I&nbsp;was oblig­at­ed to meet oth­er people’s expec­ta­tions. I&nbsp;start­ed enjoy­ing writ­ing&nbsp;again.</p>
</blockquote>
												</figure>
																
																																	<p>Over the last two and a half years, I have published a few articles on this site. Most of them were quite lengthy, but I was fine with that, mostly because I cared deeply about the topics and also wanted to explore them for me. The feedback I received for those articles was very positive (thank you all ;) ) and I still feel that starting to write on my own site was one of the best decisions of my life. So if you think about starting to write yourself, I can only join Sara in saying: Just write.</p>
<p>But if you take a look at my site, you’ll see that the last article dates back to January 2018. What happened? Looking back, it was a combination of a few things. One is that I started writing a monthly newsletter about prototyping for the Web, <a href="https://prototyping.news">Prototyping.news</a>, which I really enjoy, and another being the feeling that each new article had to be at least as good as the one before. I felt “like I was obligated to meet other people’s expectations” – if only a small but lovely group of people. While this can be a good thing and there is generally nothing wrong with aiming high, it can also have the effect that you start to constantly question yourself and your writing. As a result, the draft of an article about prototyping is still on my computer, waiting to be finished since the beginning of the year. </p>
<p>The second post I wanted to share with you is by Tobias Tom. The post is not an article, it’s <a href="https://tobiastom.name/notes/c6794ee7">a quick note on his site</a>, so short that I can share it in its entirety with you:</p>

																												
																																		<figure class="quote">
							<blockquote><p>Start­ing today I’ll try again to use this thing more again. More short notes, more links, and even more how-tos.</p>
<p>Why? Because if one word or link helps some­one else out there, it’s bet­ter then nothing.</p>
<p>I’ll also try to force it into my habit. Start­ing goal is one post a&nbsp;day. Includ­ing the week­ends.&nbsp;Phew.</p>
</blockquote>
												</figure>
																
																																	<p>This quick note somehow is like a self-fulfilling prophecy: Even the smallest post can help someone else out there. In this case, this someone is me, seeing that others struggle to publish regularly, too. But no matter what expectations you think there are, it is important to get your thoughts out of your head. Even the rough and unfinished ones. You need to share your experiences because you never know whom it will help.</p>
<p>So starting tonight, you can expect (haha) more posts from me again. Because I now understand that the most important thing about writing – just like with any type of work – is to get it out there.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Starting&amp;#32;Prototyping.news</title>
                <link>https://matthiasott.com/notes/starting-prototyping-news</link>
                <pubDate>Sun, 14 Jan 2018 22:48:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/starting-prototyping-news</guid>
                <description><![CDATA[
                    
																																	<p>Prototyping has been captivating me for quite some time now. Since 2012, I teach Interface Prototyping at the Muthesius University of Fine Arts and Design in Kiel, Germany and especially over the last few years, I could watch prototyping slowly attracting more and more attention in the Web community. And at the moment, the topic is gathering even more momentum: Tools like <a href="https://framer.com/">Framer</a>, <a href="https://www.adobe.com/products/xd.html">Adobe XD</a> or also <a href="https://sketchapp.com/">Sketch</a> (with <a href="https://www.invisionapp.com/craft">InVision’s Craft Plugins</a>) are rapidly evolving into the next generation of design tools, with prototyping baked right in. More and more articles and talks about prototyping are seeing the light of day and there are many good reasons to believe that <a href="https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping">prototyping is central to developing products for a Web that is as flexible and diverse as ever</a>.</p>
<p>At the same time, it is also harder than ever <a href="https://matthiasott.com/articles/closing-the-gaps">to stay up to date on all the different topics in Web design and development</a>. One way to fight this is to rely on weekly or monthly newsletters, curated by people who care about the respective topic. I really appreciate those updates, for example <a href="https://rachelandrew.co.uk/">Rachel Andrew’s</a> <a href="http://csslayout.news/">CSS Layout News</a>, <a href="http://valhead.com/">Val Head’s</a> <a href="http://www.uianimationnewsletter.com/">UI Animation Newsletter</a>, or <a href="https://helloanselm.com/">Anselm Hannemann’s</a> invaluable <a href="https://wdrl.info/">Web Development Reading List</a>.</p>
<p>So I’m starting something new in 2018: <a href="https://prototyping.news">Prototyping.news</a>, a carefully curated newsletter all about prototyping for the Web – for strategists, designers, and developers.</p>
<p>The basic idea is, of course, to provide all those of you who are interested in prototyping with an easy way to read, watch, and hear interesting and entertaining content about prototyping. Starting with the first issue, you will find links to articles, talks, tools, and everything else related to prototyping for the Web in your inbox. But I also want prototyping.news to be a prototype itself. So it should be flexible enough to evolve over time, adapting to the developments in the community. However, I don’t yet know exactly how this iterative improvement will look like. We’ll see.</p>
<p>Under the hood, the website for prototyping.news runs on <a href="https://getkirby.com/">Kirby</a>, Bastian Allgeier’s neat file-based content management system, which is really a joy to work with. The setup is super easy and fast, you have full control over your template code and, as it is a file-based CMS, I can simply write the newsletters in <a href="https://daringfireball.net/projects/markdown/">Markdown</a> an put them in the archives folder for publishing. This is exactly the kind of flexibility and convenience I wanted to be able to iteratively improve prototyping.news. If you haven’t worked with Kirby yet, I suggest you give it a try. It is super flexible and perfect for small to medium-sized web projects of every kind.</p>
<p>The website for Prototyping.news is hosted on <a href="https://uberspace.de/">Uberspace</a>, the friendly German pay-as-much-as-you-want hosting provider. Setting up a new U7 uberspace was also super fast and convenient. With a few clicks and shell commands, you have a modern environment up and running: HTTPS via Let’s Encrypt with automatic renewal of your certificates and HTTP/2 is included, and even the most important security headers are already set for you.</p>
<p>The newsletters will be delivered via <a href="https://mailchimp.com/">MailChimp</a> for now. Depending on how the project evolves, I&#039;m considering switching to a different solution, most likely <a href="https://mailtrain.org/">Mailtrain</a>.</p>
<p>Prototyping.news is a personal project that will always be free for its readers. At the moment, I don’t know if I will set up something like a voluntary PayPal donation. It is just too early to tell how the project evolves. But if you have a product or business somehow related to prototyping you can support the project by sponsoring an issue. If you are interested in that, <a href="mailto:sponsorship@prototyping.news">please do get in touch</a>.</p>
<p>I really hope that prototyping.news will be a helpful resource to everyone interested in the topic. If you have any ideas or feedback, or if you stumble upon an interesting link that you think should be included in the next issue, please don’t hesitate to write me a message – on <a href="https://twitter.com/m_ott">Twitter</a>, for example, or via <a href="mailto:mail@matthiasott.com">the good old email</a>.</p>
<p>The first issue of Prototyping.news is almost ready and like all issues it will be published on the last Friday of the month. If you haven’t signed up yet <a href="https://prototyping.news">I’d be happy if you do so here</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Saving Your Web Workflows with Prototyping</title>
                <link>https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping</link>
                <pubDate>Thu, 11 Jan 2018 09:22:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/saving-your-web-workflows-with-prototyping</guid>
                <description><![CDATA[
                    
																												<hr><p></p><p><em><strong>Prototyping.news:</strong> For a monthly update on the latest articles, tools, and other resources about prototyping for the Web, sign up for <a href="https://prototyping.news">my new newsletter prototyping.news</a>.</em></p><hr>
																						
																																	<h2>The Illusion of Control</h2>
<p>We have a problem. And I fear that many of us still don&#039;t see it. And those who do see it are still not completely sure what to do about it. The problem is this: The traditional tools and workflows we used for years to build things for the Web don&#039;t work anymore for today&#039;s Web.</p>
<p>Most of our tools and processes originated in a time when designing for the Web basically meant designing with only a few colors and pixelated type for screens that had relatively clear and small dimensions. The obvious constraints of “new media” – with the pixel as the omnipresent smallest visual building block – were defining its character and made it stand out against print media. Over time, in search of control and with growing professionalization, agencies and design studios established processes that allowed them to build and sell websites professionally. And because every new medium first borrows from its predecessors, the answer to the question of how to approach the web design process seemed obvious. Let’s do it like we do printed products, like we design all products in classical industrialized workflows: Plan. Design. Produce.</p>
<p>And it worked.</p>
<p>Planning websites grew to a domain of great expertise. Specialized disciplines like Information Architecture, Content Strategy, or User Experience Design evolved. Sitemaps and wireframes got created so that the structure and hierarchy of a website would be clear before starting with the design phase. The designers then built beautiful layouts out of those wireframes so that clients could approve how the website would look like. And finally, the developers took those Photoshop layouts and magically transformed static designs into interactive pages. Everything was plannable. Everything was predictable. Everything was under control.</p>
<p>Until everything changed.</p>

																												
																												<p>It was the Web itself that changed. Because change is in its nature. Maybe the most striking example of this change is that instead of a clearly defined canvas (of <del>640 x 480</del> <del>800 x 600</del> 1024 x 768 pixels) we now have to design for this:</p>
																						
																												<section style="width: 100%;position: relative;padding-top: 66.666%;margin-bottom: 3rem;">
<div class="cp_embed_wrapper" style="position: absolute;width: 100%;top: 0;height: 100%;"><iframe id="cp_embed_QqRxxE" src="//codepen.io/matthiasott/embed/preview/QqRxxE?height=460&amp;theme-id=31848&amp;slug-hash=QqRxxE&amp;default-tab=result&amp;user=matthiasott&amp;embed-version=2&amp;pen-title=All%20Those%20Devices&amp;preview=true" scrolling="no" allowtransparency="true" allowfullscreen="true" name="CodePen Embed" title="All Those Devices" class="cp_embed_iframe " style="width: 100%; overflow: hidden;" height="100%" frameborder="0"></iframe></div>
<script async="" src="https://production-assets.codepen.io/assets/embed/ei.js"></script>
<p></p>
</section>
																						
																																	<p>What you see here is a – by no means complete – visualization of currently available screen sizes, ranging from tiny smartwatches up to huge 4K screens. Apparently, the differences between the individual screen sizes become more and more blurred. Where do we draw the line between “mobile” and “tablet”? Where does “large desktop” start? The idea of a fixed canvas and the control we thought we had over it is definitely a thing of the past. And this doesn’t only apply to screen sizes, it also applies to the Web as a whole.</p>
<p>The Web has evolved at an unimaginable speed and we are now witnessing an unprecedented diversity of not only screen sizes, pixel densities, and color spaces, but also devices with most different capabilities, sensors, input types, browsers, APIs, accessibility features, security issues, connection speeds – the list is endless and it won’t ever be complete.</p>
<p>All those technologies and contexts are things that we can and often even must take into account when we build something for the web because all those things can inform our products and shape the experiences of the people who use those products. A website is not a static artifact. It’s a flexible, living thing that can assume the most different forms and can even evolve over time. And if you consider all the things that are <a href="https://www.youtube.com/watch?v=rmf1AYgYj6I">yet to come</a>, for example in the fields of the <a href="https://aneventapart.com/news/post/the-physical-interface-by-josh-clarkan-event-apart-video">physical interfaces</a>, <a href="https://machinelearning.apple.com/">AI and machine learning</a>, or also with additions to existing technologies like <a href="https://developer.mozilla.org/en-US/docs/Web/API">JavaScript Web APIs</a> or <a href="https://vimeo.com/242890906">CSS Houdini which will let you create your own custom properties, custom functions, and custom @-rules</a> – how can one possibly think of the Web as something homogeneous in this age of extreme computing?</p>
<p>The Web isn’t uniform. It never was. If we thought we were in control, it was only because we hadn’t yet imagined what the web would look like when unfolded to its true nature. The Web of today is complex, flexible, blurry, chaotic, unpredictable, extendable, immediate, omnipresent. And this complexity of the Web leads to the major problem regarding our processes: When every project is different, when conditions, tools, and technologies change with every project, static and linear processes are less and less repeatable and planning for success beforehand becomes basically impossible. There are simply too many factors with too many unknowns to consider. So if we want to build lasting, appropriate, performant, accessible, consistent, secure, and unique experiences for everyone on the Web, we need to find ways to cope with this multiplicity.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/evaluating-technology-sticky-notes.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/evaluating-technology-sticky-notes.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/evaluating-technology-sticky-notes.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/evaluating-technology-sticky-notes.jpg" alt="Evaluating Technology Sticky Notes" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p><strong>Web technology galore</strong>: <a href="https://adactio.com">Jeremy Keith</a> trying to map all Web technologies that the participants come up with at his Evaluating Technology workshop in Nuremberg, Germany, 2017. <em>© <a href="https://julieannenoying.com/">Julie Anne Noying</a></em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>To some extent, we already started. In the year 2000, John Allsopp wrote his renowned article <em><a href="https://alistapart.com/article/dao">A Dao of Web Design</a></em> in which he suggested that “we should embrace the fact that the web doesn’t have the same constraints [as print], and design for this flexibility.” But his call remained unheard for years and it wasn’t until the mobile revolution that we actually started to change the ways we design for this flexibility.</p>
<p>First, we indeed ditched the notion of a fixed-sized canvas and got our heads around the idea of responsive web design. Ethan Marcotte, <a href="https://alistapart.com/article/responsive-web-design">who coined the term responsive web design back in 2010</a>, <a href="https://ethanmarcotte.com/wrote/foreword-to-design-systems/">recently pointed out</a> that we also “have started to break our interfaces down into tiny, reusable modules, and began using those patterns to build products, features, and interfaces more quickly than ever before.” We also questioned Photoshop, <a href="https://vimeo.com/67897293">the “damn liar”</a>, and started to fall in love with tools like <a href="https://sketchapp.com/">Sketch</a> or <a href="https://www.figma.com/">Figma</a>, that promised to be more suitable for designing user interfaces. Instead of designing static pages we are now building modular systems of components. At least that’s what we do in theory.</p>
<p>In reality, many of us are still struggling with the permanent shifts and rapid change of the medium. In reality, the new agile and lean processes we love to talk about in front of our clients <a href="https://m.signalvnoise.com/running-in-circles-aae73d79ce19">are seldom more than high-frequency waterfall</a>. In reality, I still hear project managers, designers, and developers regularly talk about screen widths in device-specific categories like <em>mobile</em>, <em>tablet</em>, and <em>desktop</em>. In reality, I still get to see my fair share of static Photoshop layouts and, to be honest, breaking up our static designs into components and modules in Sketch may be a step in the right direction but it doesn’t necessarily make our designs less static. To some degree, we only switched one static design tool for another. To some degree, Sketch is a liar, too. </p>
<p>We are still drawing pictures of websites  – although, as Paul Robert Lloyd noted, <a href="https://alistapart.com/article/the-web-aesthetic">the true web aesthetic is hardly visual at all</a>.
We are still tackling a flexible medium with the static tools and linear waterfall processes of the past, that can’t represent the inherent nature of the Webs ingredients because we are always creating static abstractions of the final medium. This leads to tedious, inefficient, and highly ineffective tasks, wrong features being built, and most importantly: because we spend most of our time doing the wrong things, the quality of the experiences we offer our users suffers. So it is about time for us to change that.</p>

																												
																																	<h2>A Material to Build With</h2>
<p>At <a href="https://www.webstock.org.nz/">Webstock</a> 2015, <a href="https://frankchimero.com">Frank Chimero</a> gave <a href="https://vimeo.com/122880890">an outstanding talk in which he discussed the true nature of the web</a> – he called it <em>The Web’s Grain</em> – and suggested that if we want to come up with appropriate design solutions for today&#039;s Web, we need to recognize the things that are implicit to the medium and work with them accordingly. And he asked:</p>

																												
																																		<figure class="quote">
							<blockquote><p>What would hap­pen if we stopped treat­ing the Web like a&nbsp;blank can­vas to paint on, and start­ed treat­ing it like a&nbsp;mate­r­i­al to build&nbsp;with?</p>
</blockquote>
												</figure>
																
																																	<p>If we look at the Web as a material or even as a multitude of different materials to build with, using tools like Photoshop that ignore fundamental attributes of those materials – like interactivity or movement – suddenly appears even more inappropriate. At the same time, finding ways to appropriately build things out of those materials becomes an imperative. But how can we approach this? How can we find tools and processes that let us work with the Web as a material? To answer this question it is worth looking at the history of some disciplines that have always been working with materials.</p>
<p>In architecture and industrial design, but also in engineering, materiality has always been a crucial element. Building for the Web combines properties from all of those disciplines, but maybe we missed to realize and consider the materiality of the Web because of its virtual nature, because it lacks physicality. At least, you can’t feel the weight of a website or smell it (yet).</p>
<p>In architecture and industrial design, there exist the concept of material honesty. Material honesty means that a material should be used in accordance with its true nature and its properties and that those properties should influence the form the material is used for. The origins of this idea can be traced back to the <a href="https://www.nytimes.com/2016/08/14/travel/bauhaus-germany-art-design.html">Bauhaus</a>, the German art and design school that laid the foundation of modernist industrial design and architecture. The Bauhaus was founded with the objective of finding a new aesthetic that was appropriate to the standardized production methods of the industrial age. In contrast to the Art Deco movement, the Bauhaus wanted to forgo the romanticizing, ornamental decoration of industrially produced objects. In his ‘Principles of Bauhaus Production’, architect and Bauhaus founder Walter Gropius wrote:</p>

																												
																																		<figure class="quote">
							<blockquote><p>An object is defined by its nature. In order, then, to design it to func­tion cor­rect­ly – a&nbsp;con­tain­er, a&nbsp;chair, or a&nbsp;house – one must first of all study its nature: for it must serve its pur­pose per­fect­ly, that is, it must ful­fill its func­tion use­ful­ly, be durable, eco­nom­i­cal, and <span class="push-single"></span>​<span class="pull-single">‘</span>beau­ti­ful.’</p>
</blockquote>
												</figure>
																
																																	<p>Consequently, material studies were a central element of the Bauhaus teachings. Timeless and for their time revolutionary designs like Marcel Breuer’s “Wassily Chair” or the Bauhaus Buildings itself, by Walter Gropius, combined materials in a new, materially honest way: Instead of hiding materials like steel and concrete those materials defined character, form, and function of the designed objects.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 129.42708333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/bauhaus-dessau-gropius.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/bauhaus-dessau-gropius.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/bauhaus-dessau-gropius.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/bauhaus-dessau-gropius.jpg" alt="Bauhaus Dessau Gropius" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>The technical construction of the workshop building of the Bauhaus Building (1925-1926), Dessau by Walter Gropius, represented the latest technological development of the time, combining a skeleton of reinforced concrete with innovative new materials such as curtain wall glass facades. <em>© Lucia Moholy Estate/Artists Rights Society (ARS), New York/VG Bild-Kunst, Bonn, <a href="https://www.harvardartmuseums.org/art/174941">Harvard Art Museums/Busch-Reisinger Museum, Gift of Ise Gropius</a></em></p>

								</figcaption>
															</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 89.583333333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/wassily-chair-breuer.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/wassily-chair-breuer.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/wassily-chair-breuer.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/wassily-chair-breuer.jpg" alt="Wassily Chair Breuer" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>Former Bauhaus student Marcel Breuer’s Club Chair (B3) a.k.a. “Wassily Chair”: The first version of this chair was designed in 1925. It combined Eisengarn (iron yarn) fabric and tubular steel, which Breuer had begun to explore as a material, inspired by the curved handlebars of his bicycle.
<em><a href="https://www.harvardartmuseums.org/art/225909">Harvard Art Museums / Busch-Reisinger Museum, anonymous gift</a></em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>The guiding principle of finding a materially honest form and function is one of the major legacies of the Bauhaus. Many designers and architects were deeply influenced by the ideas of the Bauhaus, for example, <a href="https://en.wikipedia.org/wiki/Charles_and_Ray_Eames">Charles and Ray Eames</a>. For them too, selecting and working with the right materials and taking their qualities into account was pivotal to designing objects like the Eames Plastic Armchair that masterfully combined molded wood, aluminum, steel, and high-performance plastics, using each material to its full potential. In the Eames workshop, the couple experimented with different materials like molded wood, for which they used <a href="http://www.eamesoffice.com/the-work/kazam-machine/">a machine they had crafted to pressure-treat wood</a>. The resulting prototypes were honest and <a href="http://www.eamesoffice.com/the-work/molded-plywood-chair-prototypes/">pure expressions of the molding process</a>, not upholstered and straightforward. But Charles and Ray Eames also considered another aspect of product design, that is, that eventually all products are used by humans and the usefulness of a product also highly depends on the human factor. This is why they built prototypes like <a href="http://www.eamesoffice.com/the-work/adjustable-chair-design-tool/">an adjustable chair design tool</a> to understand how people sit. Charles Eames: “We’ve always been aware of not even attempting to solve the problem of how people <em>should</em> sit, but of rather arbitrarily accepting the way people <em>do</em> sit and of operating within that framework.”</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/eames-molded-plywood-lounge-chair.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/eames-molded-plywood-lounge-chair.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/eames-molded-plywood-lounge-chair.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/eames-molded-plywood-lounge-chair.jpg" alt="Eames Molded Plywood Lounge Chair" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption left">
								<p>The Eames Molded Plywood Lounge Chair evolved through several prototypes from a one-piece chair into a chair made of two separate but related organic forms as pure expressions of the molding process. <em>© Derek Bruff via <a href="https://flic.kr/p/VX5rah">Flickr</a>, edited</em></p>

								</figcaption>
															</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 129.42708333333%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/eames-plastic-armchair-RAR.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/eames-plastic-armchair-RAR.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/eames-plastic-armchair-RAR.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/eames-plastic-armchair-RAR.jpg" alt="Eames Plastic Armchair Rar" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p>The Eames Plastic Armchair RAR uses each of its materials purposefully: Flexible yet stable plastic for the seat shell, strong and stiff steel for the base, and wooden runners for comfortable rocking on wooden floors or carpets. <em>© Vitra <a href="www.vitra.com">www.vitra.com</a></em></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>So to design resilient and adaptable systems in accordance with the true nature of the Web, we should do the same: We should explore the materials of the Web to work out their characteristics which then shape the design patterns of our system, while always considering the usability of our solutions. For physical products, certain technical and aesthetic qualities like structure, surface, flexibility, or durability characterize the nature of a material. For digital products, similar qualities can be explored: How flexible is a solution? How robust is it? How well does a solution work in different contexts? How much interactivity does it have? Does it allow growth? How performant is a certain framework, how flexible a CSS methodology and so on. To assess all those qualities we need a tool that is just as approachable, just as flexible, and just as extendable as the Web itself.</p>
<p>This tool is prototyping.</p>

																												
																																	<h2>A Prototyping Mindset</h2>
<p>All design is the result of a series of decisions. Along the way, all of those decisions influence how the result will look like. And so, depending on which paths we decide to take, there are endless possible futures. Many of those decisions can only be made thoroughly when you have arrived at the point where the decision has to be made. If you try to plan beforehand, you run the risk of following the wrong strategy and ultimately building the wrong product. Neither a linear waterfall process nor static visual designs are suited to reveal the true cost and effort it takes to build something for real, whether a certain feature is really what your users need, or if an implementation will work in production. So you need to work iteratively, being flexible enough to change course if a road proves to be the wrong one and being there when a feature evolves that needs more attention.</p>

																												
																																	<p>Prototyping supports you in making informed decisions in iterative workflows. It allows you to explore the characteristics of materials, quickly combine them into new constellations, and come up with something original. In this way, prototyping actively supports the generative and constructive nature of design. It lets you validate your assumptions and test ideas and new solution approaches early and in different contexts so <a href="https://m.signalvnoise.com/running-in-circles-aae73d79ce19">that you know what will work and what you are building</a>. Prototyping is a tool and a process, a way of working. But most importantly, prototyping is a way of thinking, a mindset.</p>
<p>A prototyping mindset means that you include prototypes in every phase of your process. This also implies that you understand prototyping as the flexible tool it really is. When someone mentions prototyping, many people either think of interactive wireframes or rapid prototyping techniques. But this definition is far too narrow. Prototyping is much more. A prototype can be anything: A quick sketch, a short animation, a markdown file outlining a structure, or an interactive HTML application. Anytime you start to explore a problem, begin to try something out, and start to <a href="https://articles.uie.com/design_rendering_intent/">render an intent</a> you are basically building a prototype. It is not the form of the prototype that counts, or how fast you build it, or if it is a deliverable – it is what you want to achieve with it and what you learn from it.</p>
<p>A prototyping mindset also means embracing the complexity of the Web and getting comfortable with uncertainty. It means starting with the most basic solution to a problem and then exploring and iterating from there, using real materials like code and real devices as early as possible. </p>
<p>A prototyping mindset means cultivating transparency and showing your work early to your team, to users – and to clients as well, <a href="https://www.ideo.com/blog/why-you-should-start-prototyping-right-now">which can spark excited conversations</a>. A prototyping mindset also means valuing learning over fast results. And it means involving everyone from the beginning and closely working together as a team to dissolve the separation of linear workflows.</p>
<p>Moving away from static processes doesn’t come for free and requires a lot of patience and effort. Convincing colleagues and clients to use a prototyping-driven workflow can be tedious. It implies that people let go of old habits and get comfortable with a process that seemingly offers less control. But in the end, introducing iterative, flexible workflows makes the difference between average and great digital solutions. </p>
<p>Prototyping is an essential, powerful element of those iterative workflows and especially prototyping with code will enable you to develop solutions that matter, solutions that are appropriate, robust, performant, accessible, and secure. Honest to the nature of the Web and thus honest to your users. But most importantly: It will feel like you are building the right thing. Finally. So if you haven’t started prototyping yet, do it today.</p>
<p>–</p>
<p><em>Header artwork based on <a href="https://www.flickr.com/photos/abeles/20898853714/in/album-72157656458184554/">a photo of a rare, clear case prototype of the Macintosh SE by Jim Abeles</a></em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Write Your Media Queries in Pixels, Not EMs</title>
                <link>https://matthiasott.com/notes/write-your-media-queries-in-pixels-not-ems</link>
                <pubDate>Fri, 17 Nov 2017 00:00:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/write-your-media-queries-in-pixels-not-ems</guid>
                <description><![CDATA[
                    
																												<strong>Edit on 09-04-2022: This article is quite old and I have since realized that the conclusion I draw in the article was wrong. The upsides of using EMs as the unit in your media queries, especially in terms of accessibility, far outweigh the one downside I described in the post. So please use relative units for all media queries going forward!</strong>
<br>
<br>
<hr>
<br>
																						
																																	
																												
																																	<p>In all of my latest projects, I was using em units for writing media queries, just like so:</p>

																												
																												<pre><code class="language-scss">@media (min-width: 30em) {
	/* CSS for viewports >= 480px */
}
</code></pre>
																						
																																	<p>I had switched to em units some time ago because writing pixel-based media queries seemed to be the inferior solution. At first, because browsers used to handle zooming really bad, like Lyza Gardner had shown in 2012 in her article <a href="https://cloudfour.com/thinks/the-ems-have-it-proportional-media-queries-ftw/">The EMs have it: Proportional Media Queries FTW!</a>. And although the zooming behavior has since been made consistent, another article made a strong case against using pixels for media queries: <a href="https://zellwk.com/blog/media-query-units/">Zell Liew showed in a couple of Codepen experiments</a> that although most browsers handled pixel-based media consistently, Safari was the party pooper that still didn’t handle pixel-based media queries properly.</p>
<p>But yesterday, I stumbled upon <a href="https://alastairc.ac/2017/11/is-text-sizing-dead/">an article by Alastair Campbell‏</a> in which he states that the advice to not use pixels in media queries should be considered a myth. I got curious: Maybe the Safari bug from back then had been resolved in the meantime and using pixel-based media queries was safe now? </p>
<p>So I looked at Zell Liew&#039;s article again and tried to find the Codepen he had used. I could not find it but found one further down in the comments. It was by <a href="https://disqus.com/by/disqus_e2YsMTqFpT/">a user named Ola who repeatedly pointed out</a> that Safari was indeed handling media queries in the wrong way – but contrary to what the article suggested, not the ones that used pixels were problematic, but the em and rem media queries.</p>
<p>So I looked into it and it indeed seems like he is right. <strong>Safari handles pixel-based media queries correctly when the user zooms.</strong> If, for example, the zoom level is at 125 %, a <code>min-width:400px</code> media query correctly “fires” at a width of 500 device pixels. </p>
<p>You can try it out yourself. Open <a href="https://codepen.io/matthiasott/pen/GOMqaM/">this Codepen</a> in Safari and change the zoom level to 125 %. Then change the width of the browser window until the media queries kick in. And while the pixel-based behaves correctly, the em-based media query is triggered at a width of 625 device pixels. Obviously, Safari multiplies the font-size as well as the value in the media query by 1.25:</p>
<p><em>16px </em> 1.25 <em> 25 </em> 1.25 = 625px*</p>
<p>Alternatively, look at this test page with Safari and zoom in/out (and compare it to any other browser): <a href="http://output.jsbin.com/ubuvay/4">http://output.jsbin.com/ubuvay/4</a>. There&#039;s also a <a href="https://bugs.webkit.org/show_bug.cgi?id=41063">related Webkit bug report (41063)</a>. </p>
<p>So until this issue gets resolved, it seems like we have to change the recommendation regarding media queries once more: <strong>For the most consistent cross-browser behavior, write your media queries in pixels, not ems.</strong></p>
<p>What do you think? Am I missing something here, maybe? And how do you write your media queries? If you write an answer and link back to this article, you can add it via the form below and it will appear in the Webmentions section. But you can also write via Twitter or email, of course. I&#039;d be very happy to hear your opinion.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Colorful Code: Adding Syntax Highlighting to My Site</title>
                <link>https://matthiasott.com/notes/colorful-code-adding-syntax-highlighting</link>
                <pubDate>Mon, 07 Aug 2017 01:07:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/colorful-code-adding-syntax-highlighting</guid>
                <description><![CDATA[
                    
																																	<p>In all of the posts I published on my site so far, I’ve never shared a single line of code. But since this is going to change with the next article on pattern libraries, I spent a little time over the weekend implementing syntax highlighting for my posts. I settled on <a href="http://lea.verou.me/">Lea Verou’s</a> <a href="http://prismjs.com/">Prism</a>, a lightweight, extensible syntax highlighter for the Web. It is used by sites like Smashing Magazine, A List Apart, or CSS-Tricks and it is dead simple to use. Just include prism.js and wrap your code in &lt;pre&gt;&lt;code&gt; tags and Prism does the rest for you. The styling is done through CSS, so it is up to you if you want use one of the many ready-made themes or prefer to write your own styles. I decided on the latter as it promised to be fun and I wanted to see how theming is done for syntax highlighting. </p>
<p>The resulting theme is loosely based on GitHub’s styles so that it feels familiar, but it aims to be a little bit more intensively colored without being too colorful because the main goal of syntax highlighting is to improve the readability of code. So below you will find some examples of Prism in action. Feel free to write me if you have any remarks or questions.</p>

																												
																												<pre><code class="language-handlebars">&lt;!-- HTML / Handlebars --&gt;

&lt;form class=&quot;webmention-form&quot; method=&quot;post&quot; action=&quot;/{{ craft.webmention.settings.endpointSlug }}&quot;&gt;
	&lt;label for=&quot;webmention-source&quot;&gt;Have you published a response to this? Send me a &lt;a href=&quot;http://indiewebcamp.com/webmention&quot;&gt;webmention&lt;/a&gt; by letting me know the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;.&lt;/label&gt;
	&lt;input type=&quot;url&quot; name=&quot;source&quot; id=&quot;webmention-source&quot; placeholder=&quot;URL / permalink of your article&quot;&gt;
	&lt;input type=&quot;hidden&quot; name=&quot;target&quot; value=&quot;{{url}}&quot;&gt;
	&lt;button type=&quot;submit&quot;&gt;Ping!&lt;/button&gt;
&lt;/form&gt;</code></pre>
																						
																												<pre><code class="language-scss">/* CSS / Sass */

// Variable
$primary-color: hotpink;

// Mixin
@mixin border-radius($radius) {
    -webkit-border-radius: $radius;
    -moz-border-radius: $radius;
    border-radius: $radius;
}

.my-element {
    color: $primary-color;
    width: 100%;
    overflow: hidden;
}

.my-other-element + .my-element:first-child {
    @include border-radius(5px);
}
</code></pre>
																						
																												<pre><code class="language-js">/* JavaScript */

/* MIT license http://www.opensource.org/licenses/mit-license.php/
 * @author Lea Verou http://lea.verou.me
 */

var Prism = (function(){

// Private helper vars
var lang = /\blang(?:uage)?-(\w+)\b/i;
var uniqueId = 0;

var _ = _self.Prism = {
	manual: _self.Prism && _self.Prism.manual,
	util: {
		encode: function (tokens) {
			if (tokens instanceof Token) {
				return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
			} else if (_.util.type(tokens) === 'Array') {
				return tokens.map(_.util.encode);
			} else {
				return tokens.replace(/&/g, '&amp;').replace(/<\/g, '&lt;').replace(/\u00a0/g, ' ');
			}
		},

		type: function (o) {
			return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
		},

		objId: function (obj) {
			if (!obj['__id']) {
				Object.defineProperty(obj, '__id', { value: ++uniqueId });
			}
			return obj['__id'];
		},

		// Deep clone a language definition (e.g. to extend it)
		clone: function (o) {
			var type = _.util.type(o);

			switch (type) {
				case 'Object':
					var clone = {};

					for (var key in o) {
						if (o.hasOwnProperty(key)) {
							clone[key] = _.util.clone(o[key]);
						}
					}

					return clone;

				case 'Array':
					// Check for existence for IE8
					return o.map && o.map(function(v) { return _.util.clone(v); });
			}

			return o;
		}
	}
}
</code></pre>
																						
																												<pre><code class="language-php">/* PHP */

class WebmentionPlugin extends BasePlugin
{   
    function init() 
    {
        // Require dependencies (composer)
        require CRAFT_PLUGINS_PATH.'/webmention/vendor/autoload.php';
        craft()->on('entries.saveEntry', function(Event $event) {
            craft()->webmention->onSaveEntry($event);
        });
        # sections.onDeleteSection
        craft()->on('sections.onDeleteSection', function(Event $event) {
            craft()->webmention->syncEntryTypes();
        });
        # sections.onSaveSection
        craft()->on('sections.onSaveSection', function(Event $event) {
            craft()->webmention->syncEntryTypes();
        });
        # sections.onSaveEntryType
        craft()->on('sections.onSaveEntryType', function(Event $event) {
            craft()->webmention->syncEntryTypes();
        });
    }
    public function getName()
    {
         return Craft::t('Webmention');
    }
    public function getVersion()
    {
        return '0.3.1';
    }
}
</code></pre>
																						            	]]></description>
            </item>
                    <item>
                <title>Resolving CSS Gridlock</title>
                <link>https://matthiasott.com/articles/resolving-css-gridlock</link>
                <pubDate>Sun, 30 Jul 2017 18:02:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/resolving-css-gridlock</guid>
                <description><![CDATA[
                    
																																	<p>CSS Grid is here and I bet you also heard that it&#039;s a game changer that could once more completely change the way we approach web layout.</p>
<h2>A New Kid on the Block</h2>
<p>The <a href="https://www.w3.org/TR/css-grid-1/">new layout module</a> is a great achievement for all people involved in the process and also the fast implementation by browser makers is worth mentioning: It is the first time that such a significant new module has found its way into all major browsers within only a few months time. So a lot of effort went into CSS Grid until it finally became a reality. Rachel Andrew and Jen Simmons, for example, were not only actively involved in the standardization process but also raised awareness within the community with numerous talks and projects like <a href="https://gridbyexample.com/">Grid by Example</a> or <a href="http://labs.jensimmons.com/">The Experimental Layout Lab</a>.</p>
<p>Indeed, CSS Grid completely changes the way we approach layout, both for developers and designers. Whereas before we had to use hacky CSS to carve our layouts out of a resistive document flow, we can now act more freely and place elements in a predefined grid without using a separate grid system – as Rachel Andrew points out, <a href="https://rachelandrew.co.uk/archives/2017/07/01/you-do-not-need-a-css-grid-based-grid-system">CSS Grid already is a grid system</a>. At the same time, CSS Grid acknowledges the fluid nature of the medium and allows for brilliant layout solutions like <a href="https://cloudfour.com/thinks/breaking-out-with-css-grid-layout/">this technique by Tyler Sticka</a>, where he creates a fluid responsive layout container with only a few lines of CSS. Or this:</p>

																												
																												<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">A fully responsive grid with no media queries in three lines of code is actually pretty awesome: <a href="https://t.co/9zdV2t0CBe">https://t.co/9zdV2t0CBe</a> <a href="https://t.co/ju2H3deJhx">pic.twitter.com/ju2H3deJhx</a></p>&mdash; Stefan Baumgartner (@ddprrt) <a href="https://twitter.com/ddprrt/status/863014813684957184">May 12, 2017</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>This is amazing stuff! And we can expect more of such smart layout tricks once people start using CSS Grid in production. And here&#039;s the good news: you can use it <em>TODAY</em>!</p>
<p>But wait a minute.</p>
<h2>Wicked or Weakness?</h2>
<p>For all the well-justified euphoria, there is still one important thing to consider when using CSS Grid today: Although all major browsers now support CSS Grid (with <a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/status/gridupdate/">Microsoft Edge coming soon</a>), the overall support naturally isn&#039;t very good yet. <a href="http://caniuse.com/#feat=css-grid">Caniuse.com puts browser support for Grid at 69.3 %</a> (prefixed) and depending on the distribution of browser shares in your audience, it could be even lower. So if we want to use Grid in production, we will definitely have to provide a fallback for older browsers. One often-heard suggestion to solve this is to use <a href="https://www.smashingmagazine.com/2017/06/building-production-ready-css-grid-layout/">a really simple float or Flexbox layout as a fallback</a>. The argument: Instead of trying to make a design look the same across all browsers, let&#039;s use CSS Grid to its full potential and provide a minimum viable layout that still cuts the mustard (read: displays content) for browsers that don&#039;t support it yet.</p>
<p>The basic approach of <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">applying the principle of progressive enhancement</a> – or, like in this case, graceful degradation – is absolutely the right way to go, but one huge problem remains: If we definitely need a layout that works without grid, a super simple one column layout often just won&#039;t be sufficient. Neither for the client who would need to be fine with the idea that a large percentage of users get to see a minimum viable design nor for the users themselves who will be left with a subpar solution. So we will have to put some more effort into the fallback layout and before we know it, we are effectively building two layouts after all. Even worse: We would also have to <em>think</em> twice how a certain layout could be done in CSS because the layout techniques differ so much. And if using floats and Flexbox will also still work in newest browsers why are we building a layout with CSS Grid anyway? </p>
<p>Rachel Andrew addressed exactly this question in her recent, excellent post “<a href="https://rachelandrew.co.uk/archives/2017/07/04/is-it-really-safe-to-start-using-css-grid-layout/">Is it really safe to start using CSS Grid Layout?</a>”. She answered it aptly:</p>

																												
																																		<figure class="quote">
							<blockquote><p>It isn’t your fault, but it is your prob­lem. […] It is the way of work­ing on the Web that we deal with things not hav­ing com­plete sup­port across the board. This is the nature of the indus­try you work in. Your job is to nav­i­gate the inevitable tech­nol­o­gy com­pro­mis­es in every project.</p>
</blockquote>
												<figcaption>Rachel Andrew </figcaption>
										</figure>
																
																																	<p>I couldn’t agree more: Exploring and using newest technologies, which requires that we cope with incomplete support, is crucial to successful projects and has always been a huge part of what makes the Web great. But still: We have to be careful that we don&#039;t set our expectations regarding an immediate adoption of CSS Grid too high. Just because people <em>can</em> use CSS Grid theoretically doesn’t mean they <em>will</em> actually use it in practice, especially if this involves writing layout code twice and with an already established method out there. <a href="http://bigthink.com/words-of-wisdom/grace-hopper-humans-are-allergic-to-change">Humans are allergic to change</a>. So if we really want CSS Grid to succeed outside of the closed space of innovators and evangelists, the story has to be not only “Grid is so awesome, use it now!” but also: “Here&#039;s how to use CSS Grid in production in a responsible way – it&#039;s possible.”</p>
<h2>So What is This Thing Called CSS Grid?</h2>
<p>If we don’t want to use Grid just for Grid’s sake, we have to understand what Grid really is and start asking the right questions like: </p>
<ul>
<li>What problems does Grid solve that float-based solutions can&#039;t? </li>
<li>How can Grid be used responsibly to really enhance a design? </li>
<li>And ultimately: how does the use of Grid benefit the user?</li>
</ul>
<p>To find answers to those questions, we – both designers and developers – will now need to learn about the strengths and weaknesses of CSS Grid. We need to learn how to play this new instrument because the shift really is this fundamental: At the moment it seems we are all designing with the same 12 column grid – if we are reckless, we try 16 columns. CSS Grid will allow us to resolve this gridlock, once we fully understand the radicality of the new flexibility it brings. Grid allows for greater flexibility for developers, because defining custom grids will be as easy as setting a font-size. And it gives greater flexibility to designers: It could allow us to reach the graphical richness we see in editorial design and graphic design in general.</p>
<h2>Prototyping Our Way out of Gridlock</h2>
<p>So the shift in thinking and the realization of the possibilities Grid offers has to happen on both sides of the spectrum, in design and development. Naturally, this is a hard thing to do when you still stick to the old waterfall workflow that many agencies still haven&#039;t left behind. To fully leverage grids potential, a frequent exchange between the disciplines is needed, ideally in a multi-disciplinary team that consists of UX and visual designers, front-end engineers, and developers. It&#039;s another manifestation of the huge shift we see in contemporary web design: the decision making largely happens in development, at the end of the good old waterfall and working with code is crucial for finding appropriate and outstanding design solutions.</p>
<p>That&#039;s why prototyping has become an essential tool for teams building modular responsive web designs today. It allows for testing ideas and hypotheses with real code even at early project stages, which is invaluable in crafting responsive designs. Prototyping also reveals the weak spots of a design and by that opens up new possibilities for innovative solutions. So get your team together, prototype, try out what CSS Grid can do that conventional layout methods can&#039;t and how you can use it effectively in your project. Then use Grid specifically for that purpose. </p>
<h2>CSS Grid in Modular Systems</h2>
<p>Whether you go full throttle with CSS Grid or choose a moderate approach and use it only sparingly as an enhancement totally depends on your project setting and requirements. But following a modular design approach can facilitate the adoption of new web technologies like Grid. Splitting up your interface into components – for example with a pattern library tool like <a href="http://fractal.build/">Fractal</a> – will make it easier to use Grid, because you can apply it in an isolated scope. This makes the code more manageable and also allows you to easily optimize single components for older browsers. And most importantly, you can try out new layout solutions quickly without breaking the whole system. This makes a pattern library also a great tool for prototyping with new technologies, but that&#039;s another story.</p>
<h2>Summary</h2>
<p>Dealing with incomplete support has always been one of the challenges of creating things on the Web. Not so long ago, we had to be careful with using structural pseudo-classes like nth-child, the calc() function, or even display: inline-block. With CSS Grid it might be a little bit more difficult to find a way to use it responsibly because it is such a large module that fundamentally changes the way we do layout on the Web. To make the best use of it, we, therefore, need to learn how to play this new instrument and prototyping in code can be vital to explore the possibilities that CSS Grid offers. Until we have broader browser support it can also be a good strategy to use Grid only as an enhancement and on the component level. But whatever way you decide to explore CSS Grid, the most important thing is: Start using it now and help resolve CSS gridlock.</p>
<h2>Further resources</h2>
<p><a href="https://css-tricks.com/snippets/css/complete-guide-grid/">CSS Tricks&#039; Complete Guide to CSS Grid</a></p>
<p><a href="https://www.youtube.com/watch?v=tjHOLtouElA">Rachel Andrew: Start Using CSS Grid Layouts Today (Video)</a></p>
<p><a href="http://shoptalkshow.com/episodes/262-css-grid-rachel-andrew-jen-simmons/">Shop Talk Show 262 – CSS Grid with Rachel Andrew and Jen Simmons</a></p>
<p><a href="http://cssgridgarden.com">CSS Grid Garden – A game for learning CSS Grid layout</a></p>
<p><a href="https://fettblog.eu/grid-concepts/">Grid layout, grid layout everywhere!, by Stefan Baumgartner (@ddprrt)</a></p>
<p><a href="https://www.mozilla.org/en-US/developer/css-grid/">CSS Grid and Grid Inspector in Firefox</a></p>
<p><a href="https://gridbyexample.com/">Rachel Andrew&#039;s Grid by Example</a></p>
<p><a href="http://labs.jensimmons.com">The Experimental Layout Lab of Jen Simmons</a></p>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_Layout">Realizing Common Layouts Using CSS Grid Layout</a></p>
<p><a href="https://alistapart.com/article/practical-grid">Practical CSS Grid: Adding Grid to an Existing Design, by Eric Meyer</a></p>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">CSS Grid Layout and Progressive Enhancement</a></p>
<p><a href="https://css-tricks.com/collection-interesting-facts-css-grid-layout/">A Collection of Interesting Facts about CSS Grid Layout, by Manuel Matuzović</a></p>
<p><a href="https://www.smashingmagazine.com/2017/07/enhancing-css-layout-floats-flexbox-grid/">Enhancing CSS Layout: From Floats To Flexbox To Grid, also by Manuel Matuzović</a></p>
<p>–</p>
<p><em>The header image is based on a <a href="https://flic.kr/p/5dipV">photograph by Thomas Hawk</a> licensed under <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a>, slightly cropped and edited.</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>We Are Team Internet. We Need to Save #NetNeutrality.</title>
                <link>https://matthiasott.com/notes/we-are-team-internet-we-need-to-save-net-neutrality</link>
                <pubDate>Wed, 12 Jul 2017 10:27:44 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/we-are-team-internet-we-need-to-save-net-neutrality</guid>
                <description><![CDATA[
                    
																																	<p>Once more, <a href="https://www.theguardian.com/technology/2017/may/18/net-neutrality-vote-fcc-open-internet">net neutrality is under attack</a>. This founding principle of the open web guarantees that all data packages are treated equally – regardless of content or the amount of money you pay your service provider. Net neutrality keeps the internet open and uncensored and by that fosters freedom of speech and an exchange of ideas.</p>
<p>Today, 12 July, is the <a href="https://www.battleforthenet.com/july12/">internet-wide day of action</a> to save net neutrality. And we all have a voice and a responsibility to stop this threat to the open web.</p>
<p>So join the protest by <a href="https://github.com/fightforthefuture/battleforthenet-widget">adding an alert to your site</a>, <a href="https://twibbon.com/Support/save-net-neutrality-3#">change your avatar</a>, spread the word on social media, or do what you do best to fight for net neutrality. To learn more, visit <a href="https://www.battleforthenet.com/">battleforthenet.com</a> or read more about <a href="https://www.theguardian.com/technology/2017/jul/11/what-is-net-neutrality-threat-trump-administration">why the 12 July protest to protect net neutrality matters</a>.</p>
<p>We need to stop this together. We are team internet.</p>
<p>–</p>
<p>Thanks to <a href="https://www.webrocker.de/">@webrocker</a> <a href="https://www.webrocker.de/2017/07/12/we-are-team-internet/">for the reminder</a>!</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Off the Beaten Track</title>
                <link>https://matthiasott.com/articles/off-the-beaten-track</link>
                <pubDate>Sun, 09 Jul 2017 11:08:48 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/off-the-beaten-track</guid>
                <description><![CDATA[
                    
																																	<p>When we design and build things for the web, it’s tempting to fall into the trap of doing things the We-have-always-done-it-that-way™. And this doesn&#039;t necessarily have to be our fault alone. We are all part of project teams and work environments that shape our perception of what viable solutions are and which achievements we are satisfied with. Also, tilting at windmills to change this can be tedious and unrewarding at times. But doing no more than what is absolutely necessary just isn’t necessarily the same as doing good work and the rapid rate of change on the web demands that we continuously reexamine our habits and challenge our assumptions. </p>
<p>So it is important to remember that leaving your comfort zone and trying out new ways of doing things is vitally important. There are many ways to broaden your horizons if you are looking for inspiration: You could do some research, read a book or an article, or visit a new city. But one of the best ways surely is the experience of a conference, because it provides you with many new concepts and ideas. Moreover, ideas that were floating around in your head for a while are affirmed.</p>
<p>So let’s look at three basic ideas on how you could depart from the beaten track that also surfaced at <a href="https://beyondtellerrand.com/events/duesseldorf-2017/speakers">beyond tellerrand</a> Düsseldorf, Marc Thiele’s pleasant and inspiring conference that always excels at bringing together a wide variety of speakers.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Espen-Brunborg-the-secret-life-of-comedy.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Espen-Brunborg-the-secret-life-of-comedy.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Espen-Brunborg-the-secret-life-of-comedy.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Espen-Brunborg-the-secret-life-of-comedy.jpg" alt="Espen Brunborg The Secret Life Of Comedy" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Rediscovering Originality</h2>
<p>There are many voices critizising the trend towards standardization in web design. “All websites look the same”, is an <a href="https://duckduckgo.com/?q=All+websites+look+the+same&amp;amp;ia=web">often-heard claim</a> these days. And there clearly is a trend towards standardizing not only user experiences, but also the process of designing those experiences. While this standardization surely has positive effects, it also leads to an obvious lack of originality.</p>
<p>To <a href="https://twitter.com/ebrunborg">Espen Brunborg</a>, creative director and co-founder of the web design company <a href="https://www.primate.co.uk/">Primate</a>, telling compelling stories on the web comprises two key aspects. For one, good design meets the users’ expectations. Espen compares this to music: Just like rhythm provides a reliable structure and leads to familiarity, doing your homework regarding the information architecture, element hierarchy, typographical rhythm, all the UI patterns, and also performance and accessibility will make your site easier and more efficient to use.</p>
<p>But there is another side to the coin, which is often neglected these days yet is so powerful: comedy. While music meets our expectations, comedy breaks them. This is when surprise, emotion, and joy of use occur. It is what makes your site stand out and gives it personality – and in the end also makes it more successful.</p>
<p>So Espen encourages us all to make “the good shit”. Great work that does meet user expectations with regards to consistency, usability, and performance, but also deliberately breaks expectations to become more memorable and surprising, and to tell stories that create a true connection with our audience.</p>
<p><a href="https://vimeo.com/217697296">Watch Espen&#039;s talk on Vimeo.</a></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/Sarah-Drasner-storytelling-in-javascript.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/Sarah-Drasner-storytelling-in-javascript.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/Sarah-Drasner-storytelling-in-javascript.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/Sarah-Drasner-storytelling-in-javascript.jpg" alt="Sarah Drasner Storytelling In Javascript" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Storytelling with Code</h2>
<p>Telling compelling stories with personality was also a central theme of <a href="https://sarahdrasnerdesign.com/">Sarah Drasner&#039;s</a> talk at beyond tellerrand. Sarah is a designer, developer, consultant, and speaker who wrote <a href="http://shop.oreilly.com/product/0636920045335.do">a highly recommended book on SVG animations</a> and also <a href="https://css-tricks.com/author/sdrasner/">regularly writes for CSS-Tricks</a>. Her talk covered lots of useful insights and techniques for animating user interfaces effectively, but it was furthermore special in that it highlighted the immense power of animating directly with code. Code is Sarah’s tool of choice for creating animations and rightly so: Creating web animations with tools like AfterEffects or even Photoshop will always be a half-baked workaround and eventually also cost more because more effort has to be spent to achieve great results, especially if details get lost along the way from design to development.</p>
<p>Crafting meaningful, functional animations directly in the final output medium though, results in another way of thinking. Instead of just “adding some animation” to an interface, you start to think and work with animation in a more direct and precise way. Working directly with code allows for considering (device) performance as well as technical implications of front-end frameworks or certain animation libraries.</p>
<p>To create your stories directly in code, you will of course need either a designer and a developer in the same room working closely together or a – <em>drumroll</em> – designer who codes. You also might need to change the way you work, but it&#039;s not as hard as it sounds. We are not talking about production code here. When working with my students on HTML prototypes, many of them have never written a single line of HTML before. Yet even after one day, they manage to get their head around basic CSS animations. Add a little practice and you will drastically improve the quality of your user interfaces. You can start with little Codepen prototypes and also use tools like Framer or JavaScript libraries like Greensock – but jump into code as soon as possible to work directly with the material.</p>
<p><a href="https://vimeo.com/217698742">Sarah&#039;s talk is also on Vimeo.</a></p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/jeremy-keith-evaluating-technology_170530_001320.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/jeremy-keith-evaluating-technology_170530_001320.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/jeremy-keith-evaluating-technology_170530_001320.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/jeremy-keith-evaluating-technology_170530_001320.jpg" alt="Jeremy Keith Evaluating Technology" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Adopting New Technologies</h2>
<p>Trying out new things and by that constantly evolving your toolset and adjusting your workflow is eminently important, especially on the web, because it changes so fast. But humans are allergic to change and given <a href="https://matthiasott.com/articles/closing-the-gaps">all the endless possibilities</a> out there, it happens easily that we stick to the tried and true instead of risking to invest time and money into some new and unproven technology. And how could we possibly tell if a new technology is worth the effort of learning about it and incorporating it into our workflow? How can we evaluate technology?</p>
<p>This is the question that <a href="https://adactio.com/">Jeremy Keith</a> tried to answer in his talk that also was a little journey into the history of technology. He suggests: When evaluating a new technology, one of the most important questions is not „How well does it work?“ but rather „How well does it fail?“. Because even the most outlandish web technology is still safe to use if – and only if – a fallback is provided in the not so unlikely event of failure. By providing those fallbacks, a technology is not only more likely to be adopted by change-allergic humans but it also directly benefits users, because the product remains usable. And users should always come first when considering the use of a certain tool.</p>

																												
																																		<figure class="quote">
							<blockquote><p>In case of con­flict, con­sid­er users over authors over imple­men­tors over spec­i­fiers over the­o­ret­i­cal purity.</p>
</blockquote>
												<figcaption>The priority of constituencies, <cite>HTML Design Principles</cite> </figcaption>
										</figure>
																
																																	<p>Another question to ask yourself when considering the use of a tool is: What are the assumptions? All software is opinionated and was created to solve a very specific problem. But your problems might be completely different, so you will need to check if the assumptions baked into a certain tool match your own philosophy and the situation you are in. Otherwise, you will always work against the tool, not with it.</p>
<p><a href="https://vimeo.com/217697727">You can watch Jeremy&#039;s talk here.</a></p>

																												
																																	<h2>Leaving the beaten track</h2>
<p>As professionals we don&#039;t need to defend ourselves for using unconventional methods or new technologies. That&#039;s a huge part of making successful projects. Also, good design isn&#039;t about being right. It happens off the beaten track. Good design is about finding useful, accessible, memorable, entertaining, and appropriate solutions to real problems. Problems for which classical solutions often don&#039;t work anymore, because we are facing new realities everyday. Solving those problems demands that we leave the safe harbors of what seems to be true and trusted and learn to embrace the unknown. Only then will we make outstanding, meaningful ideas a reality.</p>
<p>–</p>
<p><em>Beyond tellerrand is a conference on design, development, creativity, and all things web. It is run by <a href="https://marcthiele.com/">Marc Thiele</a> twice a year in Düsseldorf (<a href="https://beyondtellerrand.com/blog/wrap-up-dus2017">coverage and wrap-up here</a>) and Berlin (<a href="https://beyondtellerrand.com/events/berlin-2017">06 – 08 Nov 2017, Admiralspalast</a>) and it is really worth a visit. You can find videos and transcripts of the talks as well as tickets for the event on <a href="https://beyondtellerrand.com/">the conference website</a>.</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Adding JSON Feed to My Craft CMS Site</title>
                <link>https://matthiasott.com/notes/adding-json-feed-to-my-craft-cms-site</link>
                <pubDate>Mon, 12 Jun 2017 14:59:03 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/adding-json-feed-to-my-craft-cms-site</guid>
                <description><![CDATA[
                    
																																	<p>Despite the proclaimed death of RSS I know a lot of people who still love to read their feeds on a daily basis. So feeds are definitely here to stay and providing your readers with different ways of consuming your content is also an important part of a website, especially if you consider yourself (and your site) part of the open web. </p>
<p>Recently, Manton Reece and Brent Simmons <a href="https://jsonfeed.org/2017/05/17/announcing_json_feed">announced an interesting new feed format</a> called <a href="https://jsonfeed.org/version/1">JSON Feed</a>. As its name implies, JSON Feed is similar to RSS or Atom, but it uses JSON as the format for syndication. This has some advantages over XML, for example that it is far easier to read and write. Manton and Brent also have the hope that the lightness, simplicity, and flexibility of JSON Feed will encourage people to develop for the open web. And JSON Feed indeed is not complicated at all. For an overview of the structure, have a look at <a href="https://jsonfeed.org/version/1">the spec</a>. There is a <a href="https://json-feed-viewer.herokuapp.com/">JSON Feed Viewer</a>, made by Maxime Vaillancourt, that showcases some feeds and is also great for testing your own feed, once it’s ready. Besides that, popular feed readers like <a href="http://blog.inoreader.com/2017/05/announcing-json-feed-support.html">Inoreader</a> or <a href="https://feedbin.com/blog/2017/05/22/feedbin-supports-json-feed/">Feedbin</a> already added support for JSON Feed.</p>
<p>So I decided to give it a go and implement JSON Feed on my own site, too. Just to get an idea of what’s possible, I first looked at some sites that already provide a JSON feed, e.g. the sites of <a href="https://daringfireball.net/feeds/json">John Gruber</a> (who also <a href="https://daringfireball.net/thetalkshow/2017/05/31/ep-192">talked with the co-authors of JSON Feed on his <em>The Talk Show</em> podcast</a>) and <a href="https://adactio.com/articles/feed.json">Jeremy Keith</a>.</p>
<p>After that, I evaluated different ways to easily provide the feed with Craft CMS, the content management system I use for my website. For one, you could simply output a frontend template under a route, for example “/articles/feed.json”. But I decided to use a more flexible solution: The <a href="https://github.com/craftcms/element-api">Element API plugin</a>. Element API is a powerful plugin vor Craft that makes it really easy to create a JSON API for your entries. You simply define an array of API endpoints in a single PHP file within your <em>craft/config</em> folder and the plugin will do the rest automatically for you. There is also <a href="https://github.com/craftcms/element-api#json-feed">a basic example of how you can set up a JSON Feed</a> with Element API, which is a good starting point.</p>
<p>With Element API, setting up a JSON Feed for my articles section turned out to be really easy. The only part that needed more care was to find the best way to pull out matrix blocks. I now simply <a href="https://craftcms.stackexchange.com/questions/13118/how-do-you-use-the-element-api-plugin-to-output-matrix-blocks-for-an-entry">loop through the blocks</a> and add the individual data to the response string. If you also need to parse markdown, the <a href="https://craftcms.com/classreference/helpers/StringHelper#parseMarkdown-detail">parseMarkdown() function of the StringHelper class</a> is really useful.</p>
<p>So you can now subscribe to my <a href="https://matthiasott.com/articles/feed.json"><strong>JSON feed for the articles section</strong></a> or have a look at it in the <a href="https://json-feed-viewer.herokuapp.com/feed?url=https%3A%2F%2Fmatthiasott.com%2Farticles%2Ffeed.json">JSON Feed Viewer</a>. If you have any feedback or encounter any problems, please let me know. Within the next days, I will also add feeds for the notes and links sections.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Going Indie. Step&amp;nbsp;2: Reclaiming Content</title>
                <link>https://matthiasott.com/articles/going-indie-reclaiming-content</link>
                <pubDate>Fri, 05 May 2017 00:47:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/going-indie-reclaiming-content</guid>
                <description><![CDATA[
                    
																																	<p><em>This is the second article of a two-part series on digital citizenship. <a href="https://matthiasott.com/articles/going-indie-securing-privacy">Part one was all about online privacy</a> and how to protect it, this second part focuses on how we can build and promote tools that enable an open, independent, and resilient web.</em></p>
<h2>“I need your clothes, your boots and your [data].”</h2>
<p>If you&#039;re being pessimistic (some even would say: realistic), the struggle of forces with the data economy and multi-billion dollar companies like Google and Facebook is already lost:</p>
<p>Quintillions of bytes of personal data are created every day on the internet and the larger part of this content is uploaded onto the servers of social media sites, publishing platforms, and cloud services like Facebook, YouTube, Instagram, Twitter, Medium, Snapchat, Dropbox, and many more. For most of those platforms, your content also provides the context for their ads, so they made sure it is as easy and convenient as possible to sign up and upload and create new content. But this convenience comes at a price: The very moment you hit ‘publish’ on one of those data silos, you give away control over your data. And it even goes far beyond that. Just to give you an example: Ever drafted a Facebook status message but then decided to delete it before publishing it? Maybe because you felt the content was too private to share with the network? What you might not know is that <a href="http://www.slate.com/articles/technology/future_tense/2013/12/facebook_self_censorship_what_happens_to_the_posts_you_don_t_publish.html">Facebook collected your keystrokes and saved your text anyway in the background</a>. Facebook then uses those drafted messages to analyze why users decide not to publish certain information. Besides that, you never know if your audience really will see your content, because Facebook heavily manipulates what users see in their timeline. We are willingly giving away control over our most personal stories and thoughts. Why is it that we give away this precious good so lightly?</p>
<p>You might say that of course, we have to pay for for the convenience and reach of a huge network like Facebook or the accuracy and helpfulness of Google&#039;s services. But: It&#039;s not that most users would have a choice. We don&#039;t use those services because we are rational decision makers and we indeed prefer this solution over several alternatives. We use data silos in spite of that because there simply isn&#039;t an open, convenient, trustworthy alternative – yet.</p>
<p>But even if you&#039;re fine with strangers using family photos for the progress of face recognition software, there is another imminent danger in giving away your data: It can also lead to complete data loss if a service ultimately shuts down. This happened in the past, with MySpace and <a href="http://content.time.com/time/business/article/0,8599,1936645,00.html">Yahoo’s Geocities</a> being the most famous <a href="https://indieweb.org/site-deaths">examples of site death</a>, and one day, it will happen to sites like Twitter or Facebook, too. And even if we are able to export our data from a site – which is still the exception rather than the rule –, more than often, we end up with some unusable file format. Not only are we losing precious memories and lifetime that went into the creation of those personal artifacts. With every service that shuts down unarchived, we as a society also loose large amounts of data that is part of our culture. We must not lose what gets created.</p>
<p>So the bottom line is this: When you post something on the web, it should belong to you, not a corporation. You should be in control.</p>
<h2>Redecentralizing the Open Web</h2>
<p>It really is about time for us to redefine what being a citizen of the web means. Our digital identities are digital representations of our lives, so we need to take back control over our content, <a href="https://newrepublic.com/article/133889/reboot-world">reclaim our digital future</a>, and reshape the web as independent as possible.</p>
<p>But condemning the status quo while at the same time trying to replace a monopoly with another centralized solution surely won’t work. If we want to build a true alternative to the corporate web, it has to be build from the ground up with tools that are crafted in the spirit of what makes the web strong: Community, collaboration, debate, consensus, open standards, continuous improvement. Only then, the resulting solutions will be accepted, robust, and long-lasting. Additionally, <a href="http://tantek.com/2010/281/b1/what-is-the-open-web">as Tantek Çelik emphasizes</a>, we should be able to openly access and use the content and code we create and publish on the web.</p>
<p>The basic building blocks to accomplish all of this are right in front of us. They have been here since <a href="https://resilientwebdesign.com/chapter1/#Enter%20Tim%20Berners%E2%80%90Lee">Tim Berners-Lee first imagined what would become the World Wide Web</a>. For example, anyone can set up a website like it’s 1999 – still today, all it takes is a computer and a text editor. And anyone can create a hyperlink and connect their pieces of information to related sources. All it takes is a one letter tag: <a href="https://adactio.com/articles/10887">&lt;A&gt;</a>. Collectively, hyperlinks form the superpower that is holding the world wide web together. A network of information that is, in its most ideal form, both <a href="http://hi-project.org/2016/11/decentralization-deep-cause-causes-care-deeply/">decentralized</a> and <a href="http://brewster.kahle.org/2015/08/11/locking-the-web-open-a-call-for-a-distributed-web-2/">distributed</a> and thus <a href="https://vimeo.com/166140718">resilient</a>.</p>
<p>Both openness and decentralization are essential to rebuilding an independent web, because they protect it from manipulation and regulation, and they can be achieved in many different ways. But in the collaborative effort to redecentralize the open web and regain control over our content, one element plays a particularly decisive role: the personal website.</p>
<h2>Your Website: A Declaration of Independence</h2>
<p>Besides forming a distributed network of information, personal websites provide us with so much freedom on so many levels: On your website, you can publish anything you want, in any imaginable form, without the need to ask for anyone’s permission. You can <a href="https://rachelandrew.co.uk/archives/2017/01/05/its-more-than-just-the-words/">make it your playground</a> to experiment with new technologies and try out new ideas. The content you create stays online as long as you want under a permanent URL which you are free to set. And if you want to, you can <a href="https://indieweb.org/Internet_Archive">notify the Internet Archive to grab a snapshot</a> if the content of your site changes. You are in control. It is your home on the web. It is your voice as a web citizen.</p>
<p>Of course, setting up your own website takes a certain set of skills and a little more effort than joining Facebook. You need to register your own domain. You need to set up a system that serves your content. You need to find your preferred way of creating and presenting content. Sometimes it needs discipline. But what you will get is a personal representation of yourself, an archive of thoughts that will outlast all turmoil on the web – and so much joy!</p>
<p>Having your own website surely is a wonderful thing, but to be relevant, useful, and satisfactory, it needs to be connected to other sites and services. Because ultimately, human interactions are what fuels social life online and most of your friends will still be on social networks, for now.</p>
<h2>The Reinvention of Social: Joining the IndieWeb</h2>
<p>This is what the <a href="https://indieweb.org/">IndieWeb movement</a> is about: Creating tools that enable a decentralized, people-focused alternative to the corporate web, putting you back in control, and building an active community around this idea of independence.</p>
<p>At its heart, the IndieWeb is all about your personal website. You can use your website&#039;s domain name to sign in to websites and services via <a href="https://indieauth.com">IndieAuth</a>. Then, you start building connections between your website and other sites and services. These connections can work both ways: You can publish on your own site and then send a copy (“syndicate”) to Facebook, Twitter, Medium et al. Or, you publish elsewhere and send posts and even reactions like mentions or likes back to your own site. If this incoming data is marked up with semantic <a href="http://microformats.org">microformats</a>, it can be <a href="http://microformats.org/wiki/microformats2#Parsers">parsed</a> and displayed on your site anyway you like.</p>
<p>The IndieWeb approach to collecting reactions to your posts are the so-called <a href="https://indieweb.org/webmentions">Webmentions</a>. A Webmention is basically a way to notify a website that you link to it from your own site. Let’s say I write a post in which I cite one of your posts. My server then sends a request to your website’s Webmention endpoint saying: “Hey, you were mentioned under <em>this URL </em>here.” Your website checks back if the URL is valid and after that fetches some information to display the Webmention on your site. With the help of <a href="https://brid.gy/">Bridgy</a>, this also works for likes, retweets and other interactions on several social media platforms. Webmention is a <a href="https://www.w3.org/TR/webmention/">W3C Recommendation</a> since January 12, 2017 and there are many implementations out there already, including hosted services like <a href="https://brid.gy/">Bridgy</a>, <a href="https://webmention.io/">Webmention.io</a>, <a href="https://webmention.herokuapp.com/">A Webmention Endpoint</a>, the “IndieWeb CMS” <a href="https://withknown.com/">Known</a>, and plugins for <a href="https://wordpress.org/plugins/webmention/">WordPress</a>, <a href="https://github.com/gRegorLove/ProcessWire-Webmention">ProcessWire</a>, <a href="https://docs.typo3.org/typo3cms/extensions/indieweb/">Typo3</a> and – the one I wrote myself – for <a href="https://github.com/matthiasott/webmention">Craft CMS</a>.</p>
<p>There are many more interesting IndieWeb tools, but equally important are the main principles of community and participation: The IndieWeb movement is open to anyone who wants to join. <a href="https://indieweb.org/events">Brainstorming and building events like IndieWebCamps and Homebrew Website Club Meetups are held regularly</a> all around the world and are a fantastic opportunity to work on your own site and shape the future of the independent web. I attended the last IndieWebCamps in <a href="https://indieweb.org/2016/Berlin">Berlin</a> and <a href="https://indieweb.org/2016/D%C3%BCsseldorf">Düsseldorf</a> and enjoyed it a lot – <a href="https://bastianallgeier.com/notes/indie-web">as did others</a>. So come and join us on one of the <a href="http://indieweb.org/events">next events</a>.</p>
<h2>First We Shape Our Tools</h2>
<p>All the tools that have been created out of the IndieWeb movement, open source projects like <a href="https://github.com/solid/solid">Solid</a>, or the distributed Twitter alternative <a href="https://mastodon.social/about">Mastodon</a> already are a great foundation to build upon, but they can only be the beginning. More tools will be needed to be able to explore ever more robust solutions and progressively reinvent the core technologies that underpin the web. And over time, all those tools will also need to become easier to implement and use to appeal to a broader user base, so that they unlock their full potential.</p>
<p>If we are able to achieve this, if we are able to shape tools that have the power to change the web as an environment, the fight for an independent web is not lost, because as Tim Berners-Lee put it at the <a href="https://www.decentralizedweb.net">Decentralized Web Summit</a>: “You can make the walled garden very very sweet. But the jungle outside is always more appealing in the long term.” So let us make the jungle of the independent, open web shine. Let us start coding, start designing, start building these tools.</p>
<h2>It Takes a Nation of Millions to Hold Us Back</h2>
<p>At the <a href="https://matthiasott.com/articles/beyond-tellerrand-berlin-2016">beyond tellerrand conference in Berlin</a>, <a href="https://vimeo.com/190833161">Tim Kadlec reminded us</a> of the underlying promise of the web:</p>

																												
																																		<figure class="quote">
							<blockquote><p>The web is for everyone.</p>
</blockquote>
												</figure>
																
																																	<p>This short sentence comprises the promise of a world without the borders of the physical world, a promise of equal access to information and freedom of speech. This freedom is at stake and we need to protect it. Not because we, the people who create the web, are idealists, rebels, or revolutionist. <a href="https://vimeo.com/190834270">We are ordinary people</a>, just like the teenagers who use social media every day and just like the 83-year-old grandmother who loves to read the news on her iPad. But we happen to be the ones who know how to change the workings of the web. We are a worldwide community of creators and this brings with it a huge responsibility. Taking this responsibility seriously means becoming an active member of a community that helps to keep the promise of an independent and open web alive, and by this sustaining an active counterbalance to global mass surveillance and the corporate web. This may seem idealistic at times. But even the smallest changes can be transformative and if <em>we</em> don’t fix the web, one small step at a time, nobody will.</p>
<p>It is in our hands to shape the future of the web, or as <a href="https://vimeo.com/34017777">Wilson Miner put it in his 2011 Build conference talk</a>:</p>
<p>“The things that we choose to surround ourselves will shape what we become. We’re actually in the process of building an environment, where we’ll spend most of our time, for the rest of our lives.”</p>
<p>–</p>
<p><em>Header image shows Jon Postel and colleagues working in room 3420 at UCLA&#039;s Boelter Hall campus – the birthplace of the internet. Image retrieved via <a href="http://internetstudies.ucla.edu/">Kleinrock Center for Internet Studies at UCLA</a></em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Going Indie. Step&amp;nbsp;1: Securing Privacy</title>
                <link>https://matthiasott.com/articles/going-indie-securing-privacy</link>
                <pubDate>Fri, 24 Mar 2017 00:03:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/going-indie-securing-privacy</guid>
                <description><![CDATA[
                    
																																	<p><em>This is the first article of a two-part series on digital citizenship. Part one is about online privacy and how to protect it, <a href="https://matthiasott.com/articles/going-indie-reclaiming-content">the second part</a> focuses on how we can build and promote tools that enable an open, independent, and resilient web.</em></p>
<h2>Invasion of the Data Snatchers</h2>
<p><a href="https://en.wikipedia.org/wiki/Global_surveillance">Global surveillance is real</a> and it’s not going anywhere. </p>
<p>On January 20th, 2017, we all witnessed one of the most worrying political events in recent history. A nationalist authoritarian became the 45th president of the United States of America and is now in charge of the most comprehensive, most aggressive, and <a href="https://techcrunch.com/2016/11/13/how-president-trump-could-abuse-big-data-and-the-surveillance-state/">most intrusive mass surveillance apparatus ever created</a> (sorry, Stasi). The new U.S. administration is presumably going to further strengthen the power of their intelligence agencies and <a href="http://www.dailydot.com/layer8/donald-trump-surveillance-encryption-privacy/">broaden its mass surveillance activities</a>. The “law and order candidate” also heavily attacked the free press and already suspended the protections of the Privacy Act “for persons who are not United States citizens”, which many see as a <a href="https://techcrunch.com/2017/01/26/trump-order-strips-privacy-rights-from-non-u-s-citizens-could-nix-eu-us-data-flows/">first step to undermine the data transfer framework of the EU–US Privacy Shield</a>. And today, <a href="https://www.nytimes.com/2017/03/23/technology/congress-moves-to-strike-internet-privacy-rules-from-obama-era.html">US congress voted to overturn privacy rules from late last year</a>, which effectively means cellphone providers are now allowed to sell people’s browsing and app activity without asking their permission. </p>
<p>But also across Europe, privacy rights and freedom of speech are increasingly under attack: <a href="https://www.amnesty.org/en/latest/campaigns/2017/01/dangerously-disproportionate/">A recent report by Amnesty International</a> documents a dangerously disproportionate, ever-expanding security state. <a href="https://www.theguardian.com/world/2016/nov/29/snoopers-charter-bill-becomes-law-extending-uk-state-surveillance">The UK</a>, <a href="https://www.nytimes.com/2015/05/06/world/europe/french-legislators-approve-sweeping-intelligence-bill.html">France</a>, <a href="http://in.reuters.com/article/germany-spying-idINKCN12L1EX">Germany</a> and many other states have widened the power of their intelligence services to collect and store phone and internet connection data – often even without judicial authorization. May it be for fear of terrorism, for fear of economic backlash – or simply for fear of losing control: Everywhere around the world, democratic governments as well as authoritarian regimes prepare for cyber warfare and start collecting every bit of data they can grasp with increasingly sophisticated tools.</p>
<p>What’s so deeply worrying about this development is that the idea of a fundamental right to privacy is slowly eroded. With every new leak, we accept ever more that there seems to be nothing we can do about it, anyway. And if we have nothing to hide, surveillance will only be a threat to those who deserve to be observed, right? But who decides which individuals are to become a target? Who sets the moral standards which define what is wrong and what is right? What happens if a new government that adheres to racist ideologies or simply doesn&#039;t care about anything else than their own wealth, gets handed over the keys to the surveillance kingdom?</p>
<p>But it is not only governments – a whole industry is collecting user data at a scale beyond imagination. And while some of us may be fine with paying for services with personal data, I doubt that most users realize just how much freedom and control is taken away from them and how far-reaching the measures taken by the data economy already are.</p>
<p>The data you produce every day, may it be by browsing the web or actively participating on social media platforms, already tells so much about who you are as an individual. It really is not only <em>some</em> data, it is you – just like the furnishings, books, pictures, and little mementos in your apartment tell a story about your life. Even more so: Based on Facebook Likes, modern algorithms <a href="http://news.stanford.edu/2015/01/12/personality-computer-knows-011215/">already can predict personality traits more accurately than close friends and family members</a>. Facebook is also routinely <a href="https://github.com/ageitgey/show-facebook-computer-vision-tags">running all your personal photos through artificial intelligence algorithms</a> to identify faces and automatically adds tags. While this definitely improves accessibility for blind people, it is also <em>quite</em> useful for user profiling and thus: ad targeting. If you want to get an idea of the sheer scale of Facebook’s tracking efforts and what it does with the data, this article by Vicki Boykis is a must-read: <a href="https://veekaybee.github.io/facebook-is-collecting-this/">What should you think about when using Facebook?</a></p>
<p>Billions of internet-connected devices upload our most personal data into the cloud where it can be accessed by corporations and governmental services. <a href="http://webfoundation.org/2017/03/web-turns-28-letter/">We have lost control</a>. So the need to act is as real and urgent as ever. Not only if you are part of a minority, if you care about free speech, or simply want to keep things like your health records private, you need to take action.</p>
<h2>Protect Ya Neck</h2>
<p>Protecting your privacy is not a crime and does <em>not</em> make you suspicious, especially if more and more people start to protect themselves. Privacy is a universal right that needs to be protected because it protects you from suffering injustice. That’s why it is also part of the <a href="http://www.un.org/en/universal-declaration-human-rights/index.html">Universal Declaration of Human Rights</a>:</p>

																												
																																		<figure class="quote">
							<blockquote><p>No one shall be sub­ject­ed to arbi­trary inter­fer­ence with his pri­va­cy, fam­i­ly, home or cor­re­spon­dence, nor to attacks upon his hon­our and rep­u­ta­tion. Every­one has the right to the pro­tec­tion of the law against such inter­fer­ence or attacks.</p>
</blockquote>
												<figcaption>Article 12, <cite>Universal Declaration of Human Rights</cite> </figcaption>
										</figure>
																
																																	<p>So how can we – as global web citizens – protect our privacy?</p>
<p>Encryption is the only effective way to protect your communications and browsing data at the moment and <a href="http://www.spiegel.de/international/germany/inside-the-nsa-s-war-on-internet-security-a-1010361.html">actually works quite well</a>. So a good starting point would be to install an end-to-end encrypted messaging app like <a href="https://whispersystems.org/">Signal</a> or <a href="https://wire.com/">Wire</a> on your smartphone to keep your private messaging and phone or video calls secure.</p>
<p>Next up is email. Remember: Email was not really designed with any privacy or security in mind, so basically all unencrypted messages can be read. The NSA, for example, is able to <a href="https://en.wikipedia.org/wiki/PRISM_(surveillance_program)">“listen to whatever emails they want”</a> through tapping into central network points. (And they might also not be very impressed by that cute confidentiality notice in your signature.) Email can be encrypted with PGP [<a href="http://openpgp.org/">1</a> / <a href="https://ssd.eff.org/en/module/introduction-public-key-cryptography-and-pgp">2</a> / <a href="https://gpgtools.org/">3</a>] or <a href="https://helloanselm.com/notes/setting-up-s-mime-on-macos-sierra-ios/">S/MIME</a>. Alternatively, you can create an account at an encrypted email service like <a href="https://proton.me/mail">Proton (based in Switzerland)</a> or <a href="https://tutanota.com/">Tutanota (from Germany)</a>. If you’re running your own email server, consider <a href="https://github.com/ehloonion/onionmx">delivering mail over Tor’s hidden onion services</a>.</p>
<p>Another promising tool is <a href="https://keybase.io/">Keybase</a>. Keybase is a public directory of people and also offers a command line client <a href="https://keybase.io/docs/command_line/tor">including Tor support</a> and a free, open source <a href="https://keybase.io/download">security app</a>. With the app, you can connect and chat with other Keybase users and even exchange files through public and private folders – and everything is encrypted.</p>
<p>For safer browsing, especially when you access the internet via public or hotel WiFi, consider the <a href="https://www.torproject.org/">use of Tor</a> and its Tor Browser (<a href="https://blog.torproject.org/blog/tor-heart-firefox">a modified version of Firefox</a>) or a VPN service like <a href="https://www.mullvad.net/">Mullvad</a>. If they are used in the right ways, both Tor and using a VPN provide good protection against traffic analysis and prevent the sites you visit from learning your physical location. Tor Browser even helps to protect you from <a href="https://nakedsecurity.sophos.com/2014/12/01/browser-fingerprints-the-invisible-cookies-you-cant-delete/">browser fingerprinting</a>, a technique where available features and certain properties of your browser like installed plugins or a list of system fonts are used to create a unique fingerprint of your system.</p>
<p>The Electronic Frontier Foundation offers further useful guidance and tools for safer online communications on their <a href="https://ssd.eff.org/en">surveillance self-defense website</a>, for example <a href="https://www.eff.org/privacybadger">Privacy Badger</a>, a browser plugin that blocks spying ads and invisible trackers.</p>
<p>What measures you take to protect your privacy is totally up to you, of course. It also depends on the level of security you need: Journalists, lawyers, activists, scientists will all surely need more protection to operate freely than “normal” users who just want to buy some clothes online. But still, we must not go on like nothing happened. Changing some of your habits and protecting yourself will have a small impact, but it has an impact. First on you, then on others. So get involved but also make sure to talk to friends and relatives about the topic. You&#039;ll be surprised how less they really know – and thus care.</p>
<h2>Change Is the Law of the Web</h2>
<p>The way the web works in the future will be influenced by forces of all kinds. If some of those forces want to undermine privacy and other basic civil rights, it is up to us to act as a counterbalance. It is up to us in which direction the web evolves and which forces are being emphasized. If we want to protect everything we have come to love about the free, independent web, we need to act now. In fact, we will need to develop the web further, but in the right direction. This includes that we understand, that we as web citizens are part of something that is far bigger than us, yet it still <em>can</em> be influenced and shaped in a positive way. <a href="http://webfoundation.org/2017/03/web-turns-28-letter/">As Tim Berners-Lee points out</a>, “it has taken all of us to build the web we have, and now it is up to all of us to build the web we want.”</p>
<p>And while protecting our communications data is a good first step towards a more secure and independent online experience, taking back control over our data eventually means reconsidering the way we create and consume content online. So the second part of this series will highlight concepts and ideas about how we can build and promote a new set of tools which enable an open, independent, and resilient web. A web for everyone.</p>
<p>–</p>
<p><em>Header image shows a distorted version of <a href="https://en.wikipedia.org/wiki/Declaration_of_Independence_(Trumbull)">John Trumbull&#039;s painting “Declaration of Independence”</a> that depicts the presentation of the draft of the Declaration of Independence to Congress. <a href="https://commons.wikimedia.org/wiki/File:Declaration_independence.jpg">Original image is in the public domain, retrieved via Wikimedia Commons</a></em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Patterns Beyond Context</title>
                <link>https://matthiasott.com/articles/patterns-beyond-context</link>
                <pubDate>Mon, 13 Feb 2017 01:45:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/patterns-beyond-context</guid>
                <description><![CDATA[
                    
																																	<p>As we are moving <a href="https://vimeo.com/190849537">from pages to patterns</a> when creating and documenting websites and other digital design systems, <a href="http://alistapart.com/blog/post/getting-started-with-pattern-libraries/">pattern libraries</a> are becoming increasingly popular. Ethan Marcotte, who famously <a href="http://alistapart.com/article/responsive-web-design">coined the term responsive web design</a>, recently published <a href="https://ethanmarcotte.com/wrote/pattern-patter/">a nice little piece about pattern libraries</a> on his website, in which he writes:</p>

																												
																																		<figure class="quote">
							<blockquote><p>A pat­tern nev­er exists in iso­la­tion. It is always defined by, and shaped by, its environment.</p>
</blockquote>
												</figure>
																
																																	<p>This observation is as true as it is often neglected. If you ever have created or worked with style guides and pattern libraries, the following process might sound familiar: Quite a few elements of a design, like buttons or typographic elements are defined beforehand, without much or even no context at all. Other elements though are indeed created to solve very specific problems in very specific contexts. But as soon as they become part of a pattern library, all those patterns suddenly are treated as immutable rules, absolute truths carved in stone. Ultimately, they are used to solve totally different problems, problems for which they might not be the best solution because the context is different now.</p>
<p>For design patterns, context really is crucial. Context is crucial if you want to establish a visual hierarchy. Context is crucial, if you want to balance out the elements of your design system against each other. Context is crucial with regards to responsive design: What happens to a component at different screen sizes? Context is crucial in terms of progressive enhancement: What happens to a component if the network fails or an advanced feature is available on a specific device?</p>
<p>This is also why Ethan suggests that our pattern libraries could be more than just interface snippets and that we should instead “discuss and document patterns in the context of <em>how</em> and <em>why</em> they were made.” This includes that we should go further than just describing how something looks and how it can be implemented, but also “describe the compromises we make — the forces we resolve — when we design (and use) our patterns.” What a worthwhile goal. </p>
<p>While I pondered over how one could be more mindful of context when creating pattern libraries, I remembered <a href="https://www.technologyreview.com/s/409067/content-context-contrast/">John Maeda’s three C’s of design</a>. They are:</p>

																												
																												<blockquote><p><strong>Content</strong>: There needs to be a message or meaning. Everything needs a reason to exist, otherwise it shouldn’t.</p><p>
<strong>Context</strong>: Content doesn’t live in a vacuum. A Chanel bag sitting on a shelf at Wal-Mart will only confuse.</p><p>
<strong>Contrast</strong>: An element is made stronger when a counterelement is offered. Salt tastes saltier after one has had some sugar.</p></blockquote>
																						
																																	<p>Those three core principles of design – content, context, and contrast – provide a foundation for practical and purposeful design solutions. And because patterns are not simply rules but “<a href="https://www.adobe.io/apis/creativecloud/typekit/docs/patterns.html">represent our shared understanding of design solutions</a>”, why not take the idea of considering context even further and use those three C’s to better describe our patterns?</p>
<p>For a specific component, we could for example check how it is defined and shaped by the three C’s:</p>
<p><strong>Content</strong>: Why does this component exist? How does possible content look like? Is the content allowed to change and, if yes, how? If the content changes, how does this affect the component?</p>
<p><strong>Context</strong>: How does the component look in different contexts? Does it maybe change and adapt depending on where it is used (pages, header, footer, etc.)? Does it have improved accessibility features? Is it influenced by other components? Does the component depend on or react to certain device capabilities? Does it work offline or only under certain conditions?</p>
<p><strong>Contrast</strong>: What makes the component distinct, what makes it stand out against other elements of the system? Are there interdependencies with other components that change the perception of the element so that the appearance needs to be adjusted to (still) achieve the desired outcome?</p>
<p>These are all just some first quick thoughts, but I really like the idea of thinking about patterns on this qualitative level. Also because the success of a pattern library – or a style guide – depends on two main characteristics: For one, it should be accurate, deliberate, and comprehensive enough to provide guidance and a solid framework to work with. At the same time, it needs to be flexible enough to allow for innovative, diverse applications and thus practical solutions to a multitude of problems – which also includes that it is allowed to grow and change over time.</p>
<p>Both accuracy and flexibility can only be achieved if we are able to judge if an element is the right solution to a specific problem, and for this, we need a clear understanding of its purpose and its qualities. If we describe patterns also in terms of content, context, and contrast, we are able to define more precisely what a specific pattern is all about, what its role within a design system is, and how it is defined and shaped by its environment. And this will certainly make our pattern libraries better. Because a pattern never exists in isolation.</p>
<p>–</p>
<p><em>Header image shows <a href="https://en.wikipedia.org/wiki/Nakagin_Capsule_Tower">Nakagin Capsule Tower, Tokyo</a>, the world&#039;s first example of capsule architecture, <a href="https://flic.kr/p/QfCv8n">photo by Dick Thomas Johnson</a> licensed under <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a>, slightly edited and color corrected.</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Progressive Search</title>
                <link>https://matthiasott.com/notes/progressive-search</link>
                <pubDate>Sun, 29 Jan 2017 22:49:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/progressive-search</guid>
                <description><![CDATA[
                    
																																	<p>Today, I added a basic weighted search to this site. You can find it <a href="https://matthiasott.com/search">here</a> and in the footer below. Providing a search functionality <a href="https://indieweb.org/search">is one of the pillars of an IndieWeb site</a>, mainly because it offers improved access to the content you create and own on your site. But: Search on personal and corporate sites is a somewhat difficult topic. On the one hand, offering search more or less is imperative, but on the other hand, it is hard to get right. Most users are used to the comfort of those insanely accurate search results of Google&#039;s sophisticated artificial intelligence algorithms. Of course, this is something a normal website hardly can compete with. Nevertheless, you have to find ways to provide a sufficient search experience to your users.</p>
<p>For now, my site uses the standard search of Craft CMS, improved by <a href="https://github.com/wja-no/craft-weighted-search">a weighted search plugin</a>. This is a solid start but I want to find ways to gradually improve the search experience for visitors of my site. If you look at what makes a good website search, things to consider include:</p>
<ul>
<li>relevant search results</li>
<li>providing <a href="https://www.nngroup.com/articles/search-no-results-serp/">a good “no results” page with a path forward</a></li>
<li>suggesting synonyms and alternative terms</li>
<li>recognizing typos and misspellings and offering guidance</li>
<li>autocomplete for search terms</li>
<li>using a <a href="https://github.com/Alir3z4/stop-words">stop word list</a></li>
<li>displaying search results by category</li>
<li>faceted search or filters</li>
</ul>
<p>This list is by no means complete and probably I won&#039;t be able to implement all of those points. My goal is a convenient search that optimally supports the content of a personal site, offers accurate results presented in a useful and usable form, and is as fault tolerant as possible regarding user input. Or, as John Postel said: </p>
<p><em>“Be conservative in what you send. Be liberal in what you accept”</em></p>
<p>So I will take this core functionality and, focussing on the most effective design decisions, enhance it. Bit by bit. <a href="https://adactio.com/articles/11481">Progressively</a>.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Data loss (also) by JavaScript</title>
                <link>https://matthiasott.com/notes/data-loss-also-by-javascript</link>
                <pubDate>Mon, 16 Jan 2017 00:23:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/data-loss-also-by-javascript</guid>
                <description><![CDATA[
                    
																																	<p><a href="http://tantek.com/">Tantek Çelik</a> wrote a post in 2015 called <a href="http://tantek.com/2015/069/t1/js-dr-javascript-required-dead">“js;dr = JavaScript required; Didn’t Read.”</a>. It was about a fundamental problem regarding sites that depend on JavaScript for rendering content: Indexability. Although search engines got much much better at indexing JS, it still remains a major problem, which I learned the hard way a few weeks ago. </p>
<p>On October 30, <a href="https://www.readability.com/">Readability</a> closed down its “read it later” bookmarking service. Although I had not been a regular user of the service, I had created a fair amount of lists of interesting links for the students of my Interface Prototyping seminar using a site called readlists.com, a service by Readability that depended on the Readability API – and JavaScript (<a href="http://requirejs.org/">require.js</a>, to be exact).</p>
<p>Unfortunately, Readability went offline pretty quickly, giving all users only 30 days to export their personal data. Somehow, I must have missed <a href="https://medium.com/@readability/the-readability-bookmarking-service-will-shut-down-on-september-30-2016-1641cc18e02b#.al7yczpu9">the Medium article</a> or an email that announced the shutdown. So I learned about it the hard way when I opened the site with my students. No lists. No links. Gone.</p>
<p>Not too big a problem, I thought. And a good opportunity to show the students the beauty of the <a href="https://archive.org/">Internet Archive</a>! But when I went there to look at <a href="http://web.archive.org/web/20150131034728/http://readlists.com/user/matthiasott">the snapshot of the site</a>, I stared at this:</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 54.166666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/readlists-death-by-javascript.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/readlists-death-by-javascript.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/readlists-death-by-javascript.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/readlists-death-by-javascript.jpg" alt="Readlists Death By Javascript" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p>The Wayback Machine snapshot of Readlists only shows a spinning wheel.</p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<p>I don&#039;t want to blame the people at Readability for shutting down their service. It is also totally their decision when and how fast to go offline. But one fact remains: Once again, many users irreversibly lost their data. And this was not only due to the fact that the site was shut down, but mainly because the content was dependent on JavaScript (and an API) in a way that made it invisible to the crawler of the Internet Archive – and by that dead to history.</p>
<p>After five years, all that remains of Readability is <a href="http://web.archive.org/web/20150131034728/http://readlists.com/user/matthiasott">a spinning wheel in the Internet Archive</a> and a <a href="https://en.wikipedia.org/wiki/Readability_(service)">Wikipedia article</a>.</p>
<p>Or, as Tantek puts it:  <br>
<a href="http://tantek.com/2015/069/t1/js-dr-javascript-required-dead">“If it’s not curlable, it’s not on the web.”</a></p>

																												            	]]></description>
            </item>
                    <item>
                <title>Books I Will Definitely Maybe Read in 2017</title>
                <link>https://matthiasott.com/notes/books-i-will-definitely-maybe-read-in-2017</link>
                <pubDate>Fri, 13 Jan 2017 14:39:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/books-i-will-definitely-maybe-read-in-2017</guid>
                <description><![CDATA[
                    
																																	<p>It’s that time of year when most people publish their „books I have read“ articles. <a href="https://timkadlec.com/2017/01/what-i-read-in-2016/">Tim</a> for example, and also <a href="https://adactio.com/journal/11684">Jeremy</a>. I for myself am what you could call a book taster. There are a lot of books on my shelves that I started reading but somehow never finished. But this year this is going to change. Maybe.</p>
<p>So here’s my list of books I want to finish in 2017. By pure chance, a lot of them have the word “design” in their title. ;)</p>
<ul>
<li><a href="https://www.smashingmagazine.com/inclusive-design-patterns/">Inclusive <em>Design</em> Patterns</a> by Heydon Pickering (I’m already halfway through this one!!!!!)</li>
<li><a href="https://resilientwebdesign.com/">Resilient Web <em>Design</em></a> by Jeremy Keith</li>
<li><a href="https://adaptivewebdesign.info/">Adaptive Web <em>Design</em></a> by Aaron Gustafson</li>
<li><a href="http://shapeofdesignbook.com">The Shape of <em>Design</em></a> by Frank Chimero</li>
<li><a href="https://abookapart.com/products/pricing-design">Pricing <em>Design</em></a> by Dan Mall</li>
<li><a href="https://abookapart.com/products/demystifying-public-speaking">Demystifying Public Speaking</a> by Lara Hogan</li>
<li><a href="https://abookapart.com/products/design-for-real-life"><em>Design</em> for Real Life</a> by Eric Meyer &amp; Sara Wachter-Boettcher</li>
<li><a href="https://abookapart.com/products/just-enough-research">Just Enough Research</a> by Erica Hall</li>
<li><a href="https://abookapart.com/products/responsive-design-patterns-principles">Responsive <em>Design</em>: Patterns and Principles</a> by Ethan Marcotte</li>
<li><a href="https://shop.smashingmagazine.com/products/smashing-book-5-real-life-responsive-web-design">The Smashing Book 5: Real-Life Responsive Web <em>Design</em></a> by Daniel Mall, Sara Soueidan, Zoe M. Gillenwater, Bram Stein, Yoav Weiss, Tom Maslen, Matt Gaunt, Andrew Clarke, and others.</li>
<li><a href="http://shop.oreilly.com/product/0636920039730.do">High Performance Images</a> by Colin Bendell, Tim Kadlec, Yoav Weiss, Guy Podjarny, Nick Doyle, and Mike McCall</li>
<li><a href="http://shop.oreilly.com/product/0636920045335.do">SVG Animations</a> by Sarah Drasner</li>
<li><a href="https://www.lars-mueller-publishers.com/designing-design"><em>Design</em>ing <em>Design</em></a> by Kenya Hara</li>
<li><a href="http://shop.gestalten.com/less-and-more-hardcover.html">Less and More, the <em>Design</em> Ethos of Dieter Rams</a> by Klaus Klemp, Keiko Ueki-Polet (editors)</li>
<li><a href="https://www.brainpickings.org/2014/08/19/paul-rand-thoughts-on-design/">Thoughts on <em>Design</em></a> by Paul Rand</li>
<li><a href="http://www.designfordasein.com/"><em>Design</em> for Dasein</a> by Thomas Wendt</li>
<li><a href="https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things">The <em>Design</em> of Everyday Things: Revised and Expanded Edition</a> by Don Norman</li>
<li><a href="https://www.amazon.com/Design-Real-World-Ecology-Social/dp/0897331532"><em>Design</em> for the Real World</a> by Victor Papanek</li>
<li><a href="https://www.amazon.de/Die-Kunst-Typographie-Paul-Renner/dp/3875124146">Die Kunst der Typografie (the art of typography)</a> by Paul Renner</li>
<li><a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470229101.html"><em>Design</em>ing for the Digital Age</a> by Kim Goodwin</li>
<li><a href="http://www.howtomakesenseofanymess.com/">How to Make Sense of Any Mess</a> by Abby Covert</li>
<li><a href="https://www.papress.com/html/book.details.page.tpl?isbn=9781616893088">Digital <em>Design</em> Theory: Readings from the Field</a> by Helen Armstrong</li>
<li><a href="http://undercoverux.com/">Undercover User Experience Design</a> by Cennydd Bowles and James Box</li>
<li><a href="http://shop.oreilly.com/product/0636920033851.do">User Story Mapping</a> by Jeff Patton</li>
<li><a href="http://shop.oreilly.com/product/9780994347084.do"><em>Design</em>ing UX: Prototyping</a> by Ben Coleman</li>
<li><a href="http://shop.oreilly.com/product/0636920049487.do">Prototyping for <em>Design</em>ers</a> by von Kathryn McElroy</li>
</ul>
<p>and:</p>
<ul>
<li><a href="https://americanliterature.com/author/herman-melville/book/moby-dick-or-the-whale/summary">Moby Dick</a> by Herman Melville</li>
<li><a href="https://en.wikipedia.org/wiki/Karlsson-on-the-Roof">Karlsson vom Dach (Karlsson-on-the-Roof )</a> by Astrid Lindgren</li>
</ul>
<p>We’ll see…</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Starting to Write Notes</title>
                <link>https://matthiasott.com/notes/starting-to-write-notes</link>
                <pubDate>Wed, 11 Jan 2017 23:35:13 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/notes/starting-to-write-notes</guid>
                <description><![CDATA[
                    
																																	<p>In May 2016, I flipped the switch for the redesign of this site. My last site was never updated once it was online, so I wanted to do things differently this time. Inspired by numerous people who use their web presence to share and promote their thoughts and ideas, I decided to start writing on my own site. To explore things, to share with others what I learned, to retain my thoughts and make my site a place of documentation. </p>
<p>Knowing that it might be hard to keep up with writing, I set myself the goal of publishing four articles by the end of the year. Somehow I indeed managed to find the time to write four articles and I found that I want to keep writing. It really is a great pleasure.</p>
<p>But I also noticed that my articles turned out to be a bit lengthy. Although I don’t think that this is necessarily a bad thing, sometimes a different, a shorter form of writing is necessary. For example, when you just want to write down a quick thought or when you read about something and want to share more than a link but not a lengthy article either.</p>
<p>So today I’m starting to take notes. Quick, raw, unpolished, short, sometimes also a bit longer. Sometimes only an image, a hasty sketch, or a drawing. But always without the need to finalize anything.</p>

																												            	]]></description>
            </item>
                    <item>
                <title>Beyond Tellerrand Berlin 2016</title>
                <link>https://matthiasott.com/articles/beyond-tellerrand-berlin-2016</link>
                <pubDate>Sun, 20 Nov 2016 17:41:00 +0100</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/beyond-tellerrand-berlin-2016</guid>
                <description><![CDATA[
                    
																																	<p>Once again, <a href="https://beyondtellerrand.com/">beyond tellerrand</a>, a great conference about design, development, and all things web, took place in the cold November air of Berlin. After walking over from Bahnhof Friedrichstraße to the Admiralspalast, an historical theater opened in 1910, where the spirit of the <a href="https://en.wikipedia.org/wiki/Golden_Twenties">Golden Twenties</a> is still present, the exited visitor is welcomed by a warm atmosphere and elated speakers covering a great variety of interesting and inspiring topics. Out of those, I chose to report on three outstanding talks that had in common the overarching theme of responsibility, which is so important to our work in these turbulent times. I’ll start with the speaker who, with his most impactful and thought-provoking talk, left many of us stunned.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-mikemonteiro-2.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-mikemonteiro-2.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-mikemonteiro-2.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-mikemonteiro-2.jpg" alt="Btconf Berlin 2016 Mikemonteiro 2" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-mikemonteiro-staywoke.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-mikemonteiro-staywoke.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-mikemonteiro-staywoke.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-mikemonteiro-staywoke.jpg" alt="Btconf Berlin 2016 Mikemonteiro Staywoke" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Mike Monteiro – Let Us Now Praise Ordinary People</h2>
<p>Mike Monteiro is a designer. Together with Erika Hall he founded Mule Design, an interactive design studio based in San Francisco. He shared his experiences with the community in two books, <a href="https://abookapart.com/products/design-is-a-job"><em>Design Is a Job</em></a> and <a href="https://abookapart.com/products/youre-my-favorite-client"><em>You&#039;re My Favorite Client</em></a> and never gets tired of calling for designers to take responsibility for the work they put into the world – most famously in his .net Talk of the Year 2014 <a href="https://vimeo.com/68470326"><em>How Designers Destroyed the World</em></a>.</p>

																												
																																		<figure class="quote">
							<blockquote><p>Migra­tion is a&nbsp;fuck­ing human right, by the&nbsp;way.</p>
</blockquote>
												<figcaption>Mike Monteiro at beyond tellerrand Berlin </figcaption>
										</figure>
																
																																	<p>Whether or not you like his upfront style, Mike surely is a force of nature. His talk left the audience greatly impressed and some even deeply moved. In times where young white boys design services that obviously fail to address the needs of women and minorities for the sake of venture capital, where guns that are built so simple that a child can use them are sold on Facebook, where huge masses of refugees are winding their way through Europe, and a bigot and racist is elected U.S. president, Mike acts as a voice of conscience. If we really want to change the way the world is designed, we need to change who gets to design it. Just being empathic with the people we design for isn’t enough, because this doesn&#039;t solve the real world problem of exclusion. Instead what we need is real inclusion. But what is real inclusion then? Mike puts it bluntly: “Don’t assume how a woman would behave in a situation. Hire a woman to design it.” </p>
<p>Ultimately, designers need to take on the responsibility that comes with having the power to create things. A responsibility that also arises not from being special, but from being just as ordinary as anyone else on this planet. We just don&#039;t get to opt out. I cannot recommend this talk enough: It is a clarion call to action for our community that can provide an answer to the question of how to cope with a reality that seems to be out of joint.</p>
<p><a href="https://vimeo.com/190834270">Watch Mike&#039;s talk on Vimeo</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-kadlec.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-kadlec.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-kadlec.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-kadlec.jpg" alt="Btconf Berlin 2016 Kadlec" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Tim Kadlec – Unseen</h2>
<p>In his elaborate and entertaining talk, Tim reminded us that the web is meant to be for everyone, so we need to find ways to guarantee equal access and great experiences not only for users with huge data plans and fast devices. It is inherent in the web that it is less-than-ideal and often unpredictable, which is why we need to first get rid of our assumptions if we want to build resilient systems and instead focus on the fundamental pillars of a good web experience: Performance, accessibility, and security. The problem is that they are mostly hidden from sight for the average user and only become visible, when a system fails. So it is important to make those unseen features visible as early as possible for everybody involved in a project and by that making it the responsibility of everyone.</p>
<p><a href="https://timkadlec.com/">Tim Kadlec</a> is a web performance advocate and head of developer relations at Snyk. He has written a book about <a href="http://implementingresponsivedesign.com/"><em>Implementing Responsive Design</em></a> and embracing the inherent flexibility of the web. Tim regularly publishes articles on his site that are really worth reading, for example the one in which he invites us to <a href="https://timkadlec.com/2012/10/blame-the-implementation-not-the-technique/"><em>Blame the Implementation, Not the Technique</em></a> or when he writes about <a href="https://timkadlec.com/2013/01/setting-a-performance-budget/"><em>Setting a Performance Budget</em></a> or <a href="https://timkadlec.com/2016/10/chasing-tools/"><em>Chasing Tools</em></a>.</p>
<p><a href="https://vimeo.com/190833161">Watch Tim&#039;s talk on Vimeo</a>.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-heydon-pickering.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-heydon-pickering.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-heydon-pickering.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-heydon-pickering.jpg" alt="Btconf Berlin 2016 Heydon Pickering" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<h2>Heydon Pickering – Writing Less Damn(ed) Code</h2>
<p>Ever since <a href="http://www.heydonworks.com/">Heydon</a> invented the “lobotomized owl selector” ( <em> + </em> ) and <a href="http://alistapart.com/article/axiomatic-css-and-lobotomized-owls">wrote about it on A List Apart</a>, he has been known as someone who thinks outside the box. Moreover, he is a renowned advocate for accessible and inclusive design, working with The Paciello Group and Smashing Magazine. Just recently he published his wonderful book <a href="https://shop.smashingmagazine.com/products/inclusive-design-patterns"><em>Inclusive Design Patterns</em></a>, which I highly recommend.</p>
<p>Heydon took us on a wildly entertaining adventure that was a mixture of thought experiments on code (and responsibly writing less of it) and also quite useful advice. For example, he shared a well-rounded exit strategy if someone mentions the word “carousel” in a meeting. Besides the monumental breakthrough discovery that less is actually less and not more, as the inspirational designers are trying to make us believe, Heydon even introduced many revolutionary concepts like, for example, “unprogressive non-enhancement” or his own super-awesome progressively enhanced 93 bytes (minified) fits-in-a-tweet grid framework: FUKOL.
Thanks for a glorious performance, Heydon!</p>

																												
																												<blockquote class="twitter-tweet" data-lang="de"><p lang="en" dir="ltr">.fukol-grid{display:flex;flex-wrap:wrap;margin:-.5em}.fukol-grid&gt;*{flex:1 0 5em;margin:.5em}</p>&mdash; Heydon (@heydonworks) <a href="https://twitter.com/heydonworks/status/783302428221378560">4. Oktober 2016</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>You can <a href="https://vimeo.com/190834530">watch Heydon&#039;s talk here</a>.</p>

																												
																																	<h2>… and many more</h2>
<p>As I said before, the overall quality of the talks was excellent. Videos for all talks from beyond tellerrand Berlin are already on <a href="https://vimeo.com/channels/beyondtellerrand">Vimeo</a> and <a href="https://www.youtube.com/user/btconf">YouTube</a>, so please make sure you also have a look at some more and see for yourself what your favorites are. It’s really worth it. Also have a look at <a href="https://beyondtellerrand.com/blog/wrap-up-berlin-2016">Marc Thiele&#039;s coverage post</a>, in which he lists all blog posts, photos, videos, and much more interesting facts about the conference. We drank a total of 256 liters of coffee, for example…</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-sacha-judd.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-sacha-judd.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-sacha-judd.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-sacha-judd.jpg" alt="Btconf Berlin 2016 Gallery Sacha Judd" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-wizard.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-wizard.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-wizard.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-wizard.jpg" alt="Btconf Berlin 2016 – Harry Roberts" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 150%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-una-kravets.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-una-kravets.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-una-kravets.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-una-kravets.jpg" alt="Btconf Berlin 2016 Una Kravets" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-frank-rausch.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-frank-rausch.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-frank-rausch.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-frank-rausch.jpg" alt="Btconf Berlin 2016 Frank Rausch" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-lads.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-lads.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-lads.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-lads.jpg" alt="Btconf Berlin 2016 Marc Thiele and friends" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 100%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-erika-hall.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-erika-hall.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-erika-hall.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-erika-hall.jpg" alt="Btconf Berlin 2016 Erika Hall" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-charlotte-jackson.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-charlotte-jackson.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-charlotte-jackson.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-charlotte-jackson.jpg" alt="Btconf Berlin 2016 Charlotte Jackson" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-ceiling.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-ceiling.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-ceiling.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-ceiling.jpg" alt="Btconf Berlin 2016 View of the ceiling" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-berlin-2016-gallery-jeff-greenspan.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-berlin-2016-gallery-jeff-greenspan.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-jeff-greenspan.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-berlin-2016-gallery-jeff-greenspan.jpg" alt="Btconf Berlin 2016 Jeff Greenspan" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																						            	]]></description>
            </item>
                    <item>
                <title>Closing the Gaps</title>
                <link>https://matthiasott.com/articles/closing-the-gaps</link>
                <pubDate>Sun, 23 Oct 2016 18:48:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/closing-the-gaps</guid>
                <description><![CDATA[
                    
																																	<p>Do you remember when you wrote your first line of HTML? Watching my students sweat blood while I introduce them to the basics of HTML and CSS always reminds me of my teenage self, learning the ropes of HTML back in the 1990s. Although I loved to fiddle around with my computer (which included tinkering with config.sys and autoexec.bat) my real passion was arts and drawing, so learning HTML felt like a bit of a challenge to me back then. But in the end, it turned out to be quite a lot of fun and really exiting to be able to put something out there.</p>
<p>Since that time, the web has grown up and with it, making websites has become increasingly complex. I am not only talking here about the wealth of development tools like APIs, libraries, frameworks, linters, pre- and post-processors, build tools, boilerplates, and generators that our industry uses today and which continue to grow in number and depth at tremendous speed. Increased complexity is not a development issue alone. Increased complexity is a phenomenon that affects all areas of creating for the web. Let me take web typography as an example.</p>
<h2>A Few Good Friends</h2>
<p>Back in the 1990s, web designers only had a really limited number of fonts to choose from: Web-safe fonts, this smallest subset of system fonts that is most likely to be installed on most of the users’ machines. So the decision process usually went something like this:</p>

																												
																												<p><em>Serif?</em><br>
Use <span style="font-family:'Times New Roman', Times, serif">Times New Roman</span> or <span style="font-family:Georgia, serif">Georgia.</span></p>
<p><em>Sans-serif?</em><br>
Pick <span style="font-family:Arial, Helvetica, sans-serif">Arial / </span><span style="font-family:Helvetica, Arial, sans-serif">Helvetica</span>, <span style="font-family:'Verdana', sans-serif">Verdana</span>, or <span style="font-family:Tahoma, sans-serif">Tahoma.</p>
<p><em>Monospace?</em><br>
<span style="font-family:'Courier New', Courier, monospace">Courier New.</span></p>
																						
																																	<p>And because the overall on-screen readability of fonts was pretty bad back then, there was another vastly popular option: <a href="http://www.fontsforflash.com/">Pixelfonts</a>.</p>
<p>From a typographical perspective, working with such limited options was often challenging, because you had to stick to the few fonts available. But you could easily learn the constraints of the medium within no time and then get used to it.</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item row drop-right pull">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 62.5%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/yahoo-in-1999.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/yahoo-in-1999.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/yahoo-in-1999.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/yahoo-in-1999.jpg" alt="Yahoo In 1999" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-right">
								<p><strong>Yahoo!’s website back in 1999.</strong> <br>
This rad table layout basically uses only two (system) typefaces: Arial and Times New Roman. <br>
– <br>
<em>Retrieved from</em> <a href="http://oldweb.today/">oldweb.today</a></p>

								</figcaption>
															</figure>
							
													</section>
							    	
								
																																	<h2>An Explosion of Possibilities</h2>
<p>Today however, we have hundreds of thousands of typefaces to choose from and dozens of different techniques for getting the fonts onto our websites. We can either host them on our own servers or use free or paid services like <a href="https://fonts.google.com/">Google Fonts</a>, <a href="https://typekit.com/fonts">Typekit</a> or <a href="http://www.webtype.com/">Webtype</a>. We need to address (rendering) performance issues and find ourselves struggling with things like <a href="https://css-tricks.com/fout-foit-foft/">FOIT, FOUT, and FOFT</a>, which is why we should be aware of <a href="https://www.zachleat.com/web/comprehensive-webfonts/">the many different and ever evolving webfont loading strategies</a>. We are able to use <a href="https://helpx.adobe.com/typekit/using/open-type-syntax.html">powerful OpenType features</a> like ligatures and alternates, and we even enjoy <a href="http://www.elliotjaystocks.com/blog/kerning/">proper kerning</a>! If we want to provide the best possible user experience for all the different device types out there – which is of course always what we want to do –, we also have to consider the <a href="https://ia.net/know-how/responsive-typography-the-basics">responsive behaviour of typography</a>. And even the important conclusion that <a href="https://robinrendle.com/essays/new-web-typography/">we need to embrace the uncertainty of the medium and the fragility of web typography as a feature</a> – as exciting as this challenge may be – doesn’t make things easier, to be honest.</p>
<p>While this richness provides us with great flexibility and a variety of ways to express ourselves, it also makes it harder for beginners to learn what it takes to build a thing for the web. Compared the 1990s, the multitude of options to choose from and new things to learn is so enormous that it can be really overwhelming for the next generation of designers and developers.</p>
<p>But not only newcomers are having a hard time catching up with all the different techniques. Many designers and developers with decent experience see similar problems regarding their own daily work: Keeping up with the current pace of innovation is not impossible, but still a major challenge. It requires constant research while staying curious, combined with the ability to reflect on current developments to be able to pick the right tools for new projects. It’s almost a full-time job. What makes it even harder, is that many agencies and studios still don’t reserve dedicated time for the necessary research and advanced training and expect it to happen, well, magically. Which is to say: in your spare time. And ain’t nobody got time for that, right?</p>

																												
																												<blockquote class="twitter-tweet" data-lang="de"><p lang="en" dir="ltr">Web designers and developers! How much effort is needed today to keep up with the latest trends &amp; tools? Please RT!</p>&mdash; Matthias Ott (@m_ott) <a href="https://twitter.com/m_ott/status/754061038186860544">15. Juli 2016</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
																						
																																	<p>So for the majority of beginners and seasoned professionals we can observe growing knowledge gaps compared to the industry leaders and a relatively small percentage that somehow manages to keep up with the pace of innovation. For the sake of the further development of the web, we need to find a way to close these gaps. On the one hand, we need to make sure that the next generation of designers and developers is ignited in the way we were, so that we continue to see the best aspiring talent choosing the web as their profession. On the other hand, in order to further raise the quality of what gets created, it is equally important that seasoned professionals don’t lose confidence in the power of the web and keep pushing at the edges of what is possible.</p>
<p>But how?</p>
<h2>Education: Laying a Solid Foundation</h2>
<p>When we think of ways to bridge those knowledge gaps with the help of the educational system, we soon realize that trying to always teach students the newest tools would be a Sisyphean task: As soon as students are ready to use a tool in the wild, chances are that it will soon be gone. This is exactly what happened to me: I created my diploma project with Flash, for which I learned how to code in ActionScript – just to see Flash being wiped away shortly thereafter. Remember Macromedia FreeHand? It used to be our favorite tool for vector illustration works, until Adobe bought Macromedia and decided to discontinue FreeHand. Others were using Director in their projects, or Fireworks. Both discontinued. I think you get the point: Tools come and go. Tools are temporary.</p>
<p>But this doesn’t mean that we should jump to the conclusion that learning new tools is unnecessary. Because tools might be out of date one day, but one thing won’t: Basic concepts. Flash might be gone, but through it I learned how to code in an object-oriented programming language, I read a book about ActionScript design patterns and by this developed a basic understanding of, for example, the model-view-controller pattern. FreeHand might be a thing of the past, but through it I mastered the skill of drawing vectors which would later help me draw a font, logos, icons, and other graphics.</p>
<p>Almost every tool you learn shapes a basic understanding of some underlying core principle. And while tools are only the vehicle, those basic concepts are the road that guides your way. They are the foundation you will always be able to refer to when in doubt. The same is true for the basics of typography, for example. Concepts like balancing contrast, rhythm, and proportion(s), defining font sizes, line height, leading, kerning, and measure will become constant and reliable companions throughout your professional life. Because fundamental knowledge like this forms the foundation of what we create, often developed by others over the course of centuries and therefore here to stay. Basics are permanent.</p>
<p>So whether you are a student or a professional: Don’t hesitate to jump right into the hottest tool that the cool kids are using right now. Try to soak up as much of it as you can. But also try not to concentrate on the peculiarities and quirks of the tool too much. Instead, focus on the core functionalities and the underlying concepts. Try to extract the essence.</p>
<h2>Practice: Creating a Learning Environment</h2>
<p>As mentioned earlier, the rapid advancement of our industry leads to a high need for on-the-job training for professionals as well. The times where you could learn the most necessary things for a job – also known as „to finish your studies“ – and then go out and practice your craft for the next 40 years are long gone. Yet still many agencies, especially if their roots are in advertising or editorial design, still haven’t changed their culture accordingly. It used to be that they would look for well-trained and talented young people and then let them work on different jobs just as they came along. And there was nothing wrong with that as long as the only things that changed were brought to you by the guy from the paper company with the newest coated paper products, the printer who introduced you to a new finishing technique, or the type foundry that sent you a beautiful specimen of a new typeface you could then use in one of your next projects. That is not to say that everything was easy and that there was less craftsmanship involved. To the contrary: Maybe we also lost a bit of the creative power and virtuosity of those days. But things surely were different – more predictable, more reliable, steady. And so there was less need for training your staff.</p>
<p>Our fast-moving times call for new approaches to how we combine working with learning. Establishing such a culture of learning is key to remaining successful when <a href="https://matthiasott.com/articles/the-art-of-the-restart">the only constant is change</a>. In agencies, this could mean to foster the exchange of knowledge between employees and between project teams. And by that, I don’t mean setting up a Wiki and hoping for the best. A culture of knowledge exchange starts with the realization that there is no such thing as a stupid question and that sharing your knowledge, even the smallest bit, is basically a good thing. Although it might sometimes seem like a waste of time compared to other tasks – an organization where everybody has a solid understanding of the problems that are being solved, will in the end be more efficient and effective in every respect, because teams will find solutions that are more creative in nature by combining existing knowledge in unexpected ways and which tap the potential of current possibilities to a greater extent. So the primary goal should be to create an environment where information can flow freely from one person to another and thus constantly learning new things in your job becomes the norm.</p>
<p>The ways to achieve this will of course vary from organization to organization and they also need to fit into organizational structures and habits. For example, it can be a great idea to set up a Slack channel to collect the most valuable links and new resources. You could also schedule weekly learning meetings, where everybody contributes something valuable and explains it to the team. Collaborative design or code reviews can help bridge knowledge gaps between team members and thus be really worthwhile. All of those measures can facilitate knowledge exchange and are a first step towards a workplace where research and knowledge exchange are integral elements of the organizational culture. But to really get learning – and teaching – baked in into your organization, it needs to gain center stage.</p>
<h3>Apprenticeships</h3>
<p>Daniel Mall <a href="http://danielmall.com/articles/apprenticeships-superfriendly-academy/">recently gave a talk at 99u</a> about an interesting concept that could provide just that combination of on-the-job learning and teaching: apprenticeships. An apprenticeship can basically be thought of as a replacement for the good old internship. The main idea is, that instead of just using the work power of an untrained intern as needed, an apprenticeship opens up the opportunity to teach young talent on-the-job, let them test their hypotheses, and guide them through the multitude of available options. Ultimately, an apprenticeship can be the starting point to create well-rounded professionals. It is also a way to take the responsibility seriously that comes with being part of a much larger community and, as Ivana McConnell writes in her <a href="https://louderthanten.com/coax/apprenticeship-an-internship-replacement">great essay on apprenticeships in the creative industry</a>, means to “value learning, our craft, and each other.”</p>
<p>So there is a lot organizations can do already to create a culture of learning that will make ideas thrive and help close the knowledge gaps in the professional field. And I am sure that we will continue to see really exciting approaches in the future. But in the end, the most important factor is the individual.</p>
<h2>Individuals: Learning to Explore</h2>
<p>When it comes to how individuals keep themselves up to date, one thing certainly is a prerequisite: curiosity. Without curiosity and the spark resulting from it, nobody will walk the extra mile that is sometimes required to finish a book, explore a new technique, or acquire a new skill. But beyond that, everybody has to find a way that fits to personal habits and preferences.</p>
<p>Jonathan Snook, for example, shared his learning process in his post <em><a href="https://snook.ca/archives/other/how-do-i-learn">How do I learn?</a></em>. He identified three phases in his process:</p>
<ol start="1">
<li>Reading</li>
<li>Building</li>
<li>Writing</li>
</ol>
<p>In the reading phase, he will read a lot and by that acquire an overview of what is new out there. The second phase is where he explores how something works by building something with it. The last step is to write about a thing which deepens the understanding even further. I experienced the same with teaching: The need to communicate how something works requires a deeper understanding and broader exploration of the edges of a topic.</p>
<h2>Slowly but Surely</h2>
<p>Combining working with learning and finding a routine for exploring new ground as an individual won’t happen overnight, but it is certainly worth it. So go talk to your colleagues about how you could improve the current situation. And then learn, explore, and share your knowledge and experiences, may it be through mentoring, teaching, or writing. But also ask yourself: What are the basics that I want to build upon? Which tools do I really want to learn? What are the tools you feel the most comfortable with? Because as <a href="https://bastianallgeier.com/notes/pressure">Bastian Allgeier put it</a>: “If we stop moving, we die. But we don’t have to jump all the time.”</p>
<p>I for myself will start by sharing in my next posts what I do to stay up to date and what I hope can be a good starting point for you. But in the meantime: What do you do to stay informed? How do you learn new stuff? Does your employer offer anything that facilitates on-the-job learning? Do you have an idea that you would like to share? I’d love to hear from you – via Twitter, email, or through a follow-up post.</p>
<p>Let us close those gaps together.</p>

																												
																																	<p>–   </p>
<p><em>Header image shows the <a href="https://commons.wikimedia.org/wiki/File:Manhattan_Bridge_Construction_1909.jpg">Manhattan Bridge under construction, 1909</a>.</em></p>

																												
																																						            	]]></description>
            </item>
                    <item>
                <title>Beyond Tellerrand 2016</title>
                <link>https://matthiasott.com/articles/beyond-tellerrand-2016</link>
                <pubDate>Mon, 16 May 2016 16:23:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/beyond-tellerrand-2016</guid>
                <description><![CDATA[
                    
																																	<p>Lately, I travelled to Düsseldorf and attended the <a href="http://indiewebcamp.com/2016/D%C3%BCsseldorf">IndieWebCamp</a> and also <a href="https://beyondtellerrand.com/">beyond tellerrand</a>, a conference about design, development, and all things web. I’ll say it plain: If you never have been at a conference, you should go. If you never have been at beyond tellerrand, you should definitely go as soon as possible. Because it&#039;s an event that is special in many ways.</p>
<h3>Here&#039;s to the curious</h3>
<p>First of all, there is the great variety of topics. Conference organizer <a href="http://marcthiele.com/">Marc Thiele</a> repeatedly manages to get speakers from the most diverse fields of work to his events, so the name (“beyond tellerrand” loosely translates to “beyond one&#039;s own nose”) really says it all. Beyond tellerrand allows you to hear talks about <a href="https://vimeo.com/165960107">user experience design</a>, <a href="https://vimeo.com/166145048">image performance optimization</a>, <a href="https://vimeo.com/165950257">time and creativity</a>, <a href="https://vimeo.com/165960084">game design</a>, <a href="https://vimeo.com/165960150">typography</a>, <a href="https://vimeo.com/122959827">the reinvention of normal</a>, <a href="https://vimeo.com/165951806">the security issues of AngularJS</a>, <a href="https://vimeo.com/166144917">CSS animation</a>, <a href="https://vimeo.com/165950912">great advice to young (and not so young) designers</a>, <a href="https://vimeo.com/166161489">the internet of things</a>, <a href="https://vimeo.com/166161405">type design of a coding font</a>, <a href="https://vimeo.com/166140718">progressive enhancement</a>, and the work of <a href="http://www.mr-bingo.org.uk/">Mr. Bingo</a> – all on the same track. The diversity of the topics of the talks at beyond tellerrand is maybe unparalleled and each one of the talks was interesting and entertaining but most importantly: highly relevant in covering current topics. The only topic that I missed a little this time was accessibility, but <a href="http://www.heydonworks.com/">Heydon Pickering</a> will surely tackle that at <a href="https://beyondtellerrand.com/events/berlin-2016">the next beyond tellerrand in Berlin</a> (07–09 Nov 2016).</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-marc-thiele.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-marc-thiele.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-marc-thiele.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-marc-thiele.jpg" alt="Btconf 2016 Marc Thiele" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p><strong>Marc Thiele</strong></p>
<p>opens beyond tellerrand DUS 2016 – once again he created a wonderful event with outstanding speakers.</p>

								</figcaption>
															</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-jeremy-keith.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-jeremy-keith.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-jeremy-keith.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-jeremy-keith.jpg" alt="Btconf 2016 Jeremy Keith" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p><strong>Jeremy Keith</strong>
emphasized the importance of building resilient experiences with the help of pro&shy;gressive enhance&shy;ment.</p>

								</figcaption>
															</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-ross.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-ross.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-ross.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-ross.jpg" alt="Btconf 2016 Ross" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption right">
								<p><strong>David Jonathan Ross</strong> </p>
<p>talked about fonts for code and his work on the font family <a href="http://input.fontbureau.com/">Input</a>.</p>

								</figcaption>
															</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-dominic-wilcox.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-dominic-wilcox.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-dominic-wilcox.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-dominic-wilcox.jpg" alt="Btconf 2016 Dominic Wilcox" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption right">
								<p><strong>Dominic Wilcox</strong></p>
<p>showed his wonderful work. Here, it's a robot spoon that gets happier as children eat their breakfast.</p>

								</figcaption>
															</figure>
							
									    	
								
																																																																		</section>
					
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item drop-left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-val-head.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-val-head.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-val-head.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-val-head.jpg" alt="Btconf 2016 Val Head" loading="lazy">
											</picture>
																					</div>
																							<figcaption class="b-fleximg__caption caption drop-left">
								<p><strong>Val Head</strong></p>
<p>did a great job explaining meaningful animation – including some CSS live coding.</p>

								</figcaption>
															</figure>
							
									    	
								
																																																												
							
								<figure class="b-fleximg__item drop-right">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 66.666666666667%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source srcset="https://matthiasott.com//assets/pictures/_standardImage2272/btconf-2016-people.jpg 2272w, https://matthiasott.com//assets/pictures/_standardImage1536/btconf-2016-people.jpg 1536w, https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-people.jpg 768w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_standardImage768/btconf-2016-people.jpg" alt="Btconf 2016 People" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																	<p>What happens if you have such a diverse mixture of speakers and topics is this: You are continuously confronted with new things, with new thoughts, new concepts, and new ways of approaching problems. And not only do you learn something new by that, you also challenge your assumptions, you start thinking in new ways, you sometimes even rewire your brain.</p>
<p>But hey: You could just as well stay at home and <a href="https://vimeo.com/beyondtellerrand/videos">watch most of the talks on Vimeo</a>. So why go there after all?</p>

																												
																																	<h3>Here&#039;s to the people</h3>
<p>The answer is: people. The web community is a vibrant community that to a great extent exists in the digital space. However, the real-world experience of a conference is something that is hardly reproduced in a purely virtual space. The atmosphere at beyond tellerrand is really relaxed, open, and welcoming, so you will surely have a lot of nice and inspiring conversations between the talks – and in the evenings too, of course. ;)</p>
<p>During the four days at the IndieWebCamp and beyond tellerand, I got to know so many nice and interesting people, and enjoyed the most diverse and inspiring talks, so that I left Düsseldorf deeply satisfied and full of new ideas (although they are only new combinations of old ones…). Thanks to everyone I had the chance to meet!</p>
<p>See you in <a href="https://beyondtellerrand.com/events/berlin-2016">Berlin</a>!</p>

																												
																																																												
													<section class="b-fleximg">
					
								<figure class="b-fleximg__item left">
																			<div class="imgcontainer">
																						<picture class="" style="padding-bottom: 40%;">
													<!--[if IE 9]><video style="display: none;"><![endif]-->
													<source data-srcset="https://matthiasott.com//assets/pictures/_blogHeaderImage1600/btconf-2016-apollo-teater.jpg 1600w, https://matthiasott.com//assets/pictures/_blogHeaderImage800/btconf-2016-apollo-teater.jpg 800w" sizes="100w">
													<!--[if IE 9]></video><![endif]-->
													<img src="https://matthiasott.com//assets/pictures/_blogHeaderImage800/btconf-2016-apollo-teater.jpg" alt="Btconf 2016 Apollo Teater" loading="lazy">
											</picture>
																					</div>
																					</figure>
							
													</section>
							    	
								
																																						            	]]></description>
            </item>
                    <item>
                <title>The Art of the Restart</title>
                <link>https://matthiasott.com/articles/the-art-of-the-restart</link>
                <pubDate>Fri, 06 May 2016 09:57:00 +0200</pubDate>
                <author>Matthias Ott</author>
                <guid>https://matthiasott.com/articles/the-art-of-the-restart</guid>
                <description><![CDATA[
                    
																											<p>Far too long, we have thought&nbsp;of web projects like rocket launches: You plan, design, and build the thing, maybe you train people how to steer it, and most of all you sweat blood only to be prepared on that magical date: launch day. That one&nbsp;decisive moment when your rocket takes off – flawless, perfect – with all eyes on the final product and the team that built it. With stakeholders sitting in their comfortable chairs as they watch their investments go up – sometimes in smoke.<br></p>
<h3>Proper planning?&nbsp;</h3>
<p>To some extent, this analogy totally makes sense.&nbsp;Setting up a timeline and&nbsp;having a clear goal to aim at, and be it only a red-letter day, can indeed&nbsp;have a positive impact on the intensity and progress of work. And it can also be argued that there is some importance in making a good first impression, especially if your work is targeting a bigger audience.&nbsp;Setting a launch date has therefore been a valid strategy in many projects, and it surely will continue to be valuable.</p>
<p>But there is a downside in approaching a digital project like a rocket launch: Websites aren't rockets.&nbsp;Rockets are built for a specific mission&nbsp;and after serving their purpose,&nbsp;they end up as space debris. End of story. Websites&nbsp;are&nbsp;different, though.&nbsp;The moment you launch them, their story has only just begun.&nbsp;</p>
<h3>Time is change. Friend or foe.</h3>
<p>This story needs to be part of your planning. Because as sophisticated your strategy and thoroughly crafted your design might be, the only thing that's certain is change: Your users will change, their device preferences will change, their usage behavior will change. Technology will continue to change at lightning speed, making things look outdated in the blink of an eye and requiring new solutions, but at the same time opening up new, boundless possibilities. And also your competitors might change – but so might you, your brand, your product, your content.</p>
<p>Not being able to flexibly react to those changes can be harmful. In the best case, you will have to invest most of the money, resources, and effort that went into the launch once again in five years, because your product is not up-to-date anymore. But maybe you realize that you invested a lot into features that turned out to be not as beneficial as expected. And if you did not prepare for adjustments upfront, making changes to your product will now be much more expensive and tedious when existing structures have to be broken up again and everybody is already working on the next project. In the end, your customers might even go to your competitors who get it right. So you better be prepared for change.</p>
<h3>Plan for change</h3>
<p>While most physical products can't be improved much once the customer carried it home from the mall, a digital(ly enhanced) product is not only able to change, most of the time this is where digital really shines: You <em>are</em>&nbsp;able to react to your user's behavior and feedback. You <em class="redactor-inline-converted">are</em>&nbsp;able to improve features like accessibility and performance. Planning for change is not that hard, but it has to be done early to really get everybody on track and because it can impact decisions right from the beginning. That’s also why simply including a support budget for „all those changes“ is definitely not enough. You need to approach your project like an ever changing product from day one, because that's exactly what it is going to be.</p>
<p>Depending on your project, you then might ask yourself some interesting questions like:</p>
<ul><li>Does our workflow facilitate continual improvement?</li><li>Do we have a strategy for failure?</li><li>Does our content strategy include a flexible solution for content management?</li><li>Is our design flexible enough to easily make changes?</li><li>New devices occur every day: Is our design robust and responsive enough?</li><li>Are we independent enough from&nbsp;technological trends? For example, do we really need that fancy third-party framework? What happens if the framework changes?</li><li>How about <a href="http://alistapart.com/article/understandingprogressiveenhancement" target="_blank"></a><a href="http://alistapart.com/article/understandingprogressiveenhancement" target="_blank">progressive enhancement</a>?</li><li>Who will monitor the success of the product once it is up and running?</li><li>Who will be responsible for changes? Do we need a team that takes care of the product? Do we maybe need a team that does this 24/7?</li></ul>
<h3>Restart on repeat</h3>
<p>We are living in most exciting times, with disruption at every corner and huge economic and social challenges ahead. In order to master the future, embracing change is crucial.</p>
<p>Both we as web professionals as well as our clients have to overcome the idea that the success of digital products can be planned beforehand. If we acknowledge the fact that change is inevitable and that in a lot of cases our educated guesses are only guesses, we will change how we approach projects. This is not to say&nbsp;that we should stop planning. But we should instead start planning for continuous&nbsp;change and come to love the flexibility that is inherent to the medium we are designing for. We should learn to restart on repeat.</p>

																																		
																																						            	]]></description>
            </item>
            </channel>
</rss>
