How to Choose the Best Website Builder for Business in 2020

Post pobrano z: How to Choose the Best Website Builder for Business in 2020

If you own a business, you need a website – that is stating the obvious.

But what is the site about? Do you have a brick and mortar business (e.g., an interior design studio) or an ecommerce venture or perhaps a hybrid of the two?

Each of these would have different requirements. That is why you need to have a solid idea about what you are looking for before going shopping for the best website builder.

Are Website Builders Different?

There are a huge number of website builders out there –

  • WordPress
  • Wix
  • Weebly
  • Squarespace
  • Shopify
  • Duda

and tons more.

Each of them has pros and cons that you will not be able to realize unless you have created the website, launched it, and gone through the experience of interacting with customers.

Some would provide you simplicity (Strikingly), some multilingual support (Webnode), some access to thousands of plugins (WordPress), and yet others an excellent, seamless shopping platform (Shopify).

The point is you cannot build a site using Duda and then decide that you would like to invest more and transfer it somehow to fit into Magento. Of course, you could, but that would mean building a new site from scratch.

How to Choose The Best Website Builder?

1. Editor Interface

Source: translatepress.com

Over the past decade, every website builder has moved to drag and drop functionality. However, all WYSIWYG editors are not created equal.

You need one that is simple and intuitive. But it is not so simple.

The critical point here is the menu arrangement that appears simple to you might seem tricky to another. A website editor needs to fit your personality much like the UI of a phone.

The other important factor is if the editor allows you a preview pane that modifies as you make changes. If the editor has to save and fetch from the backend, the task becomes cumbersome.

2. Plugins

Plugins are software modules that can be added to a website platform to increase its functionality.

A plugin can allow you to send automated emails to clients regarding delivery tracking, manage inventory, generate reports, tweak SEO, and even automate purchases from Alibaba.

The richness and diversity of plugins can allow you to add new utility to your site, reduce your hands-on time, and provide you an opportunity to develop your business.

Obviously, if we use this one criterion alone, WordPress, with its famed 50,000 plugin library, is the automatic winner. It is the front runner and head and shoulders above other editors in the number of installs.

The problem is that WordPress is open-source, and getting customer support for an arcane issue is tricky.

The same reason you choose Windows over Linux is the reason to choose Wix or Squarespace over WordPress. Your site is down, and it needs to be up and running within at most 3 hours. Unless you have a dedicated IT team, that is not going to happen with WP.

With mere 300 plugins, Wix is a distant second, but your site would be up and running quickly.

3. Mobile Rendering

The use of the internet on the go means that your site has to be small-screen capable. The device might not be running a full-sized browser on top of macOS or Windows.

The significant differences are single content columns, lack of wide elements, and sandwich bar-based navigation instead of nice big menu bars.

The complete lack of Flash and seamless switching between portrait and landscape mode without reloading the page make mobile browsing different.

In this respect, Wix, Weebly and Squarespace are slightly ahead of WordPress. The problem with free open license platforms like WP is it endures – that is good and bad. WP is taking considerable time to change over to be fully mobile-friendly.

Of course, if you have a development team to assist you and edit the standard WP theme libraries’ codes, it is different. But for off-the-shelf use, WP is probably not best suited for mobile till now.

Why did we choose Wix, Weebly, and Squarespace out for mention? These editors give you real-time updates about how your site looks on a mobile screen. This alone makes them the best website builder for small business.

4. Superior Content Management System

A business website may be a dynamic website depending on its use. Ecommerce sites would be exclusively dynamic.

What does it mean? If a customer writes a review and uploads an image, the site will incorporate it immediately. Also, each user will get a slightly different view of the site. If you are buying a phone from Amazon while your wife is buying a pair of scissors, you are viewing very different content apart from the basic template.

Blogspot is the best example of static website builder software. Information is published through the editor, and the same content is visible to all the viewers.

WordPress is undoubtedly the best website builder for business as far as dynamic scripting goes.

 Its shopping extension, known as WooCommerce, uses very little processor power on both server and client-side. The extensive use of PHP 7.0 allows the browser to fetch images, reviews, product information quickly from the database.

This does not mean other editors are bad at creating dynamic sites. Just that every business site has a distinct requirement, and yours might be better suited to Duda than Site123. Only WP has an all-embracing performance in this regard.

