This Browser Extension Quickly Copies All Code Snippets For You

Original Source:

A browser extentsion that adds a click-to-copy button onto every code snippet block.

The post This Browser Extension Quickly Copies All Code Snippets For You appeared first on Hongkiat.

Visit for full content.

Beautiful Brand Identity for Colono

Original Source:

Beautiful Brand Identity for Colono

Beautiful Brand Identity for Colono

Oct 10, 2018

When people ask why we run Abduzeedo, our answer is always, we are always looking for things that inspire us. We are also trying to find new projects before they get featured on other publications. There are some projects that we have to share even after they get featured because they are too good. That’s the case of the brand identity project created by the awesome people at atipo ®.

Colono is a culinary project based in Vienna that is mainly dedicated to the import of food from the Iberian peninsula to Austria. Through a direct collaboration with the producer from “colono” they  are responsible for getting the best product to the main restaurants, catering services and delicatessen. in addition, in order to publicize its own line of groceries the firm has opened, in 2018, its first physical store in the center of Vienna under the concept “groceries-bar-gourmet”.

For the project, Colono (‘settler’ in english) was our name proposal; direct reference to the person who is established in another territory and the grocery stores, commercial establishments that sell various food products (and that take their name from the set of imports brought from the former spanish colonies).

The journey made by the products is the guiding thread of the whole identity and it is represented in the different pieces and packaging through a red line that connects two imaginary points.

Brand Identity

The logo is composed with the Retiro font, elegant didona of spanish airs that perfectly communicates the origin and the select character of the products. in contrast, as a secondary font it is used a monospaced that brings freshness and a contemporary air.

The palette of colors is sober and elegant and seeks to convey the gourmet nature of the project and, in turn, enhance the prominence of the typography where only the red color present in the lines of the graphics stands out above all else.

The set forms a distinctive and faithful identity to a project proud of its origin, but that flees from the clichés and declares itself in love with the product that selects and commercializes.


In addition to selected products from different origins, Colono wants to enhance their own range of groceries. the same as the identity, the design of the packaging is eminently typographic and is marked by the red line that invites the consumer to discover the origin of each product.



The premises, an update of the grocery stores, developed by Serrano + Barquero, is a place where you can buy and also “tapear”  –basically dishes made with preserves, salted fish and pickles– the products in their bar-gourmet. Cozy atmosphere, noble materials and dark tones for a place that pays homage to the product.



Amazon Prime – 10 Reasons Why It’s Totally Worth It

Original Source:

People who’re into online shopping would certainly know about Amazon Prime – the latest subscription program by Amazon that offers extremely fast shipping. Instead of waiting for a couple…

Visit for full content.

How to Create Magnetic Content

Original Source:

I know I know: Content is king! You’re already sick to the back-teeth of hearing it.
 You’ve made your content, you know your target audience—you just want to build some links and get some darn traffic to that content, am I right?

Not to rain on your parade, but what if your content really is trash?
 Will anyone actually link to it? If it is subpar, then probably not, and trying to build links to it will be a colossal waste of time.

I’m borrowing this saying from a giant in the SEO field, Ryan Stewart:

If you don’t have anything of value to say, don’t say anything at all

Only create content which will be of real value to people. If you provide, true, honest value in your content the audience will love you. Don’t hold back! Don’t worry about things like “does providing free stuff devalue my service?” “what will people think?” or “but I’m embarrassed about appearing on video…”

None of that matters. 
The more value you can provide online, the more likely you can strike a chord with your audience and the more likely they’ll come back again and again.

And if you can turn your audience into a community of loyal fans it’ll work wonders for your company or brand.

Define Your Goals

Your overall marketing goal should be ranking everything you have on organic search. If you can do that, you’ll have a long term, steady stream of traffic going straight to your site—and once there, you’ll barely have to lift a finger to keep it there.

But before we can get there, here’s a few things you need to do first:

Why Do You Need the Content?

Is it for traffic? Reach? Customers? Branding?
 Depending on your answer, it’ll affect the type of content you create and where you distribute it.

For instance, if you want to rank on organic search, you’ll need large content pieces (1000-1500 words+) which are very insightful and informative. But, if you want to build a social following, this requires, shorter, opinion type pieces, which will be shared on social media.

So, define your goals to determine the exact type of content you need.

Who are Your Audience?

Make sure you’re creating it for the right people.

So think about:

Who are they? What do they do for a living, how much money do they make?
Where do they hang out online? What kind of sites do they read?
What does “value” mean to them? What kind of pain points need to be addressed?

Key Things to Bear in Mind

Whether it’s yourself, or you have a team in place, you need a good, streamlined way of creating content. In addition, some key points to bear in mind:

Narrative – your content needs to be able to tell a story, and engage with an audience.
Expertise – you really will have to inject some industry knowledge or be willing to do extensive research to create content that’s advanced enough.

Content That People Will Engage With

Not every content piece will be a hit, believe me, even I have experience of this.
 But the more content you make for your brand, the more you’ll learn about what works…and what doesn’t.

There are many ways to generate ideas:

What info is your audience looking for?
 Industry forums and is great for ideas. Use the threads with the most views/comments and generate a list from this.
Have you/your company done anything cool? Could be any range of things, from developing a new product, to a charity event—it’s all content that people will want to read about.
What’s in the news lately? Is there something in the news, or some recent trend that you can relate to your own business or product?

Proper Keyword Research

Don’t overdo the keyword research part. A lot of people obsess over this and spend far too much time on it; 
it’s not as complicated as you may think. 
See where your audience hang out, the kind of words/jargon they use, subject matters they discuss, etc.
 Use this to generate keywords and even use Google’s suggested keywords to come up with more ideas.

The Keywords Everywhere browser plugin is great for finding the keywords with the most search volume.

And funnily enough, when you start writing truly valuable content, you’ll be naturally including these keywords anyway, so this part really won’t be the difficult part!

This ties into the idea of where keywords are now going: keyword intent.

In a nutshell what this means is, assessing if the intent of the keyword you’re trying to target, is actually going to be useful to your business, in terms of driving just the right type of traffic to your site. 
So in other words, optimize your content in terms of what the searcher is looking for, rather than trying to look for individual keywords.

Choose Your Content Types

