Getting Started with a Design System

When your website is small, you can use design tools like sketches, sitemap and color schemes to create a consistent and cohesive look and feel. What happens as your team and website grows? How do you keep your website design and functionality from being a mess? You may start out by creating a design style guide or building a pattern library. Eventually, you’ll need something more. A tool like a design system.

Getting Started with a Design System
Photo by Sarah Pflug from Burst

What is a design system?

A Design System is a documented library of colors, fonts, buttons, components, visual elements and other design features that helps to create a consistent user experience. It is more than a style guide or a pattern library. A style guide focuses on the design or look and feel. Pattern libraries focus on building and providing a consistent code base. Your design system pulls both the style guide and pattern library into a single, documented system for your entire team to use.

Examples of Design Systems

How do I build my own design system?

Start with the tools that you know. You can build your own using a CMS that you are familiar with. To get started, you can look at Brad Frost’s Design System Boilerplate. You can use the boilerplate as a starting guide for building your own system. Next, review and document your visual elements, design features and other components that make your user experience unique.

When you build your own, start small and build as you go. Remember, the best solution is the one that you and your team uses. Refer to these tools and resources to learn more about how to build a design system:

Prototype a website with CSS Grid

When I build a prototype, I start with pen and paper. A paper prototype (blog Post) helps me to develop my ideas better. What if your drawings don’t get the ideas across to your team or client? What do you do then?

Prototype a website with CSS Grid
Photo by Stefan Schweihofer

You could use a prototyping app or start building in the browser. Sometimes, it is simpler to start building in the browser. With HTML, CSS and JavaScript, you can build it quickly.

Building Your Prototype in a Browser

When you create your prototype in the browser, use the basic tools for building the web–HTML and CSS. HTML and CSS let your build and make changes to your prototype quickly. You and your designers can focus on designing and testing finicky UI components like tables and drop downs.

What if HTML and CSS isn’t enough to get you started quickly? You want to build a prototype not focus on the layout. A framework like Bootstrap or CSS Grid can help you get started quickly.

Why CSS Grid?

You can build your prototype using other frameworks like Bootstrap. CSS Grid gives you more flexibility, simpler markup and no 12 column limitation. When you use a framework like Bootstrap, it can look as though it was built using that framework. If you need more flexibility in your branding and design, then Bootstrap won’t work for you. CSS Grid gives you more creative control.

How Do You Start?

With CSS Grid, you have three choices:

  • Start with a page layout example. With these experiments, you can learn how CSS Grid works without having to build all of the markup yourself. One of the examples uses the Skeleton Framework. I used this example to build a public domain book website with it.
  • CSS Grid Layout Builder, an app, you download to help you build your CSS Grid layout quickly.
  • Build a CSS Grid website by creating the markup yourself. Grid By Example is a good resource for learning how to build what you need with CSS Grid.

CSS Grid is another tool that you can use to build prototypes quickly. Layout templates, grid builders and online examples all can help you to create your prototype quickly so you can focus on the user experience and not the tools to build it. When building a prototype, the best tools are the ones that you use.

Build a Website With CSS Grid Starter Template

The best way to learn a new coding technique or design framework is to build something with it. I chose to build a website with CSS Grid. I wanted to take a book and make it a website. On Grid By Example, you can find a CSS Grid starter template that makes it simple to begin. The template has a simple two column layout: left-hand sidebar and right hand column for content. Plus, it uses an existing CSS Framework called Skeleton. I have used Skeleton to create WordPress themes.

Build website with CSS Grid Starter Template

What steps were needed to build the website?

  1. Choose and download a public domain book from Project Gutenberg
  2. Download the CSS Grid Starter Template
  3. Step up the new website with the CSS Grid Starter Template
  4. Modify the sample page with content from the ebook
  5. Create new CSS classes and modify existing ones to create the look I wanted
  6. Test and modify the CSS for mobile

Choose a public domain book for this project

You can download a public domain book from Project Gutenberg. I picked I chose Black Amazon of Mars by Leigh Brackett because I wanted to build a science fiction themed site.

Getting Started with the CSS Grid Starter Template

When you first install the template, your website looks like this:
Grid By Example Two Column Template with Skeleton

