<?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>DEV Community: Max Böck</title>
    <description>The latest articles on DEV Community by Max Böck (@mxbck).</description>
    <link>https://dev.to/mxbck</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F259993%2F7a0bdc72-80ae-402e-81f9-664e3c3a644a.jpg</url>
      <title>DEV Community: Max Böck</title>
      <link>https://dev.to/mxbck</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mxbck"/>
    <language>en</language>
    <item>
      <title>Emergency Website Kit</title>
      <dc:creator>Max Böck</dc:creator>
      <pubDate>Mon, 06 Apr 2020 15:00:24 +0000</pubDate>
      <link>https://dev.to/mxbck/emergency-website-kit-29h3</link>
      <guid>https://dev.to/mxbck/emergency-website-kit-29h3</guid>
      <description>&lt;p&gt;In cases of emergency, many organizations need a quick way to publish critical information. But existing (CMS) websites are often unable to handle sudden spikes in traffic.&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;Just received a shelter-in-place emergency alert with a web address for more information. Clicked the link. The site is down. All emergency sites should be static.&lt;/p&gt;— Nicholas C. Zakas (@slicknet) &lt;a href="https://twitter.com/slicknet/status/1239972949819404291?ref_src=twsrc%5Etfw"&gt;March 17, 2020&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;To make things worse, natural disasters can also damage local network infrastructure, sometimes leaving people with very poor mobile connections.&lt;/p&gt;

&lt;p&gt;I've written about the practice of publishing minimal &lt;a href="https://mxb.dev/blog/hurricane-web/"&gt;"text-only"&lt;/a&gt; versions of critical news websites before and I think it makes a lot of sense to rely on the &lt;a href="https://en.wikipedia.org/wiki/Rule_of_least_power"&gt;rule of least power&lt;/a&gt; for these things. When it comes to resilience, you just can't beat static HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  An Emergency Website Kit
&lt;/h2&gt;

&lt;p&gt;Like so many others, I'm currently in voluntary quarantine at home - and I used some time this weekend to put a small &lt;a href="https://github.com/maxboeck/emergency-site"&gt;boilerplate&lt;/a&gt; together for this exact usecase.&lt;/p&gt;

&lt;p&gt;Here's the main idea:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate a static site with &lt;a href="https://11ty.dev"&gt;Eleventy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;minimal markup, inlined CSS&lt;/li&gt;
&lt;li&gt;aim to transmit everything in the first connection roundtrip (~14KB)&lt;/li&gt;
&lt;li&gt;progressively enable offline-support w/ Service Worker&lt;/li&gt;
&lt;li&gt;set up &lt;a href="https://www.netlifycms.org/"&gt;Netlify CMS&lt;/a&gt; for easy content editing&lt;/li&gt;
&lt;li&gt;one-click deployment via Netlify&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The site contains only the bare minimum - no webfonts, no tracking, no unnecessary images. The entire thing should fit in a single HTTP request. It's basically just a small, ultra-lean blog focused on maximum resilience and accessibility. The Service Worker takes it a step further from there so if you've visited the site once, the information is still accessible even if you lose network coverage.&lt;/p&gt;

&lt;p&gt;The end result is just a set of static files that can be easily hosted on cloud infrastructure and put on a CDN. Netlify does this out of the box, but other providers or privately owned servers are possible as well.&lt;/p&gt;

&lt;p&gt;You can find the &lt;a href="https://github.com/maxboeck/emergency-site"&gt;project source on Github&lt;/a&gt; as well as a &lt;a href="https://emergency-site.dev/"&gt;demo site here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not Everyone is a Developer
&lt;/h2&gt;

&lt;p&gt;I'm aware that not everyone, especially the people in charge of setting up websites like this, is familiar with things like &lt;code&gt;Node&lt;/code&gt; or the command line. I want to keep the barrier to entry as low as possible, so I'm currently working on two ideas:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. No-Code Setup
&lt;/h3&gt;

&lt;p&gt;Taking a hint from the excellent &lt;a href="https://www.servicerelief.us/start"&gt;servicerelief.us&lt;/a&gt; project, it is possible to configure the template in such a way that all configuration can be done via environment variables.&lt;/p&gt;

&lt;p&gt;These are set in the Netlify UI when the site is first deployed, meaning a user would only need a free Github and Netlify account to get started - without ever touching a line of code or having to mess around with npm or Eleventy itself. The content editing can all be done through Netlify CMS, which offers a much more useable graphical interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Volunteer Devs
&lt;/h3&gt;

&lt;p&gt;Another great idea came from &lt;a href="https://stephaniewalter.design/"&gt;Stephanie Walter&lt;/a&gt; on Twitter:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;True, but at some point there will always be single points of failures. I still like the idea of providing something simple to organizations, I just wonder how technical most people in those are. I wonder if there's some places to put in touch organizations with devs to help&lt;/p&gt;— Stephanie W. (@WalterStephanie) &lt;a href="https://twitter.com/WalterStephanie/status/1243516998790889473?ref_src=twsrc%5Etfw"&gt;March 27, 2020&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;Since even dealing with the unfamiliar landscapes of Github and Netlify might be a big ask for many non-technical organizations, it might be worth considering the help of volunteer developers.&lt;/p&gt;

&lt;p&gt;The initial setup is a 10-minute job for devs who understand the stack. Organizations could get in touch with a volunteer to help them get the site online, then take over and update the content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get in Touch!
&lt;/h2&gt;

&lt;p&gt;In the meantime, if you want to set up an emergency website and need help to get started, let me know!&lt;/p&gt;

</description>
      <category>html</category>
      <category>opensource</category>
      <category>sideprojects</category>
      <category>a11y</category>
    </item>
  </channel>
</rss>