The format you choose can play a huge role and you could have a mixture of any of the following:

Short Form Posts

E.g. Q & As, review posts. Even something as simple as a stickied forum post, or a Quora thread could be a method of sharing content and driving traffic


Visually appealing way of displaying and summarizing content or sets of statistics. Also a quick and easy way for someone to display the content and attribute a link back to your site.


Great way to communicate with your audience, and if you want to utilize YouTube it’s a necessity. Also, the majority of your competitors won’t be using video content effectively. The reason is, it’s harder and requires more effort—but don’t let that put you off!

Long Form Posts

E.g. round ups, in-depth articles. A great way to discuss a complex issue within your industry. However, you need to have evidence and data to back up your claims.


Good for B2B marketing. Can also be embedded within posts and particularly shareable on LinkedIn.

Ultimate Guides

(Like this one!) Perform well in every single industry and in any channel. Rank well and (if written well) can earn you a lot of links.

Repurpose Repurpose Repurpose

And once you’ve created this content, there’s nothing to stop you using it in multiple ways to get the best use out of it and spread its reach.
 For example, if you film a video, you could create a PowerPoint and share the slideshow on LinkedIn. But you could also transcribe it into written format and create a blog post. You could then summarize all the main points and hire a designer to create an infographic.

Optimizing Your Content

I’ve said it once, but I’ll say it again: you definitely don’t want to ignore your on-page SEO. Make sure this is on point and you can capitalize on it even further when you do start building links to those pages.
 You also want to optimize the content in terms of improving the user experience. 
That means:

Keep your URL structure short, and with the keywords in it;
Make the content easy to navigate (should be able to navigate to it from the home page, in under 4 clicks);
Write good, enticing titles with your keyword;
Don’t make your content too wordy! Should be easy to read, and broken up with images when appropriate;
Keep the tone casual, keep sentences short and don’t write it like you’re writing a university dissertation;
Don’t be a robot, don’t be afraid to show your personality in your content—people will love it and will respect you for it;
And here’s a very key thing I want to end with: Don’t just write stuff for the sake of it, don’t write about something just out of necessity, write about things you are genuinely interested in and want to help people with.

If you write content with passion, your customer base will follow.


Featured image via DepositPhotos.

Add Realistic Chalk and Sketch Lettering Effects with Sketch’it – only $5!


p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

Project Management Templates: The Key to Improving Your Workflow

Original Source:

Last year, Rachel McPherson shared 9 ways to organize successful creative projects. It’s a very useful article that highlights the main things to do if you want to bring greater control and organization to your web design workflow.

Tip #2: Take Advantage of a Project Management Tool, is the one I want to focus on today. Specifically, I want to look at some of the best tools for web designers, how to choose the right one for you, as well as give you a quick lesson on how to use project management templates to improve your workflow.

How to Choose the Best Project Management Tool for You

When considering a project management platform for your web design business, here are some things to pay attention to:

Generic vs. Web Design Tools

These are four project management tools I would recommend you start with:


Of the four, InVision is the only one strictly made for the web design process. As such, there’s a greater emphasis on managing design work.

Here, you can see how to collaborate within uploaded designs, prototypes, wireframes, etc.:

And this is an example of how InVision enables you to create design-specific workflows for yourself:

There are limitations to what you can do with a design task management tool, so you may find one of the other options a better choice if your goal is to bring greater control to projects, client communication, and team collaboration.

Free vs. Paid

Most task management software you’ll find comes either with a free plan—typically for one person or a strict limitation on the number of projects—or with a free trial.

Here is an example from Teamwork:

Typically, you can get a good sense for whether a platform will be a good fit for you or not within 15 minutes. This is nice as it allows you to try a tool before adding on another business expense.

Workflow View

Project management tools offer a variety of workflow styles and views.

Here is an example from Asana of a calendar view:

This happens to be my preferred style since I work on shorter-term and one-off assignments as opposed to longer jobs that require greater organization of tasks, sub-tasks, and timelines. Asana has list views and kanban boards, too.

Here is an example from Trello of a kanban board:

Basically, you create high-level folders dedicated to each client (you can also break them up at the project level). Within each board, create columns for each phase of your project. The cards that fall below them are then dedicated to each of your tasks. If you prefer this type of card-sorting system and visualization, Trello is a great choice.

One other platform I’d strongly recommend looking at is Wrike and it’s because of its flexibility in workflow views:




All the same tasks are present; they’re just displayed differently.

In summary, I’d suggest:

Asana for designers that work on smaller or shorter jobs.
Trello for designers that need greater control over lengthier project phases.
Wrike for designers that have a growing team and client list and want to offer more flexibility to them.


Be sure to think through the features that matter most to you and will help you acquire the degree of control you want over projects. Here are some noteworthy features from these project management platforms:


Calendar, list, and kanban views
Internal chat area
Task and sub-task creation
Cloning of tasks and projects
Organization by color
Drag-and-drop task management
Integrate time-tracking software


Kanban view
Chat directly within cards
Use cards to create tasks or add checklists to individual cards
Drag-and-drop organization
Cloning of cards and lists


Table, list, and kanban board views
Internal inbox for direct communications with team and clients
List of personal tasks or access to full projects
Set full timelines for each task
Customize status of tasks
Export lists and use as re-importable templates

Before upgrading to any premium tools, take some time to get acquainted with the base (free) product. Once you’ve found one that fits you well, you can upgrade when the time is right.

Templatization for Improved Workflows

There are so many great things that come out of using project management tools for a web design workflow:

Centralization of communication, files, status updates, etc.
Greater control over projects and all associated tasks
Better adherence to schedules
Improved communication with clients and teams
More efficient collaboration
Increased accountability from all involved parties
More consistent and higher quality of results
Automation of workflow

I think each of the points above—except for maybe the last one—are obvious when you look at how these project management tools work. However, if you’ve ever dreamed of working less while making more money, you really should be taking advantage of automation.

Specifically, I’m talking about project management templates.

To demonstrate this point, I’m going to use Trello to create pre-configured project boards, workflows, and checklists. Follow along to see how easy it is to do this with project management tools:

1. Create a New Board

In the top right corner, select “Create Board”.

Name it, add your team, and create.

2. Create Project Phases

This is what you will start with:

To create your phases (known as “Lists” in Trello), start typing.

Make the buckets as big or as small as you want. The organizational structure and workflow are up to you.

3. Add Tasks to the Phases

In this next part, you can decide how broad or specific you want each task (or card) to be. For my own organization, I allocate one task to one card:

However, you might prefer to create one broad task and then divvy up steps within the card using the checklist feature:

Again, it’s up to you to decide how you want to manage your projects here.

4. Copy the Template

With your project folder, phases, and tasks all broken out, this template is now ready for you to use.

To copy a project (board), click on “…Show Menu” in the top-right. Expand the “…More” option. Then, select “Copy Board”.

To copy just one of your project phases (lists), click on the “…” in the top-right corner of the list. Select “Copy List”.

And to copy an individual task (card), click on the “Copy” button under Actions.

If you can believe it, it’s really as easy as that. Simply break down your workflow however you best can manage it. Then, copy it!

Wrapping Up

If you’ve been using inefficient project management tools or have been relying on too many spreadsheets to keep everything in line until now, it’s time for a change. There’s so much you can do with the right project management tool, not to mention the time-saving and profit-boosting benefits that come from templatizing your process with them!

Add Realistic Chalk and Sketch Lettering Effects with Sketch’it – only $5!


p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

Practical Suggestions To Improve Usability Of Landing Pages With Animation From Slides

Original Source:

Practical Suggestions To Improve Usability Of Landing Pages With Animation From Slides

Practical Suggestions To Improve Usability Of Landing Pages With Animation From Slides

Nick Babich


(This is a sponsored post.) For a long time, UI animation was an afterthought for designers. Even today, many designers think of animation as something that brings delight but does not necessarily improve usability. If you share this point of view, then this article is for you. I will discuss how animation can improve the user experience of landing pages, and I’ll provide the best examples of animation created using the Slides framework.

The Slides framework is an easy-to-use tool for creating websites. It allows anyone to create a sleek landing page in a few minutes. All you need to do is choose an appropriate design from the list of predefined slides.

A collection of predefined designs in Slides.

Four Ways Animation Supports Usability of Landing Pages

Landing page design is more than just about visual presentation; it’s about interaction. Details of interaction design make a fundamental difference on modern websites. And animated effects can reinforce interactions. To improve the usability of a landing page, an animation must be a functional element, not just decoration. It should serve a clear functional purpose. Below are a few common ways that animation can improve usability.

1. Create a Narrative

Every designer is a storyteller. When we create a website, we are telling a story to our visitors. And it’s possible to tell a much more engaging story by using animation.

Animation can help bring content to life. One good example of such animation can be found on Ikonet. The animation there keeps users engaged as they scroll the page and learn about the company.

Animation can also be used to call the visitor’s attention to something they should notice and act upon. For example, if you have an important text section or a call to action, sliding them in (instead of having them just appear) can help visitors understand where they should focus. Take a look at the Preston Zeller example below. The way elements appear on the pages drives the user’s focus to those areas. The great thing about this animation is that it draws attention to important information without being disruptive.

When visitors scroll on Preston Zeller, elements gradually appear on the page. As a result, attention is drawn to vital information.

2. Provide Feedback

Human-computer interaction is based on two fundamentals: user input and system feedback. All interactive objects should react to user input with appropriate visual or audio feedback.

Below you can see the Custom Checkbox effect created using the Slides framework. The subtle bouncing animation the user sees when they change the state of the toggle reinforces the feeling of interactivity.

With Slides, you can create nice hover animations and encourage users to interact with objects. Take a look at Berry Visual. When you hover the mouse on “Send Message” or on the hamburger menu in the top-right corner, a nice animated effect occurs. It creates a sense that these elements are interactive.

Buf Antwerp is another excellent example of how on-hover animated feedback can improve the user experience. When visitors hover over a tile, a semi-transparent overlay appears, and text provides additional information about the item.

3. Create Relationships

A great place to add animation to a landing page is at moments of change. All too often, moments of change are abrupt &mdahs; for example, when users click on a link, a new screen suddenly appears. Because sudden changes are hard for users to process, such changes usually result in a loss of context — the brain has to scan the new page to understand how the new context is connected to the previous one.

Consider this example of an abrupt change:

This abrupt change feels unnatural and leads to unnecessary brain work (the brain has to scan entire layout to understand what has just happened). (Image: Adrian Zumbrunnen via Smashing Magazine)

Compare that to the following example, in which a smooth animated transition guides the user to the different parts of the screen:

A simple animated transition maintains context, making it easy to understand what has changed about a screen. (Image: Adrian Zumbrunnen via Smashing Magazine)

It’s clear that in the second example, animation prevents abrupt change — it fills the gap and connects two stages. As a result, visitors understand that the two stages belong together. This principle applies equally when you have a parent-to-child relationship between two objects:

Animated transition between preview and details. (Image: Tympanus)

It also applies when you create a transition between stages. The smooth transitions between slides in the example below create a sense of sequence, rather than separate unrelated parts of the page.

Using animation, it’s possible to define object relationships and hierarchies when introducing new elements.

4. Making Boring Tasks Fun

It might be difficult to imagine how to introduce playful elements into everyday experiences. But by adding a bit of surprise where it’s most unexpected, we can turn a familiar interaction into something unexpected and, thus, memorable.

When you visit Tympanus’ 3D Room Exhibition, it looks like any other gallery website that you’ve visited before. But your impression of the website changes immediately once you interact with a page. As you move the cursor, the page moves, and this effect creates a sense of 3D space. This feeling is reinforced when you go from one page to another; it looks like you’re traveling from one room to another within a 3D space.

Large preview

Now let’s talk about something much more familiar than 3D effects: web forms. Who loves filling out forms? Probably nobody. Still, filling out forms is one of the most common tasks on the web. And it is possible to turn this dull activity into a fun exercise. Take a look Darin Senneff’s Yeti character, which is used in a form. When the user starts typing their password, the mascot covers its eyes. Such an animated effect brings a lot of delight when you see it for the first time.

The Yeti character responds to user input.

Last but not least, it’s possible to make the scrolling experience not just more visually interesting, but also helpful for readers. Below is Storytelling Map, an interactive journey in which a path along a map is animated according to the content being scrolled through on the page. The idea ties the text, visuals and locations together; visitors read the information and see it in the context of the map).