My next steps were to replace the template’s content with my own and start to add new CSS to start building a simple design. Then, I downloaded images from Pixabay.com for the website. I wanted a photo of Mars for the header and a better photo for one of the chapters. It had an illustration that didn’t go with the story. The final result looks like this.
CSS Grid Template with Black Amazon of Mars

Does it work on mobile?

CSS Grid is mobile-first. I had to make changes to the CSS for the additions that I added to the website. The CSS Grid part worked beautifully on mobile.

Summary

CSS Grid Starter template helped me to get started quickly. The template did most of the work. I didn’t have to figure out the layout from scratch. I spent most of my time creating the pages, adding the content and adding design elements to make the site look better. The starter template made my first attempt in building with CSS Grid simple and easy.

What you can do to client-proof WordPress

You create a beautiful website for your client. Then, you hand over the website to them. Sometime later, you get a desperate call from them because they did something that made it so the site either doesn’t display or looks horribly messed up and they need your help to fix it. What can you do to make certain that the site you build isn’t easy to break?

Client Proof WordPress
Photo By: Pixel Creatures

User Roles

WordPress has different user roles. Use the different roles based on the clients needs. They don’t need to have full administrator access if they are going to be publishing blog posts and page updates.

No Account for adding posts

Use Gravity Forms to create a form for adding content to the website. You add this option for people who are creating content and don’t need access to the admin section. The website’s editor can approve and release content to be seen by your website visitors.

Hide options on the Admin Menu

Install the plugin Admin Menu Editor. It allows you to hide certain menu items from your clients. The less they have access, the less likely for them to make a mistake that damages the website.

TinyMCE Advanced

Add the TinyMCE Advanced plugin to make editing simpler for your clients. The existing editor may have too many features and make it too easy to break the website. This plugin can help to create an editor that has only the features that they need.

Add Custom Widgets to the Dashboard

Create custom widgets to the dashboard that provide extra help for your clients. You may want to create a help section that provides step by step instructions on how to edit and update their website.

Brennan Bliss gives his tip in his talk at WordCamp Albuquerque 2018.

Summary

When you hand a website over to your client, you want them to be able to maintain it as smoothly as possible. You want to give them a site that is hard to break. By making adjustments to the admin dashboard, restricting the type of user roles they get and using custom widgets and plugins that change how the admin works can help both you and your client have a better experience with the WordPress site that you built.

Resources mentioned in WordCamp Albuquerque 2018 talk

Customize your command line interface in Mac OS X

When you use you the MacOS for a development environment, you will have to use a command line interface to get some things done. With MacOS, you get the default command line interface tool called Terminal. You may notice that the Terminal window is a bit bland. What can you do? You can customize it.

Customize Your Terminal Window in MacOSX
Photo By: joffi

When you use you the MacOS for a development environment, you will have to use a command line interface to get some things done. With MacOS, you get the default command line interface tool called Terminal. You may notice that the Terminal window is a bit bland. What can you do? You can customize it.

Customize Terminal

When you first open Terminal, it looks a bit like this.

terminal macosx

To make it look better, you’ll want to change the appearance by changing its colors. It comes with 10 different profiles or themes: Basic, Grass, Homebrew, Man Page, Novel, Ocean, Pro, Red Sands, Silver Aerogel and Solid Colors.

To pick a different profile:

  1. Open the Terminal
  2. Choose Preferences from the Terminal menu
  3. In the General tab, choose a new profile from New window with profile
  4. Close Terminal and relaunch

Not sure which profile to pick. You can open a terminal window with the selected profile. In Terminal, click on the Shell Menu, choose New Window, scroll over to the drop down menu and select a profile. A new window opens in the profile theme that you have chosen.

terminal window themes

You can also tweak a profile by changing fonts, colors and much more. Open the Terminal’s Preferences and click on Profiles. In the Profiles window, click on the + button to create a new profile. Then, change the settings as desired.

terminal profile window

After working with the Terminal window for a while, you may want to change how it looks. You can choose to change the fonts and colors, pick a theme or create your own. What if you don’t want to use the Terminal Preferences window, you can edit the .bash_profile file. Whether you customize by using the preference window or edit the bash file, you can make the Terminal window look the way you want.