5. SEO Capability

Source: yoast.com

Let’s be honest – SEO is mostly a matter of brute force changes. The more you spend, the higher you rank for familiar keywords. But that does not mean you should neglect SEO hygiene.

You have to be able to manage titles and meta descriptions without hassle. Since a business website could have hundreds of product pages, it helps if the website builder allows a degree of automation in this regard.

Better use of keywords and the consistent application of Alt-Tag to images allows a search engine crawler to index a page faster.

Another essential part is an XML sitemap. A well-executed sitemap tells the search engine how many pages the site has, the categories, and changes made to each page. The last feature allows the crawler to understand which age has been changed since it last visited the site and if there is new information to be indexed.

6. Support

WordPress gives you community-based support. Weebly and Wix provide phone support. Squarespace provides chat support. Duda, Site123, Shopify, BigCommerce provide a combination of chat and phone but mostly the former.

Obviously, phone support is the best and failing that support through chat. Email support is the least responsive.

This is the principal reason why business websites tend to lean towards Wix. Their plugins are developed in-house and not by independent third parties. In the case of a problem, you can receive rapid support.

7. Price

Almost all website builders are free (Squarespace has a free trial). But to access any feature, you need to pay.

These might be simple requirements such as self-hosting, removing third-party advertisements, SEO, adding basic plugins, access to Google Analytics integration, access to SEO control panels, and metrics.

When you put together the cost of hosting, SSL, payment gateway, plugins, themes, it adds up quickly.

If you are really counting your pennies, then WordPress would allow you to build a website affordably.

With other players, the end cost may add up to almost $200 monthly.

But then again, this is a matter of personal preference. Your business site is, after all, a store. The monthly expense is the rent that you pay. Instead of paying rent for space, you are paying for plugins, hosting, etc.

Keep Your Eyes Open…

At the end of the day, you are looking for versatility at an affordable price. You would also need a website builder to be simple enough for you to operate and modify it.

There is no real answer to what is the best website builder.

Modern editors are well designed and provide several tools that let you create the perfect site. Some have a steep learning curve, and others are more intuitive.

But one fact is the same – you can’t migrate from one to another without a lot of headaches and expenses. Therefore study the website builder comparison charts minutely and choose wisely.

This Guitar Teacher’s Business Card Teaches You Chords

Post pobrano z: This Guitar Teacher’s Business Card Teaches You Chords

Doug Liddle is a guitar instructor who had the good idea to hire a creative graphic design to do his business cards. The design, Rory O’Sullivan, actually designed more than one card, as he used one side to teach Liddle’s contacts how to position their fingers to plays chords.

As a result, on one side of the cards, you have a pretty standard business card, with just the necessary data. On the other side, you get a different design every time, with the little dots positioned in a way that shows you where to put your fingers.

Once again, this is a brilliant display of creativity that proves that having good ideas is sometimes better than having a big budget for marketing.

This Guitar Teacher’s Business Card Teaches You Chords

Post pobrano z: This Guitar Teacher’s Business Card Teaches You Chords

Doug Liddle is a guitar instructor who had the good idea to hire a creative graphic design to do his business cards. The design, Rory O’Sullivan, actually designed more than one card, as he used one side to teach Liddle’s contacts how to position their fingers to plays chords.

As a result, on one side of the cards, you have a pretty standard business card, with just the necessary data. On the other side, you get a different design every time, with the little dots positioned in a way that shows you where to put your fingers.

Once again, this is a brilliant display of creativity that proves that having good ideas is sometimes better than having a big budget for marketing.

David Pearson’s Creative Covers For Penguin’s Great Ideas Series

Post pobrano z: David Pearson’s Creative Covers For Penguin’s Great Ideas Series

For its Great Ideas series, Penguin worked with book cover expert David Pearson, a graphic designer based in the UK. The designer took a type-based approach to nail the covers of these non-fiction books that feature no less than authors like George Orwell, Virginia Woolf, or Karl Marx.

Pearson’s collaboration started early in the branding of the series, and he even coined the series name. He then worked on the design of most of the 20 new books of the series.

David Pearson’s Creative Covers For Penguin’s Great Ideas Series

Post pobrano z: David Pearson’s Creative Covers For Penguin’s Great Ideas Series