Large preview

Six Best Practices for Landing Page Animation

Identifying the places where animation has utility is only half the story. Designers also need to implement animation properly. In this section, we’ll find out how to animate like a pro.

1. Don’t Animate Several Elements at Once

When a few objects are animated simultaneously, it becomes distracting for users. Because the human brain and eye are hardwired to pay attention to moving objects, the user’s focus will jump from one element to another, and the brain will need extra time to figure out what just happened (especially if the movement happens very quickly). Thus, it’s important to schedule animations properly.

It’s vital to understand the concept of transition choreography: the coordinated sequence of motions that maintain the visitor’s focus as the interface changes. Minimize the number of elements that move independently; only a few things should happen at the same time (typically, no more than two or three). Thus, if you want to move more than three objects, group some objects together and transform them as a single unit, rather than animating them independently.

Don’t animate everything at the same time. It will make the objects compete for attention and divide focus. (Image: Google)

Slides offers an excellent benefit to web designers: It prevents them from overusing motion in design. Each animated effect available in Slides has been carefully designed to deliver content in the best possible way.

2. Animation Shouldn’t Conflict With Landing Page’s Personality

Each time you add animation to a design, you introduce personality. This personality will largely depend on the animated effect you choose to use.

When people interact with a product, they have certain expectations. Imagine designing a landing page for a banking service, and you decide to use a bouncing animation to introduce a form that collects the user’s personal information. Many users will hesitate to provide their details because the form conflicts with their expectations.

An example of bouncing animation. Avoid bouncing animation in forms that collect bank account details. Users might hesitate to provide their data. (Image: Joel Besada)

The Slides framework allows you to choose from 10 animated styles, such as Stack, Zen, Film, Cards and Zoom. Experiment with different effects, and choose what’s best for your case.

Large preview

3. Watch the Time

When it comes to designing animation, timing is everything. The timing of your animation can mean the difference between a good interaction and a bad one. When working on animation, you’ll usually spend a third of your time finding the right animated effects and the other two thirds finding the right timing to make the animation feel smooth.

Generally, keep the animation short. Animation should never get in the way of the user completing a task, because even the most beautifully executed animation would be really annoying if it slows down users. The optimal speed for a UI animation is between 200 and 500 milliseconds. An animation that lasts less than 1 second is considered as instant, whereas an animation longer than 5 seconds can convey a feeling of delay.

When it comes to creating an animated effect, one parameter has a direct impact on how the animation is perceived: easing, or timing function in CSS terms. Easing helps designers make movement more natural.

The Slides framework enables web designers to customize easing. You’ll find easing along with other effects in the section “Effect Settings”.

Large preview

4. Think About Accessibility

Animation is a double-edged sword. It can improve usability for one group of users, while causing problems for another group. Apple’s release of iOS 7 was a recent example of the latter. iOS 7 was full of animated effects, and shortly after its release, iPhone users reported that the animated transitions were making them feel dizzy.

Your responsibility as a designer is to think about how people with visual disorders will interact with your design. Check the WCAG’s guidelines on animation, and be sure that your design aligns with them. Track whether a user wants to minimize the amount of animation or motion. A special CSS media feature, “prefers-reduced-motion”, detects whether the user has requested that the system minimize the amount of animation or motion used. When it is set to “reduce”, then it’s better to minimize the amount of movement and animation (for example, by removing all non-essential movement).

Also, conduct usability testing to check that users will all abilities, including people with visual disorders, won’t have any problem interacting with your design.

5. Prototype and Test Your Design Decisions

Animation is fun to play with. It’s easy to go overboard and end up with a design that overwhelms users with too much motion. Unfortunately, there is no silver bullet for great animation; it’s hard to set clear criteria of what is “just enough”. Be ready to spend time on prototyping, testing and optimizing animated effects.

Here are a few tips worth taking into account during testing:

Test on different hardware.
Many hardware factors can drastically affect animation performance: screen size, screen density, GPU performance, to name just a few. As a result, a user on a high-definition screen might have a completely different experience than a user on an older screen. Consider such factors when designing animation to prevent performance bottlenecks. Don’t blame slow hardware; optimize your animation to work great on all sort of devices.

Test on mobile.
Most websites are built and tested on a desktop; the mobile experience and animation performance is often treated as an afterthought. Lack of testing on mobile could cause a lot of problems for mobile users, because some animated techniques work great on desktop but not as well on mobile. To avoid a negative experience, confirm that your design works fine on both desktop and mobile. Test on mobile early and often.

Watch animation at a slow speed.
It might be hard to notice problems when an animation (especially a complex one) runs at full speed. When you slow the animation down (say, at one tenth the speed), such issues become evident. You can also record slow-motion video of your animations and show them to other people to get other perspectives.

With the Slides framework, you can create a high-fidelity interactive prototype in minutes. You can use a WYSIWYG editor to create animated effects, publish the design, and see how it works on both desktop and mobile devices.

6. Animation Shouldn’t Be an Afterthought

There’s a reason why so many designers think of animation as an unnecessary feature that overloads the user interface and makes it more complicated. In most cases, that’s true when designers introduce animation at the end of the design process, as lipstick for the design — in other words, animation for the sake of animation. Random motion without any purpose won’t benefit visitors much, and it can easily distract and annoy.

To make meaningful animation, take time at the beginning of the project to think about areas where animation would naturally fit. Only in this way will animation be natural to the user flow.


Good functional animation makes a landing page not just more appealing, but also more usable. When done correctly, animation can turn a landing page from a sequence of sections into a carefully choreographed, memorable experience. The Slides framework helps web designers use animation to communicate clearly.

Smashing Editorial
(ms, ra, al, yk, il)

What’s Missing in Your Design Business?

Original Source:

Running a freelance web design business may sound fairly simple. In practice, it’s very challenging. There are so many facets required to find success. And even when you think that you’ve checked all the right boxes, prosperity can still feel elusive.

When your business just isn’t going as well as you’d hoped, you have to find what’s lacking. Today, we’re going to dedicate some time to search for those missing ingredients.

Analyze Your Situation

