Your workflow is the problem
The internet is broken. We arrived here mostly as a matter of habit - a pattern that needs to change.
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 unmaintained 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.
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 BowTie allow you to host and manage responsive sites that are faster, leaner, and as flexible as a traditional database-driven CMS.
BowTie sites load faster (because we’ve printed the papers 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).
We provide an Admin dashboard to track usage, manage site settings, and provide a customized interface for non-technical clients to update/create content.
Your content is hosted on scalable architecture that you don’t need to maintain.
Our built in static site generator makes producing content and using repeatable elements a snap.
BowTie adds features previously unavailable for static sites: user management tools, Stripe payments, and connection to third party services.
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. CMS-free, 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).
We’re on a mission to see your next project launched as a static site. Whether you’re working on your next big idea or a client site, BowTie is the best way to deploy a simple site that you can hand off to a client.
Embracing this new CMS paradigm will make your developers, clients, and visitors happier.
If you haven’t already created a BowTie project, you can sign up here.
New to BowTie? Check out our Getting Started guides:
- Build a Landing Page in 5 minutes
- Initial Configuration
- Customizing and Styling BowTie frontend content
- Blogging with BowTie
- Launch a simple donation site
- Using Jekyll Data to extend your site
- Adding BowTie users to MailChimp with Zapier
To keep up to date, follow us on twitter or instagram at @bowtie_io
Questions? Please comment! Thanks for your support and feedback.
Reposted from: Medium