For its Great Ideas series, Penguin worked with book cover expert David Pearson, a graphic designer based in the UK. The designer took a type-based approach to nail the covers of these non-fiction books that feature no less than authors like George Orwell, Virginia Woolf, or Karl Marx.

Pearson’s collaboration started early in the branding of the series, and he even coined the series name. He then worked on the design of most of the 20 new books of the series.

Animating Number Counters

Post pobrano z: Animating Number Counters

Number animation, as in, imagine a number changing from 1 to 2, then 2 to 3, then 3 to 4, etc. over a specified time. Like a counter, except controlled by the same kind of animation that we use for other design animation on the web. This could be useful when designing something like a dashboard, to bring a little pizazz to the numbers. Amazingly, this can now be done in CSS without much trickery. You can jump right to the new solution if you like, but first let’s look at how we used to do it.

One fairly logical way to do number animation is by changing the number in JavaScript. We could do a rather simple setInterval, but here’s a fancier answer with a function that accepts a start, end, and duration, so you can treat it more like an animation:

CodePen Embed Fallback

Keeping it to CSS, we could use CSS counters to animate a number by adjusting the count at different keyframes:

CodePen Embed Fallback

Another way would be to line up all the numbers in a row and animate the position of them only showing one at a time:

CodePen Embed Fallback

Some of the repetitive code in these examples could use a preprocessor like Pug for HTML or SCSS for CSS that offer loops to make them perhaps easier to manage, but use vanilla on purpose so you can see the fundamental ideas.

The New School CSS Solution

With recent support for CSS.registerProperty and @property, we can animate CSS variables. The trick is to declare the CSS custom property as an integer; that way it can be interpolated (like within a transition) just like any other integer.

@property --num {
  syntax: '<integer>';
  initial-value: 0;
  inherits: false;
}

div {
  transition: --num 1s;
  counter-reset: num var(--num);
}
div:hover {
  --num: 10000;
}
div::after {
  content: counter(num);
}

Important Note: At the time of this writing, this @property syntax is only supported in Chrome ( and other Chromium core browsers like Edge and Opera), so this isn’t cross-browser friendly. If you’re building something Chrome-only (e.g. an Electron app) it’s useful right away, if not, wait. The demos from above are more widely supported.

The CSS content property can be used to display the number, but we still need to use counter to convert the number to a string because content can only output <string> values.

CodePen Embed Fallback

See how we can ease the animations just like any other animation? Super cool! 

Typed CSS variables can also be used in @keyframes

CodePen Embed Fallback

One downside? Counters only support integers. That means decimals and fractions are out of the question. We’d have to display the integer part and fractional part separately somehow.

Can we animate decimals?

It’s possible to convert a decimal (e.g. --number) to an integer. Here’s how it works:

  1. Register an <integer> CSS variable ( e.g. --integer ), with the initial-value specified
  2. Then use calc() to round the value: --integer: calc(var(--number))

In this case, --number will be rounded to the nearest integer and store the result into --integer.