The first step to improving your design business is to conduct an analysis of where you are. It doesn’t have to be incredibly deep. Think of it more as a summary of what you’re doing and what you’ve done.

You’ll want to focus on the following areas:

Think about the projects you’ve worked on over the past year (or any time period you choose). Try to find some common threads between them. Perhaps your clients were in the same industry, or the projects were similarly priced.

Or, maybe you’ll find that they didn’t have much in common at all. That’s okay, too. The main idea here is to review the types of gigs that have crossed your desk over a period of time.

Similarly, review how your business has performed financially. Take a look at how you’re doing this year as compared to the past. Has your income grown? What about your expenses?

Diving in even deeper, look back at how you’ve done historically in specific quarters or months. You might notice, for example, that some times of the year produce more revenue than others.

Lastly, analyze your workload. Has it fluctuated much over the past year or two? Do you find yourself overwhelmed with work? Or, do you have too much free time on your hands?

Put these three items together and you should have a solid grasp of how your business is doing. Hopefully, you’ll even spot some patterns that you may not have previously noticed. Jot them down on a piece of paper for future reference.

Man writing on paper

Think About the Results

Once you have taken a hard look at your business, you can then figure out the areas that need improved. The results are definitely not one-size-fits-all. What you find will be specific to your situation.

Therefore, it’s important to think about what it is you want from all of this. What’s your passion? What led you to start your own design business in the first place?

Now, let’s take another look at the three items you analyzed above. Only this time we’ll include some examples to serve as guidance for determining your own path forward.

There are times when freelancing means being stuck with projects that aren’t exactly attractive to us. This type of “grunt work” just isn’t very stimulating. It can really make you dread having to go to work each day.

If you’ve found yourself taking on the wrong types of projects, it’s time to hit the reset button. While we all have to pay the bills, we don’t have to settle.

Instead of saying “yes” to whatever comes your way, allow yourself to be more selective. If you really love a certain design niche, actively look for work in that area. Or, if you only want to work with WordPress, make it the core of your services.

We have the freedom to work the way we want. But it’s up to us to make it a reality.

Staying afloat financially is one of the biggest challenges of being a freelancer. Money often arrives in bunches, only to be followed up by a dry spell.

One way to counter that is to create steady streams of revenue. You could, for instance, offer maintenance packages to clients. Include an allotted amount of time that your clients have available to them, whether they use it or not. Odds are, not everyone is going to use the package to the full extent. You, on the other hand, gain some predictable income.

The other part of the equation is in your pricing. Many freelancers undervalue their services. The result is that you’re working hard, but not getting paid accordingly. Take a look at your pricing structure and see if a reasonable increase is in order.

Part of the freelance lifestyle is setting a schedule that works for you. It means that you’re able to build a workday that takes your kids into consideration. Or you can choose to work at night if you find that you’re more productive.

If your schedule is either too full or too sparse, make a change. This really does go hand-in-hand with the types of projects you choose and your financial situation. Set yourself up in those areas while keeping your workload in mind. It is possible to strike a balance that is more to your liking.

Laptop with business concepts on its screen

Solving the Puzzle

Every design business can benefit from the occasional tune-up. But in order to make the right adjustments, we have to take an honest look at where things stand. Only then can we find the missing pieces to happiness and success.

The great part of being a freelancer is that we don’t have to rely on anyone else to implement changes. We have the power to make our business exactly what we want it to be.

Getting Started With Gutenberg By Creating Your Own Block

Original Source:

Getting Started With Gutenberg By Creating Your Own Block

Getting Started With Gutenberg By Creating Your Own Block

Muhammad Muhsin


WordPress is the most popular Content Management System (CMS) by far —powering more than 30% of the web. It has undergone a huge metamorphosis during its 15 years of existence. Its latest addition is Gutenberg which is to be released in version 5.0.

Named after Johannes Gutenberg (the inventor of the printing press), Gutenberg is going to fundamentally change WordPress, further helping reach its goal to democratize publishing.

WordPress usually releases its major features as a plugin to test the waters before baking them into the core. Gutenberg is no exception. In this article, we will learn how to go about building your first Gutenberg block. We will be building a Testimonials Slider Block while dwelling on the basics of Gutenberg.

Here is an outline for this article:

Installing The Gutenberg Plugin
Installing The Testimonials Slider Block
Getting Started With The Configuration
Registering A Block
Introducing Gutenberg Specific Syntax
The attributes Object
The edit And save Functions
Continuing Development
Starting A New Gutenberg Block

This article assumes the following:

Some knowledge of WordPress such as how content is saved and basic plugin development;
Basic understanding of React and ES6;
Knowledge of both npm and webpack.

Recommended reading: The Complete Anatomy Of The Gutenberg WordPress Editor

Front-end is messy and complicated these days. That’s why we publish articles, printed books and webinars with useful techniques to improve your work. Even better: Smashing Membership with a growing selection of front-end & UX goodies. So you get your work done, better and faster.

Explore Smashing Membership ↬

Smashing Cat, just preparing to do some magic stuff.

Installing The Gutenberg Plugin

If you are a WordPress user, you will know that installing a plugin is pretty straightforward. Installing Gutenberg is no exception.

However, the recommended way of installing Gutenberg is by cloning the development version from the GitHub repository since you can get the latest changes. Head on over to the GitHub repository and clone it to your plugins folder in your local WordPress setup. You can make updates to this repository later on when there are changes to the Gutenberg project.

Now when you go and create a page or a post, you will be able to edit using the Gutenberg Editor.

Gutenberg Editor Demo

Gutenberg Editor Demo (Large preview)

Since this article is about creating a Gutenberg Block, we will not go into the introduction to the Editor, For a complete understanding of what is Gutenberg and how to use it, please refer to Manish Dudharejia’s article on Smashing Magazine.

Installing The Testimonials Slider Block

The plugin in question — the one we are going to go through is already published to the WordPress repository.

Please install the Testimonials Slider Block plugin to your local WordPress instance so that you have a feel for how the plugin works.

You can also fork or clone the project from GitHub.

After activating the plugin, you can go to your Gutenberg Editor and add a Testimonials Slider to your content:

Testimonials Slider Block

Selecting the Testimonials Slider Block (Large preview)

Adding content to the Testimonials Slider Block

Adding content to the Testimonials Slider Block (Large preview)

