In this tutorial, I will discuss the pros and cons of using a pre-made theme and whether you should consider using one on your website. If you want to quickly design a new Umbraco website, one option is to base the project around a premade HTML theme from a website like ThemeForest. If you asked a range of developers their thoughts on using a custom HTML theme, you will get a very polarizing mix of positive and negative views on the subject. The honest answer is that using a theme will make sense for some projects. Over the years, I have built a number of websites using pre-made themes. I have also built many websites from scratch. The aim of this tutorial is to provide you with the pros and the cons of theme-based development, so you can decide if using a third-party theme is something you should consider.
Why You Should Use A Theme
First, I'll give a high-level summary of the pros and cons of using a third-party theme:
Timeframe: You can get 40-60% to project completion very quickly
Cost: A theme can cost as little as $25. Building the equivalent theme from scratch can cost thousands
Reduced Testing Time:. If you buy a popular theme that has been around for a few years, it will have been well tested. Most themes will be on version 4 or 5 so you know it works.
Rapid prototyping: Just because you start with a theme, does not mean you need to stick with it. Themes can be used to help a project move forward when the client needs something visual to work with
Why You Should Avoid Using A Theme
Bloated CSS and HTML: Most themes provide a huge library of features out-of-the-box. On most of the projects where I have used a theme, I have not needed to use all of its features, in general maybe I have used only 20%. This has meant that most of the CSS and JS that is loaded on the site isn't used.
Refactoring can take longer: Changing the theme can be hard work. Sometimes it takes more effort to change something than to create it from scratch. If you have to re-write a large chunk of your theme, you will not save much time
Quality: Quality is subjective. Everyone has their own personal preference of what defines good code. If you use a third-party theme, you will probably end up with code that you are not 100% happy with. For example, I'm not a fan of atomic CSS and the last theme I used was built entirely using atomic selectors.
Learning Curve: There can be a steep learning curve to understanding the theme fully
How IMportant Is Matching The Design To The Vision?
One of the big benefits of using a theme is cost. Regardless of how big or small a company might be, it doesn't necessarily mean that you should make something custom from scratch. When I've worked with clients who advertise on TV, they spend a fortune on the brand design guideline. This is probably the first obvious yes/no question that will determine the suitability of using a theme on a project.
If a company is very opinionated about exactly how their website and their brand should look on their site then this is an indicator that a theme might not be a good fit. If the client wants the site to have exact pixel-perfect margins/padding and spacing and they have the budget to employ one or more designers for weeks/months/years then build from scratch. You could buy a theme and then try and customize it. I've tried this approach a few times and the amount of time the team had to spend understanding the theme, changing it to meet its needs, re-testing it, etc.. for an end result that the team is not ecstatic about is not worth it. In these situations, the dev team will think the code is not clean enough. If budget is not a problem, then writing from scratch while being a lot more expensive is the way to go.
You can buy great-looking themes that look amazing. If the client and the design team are happy to work within the constraints of the theme, you can build beautiful websites at a fraction of the cost. The point here is how much compromise are people willing to make. You will need to work with the theme rather than impose your designs onto it. If you can not do this, then avoid using a theme!
Do You Have Any Time Constraints?
Time is probably the main motivating factor why I have used themes throughout my career. When does the website need to go live AND do you have the time and resources to get release the site within the deadline? An obvious benefit of web design is that things can be changed. Someone building a physical product, like a house, is screwed if he wants to change the room layout after it's been built, websites aren't limited to this.
If a client has to release a site for legal/financial/commercial/media reasons by a certain date, a theme can be a good option to consider. One project I worked on had just under three weeks between project kick-off to delivery. The only way we could produce something was a theme. We had no time for designs, customising the site etc... Using a theme and Umbraco we got a site up running in production on day one. The following 3 weeks were then a continual refinement of content, images and components. Using this approach allowed us to hit the deadline with a guaranteed working site. After the deadline was met, designers were brought in, the theme was ditched and the frontend was re-done. By agreeing to some temporary compromise, the business needs were met. Eventually, the business then got what they wanted in a great looking website.
What's your Budget?
A theme can be purchased for as little as $25. I've worked on projects where the design and CSS build has been over $150,000. If you're working on a hobby website, or you're working with a client who thinks the cost of building everything is high, then a theme is a good alternative. A lot of business that I have spoken to can get put off by Umbraco due to the custom nature of it compared to Wordpress.
Using a theme is a good approach for certain situations and clients. For smaller clients, I personally prefer to try and save them money and spend time working on the things that will give them business benefits. Just because something is built from scratch does not mean it will be of higher quality. I've seen designers write terrible HTML and CSS over the years.
If you have a client who wants a Ferrari and can afford one with very specific goals and design guidelines do not use a theme. I'd never considered using a third-party theme for these clients because in the long run, changing and bastardising the theme will probably end up taking longer and no one will be happy with the end result. For clients with a smaller budget, or, who need something then consider a theme. They do work well in certain situations. Happy Coding 🤘