@property --integer {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
--number: 1234.5678;
--integer: calc(var(--number)); /* 1235 */

Sometimes we just need the integer part. There is a tricky way to do it: --integer: max(var(--number) - 0.5, 0). This works for positive numbers. calc() isn’t even required this way.

/* @property --integer */
--number: 1234.5678;
--integer: max(var(--number) - 0.5, 0); /* 1234 */

We can extract the fractional part in a similar way, then convert it into string with counter (but remember that content values must be strings). To display concatenated strings, use following syntax:

content: "string1" var(--string2) counter(--integer) ...

Here’s a full example that animates percentages with decimals:

CodePen Embed Fallback

Other tips

Because we’re using CSS counters, the format of those counters can be in other formats besides numbers. Here’s an example of animating the letters “CSS” to “YES”!

CodePen Embed Fallback

Oh and here’s another tip: we can debug the values grabbing the computed value of the custom property with JavaScript:

getComputedStyle(element).getPropertyValue('--variable')

That’s it! It’s amazing what CSS can do these days.


The post Animating Number Counters appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Animating Number Counters

Post pobrano z: Animating Number Counters

Number animation, as in, imagine a number changing from 1 to 2, then 2 to 3, then 3 to 4, etc. over a specified time. Like a counter, except controlled by the same kind of animation that we use for other design animation on the web. This could be useful when designing something like a dashboard, to bring a little pizazz to the numbers. Amazingly, this can now be done in CSS without much trickery. You can jump right to the new solution if you like, but first let’s look at how we used to do it.

One fairly logical way to do number animation is by changing the number in JavaScript. We could do a rather simple setInterval, but here’s a fancier answer with a function that accepts a start, end, and duration, so you can treat it more like an animation:

CodePen Embed Fallback

Keeping it to CSS, we could use CSS counters to animate a number by adjusting the count at different keyframes:

CodePen Embed Fallback

Another way would be to line up all the numbers in a row and animate the position of them only showing one at a time:

CodePen Embed Fallback

Some of the repetitive code in these examples could use a preprocessor like Pug for HTML or SCSS for CSS that offer loops to make them perhaps easier to manage, but use vanilla on purpose so you can see the fundamental ideas.

The New School CSS Solution

With recent support for CSS.registerProperty and @property, we can animate CSS variables. The trick is to declare the CSS custom property as an integer; that way it can be interpolated (like within a transition) just like any other integer.

@property --num {
  syntax: '<integer>';
  initial-value: 0;
  inherits: false;
}

div {
  transition: --num 1s;
  counter-reset: num var(--num);
}
div:hover {
  --num: 10000;
}
div::after {
  content: counter(num);
}

Important Note: At the time of this writing, this @property syntax is only supported in Chrome ( and other Chromium core browsers like Edge and Opera), so this isn’t cross-browser friendly. If you’re building something Chrome-only (e.g. an Electron app) it’s useful right away, if not, wait. The demos from above are more widely supported.

The CSS content property can be used to display the number, but we still need to use counter to convert the number to a string because content can only output <string> values.

CodePen Embed Fallback

See how we can ease the animations just like any other animation? Super cool! 

Typed CSS variables can also be used in @keyframes

CodePen Embed Fallback

One downside? Counters only support integers. That means decimals and fractions are out of the question. We’d have to display the integer part and fractional part separately somehow.

Can we animate decimals?

It’s possible to convert a decimal (e.g. --number) to an integer. Here’s how it works:

  1. Register an <integer> CSS variable ( e.g. --integer ), with the initial-value specified
  2. Then use calc() to round the value: --integer: calc(var(--number))

In this case, --number will be rounded to the nearest integer and store the result into --integer.

@property --integer {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
--number: 1234.5678;
--integer: calc(var(--number)); /* 1235 */

Sometimes we just need the integer part. There is a tricky way to do it: --integer: max(var(--number) - 0.5, 0). This works for positive numbers. calc() isn’t even required this way.

/* @property --integer */
--number: 1234.5678;
--integer: max(var(--number) - 0.5, 0); /* 1234 */

We can extract the fractional part in a similar way, then convert it into string with counter (but remember that content values must be strings). To display concatenated strings, use following syntax:

content: "string1" var(--string2) counter(--integer) ...

Here’s a full example that animates percentages with decimals:

CodePen Embed Fallback

Other tips

Because we’re using CSS counters, the format of those counters can be in other formats besides numbers. Here’s an example of animating the letters “CSS” to “YES”!

CodePen Embed Fallback

Oh and here’s another tip: we can debug the values grabbing the computed value of the custom property with JavaScript:

getComputedStyle(element).getPropertyValue('--variable')

That’s it! It’s amazing what CSS can do these days.


The post Animating Number Counters appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Balancing on a Pivot with Flexbox

Post pobrano z: Balancing on a Pivot with Flexbox

Let me show you a way I recently discovered to center a bunch of elements around what I call the pivot. I promise you that funky HTML is out of the question and you won’t need to know any bleeding-edge CSS to get the job done.

I’m big on word games, so I recently re-imagined the main menu of my website as a nod to crossword puzzles, with my name as the vertical word, and the main sections of my website across the horizontals.

Here’s how the design looks with the names of some colors instead:

And here’s a sample of the HTML that drives this puzzle:

<div class="puzzle">
  <div class="word">
    <span class="letter">i</span>
    <span class="letter">n</span>
    <span class="letter">d</span>
    <span class="letter">i</span>
    <span class="letter pivot">g</span>
    <span class="letter">o</span>
  </div>
  <!-- MORE WORDS -->
</div>

In this example, the letter g is the pivot. See how it’s not at the halfway mark? That’s the beauty of this challenge.

We could apply an offset to each word using hard-coded CSS or inline custom properties and walk away. It certainly gets an award for being the most obvious way to solve the problem, but there’s a downside — in addition to the .pivot class, we’d have to specify an offset for every word. The voice in my head tells me that’s adding unnecessary redundancy, is less flexible, and requires extra baggage we don’t need every time we add or change a word.

Let’s take a step back instead and see how the puzzle looks without any balancing:

Imagine for a moment that we use display: none to hide all of the letters before the pivot; now all we can see are the pivots and everything after them:

With no further changes, our pivots would already be aligned. But we’ve lost the start of our words, and when we reintroduce the hidden parts, each word gets pushed out to the right and everything is out of whack again.

If we were to hide the trailing letters instead, we’d still be left with misaligned pivots:

All of this back-and-forth seems a bit pointless, but it reveals a symmetry to my problem. If we were to use a right-to-left (RTL) reading scheme, we’d have the opposite problem — we’d be able to solve the right side but the left would be all wrong.

Wouldn’t it be great if there was a way to have both sides line up at the same time?

As a matter of fact, there is.

Given we already have half a solution, let’s borrow a concept from algorithmics called divide and conquer. The general idea is that we can break a problem down into parts, and that by finding a solution for the parts, we’ll find a solution for the whole.

In that case, let’s break our problem down into the positioning of two parts. First is the “head” or everything before the pivot.

Next is the “tail” which is the pivot plus everything after it.

The flex display type will help us here; if you’re not familiar with it, flex is a framework for positioning elements in one-dimension. The trick here is to take advantage of the left and right ends of our container to enforce alignment. To make it work, we’ll swap the head and tail parts by using a smaller order  property value on the tail than the head. The order property is used by flex to determine the sequence of elements in a flexible layout. Smaller numbers are placed earlier in the flow.

To distinguish the head and tail elements without any extra HTML, we can apply styles to the head part to all of the letters, after which we’ll make use of the cascading nature of CSS to override the pivot and everything after it using the subsequent-sibling selector .pivot ~ .letter.

Here’s how things look now:

Okay, so now the head is sitting flush up against the end of the tail. Hang on, don’t go kicking up a stink about it! We can fix this by applying margin: auto to the right of the last element in the tail. That just so happens to also be the last letter in the word which is now sitting somewhere in the middle. The addition of an auto margin serves to push the head away from the tail and all the way over to the right-hand side of our container.

Now we have something that looks like this:

The only thing left is stitch our pieces back together in the right order. This is easy enough to do if we apply position: relative to all of our letters and then chuck a left: 50% on the tail and a right: 50% on our head items.

Here’s a generalized version of the code we just used. As you can see, it’s just 15 lines of simple CSS:

.container {
  display: flex;
}
.item:last-child {
  margin-right: auto;
}
.item {
  order: 2;
  position: relative;
  right: 50%;
}
.pivot, .pivot ~ .item {
  order: 1;
  left: 50%;
}

It’s also feasible to use this approach for vertical layouts by setting the flex-direction to a column value. It should also be said that the same can be achieved by sticking the head and tail elements in their own wrappers — but that would require more markup and verbose CSS while being a lot less flexible. What if, for example, our back-end is already generating an unwrapped list of elements with dynamically generated classes?

Quite serendipitously, this solution also plays well with screen readers. Although we’re ordering the two sections backwards, we’re then shifting them back into place via relative positioning, so the final ordering of elements matches our markup, albeit nicely centered.

Screen readers preserve the element ordering as per the original markup.

Here’s the final example on CodePen:

CodePen Embed Fallback

Conclusion

Developers are better at balancing than acrobats. Don’t believe me? Think about it: many of the common challenges we face require finding a sweet spot between competing requirements ranging from performance and readability, to style and function, and even scalability and simplicity. A balancing act, no doubt.

But the point at which we find balance isn’t always midway between one thing and another. Balance is often found at some inexplicable point in between; or, as we’ve just seen, around an arbitrary HTML element.

So there you have it! Go and tell your friends that you’re the greatest acrobat around.


The post Balancing on a Pivot with Flexbox appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.