Testimonials Slider Block in the frontend

Testimonials Slider Block in the frontend (Large preview)

Now I will go through how I built the plugin and how you too can build a similar one. To keep the article concise, I will not share the entire code in here. However, after reading this you should be able to create your own Gutenberg block.

Getting Started With The Configuration

A Gutenberg block is generally created as part of a plugin. Our plugin is not going to be any different.

Navigate to the plugins directory in your local WordPress instance. Move to the testimonials-slider-block. Notice the following files and folders:

gutenberg-testimonials-slider.php is the main file which has details of the plugin, such as name, description, author details and license. These details will be used in the plugin description in the Plugins menu in the dashboard. You will see that this file calls the init.php file.
The init.php file enqueues the different JavaScript and CSS files. This includes both the external libraries like Bootstrap and Font Awesome and our build files.
The .babelrc file instructs webpack what kind of JavaScript files we are writing.
The package.json file contains all the npm modules that are used in the plugin. You will use the npm install command to install all those packages.
webpack.config.js file contains the configuration for webpack to build our JavaScript and CSS. if you did not know, webpack is a package bundler mainly used for bundling our JavaScript modules and putting them into one file that is then enqueued by WordPress.

That was a lot of configuration files. Now we can go about actually building our Gutenberg block.

Registering A Block

Within the src folder you will see the index.js file. This is the fle that webpack looks for, to bundle the JavaScript. You can see that this file imports the slider.js file within the block folder.

The block folder has the following styles:

slider.js: contains the actual code for the block
editor.scss: the styles file describing the block within the Gutenberg Editor
style.scss: contains styles pertaining to how the block is displayed in the frontend.

Please open the slider.js file in your editor.

This file first imports both the editor and style scss files. Then it imports internationalization component, registerBlockType and the MediaUpload and PlainText components. The last two components will be used to upload the author image and to take in the different text inputs to save in the database.

Next you will see how a block is registered.

It takes in a name as the first parameter. The name must be prefixed with a namespace specific to your plugin in order to avoid any conflicts with another block with the same name.

The second parameter is an array with the following properties and functions:

The name of the block which will appear when you add a new block in the Gutenberg Editor.
The block’s icon which will be picked up from dashicons. You can also specify your own SVG icons if you want to.
Under which category of blocks will the block appear. Some of the categories are: common, formatting, layout widgets and embed.
An array of strings that describe the block, similar to tags.
A JavaScript object which contains a description of the data that is saved by the block.
The function that provides an interface for the block within the Gutenberg Editor.
The function that describes how the block will be rendered in the frontend.

To learn more, please refer to this documentation.

Introducing Gutenberg Specific Syntax

Gutenberg is built with React and the blocks that we build for Gutenberg use a similar syntax.

It certainly helps to know a bit of React to build custom Gutenberg blocks though you don’t have to be an expert.

The following things are useful to know before starting the block development:

The HTML class is replaced with className like in React.
The edit and save methods return JSX, which stands for JavaScript XML. If you are wondering, JSX is syntax exactly like HTML, except you can use HTML tags and other components like PlainText and RichText within it.
The setAttributes method works similar to React’s setState. What it does is, when you call setAttributes the data in the block is updated and the block within the editor is refreshed.
The block uses props in the edit and save functions, just like React. The props object contains the attributes object, the setAttributes function and a ton of other data.

The attributes Object

The attributes object that was mentioned previously define the data within the Gutenberg block. The WordPress Gutenberg Handbook says:

Attribute sources are used to define the strategy by which block attribute values are extracted from saved post content. They provide a mechanism to map from the saved markup to a JavaScript representation of a block.

Each source accepts an optional selector as the first argument. If a selector is specified, the source behavior will be run against the corresponding element(s) contained within the block. Otherwise, it will be run against the block’s root node.

For more details on how to use attributes, please refer to this guide.

The following is the attributes object that is used in the Testimonials Slider Block:

