Web design is loaded with existential questions. One of the biggest being: Can I build a website today that will still be relevant (in both style and function) tomorrow?
The answer probably depends on how many tomorrows into the future you’re referring to. But a good rule of thumb is that, the more time that passes, the less relevant a website’s design and functionality become. The future always brings change – often in ways we don’t anticipate.
This is probably a good thing, as it keeps us busy with redesign work. But if we’re refactoring an existing site, that can be a real challenge.
The key to taking on that challenge is in designing and building websites that keep an eye towards the future. Below are a few tips for doing just that.
Use Established Systems
Content Management Systems (CMS) have come to dominate the landscape. And while we all know the big players such as WordPress and Drupal, there are untold amounts of competitors. That doesn’t even take into account the plethora of DIY site builder services out there as well.
While many of the up-and-coming systems sound compelling, there is a serious question regarding their potential for longevity. Simply put: They may or may not be around in a few years. This isn’t even a question of quality. The reality is that it’s an uphill battle and there are bound to be some casualties along the way.
For your smaller projects, this may not be a deal-breaker. But for larger websites, stability is key. Having to move to a new CMS because your current platform is languishing (or worse) is a major task.
That’s why, before you craft a design or write a single line of code, choosing a CMS is the single biggest decision you’ll make. Choose wisely.
And, once you have chosen the perfect CMS, you’ll want think long and hard about any plugins you intend to use. This is especially important when those plugins will power core functionality, such as eCommerce, member management, etc. Again, the goal is to avoid the major disruption of having to switch later on.
Design and Code for Flexibility
One way to pretty much ensure a future hassle is to box yourself in with inflexible features. This includes both design elements that are built for whatever sample piece of content a client provided and custom code that isn’t easily extensible down the road.
Websites evolve over time. New content is added and its format is always subject to change. This can be very difficult to foresee, however. And so, we tend to design for the here and now.
Still, this doesn’t mean that we can’t prepare for this inevitability. One simple way to do this is by utilizing some of the amazing new layout features in CSS. Flexbox, for example, offers multicolumn layouts that can stretch to match the tallest column of the group. And CSS Grid can be tweaked into nearly endless complex layouts with just a bit of code.
Navigation is another area that seems to always overrun its initial intent. We can prepare for this by following the trends, such as placing at least some items behind the good old hamburger menu. This allows for growth and doesn’t necessarily require any radical design changes.
Most of all, look for solutions that are both creative and practical. This will help you avoid running into a self-made design wall.
Just as content needs change, so do functionality requirements. Therefore, it’s probably worth both anticipating and accepting that the code we write today is going to change at some point.
Depending on the language you’re using and your experience level, writing code that allows for future tweaks can be a real challenge. Sometimes, just getting it to work for the most immediate need takes all of our brainpower.
Plus, there are any number of ways to accomplish the same result. This, however, is a good thing. Once you have achieved your initial functionality goal, you have the opportunity to take a second look.
From there, think about ways to streamline what you’ve done and look at how easy it will be to extend later on. Ask yourself how you can make your code as efficient as possible. Taking those steps now could prevent a future mess.
Look for Areas of Potential Growth
Sometimes, building websites for clients is a guessing game. Often, it involves trying to figure out vague requests and anticipating how they’ll react to your ideas. It can be difficult to get on the same wavelength.
That’s why it’s important to ask the right questions. This can be very helpful when it comes to spotting areas of a project that could expand over time.
For instance, let’s say that a client tells you that they are looking for a simple eCommerce site (which doesn’t exist, by the way). This is an area primed for growth.
New products and features will most likely be added at some point. Understanding this, you can design and build in anticipation of the possibility. One example might be implementing a shopping cart that can be easily extended to do a multitude of things, rather than one with a narrow focus.
You Can’t Stop the Future, but You Can Try to Build for It
While predicting the future of web design and our client’s needs isn’t an exact science, it’s still a worthy endeavor. Certainly, there will be times when we guess wrong. But implementing forward-thinking practices into our workflow will help us accommodate most changes.
Above all, it’s about making smart decisions every step of the way. Whether that’s in choosing a CMS or writing some CSS, it’s important to think about how it affects a website’s ability to adapt to the future.
Nothing we create is going to last forever in its current form. But with preparation, we can help to ensure that its evolution is as smooth as possible.
- What My Old Design Projects Have Taught Me
- Blog Posts Your Web Design Clients Wish You Would Write
- Staying in Touch with What Users Want
- How to Educate Clients About the True Value of Your Services as a Designer
- 10 Key Things Web Design Clients Should Know & Understand
- Tips for Managing Multiple Websites for Multiple Clients
- How to Be the Web Design Client Your Designer Deserves
- How To Handle Ethical Disagreements With Your Design Clients