The internet is broken. We arrived here mostly as a matter of habit — a pattern that needs to change.

Your workflow is the problem

A few years back (15?) developers and designers were introduced to an amazing, paradigm-shifting technology called a CMS (content management system). You know many of them by name (WordPress, Drupal, Joomla, etc.), and today they house a significant share of the web’s content.

Why did the CMS take over? Before them most pages were written very simply — with a text editor. Content had to be manually updated on every page, and developers needed to keep track of every change to make sure that repeated elements were updated throughout a site.

A CMS was a convenient new way to build a website. Install it on your server, and you gain access to a number of turnkey features — typically wrapped in an interface to make users, content, and settings easier to maintain. Layouts and frequently replicated elements (like nav bars) are easily repeatable, and simple site changes can often be made by fairly non-technical users. Additionally, many site designers and developers leverage the CMS to hand off a site to a client or content creator who wants to perform simple updates or handle routine maintenance — for better or worse.

In order to provide all these features, most content management systems leverage a database. That database stores content, user information, site configuration, and presentation data. Every time a visitor arrives on the page, the database is queried and content is retrieved/assembled for display. Every time.

Today, using these systems to power even the most basic sites has become common practice. Why? Because building simple sites on top of database-driven architecture feels more convenient than just delivering simple HTML content. As a result, our web has become bloated with lethargic, vulnerable content that costs us time and money.

The case for simple websites

It’s ironic that while mobile devices have ushered in flat design and streamlined content, over-complicated dynamic architecture is powering some of the most basic content online.

Imagine your website as a newspaper. Publishing a site on a database-driven CMS like Wordpress is the equivalent of printing a newspaper on the fly, every time a reader wants to access any part of your paper. This inherently inefficient system results in slower page loads and lost eyeballs.

These same visitors have been bitten by wide spread security breaches that seem to crop up with increasing frequency. Needless complexity and poorly maintained software expose vulnerabilities that can lead to a site going offline, being inundated with malware, or worse — a data breach. By some measures — as many as 70% of WordPress installs are vulnerable to known exploits, such as last May when a bug affected millions of WordPress sites. In the previous year as many as 12 million Drupal site were compromised. Each new complexity in the system and/or time-saving plugin becomes a potential point of failure.

Likewise, developers pay the price when handing off routine updates and regular maintenance to a client. I’ve personally received the unfortunate after hours call from a client who discovered her site was compromised and infected with embarrassing content. It could have been avoided. But, since her site hadn’t been changed/updated in ~18 months the software had fallen behind, making it susceptible to attack.

Houndstooth is a better CMS for static content

As with so many things, simple is ultimately better.

For many use cases (brochure sites, service providers, portfolios, event pages, landing pages), static sites are quite obviously the right tool for the job. In fact, any site where visitor interactions are guided (accessing existing content, submitting content through a fixed form, and not interacting with other visitors in real time) can be deployed as a static site. All of these interactions can be handled without a database.

But, no one wants to lose all the convenience features of a CMS. The good news is, there are better options to provide the same benefits with less hassle.

Today’s browsers can execute many of the same functions that used to require dynamic code running on a server. Comments, social integration, data storage, live chat, payments, and search can be easily added to a static site.

Modern tools like Houndstooth allow you to manage websites that are faster, leaner, and as flexible as a traditional database-driven CMS.

  • Static sites managed with Houndstooth load faster (because we’ve rendered the site in advance), and eliminate the risk of a database breach (because there is no database).
  • Site developers use tools they are comfortable with (git, local development, Jekyll).
  • Content is managed in a customized interface for non-technical users to update/create content.
  • Edits are made in the browser, and your site is rebuilt automatically on save using tools like RazorSite or Netlify.
  • Your site files are hosted on Github for safety and infinite redundancy.
  • Houndstooth is open source, and we are looking for contributors.

Static is a Beautiful Future

Is static the right solution for your next site? For simple sites, landing pages, and many web apps, the answer is a resounding yes. The ecosystem of tools surrounding static sites is rich and growing. Combining these with a client-ready CMS like BowTie match the capabilities that have made dynamic websites convenient in the past.

An increasing number of agencies and freelancers are deploying static sites for small business clients and major brands. Static architecture was the solution that fixed Healthcare.gov following it’s very high profile performance failures at launch. And, an increasing number of design-driven enterprise companies are using static sites to power their primary properties (MailChimp, Nest, Google).

Working with Houndstooth

If you wan to expolore Houndstooth for your next project I recommend you visit the main porject site, and check out the source on Github.

 

If you would like to work with our agency on your next project, contact Bowtie.co to start the conversation.

 

*This post was updated from an earlier post I wrote on Medium