attributes: {
id: {
source: “attribute”,
selector: “.carousel.slide”,
attribute: “id”
testimonials: {
source: “query”,
default: [],
selector: “blockquote.testimonial”,
query: {
image: {
source: “attribute”,
selector: “img”,
attribute: “src”
index: {
source: “text”,
selector: “span.testimonial-index”
content: {
source: “text”,
selector: “span.testimonial-text”
author: {
source: “text”,
selector: “span.testimonial-author span”
link: {
source: “text”,
selector: “.testimonial-author-link”

The source tells Gutenberg where to look for data within the markup.

Use attribute to extract the value of an attribute from markup, such as the src from img element. The selector and attribute tell what element to look for and what exact attribute to pick the data from respectively. Notice that the selector string picks up an HTML element from the save function.

Use text to extract the inner text from markup and html to extract the inner HTML from markup.

Use query to extract an array of values from markup. Entries of the array are determined by the selector argument, where each matched element within the block will have an entry structured corresponding to the query argument, an object of attribute and text sources.

You can access the attributes in the edit and save functions through props.attributes.

When you use console.log(props.attributes.testimonials) in the edit function, you get the following result:

▼(2) [{…}, {…}]
content: “This is a testimonial”
image: “http://localhost/react-gutenberg/wp-content/uploads/2018/08/0.jpg”
index: 0
link: “”
▶__proto__: Object
author: “Matt”
content: “This is another testimonial”
image: “http://localhost/react-gutenberg/wp-content/uploads/2018/08/767fc115a1b989744c755db47feb60.jpeg”
index: 1
link: “”
▶__proto__: Object
length: 2
▶__proto__: Array (0)

Therefore, in the above code, id is a text that uniquely describes each testimonial block whereas testimonials is an array of objects where each object has the properties as shown in the above screenshot.

The edit And save Functions

As mentioned above, these two functions describe how the block is rendered in the editor as well as in the frontend respectively.

Please read the full description here.

The edit Function

If you look at the edit function, you will notice the following:

I first get the props.attributes.testimonials array to a const variable. Notice the ES6 Object Destructuring to set the const value.
Then generate an id for the block which will be used to make each block unique when you add more than one Testimonials Slider Block to your content.
Then the testimonialsList is generated, which is got from sorting then mapping the testimonials array that we got in step 1.
Then, the return function gives out JSX, which we discussed earlier. The testimonialsList, which we constructed in step 3 is rendered. The + button is also rendered, pressing which will create a new testimonial inside the block.

If you dig into testimonialsList, you will see that it contains the PlainText and MediaUpload components. These provide the interface for entering the different texts and uploading the author image respectively.

The PlainText component looks like this:

style={{ height: 58 }}
placeholder=”Testimonial Text”
onChange={content => {
const newObject = Object.assign({}, testimonial, {
content: content
testimonials: [
item => item.index != testimonial.index

The attributes I have used for the PlainText component are:

The CSS class of the component in order to style it.
To give a minimum height so that the content does not look like a one-line text. Specifying the height using the class selector did not work.
The text that will be displayed when no content is added.
The value of the component from the object within the testimonials array.
To tell the browser to focus on this component (input field) as soon as the user adds a new testimonial by clicking the + button.
What looks like the most complex attribute in this list. This function first gets a copy of the current testimonial and assigns the changed content to newObject. Then it spreads the array of objects, filters out the current object using index and then replaces the newObject within the array. This is set using the the props.setAttributes function to the testimonials array.

The save Function

This function does the following:

I first get the props.attributes.testimonials array and string to const variables. Again, notice the ES6 Object Destructuring being used to set the values for the two const variables id and testimonials.
Then I create the carouselIndicators variable, which is essentially JSX constructed from the testimonials array.
Then the testimonialsList is created from the testimonials array. The snippet below is from the mapped function callback return.

{testimonial.content && (
<p className=”testimonial-text-container”>
<i className=”fa fa-quote-left pull-left” aria-hidden=”true” />
<span className=”testimonial-text”>{testimonial.content}</span>
<i class=”fa fa-quote-right pull-right” aria-hidden=”true” />

Notice the conditional rendering. The markup will not be rendered for content if the content is not set.
Next, if the testimonials array has objects within it, the HTML is rendered. This is what will be serialized and saved to the database, and this is what will be shown in the frontend (not verbatim).

Continuing Development

I’m sure you want to tinker around this plugin and see what happens. You can continue developing the plugin:

Open up the terminal
Navigate to the plugin’s root directory
npm install
npm start

This will install all the packages, build the files and watch for changes. Every time you make a change to the files, webpack will rebuild the JS and CSS files.

Please note: Markup changes to the blocks will mess up the block in the Gutenberg Editor if you had added it before. Don’t be alarmed — you simply have to remove the block and add it again.

If you are done with developing you can npm run build to minify the files to make it ready for production!

Hopefully, you are now convinced Gutenberg block development is more approachable than it sounds.

I have the following plans in mind for this plugin:

Allow users to select color of text, background and accent.
Allow users to select the size of slider and font.
Avoid depending on libraries like Bootstrap and Font Awesome.

I encourage you to make a pull request with your improvements and extra features.

Starting A New Gutenberg Block

There are many ways to develop a Gutenberg block. One of the recommended ways is to use create-guten-block created by Ahmad Awais. In fact, this project was built based on guten-testimonial-block which was bootstrapped from create-guten-block.

You can also check out Zac Gordon’s repository where he shows how to use the different Gutenberg components in your new block.


We covered the following in today’s article:

Installing and using Gutenberg and Testimonials Slider Block plugins
Configuration for a typical Gutenberg block plugin
Registering a Gutenberg block
How to use the attributes object
The edit and save functions and how to use them.

I hope this article was useful for you. I can’t wait to see what you will build with and for Gutenberg!

Smashing Editorial
(dm, ra, yk, il)

Popular Design News of the Week: October 1, 2018 – October 7, 2018

Original Source:

Every week users submit a lot of interesting stuff on our sister site Webdesigner News, highlighting great content from around the web that can be of interest to web designers. 

The best way to keep track of all the great stories and news being posted is simply to check out the Webdesigner News site, however, in case you missed some here’s a quick and useful compilation of the most popular designer news that we curated from the past week.

Note that this is only a very small selection of the links that were posted, so don’t miss out and subscribe to our newsletter and follow the site daily for all the news.

Sourcegraph is Now Open Source


How to Build a Case for a Product Redesign


Avoiding Zombie Startups


Site Design: Moment Zero


Why Mojave’s Dark Mode Isn’t Dark Enough


6 Types of Clients that End up in Designer’s Hell


Build an HTML Email Template from Scratch


Pantone Creates the World’s Most Unignorable Colour


One Small Step for the Web…


Stitch – A Simple, Powerful Database to Store your Creative Talent


Web Design Legends: Where are They Now?


We Killed the Blog. We Hope You like it


Solid – A Decentralized Web by Tim Berners Lee, Creator of the WWW


Google Estimated to Be Paying $9 Billion to Be Safari’s Default Search Engine


SEO for Startups: A Complete Guide for Startup Founders


Prototyping Tools in 2018


What is a Design System Anyway?


Why We Unfairly Judge Other Designers


Krita 4.1.3 Released


How Can You Tell if your App will Be a Success?


7 Ted Talks Every Designer Should Watch


140+ Free Beautiful Script Fonts for Designers in 2018


The Surprisingly Dark History of the Color Pink


Welcome to Inside Design


Is it Really Possible to Use the Internet Privately?


Want more? No problem! Keep track of top design news from around the web with Webdesigner News.

Add Realistic Chalk and Sketch Lettering Effects with Sketch’it – only $5!


p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}

20 Best New Portfolios, October 2018

Original Source:

Hello Readers! Can you believe that I have not found one single Halloween-themed portfolio? I guess no one wanted to base their entire site on a one-day holiday. While understandable, this disappoints me.

Someone get me a vector skeleton!

What we do have is a general mix of calm and soothing minimalist sites punctuated by riotous color which might, if you’re not ready for it, hurt your eyes for a second. Enjoy.

Note: I’m judging these sites by how good they look to me. If they’re creative and original, or classic but really well-done, it’s all good to me. Sometimes, UX and accessibility suffer. For example, many of these sites depend on JavaScript to display their content at all; this is a Bad Idea™, kids. If you find an idea you like and want to adapt to your own site, remember to implement it responsibly.


To start us off, Landscape brings us an almost classically minimalist design, with a bit of an asymmetrical, collage-style layout. The (thankfully soundless) highlight reel on the home page can be a little jarring, but does a good job of showing the striking variety in their work.

Platform: WordPress

Louis Ansa

Continuing under “L”, Louis Ansa has an even bolder and even more animation-heavy site, though the animation is a bit easier on the eyes. There is a bit of “collage” in the design, but it’s a light touch that quickly gives way to a more typical layout style, while keeping everything (literally) moving. I personally love the way they used color for this one.

Platform: JS App

Serious Business

The logo for Serious Business has an ironic smiley face because of course it does. They even go so far as to promise to “make Millenials fall in love with your brand”… but I’ll try not to hold that against them.

I’ll say that they’re good at branding, though. The typography combined with some small graphical elements gives the site a distinct personality, while the variety in layout and presentation encourages exploration of the site. Animation takes you pretty seamlessly from one page to another in a way I can’t deny that I like.

Platform: Vue JS App

Fleur Moreau

Fleur Moreau is a studio that seems to make very minimalist and modern school supplies. When it comes right down to it, they do some pretty precision engineering, so their site reflects that professionalism, rather than going for the throw-colors-everywhere approach you might expect. For a site that sells things kids will inevitably destroy, it looks downright elegant, and this is accomplished mostly through typography.

Platform: Vue JS App

Ahmad Fakhry

Ahmad Fakhry is an interior/furniture designer, and so his site is predictably minimalist. What makes it fun for me is that I’m a sucker for those 50/50 split website layouts, though this one adapts, depending on which content is taking priority at any given moment. That last bit is something I like to see.

Platform: Static Site

Adele Bates

Adele Bates’ portfolio is one of those that puts the navigation all around the edges of the design. I’m normally not a fan, but there’s enough contrast to make it work.

The rest of the site is even structured specifically to draw your eyes to the sides of the page at any time, so you can’t miss the bits you’re supposed to click on. Combine that with a solid modernist design aesthetic, and it all works rather well.

Platform: WordPress


Mynd’s portfolio site is fairly standard layout-wise, and depends on the graphical talents of its creators to stand out, and stick in your head. Said graphics are simple, but visually striking enough to pull it off. To paraphrase Star Wars, it’s an older approach, but it checks out.

Platform: Static Site


Random blobs of color used to be the domain of cheap flyers made for local businesses in the ’90s. But if you make those colors kind-of-pastel, use the blobs sparingly, and throw them on to a delicious yet solid foundation of simple type and layout, you get Erudito.

I haven’t been this excited about blobs of color since I was eight years old, or so.

Platform: Static Site


Moshin makes use of the good-old grid-as-aesthetic-element trick, though you’re not going to see any actual lines outside of project preview images. However, those hints at simplicity and order sort of train the eye to see the same principles at work in the rest of the website, which I thought was a nice touch.

Platform: WordPress

Brand Affair

Is it just me, or are branding-focused studios usually the ones that really go all out with the fun stuff? Well Brand Affair is carrying on the tradition with their sunsets, their animals, and their clear and ever-present flair for the dramatic. I guess when your color palette is “all of the colors”, you truly have some room to get wild.

And yet, according to my browser, it’s not quite as bandwidth-heavy as you’d think. On top of everything else, I have to give them props for their optimization.

Platform: Static Site

Fully Studios

Fully Studios is another one that’ll throw the rainbow at you, but this time it comes with a healthy dose of illustration, and SVG animation. The rest of the site is a lovely mix of soft colors, retro-style UI elements, and a bit of monospaced type.

Platform: Static Site

Benjamin Guedj

Bringing us back from the edge of color-induced hypnosis, Benjamin Guedj’s portfolio is clean and pretty, with elegant-feeling type. The serif font chosen here can get a little hard to read at smaller sizes, but otherwise this is just a small, good-looking site that doesn’t do any more than it needs to.

Platform: Static Site

Series Eight

Series Eight: It’s simple. It’s somewhat monochromatic. It’s very “sans-serif”. Those are all compliments.

Platform: Static Site


Faculty doesn’t quite look like a spreadsheet or database, but it kind of feels like it was inspired by one. All of the content gets its own column, and stays there across all pages. The overall effect is one of clear organization and goals, and I love it.

Platform: WordPress

Alex Firs

Alex Firs’ portfolio evokes a little bit of comic book flavor in its typography in with its modernism, and goes for a quite bold look. It’s all black, white, and solid reds.

One thing I’d like to note for other portfolio designers: the video backgrounds are only animated when you hover over the projects associated with them. This is a good way to focus a user’s attention, and save bandwidth. I’m just saying.

Platform: WordPress

Common Works

Common Works embraces some, well… common design patterns, but it is a beautiful site nonetheless. It made the list specifically because I am a sucker for Easter eggs, though. The animated QR code can be a bit tough to scan because of the animation, but it’s worth it.

Platform: Static Site

Bix Archer

Now Bix Archer’s portfolio does have a spreadsheet that serves as her main project archive, and a collage of modals to feature specific projects. As models of curation go, it’s a good setup for a one-page portfolio.

Platform: Static Site

Light and Shadows

Light and Shadows evokes an early 00’s idea of what a futuristic interface would look like, while still retaining a distinctly contemporary feel overall in its presentation-style UI. It comes complete with animated lines, text that “descrambles” itself, everything.

And yet, there’s no auto-playing audio. Good work, guys. You designed a site that excited my inner child without annoying the rest of me.

Platform: WordPress

Bison Studio

Bison Studio is a lovely-looking portfolio with solid type (except for a few instances where it could use more contrast), and that thing where almost every elements will, at some point, overlap onto another one. Plus, how many websites will put a buffalo chewing on something on their home page? How many?

Platform: JS App

Dragon Rouge

Dragon Rouge doesn’t hold back on the personality. Start scrolling through the site, and you’ll get hit with some pretty large images out of nowhere, and then there’s that mouse cursor.

Look, I’m usually not a fan of custom cursors, because half the time they’re just harder to see. This one is… not like that. Just give the link a click. You’ll see what I mean.

Platform: WordPress

Add Realistic Chalk and Sketch Lettering Effects with Sketch’it – only $5!


p img {display:inline-block; margin-right:10px;}
.alignleft {float:left;}
p.showcase {clear:both;}
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}