You are on page 1of 84

QUICK START GUIDE TO USING SVG

Learn how to implement, export, optimise and animate with CSS


BUILD A 3D UI CODE WITH SVELTE
Create a WebGL
interactive interface
Combine with Sapper for
lightning-fast reactive sites

WORDPRESS
The voice of web design

WORDPRESS:
20 BEST PLUGINS
Be more productive and creative with
Issue 332 : June 2020 : net.creativebloq.com this essential collection of add-ons

SEO
WOMEN IN TECH:
ARE THINGS GETTING BETTER?

Expert
insight on
how to target
top spot on
Google in

secrets
2020

PRO ADVICE: STAY AT THE 5 TOP TIPS TO HELP LAND


ISSUE 332 FOREFRONT OF YOUR FIELD YOUR DREAM DEVELOPER JOB
Welcome

WELCOME

EDITOR’S NOTE
Heard of Bing, Yahoo, Ask, AOL, DuckDuckGo, the questions you need to ask yourself/your teams
Baidu and Yandex? You probably have, but none for a successful SEO strategy. Discover common
of them hold a candle to the world number one mistakes to avoid, what type of content you need to
search engine, Google, when it comes to market be creating, the implications of poorly developed
share. According to Statcounter (https://netm. sites, how JavaScript fits into the SEO scenario and a
ag/2Jrqac0), Google has just over 92 per cent of the host of tools you need for SEO success.
market share with Bing coming a very distant second Elsewhere, senior developer Joe Ford selects 20
with less than three per cent. As for the rest they essential WordPress plugins to make you more
don’t even hit two per cent market share. So it would productive and creative. Aude Barral offers top tips
seem to make perfect sense to focus on Google when to help land your dream developer job and Christine
considering SEO. And this is exactly what our lead Brewis discusses how gender parity in tech has
feature on page 48 does in this edition of net. SEO changed over the last ten years. Enjoy.
consultant Carl Hendy has been in the business for Steven Jenkins, Editor
over 15 years and he gives some invaluable insight on @netmag

FEATURED AUTHORS
CARL SUSH JOE MARK
HENDY K ELLY FORD SHUFFLEBOT TOM

Hendy is an SEO consultant with Kelly is a freelance designer that Ford is a senior developer at Tillison Shufflebottom is professor of
over 15 years experience at solving specialises in HTML, CSS and Scalable Consulting and has a passion for PHP, interaction design at Sheridan
complex SEO issues. On page 48 he Vector Graphics (SVG). On page 70 WordPress and Laravel. On page 56, College. He demonstrates how to use
reveals how to create a successful he puts his knowledge to good use he handpicks an essential selection the three.js library to create a WebGL
SEO strategy that will improve your with a quick start guide to exporting, of WordPress plugins to power up animated interactive interface on
Google ranking. optimising and working with SVG. your daily workflow. page 64.
w: https://carlhendy.com w: www.sushkelly.co.uk w: https://tillison.co.uk w: http://webspaceinvader.com

june 2020 3
Future PLC, Richmond House, 33 Richmond Hill, Bournemouth, BH2 6EZ +44 (0)1202 586200
@netmag /netmag flickr.com/photos/netmag netmag@futurenet.com net.creativebloq.com medium.com/net-magazine

EDITORIAL
Editor Steven Jenkins steve.jenkins@futurenet.com
Group Editor in Chief Claire Howlett Senior Art Editor Will Shum
CREATIVE BLOQ
Editor Kerrie Hughes kerrie.hughes@futurenet.com

CONTRIBUTIONS
Mark Billen, Kyle Carpenter, Dominic Carter, Tom May, Carl Hendy, Mark Shufflebottom, Jo Cole, Matt Crouch, Joe Ford,
Sush Kelly, Oliver Lindberg, Robyn Larsen, Christian Heilmann, Trine Falbe, C S Rhymes, Shakeel Quadri, Aude Barral, Christine Brewis,
Camille Gribbons, Andrew Couldwell, Edan Kwan, Cody Staudenmier, Scott Agrimson

PHOTOGRAPHY
All copyrights and trademarks are recognised and respected

ADVERTISING
Media packs are available on request
UK Commercial Sales Director Clare Dove clare.dove@futurenet.com Advertising Sales Manager Michael Pyatt michael.pyatt@futurenet.com
Account Sales Director Matt Bailey matt.bailey@futurenet.com Account Sales Director George Lucas george.lucas@futurenet.com
Account Sales Manager Tom Walsh tom.walsh@futurenet.com

INTERNATIONAL
net is available for licensing. Contact the Licensing team to discuss partnership opportunities.
Head of Print Licensing Rachel Shaw licensing@futurenet.com

PRINT SUBSCRIPTIONS & BACK ISSUES


Web www.myfavouritemagazines.co.uk Email enquiries contact@myfavouritemagazines.co.uk Tel 0344 848 2852 International +44 (0)344 848 2852
Group Marketing Director, Magazines & Memberships Sharon Todd

CIRCULATION
Head of Newstrade Tim Mathers 01202 586200

PRODUCTION
Head of Production US & UK Mark Constance Production Project Manager Clare Scott Advertising Production Manager Joanne Crosby
Digital Editions Controller Jason Hudson Production Manager Nola Cokely

MANAGEMENT
Chief Content Officer Aaron Asadi Chief Revenue Officer Zack Sullivan Commercial Finance Director Dan Jotcham
Managing Director Prosumer Keith Walker Head of Art & Design Greg Whittaker

PRINTED BY
William Gibbons & Sons Ltd, 26 Planetary Road, Willenhall, West Midlands, WV13 3XT

DISTRIBUTED BY
Marketforce, 5 Churchill Place, Canary Wharf, London, E14 5HU www.marketforce.co.uk 0203 787 9001

ISSN 1355-7602

DISCLAIMER
All contents ©2020 Future Publishing Limited or published under licence. All rights reserved. No part of this magazine may be used, stored, transmitted or
reproduced in any way without the prior written permission of the publisher. Future Publishing Limited (company number 2008885) is registered in England
and Wales. Registered office: Quay House, The Ambury, Bath BA1 1UA. All information contained in this publication is for information only and is, as far as
we are aware, correct at the time of going to press. Future cannot accept any responsibility for errors or inaccuracies in such information. You are advised
to contact manufacturers and retailers directly with regard to the price of products/services referred to in this publication. Apps and websites mentioned
in this publication are not under our control. We are not responsible for their contents or any other changes or updates to them. This magazine is fully
independent and not affiliated in any way with the companies mentioned herein.

If you submit material to us, you warrant that you own the material and/or have the necessary rights/permissions to supply the material and you
automatically grant Future and its licensees a licence to publish your submission in whole or in part in any/all issues and/or editions of publications, in any
format published worldwide and on associated websites, social media channels and associated products. Any material you submit is sent at your own risk
and, although every care is taken, neither Future nor its employees, agents, subcontractors or licensees shall be liable for loss or damage. We assume all
unsolicited material is for publication unless otherwise stated, and reserve the right to edit, amend, adapt all submissions.

We are committed to only using magazine paper which is derived from responsibly managed, certified forestry and chlorine-free manufacture. The paper
in this magazine was sourced and produced from sustainable managed forests, conforming to strict environmental and socioeconomic standards. The
manufacturing paper mill and printer hold full FSC and PEFC certification and accreditation.

4 june 2020
6 june 2020
june 2020 7
CONTENTS
Issue 332: June 2020 : net.creativebloq.com

FEED FEED

SIDE PROJECT 13
WORKSPACE 15
C S Rhymes discusses his book project for Shakeel Quadri gives us an insight into his freelance studio designed
helping developers avoid mistakes by a local award-winning architect

CLIENTS FROM HELL 14


The latest in our series of nightmare clients

VOICES
SHOWCASE YOUR DEV SKILLS 16
Aude Barral shares 5 top tips for landing
your dream developer job

ESSAY 18
Christine Brewis examines how gender
parity in tech has changed

THE 5G UI REVOLUTION 26
Tris Tolliday describes his vision of a web UI
catapulted forwards by 5G

Q&A 27
Andrew Couldwell discusses his new book
on design systems, Laying the Foundations

BIG QUESTION 28
Our experts reveal what they do when they VOICES
are stuck in a creative slump
INTERVIEW 20
Photo: Bence Bamer

UX designer at
Booking.com, Camille
SAVE UP TO Gribbons, reveals how she

71 %
first got into the industry

TURN TO
SUBSCRIBE TO IMAGINE FX PAGE 6
AND TAKE ADVANTAGE OF THE to find out more
about the savings on
PRINT AND DIGITAL BUNDLE offer for subscribers

8 june 2020
Contents

REGULAR
GALLERY 30
Mark Billen runs down

Photo: Anette Joost


this month’s best sites,
including Illuminating
Radioactivity, Kern Inc, Scars
of Democracy and SOTM
1917 – Into the Trenches

REGULARS
EXCHANGE 10
Robyn Larsen, Christian Heilmann and
Trine Falbe share expert advice and tips

SHOWCASE
PROFILE 36
Lusion founder, Edan Kwan, chats about
battling demons and winning awards

HOW WE BUILT 42
Oblio reveals how it created its innovative
3D navigation for the Knives Out film

PROJECTS
FEATURES
GOOGLE WORDPRESS:
SEO SECRETS 48 20 BEST PLUGINS 56
Experienced SEO consultant Carl Joe Ford handpicks an essential
Hendy offers up expert advice on selection of must-have plugins for
targeting top spot in search improved productivity and creativity
QUICKSTART GUIDE
ON HOW TO USE SVG 70
Sush Kelly shows how to export, optimise
and add animation to SVG with CSS
PROJECT
BUILD A 3D USE SAPPER AND
INTERACTIVE INTERFACE 64 SVELTE TO BUILD A FAST SITE 76
Mark Shufflebottom reveals Matt Crouch explains how to take a
how to use the three.js library minimalist framework and combine it
to create a WebGL animated with server rendering
interactive interface for your site

june 2020 9
Practical
advice from
Send your questions to netmag@futurenet.com industry experts

THIS MONTH FEATURING... QUESTION OF THE MONTH

ROBYN LARSEN Should I work for a client I don’t align with or


A former nuclear
engineer from British
shut up and take the money? Maybe I can
Columbia, Canada, Larsen
is a UX speaker currently influence from the inside?
working as a front-end Leslie Haverford, Cumbria, UK
developer for Shopify in Singapore.
w: www.robynlarsen.ca TF: It depends on whether the misalignment is in the core business model, an internal
t: @robyn_larsen process, or on a smaller scale. It also depends on what position you hold.
If the problem is that you don’t see yourself contributing to a business model like
CHRISTIAN HEILMANN surveillance capitalism (think Facebook), then I would probably look for another job.
A developer evangelist, There is not much chance of you changing anything from the inside in a company that
presenter and JavaScript makes their profits from data trade.
lover living and working If you hold a middle management position or are in a department or organisation
in Berlin, Heilmann is with a flat organisational structure, there might be ways you can make some positive
principal program
change from the inside. I believe conversations around ethical designs should be
manager for browser tools at Microsoft.
w: christianheilmann.com framed around all the right things the company/product should be doing and ideally
t: @codepo8 not what things we should not be doing/avoiding within our designs. This is a healthier
way of framing that conversation. Until this ideal becomes true within most startups
TRINE FALBE in the emerging world (India in my case), how do you suggest we have conversations
Living in Esbjerg, within our team where the most popular question tends to be: “Why should I care
Denmark, Falbe is a UX about being ethical when my country doesn’t have a law around that?” The
consultant, teacher,
Photo: Anette Joost

conversation when you operate in a market that doesn’t have legislation tied to ethics
speaker, writer and shouldn’t be any different from markets that do.
co-author of The Ethical
Compliance is not simply linked to ‘because the law says so’. Compliance with, for
Design Handbook.
w: ethicaldesignhandbook.com instance, GDPR has cost-benefits. For instance, do you measure the costs that come
t: @trinefalbe with poor data handling? The hidden costs in customer service, support, and social
media backlash? We
typically don’t
account for these
costs. But we should.
Also, just because
your own country
doesn’t have
legislation, doesn’t
mean you don’t have
to comply. If a
company has users in
the EU, even just
one, it needs to
The Ethical Design Handbook (ethicaldesignhandbook.com) offers practical techniques to influence a
positive change in your company and help your business grow without dark patterns comply with GDPR.

10 june 2020
Q&As

3 SIMPLE STEPS
When designing your
UX to work globally,
how do you deal with
the difference in word
lengths between different
languages? English vs
German comes to mind.
Ben Furfie, Merseyside, UK

Image: Fauxels via Pexels.com


Focus on extremities
RL: It’s really helpful to understand the
design extremities. Focusing on English to
Japanese or German really brings light to
the design practice.

All the new features that will go into Edge’s developer tools will be based on user feedback and user testing

EDGE DEVTOOLS design to continuous delivery. We love


What makes Edge’s DevTools stand out to see what other browser makers
from Chrome’s and Firefox’s? come up with and we’re in constant
Ben Brehaut, Bournemouth, UK communication about how we can help
CH: I don’t think it is the right approach each other. It is exciting to see how
to try to beat the competition in a space fast we became a productive partner
like developer tools. Our job is to give in the Chromium project and I am
looking forward to contributing more
In our case, the current developer tools improvements based on user research.
are based on the Chromium ones and
what we contribute to them based on JAVASCRIPT
the needs of our users goes back into What JavaScript engine is the best one in
the core project. That way, any browser your view?
Xulika Vincent, via Twitter
not trying to innovate for the sake of CH: Any that is open source, maintained Use pseudo-localisation
by various players, has a thriving Using pseudo-localisation as a design and
All the features that will go into community and is easy to embed. I’ve development practice helps if you don’t
developer tools are based on user worked with various ones in the past have access to the actual translation.
feedback and user testing. One of the There is an amazing article from the
released Chakra with the original Edge Netflix design team that talks about
lot of users and many developers in the browser. But I am not in control over scaling UIs with pseudo-localisation (bit.
ly/pseudo-local).
needs than the very vocal and visible use the one their browser comes with. It
developer crowd at conferences and on doesn’t matter what I like, what the user UI illustrations
Twitter. One thing we’re working on is has is what we need to concentrate on. In some of our marketing
how the browser developer tools can That said, I am worried to see how many collateral at Shopify, we
Node setups are woefully outdated and use UI illustrations (HTML
as such, vulnerable to attacks. We have representations of the
We don’t see the browser tools as product) where text and imagery scale.
a standalone project but as a piece of releases. Our job as server admins is to
an end-to-end developer story from keep things secure and up-to-date.

june 2020 11
Network

THE POLL
COOL STUFF
WE LEARNED WHICH UX ERRORS ARE
THIS MONTH
DESIGN MOBILE APPS FOR
THE MOST IRRITATING?
ONE-HAND USAGE
The ever-expanding
size of smartphone
screens presents new Neglecting Unreadable
challenges and opportunities mobile UX fonts
for web designers and app 6.90% 3.45%
developers. In this article,
Maitrik Kataria looks at how
designing apps for one-hand Needless sticky
usage can help overcome headers
these obstacles. 3.45%
https://netm.ag/3aVZX0W
Hidden calls
FIREFOX TURNS to action
CONTROVERSIAL NEW 6.90%
ENCRYPTION ON BY Autoplay videos
DEFAULT IN THE US 3.45%
If you’re paranoid
people are snooping
on which sites you’re
visiting, this decision by Excessive Obtrusive pop-
Mozilla might be welcome animations ups
news. As of late February, 17.24% 58.62%
the browser has turned on
by default DNS over HTTPS
(DoH) to protect the privacy
of users. And while DoH
won’t stop data collection From our timeline Design is a Job by @
monteiro.
entirely, it makes it difficult. Which books should web designers read? @marekIsOkay
https://netm.ag/2x0MXIH
Not strictly ‘web design’ questions a web design decision, User Friendly by Cliff
10 EVIL TYPES OF DARK UX but User Friendly by @ I can usually point them to a Huang. Definite
PATTERNS cliffkuang & @fabtweet chapter in this book. companion to The Design
The UX field was should be on the list. It explores @TheArtOfAwe of Everyday Things.
developed to improve applied user experiences, tells @webcraftsman
interactions between people myriad fantastic stories, and Thinking, Fast and Slow
and services. However, gives practical advice to explore by Daniel Kahneman – There are too many to
some UX designers aren’t the concepts it presents. It’s so an absolute classic and mention but why not try
above gaming the system to well written to boot! invaluable for designers. a classic graphic design
make visitors undertake @tomjepsoncrtv The Design of Everyday Things by book – A Smile in the Mind – to
actions that benefit the Don Norman – another design/ bring some fun and pleasure to
company instead of the Don’t Make Me Think by psychology staple, and one that web UI and UX?
user. It’s dubbed dark UX, Steve Krug may be changed how I think about @chopsmcmutton
and these are its evil usability focused but is design. Designing for Emotion
patterns to be wary of. essential reading for anybody by @aarron is another Design as Art by Bruno
https://netm.ag/2QdLkhR who works in web design and personal favourite. Munari.
development. If a client @JonLabonski @cbecker

12 june 2020
Side project

HOW NOT TO
MAKE A WEBSITE
C S Rhymes discusses his book project for helping
developers avoid mistakes when building websites
and improving a user’s experience
SIDE PROJECT OF THE MONTH

Tell us what your side project does


INFO I decided to write a book (How NOT to Make a
Website) aimed at developers and business owners to
help introduce them to the wonderful world of
making websites.

Why did you create it?


I have over 12 years of experience as a web developer

C S RH Y MES and I have seen some pretty bad sites in my time. I


thought it would be helpful to share my knowledge to
Rhymes is a senior
developer specialising help others get the most out of their website.
in Laravel and Vue.js. In
his spare time he enjoys What technologies were used in building it?
blogging, writing books, I originally wrote the book in 2014 with Word but have
developing Jekyll themes
updated it this year, rewriting it using AsciiDocs. This
and contributing to
Laravel packages. enabled me to output both HTML for the Kindle store,
w: www.csrhymes.com/
as well as PDF format, which I used to create the
books paperback. I normally write my blog posts in
t: @chrisrhymes Markdown so I found AsciiDoc format pretty simple
to get to grips with and it seemed a bit like
development too, using the command line to generate
the different formats and then customising the styles
with YAML.
The artwork was created using an iPad and the resulting in me releasing an open-source Jekyll theme
Paper app with the Apple Pencil. Creating the artwork called Bulma Clean Theme.
was something I had never done before so I decided to
keep to simple line drawings, but it ended up working How has it been received?
surprisingly well with the lower resolution of black- The decision to publish the book has increased my
and-white Kindle displays. confidence in my own writing abilities, leading me to
I launched the book on the Kindle store and then sat write another book called How NOT to use a Smartphone
back waiting for the sales to come flooding in, but it and writing regular blog posts.
didn’t quite work out as expected. I quickly realised
that writing the book was only the beginning of the What do you think you’ll do next with it?
process and that I was going to need to put a lot more I used to write blog posts on and off, but last year I
time and effort into promoting it. I tried some pricing started writing more regularly after I discovered the
offers in the discount store but it didn’t seem to fantastic community on https://dev.to as well as
generate much traffic. discovering I could share my posts on the Laravel
This led me down the road of updating my own News website.
website to help promote the book. After a few It’s amazing what one side project can lead to. I
iterations of the website, I eventually settled on using almost didn’t release the book but looking back now
Jekyll with Bulma. I soon realised that I could actually I’m so glad I did. Getting over the finish line and
build a theme that others could use for their own site, pressing the publish button was a great feeling.

june 2020 13
FEED Clients from hell

SOMETHING FROM NOTHING


A B&W vector of a Victorian drawing ‘Monty
Python’ pointing hand.
A ton of images of kittens that he had found
on Unsplash.
Exclusively for net: The latest in a series of VERY explicit instructions to create a logo
with a house, cat and books in it.
anonymous accounts of nightmare clients
Over the next few months, I cobbled together
CLIENTS FROM HELL a design that included ALL of those disparate
elements and still managed to make it look
appealing and cohesive.
I’ve just finished developing a site for a client when they have it – I have this in case the client That’s when the client fired me.
who has been a pain in the ass since day one. is intimidated by my other system. Client: We have decided that we will go with
The client worked in the publishing industry Despite these two very clear, very easy to someone else.
and was trying to set up an independent copy- use options, the client insisted on sending me Me: Okay, give me some feedback, what
editing service. Apparently he was very well items and instructions via email. exactly happened?
known, and claimed to have designed the logo Me: If you could send me your items via the Client: It’s not what we asked for.
for the publishing house that he had worked client portal or by Dropbox, that would be It was.
for previously. great… It helps me keep everything organised, Client: It doesn’t really express what it is that
Even though I had a bad feeling about him, which helps keep the project on track. we’re about.
he paid upfront without even batting an eye, Client: Oh, I guess you just aren’t very I’d asked MANY times what they were
so I went ahead. organised. You can simply set up email folders. looking for. Details were not forthcoming.
I have since learned I don’t charge enough. Me: I’m extremely organised. Which is why I Client: And you put a limit on revisions. How
Once I get a client, I have a very organised have this easy-to-use client portal for you to can you ask for more money when it’s not
system for content submissions, including a submit files. Please try to follow the process I perfect yet?!
client portal with detailed instructions for how have laid out; it will keep your project from He said he’s not going to pay me, but here’s
to submit everything that is needed – copy, being delayed. the thing: I control the URL and I actually host
images, content, etc. Obviously, he just sent files via email. the site… so we’ll see how this goes.
I set up links and reminder emails from day It was also painful getting feedback and
one asking for items. The client ignored all of direction from him. The following are image
them. I also have an alternate Dropbox option files he sent me in individual emails with the
where clients can simply drop what I need subject line ‘for the website’: clientsfromhell.net

14 june 2020
Feed

5
2

is used. [3] Being a freelancer can

QUAD TECHNOLOGY be a lonely existence and so music/


radio is important. That’s why the
Shakeel Quadri gives us an insight into his freelance studio Porsche design speaker is used – it
not only sounds great but makes
designed by a local award-winning architect
an excellent design piece too, with
WORKSPACE its original 911 tailpipes being used
as the speaker outlets. In addition,
The studio is based at Romney positioning the studio within Bose headphones are used while
Marsh Kent (aka the Fifth private/gated grounds but yet far on calls. [4] The Himalayan salt
Continent), famous for its enough away from the residence to lamp has many benefits such
panoramic landscape/coastline ensure a professional working as: balance, electromagnetic
views and wildlife. The studio environment is maintained. radiation, cleansing, deodorising
location provides a connection with [1] The Herman Miller desk and purifying the air, boosting
the countryside and blends into its provides a great work platform, blood flow, raising energy levels,
surroundings thanks to the whether I’m glued to my Mac or sharpening concentration and
cladding of Siberian Larch. The meeting with clients, it allows performance, and enhancing your
unique building uses oversized me to be able to swivel and speak mood. [5] I love gadgets and this
windows to create panoramic views on one side of the desk and robot vacuum is just cool – it looks
in every direction. This creates an showcase on the screen at the really great and it actually does a
immersive and inspiring other. Ergonomically, all cables cracking job of whizzing around
experience to work from. The are fed neatly under the desk, hoovering up the place before then
windows achieve bags of natural which is fully adjustable. [2] As returning back to its dock to charge
light and prevent eye strain, while with everything within the studio, up and get ready for the next
the surroundings offer many design is at the forefront, which is scheduled run.
glorious sights, from wildlife why the Herman Miller Sayl chair
Quadri is the director of Quad Technology,
walking past, to being mesmerised was the perfect choice for making
PROFILE

specialising in freelance web design and


by weather extremes. A perfect a design statement and ensuring digital marketing services.
work/life balance is achieved by that a good quality supportive chair w: quadtechnology.co.uk

june 2020 15
Opinions, thoughts & advice

DEV SKILLS

HOW TO SHOWCASE
ESSAY
Christine Brewis discusses how gender parity
18

in tech has changed over the last ten years, and


what more can be done
YOUR DEV SKILLS
Aude Barral shares 5 top tips for
landing your dream developer job
Photo: Bence Bamer

Developers, the validation of your


technical skills will be what
convinces a recruiter to hire you 90 per
cent of the time. But when it comes to a
job interview, how can you make yourself
INTERVIEW 20 memorable (for all the right reasons)?
Camille Gribbons, UX designer at Booking.com, Here we run through what recruiters are
shares some learnings about the unique looking for and how to ensure you stand
challenges of designing for a brand new market out during that all-important interview.

1 POLISH UP YOUR
PROGRAMMER’S PORTFOLIO
A programmer’s portfolio is essential in
any tech-recruiting process. It is your
personal business card and enables you
to showcase your coding skills through
personal projects. In terms of format, you
have options! You can go from single web
pages to complex software projects. As a
Q&A 27 candidate, your portfolio will show your
We catch up with Andrew Couldwell to learn development level, your career goals and
more about his new book on design systems, the skills you wish to acquire. It is also a
Laying the Foundations way for a recruiter to examine your ability
Opinion

to explain your projects – good


communication skills are always a
prerequisite.

2 SHOWCASE YOUR
GITHUB ACCOUNT
Having a GitHub account shows you can
write intelligible and maintainable code.
Recruiters use GitHub to check a
candidate’s reputation by identifying
number of followers; their experience
level by looking at the date they joined;
their technical skills or areas of interests
by detecting use of keywords for languages
and technologies; their ongoing and/or
finished projects and their level of
commitment through the public activity
on the site. What’s more, contributing on
Photo: ©Laurent Rebelle

GitHub is a sign you care for the open-


source community and are willing to work
with others on side projects, which is a
great asset as a developer.

3 TELL RECRUITERS HOW


YOU USE STACK OVERFLOW
Stack Overflow is your everyday developer
tool, the collaborative question and examine a candidate’s logic, their ability your technical skills, while benefiting
answer site that addresses topics related to explain their thoughts, all the while from an objective and automated analysis
to computer programming and answers testing their ability to code under of your performance.
most of the questions you may have as a pressure. So, train yourself to master live Tech recruiters or HR managers can
programmer. Stack Overflow is a perfect coding interviews! They are increasingly organise these programming tests using
tool for recruiters to measure a candidate’s being used by recruiters, especially in online platforms that automatically
knowledge level. They will use it to have those sexy tech companies you may want evaluate a candidate’s coding skills. Once
a closer look at your degree of involvement to work for one day. you’ve completed the test, a report
in the development community and your Not only do they enable interviewers materialises. It enables recruiters to
reputation. Do you answer questions that to detect your level of knowledge and study, compare and shortlist candidates
get upvoted? How many contributions performance, but live coding interviews in the most efficient way, without any
have you made so far? Were you granted also assess your communicative and unconscious biases.
some moderation privileges? All these collaborative skills within a team – in the If online coding tests seem a bit nerve-
insights can be great assets for your case of collective interviews. wracking, remember they can be a great
application, so don’t ever hesitate to put asset in your application because they let
them forward! 5 SHINE AT PROGRAMMING you demonstrate your coding skills.
ASSESSMENT TESTS Finally, programming assessment tests
4 MASTER LIVE CODING For recruiters eager to avoid mis-hires provide an enhanced candidate
INTERVIEWS due to a lack of technical skills, coding experience. Some of them now include
You don’t really like live coding interviews, tests are an efficient approach to assessing cool coding puzzles or even games to solve
do you? Well, you’re not the only one. They developers before hiring them: it is a in your favourite language, letting you
are a source of anxiety for most developers perfect tool to identify and hire the most demonstrate your developer skills in a
and are considered as one of the hardest talented developers. During an online tech-friendly environment.
and most stressful challenges during a coding assessment test, you will be asked
tech hiring process. However, live coding to solve real, practical programming
Barral is co-founder of CodinGame, a gamified
PROFILE

interviews are a great source of problems you could encounter in your training platform for developers and a powerful tech
information for recruiters because the day-to-day programmer life in a company. hiring tool for companies.
practical exercises enable them to These tests mean recruiters can check w: www.codingame.com

june 2020 17
VOICES Essay

WOMEN IN TECH

HOW EMOTIONAL LABOUR


HINDERS WOMEN IN TECH
Christine Brewis, head of digital marketing at Studio Graphene,
discusses how gender parity in tech has changed over the last
ten years, and what more can be done

Historically, the tech industry has borne the five have resigned from a role in a tech company because
hallmarks of an all boys’ club. Although the tide is of discrimination or harassment in the workplace.
changing elsewhere in the workforce, as recently as These eye-opening figures should serve as a red flag
December 2019, research has found that the ratio of men to companies who continue to turn a blind eye to
to women in IT has been largely static, with the percentage subliminal practices that promote, or facilitate,
of female IT professionals hovering at around 16 per cent discrimination. While it’s important to strive for pay
for ten years. parity and equal representation, it is just as important
Even with more tangible barriers to diversity in the to tackle the silent biases that hinder women from
workplace broken down, such as access to higher climbing the career ladder.
education, the number of women working in the sector
remains woefully low. According to recent research by INVISIBLE BARRIERS
Studio Graphene, 62 per cent of women in tech think Nowadays, the barriers that might keep women out of
that the image of the technology industry being male- the tech industry (or out of leadership roles in general)
dominated is a deterrent for women to enter the sector. haven’t disappeared – they have simply changed and
And for those women who have chosen a career in tech, aren’t quite so plain to see. Women continue to face
many continue to face discrimination. systemic barriers and frustrations in the workplace, with
The same research revealed that half (49 per cent) of certain scenarios common across all sectors.
women working in the UK tech sector have experienced It’s a familiar scene we’ve likely all witnessed at some
some form of discrimination in the workplace: one in point or another: a colleague is leaving the company and

18 june 2020
Essay

someone has been assigned the job of buying them a All of that extra smiling and taking care of others requires
leaving present. A probable outcome in this scenario is precious time and energy, and it doesn’t help us climb
that the person chosen to shoulder this additional the corporate ladder and into senior roles any quicker.
responsibility will be a woman. We might also find If anything, such practices inadvertently benefit men
ourselves tasked with taking the minutes at business while putting women at a disadvantage.
meetings, making the coffee for someone who is visiting
the office, or even arranging a whip-round for a CHANGING THE MESSAGE – WHAT
colleague’s birthday card. CAN BE DONE?
In order to meet expectations, it is a reality that women So, what can we do to release women from their office
often take on many of the daily housekeeping tasks in caretaking roles? I believe that it is important to stay
the office alongside the pressures of their everyday roles. conscious of these more casual instances of sexism, so
While this is not a new concept, it is a phenomenon that that we can question them, recognise them as real
frequently remains unuttered: the surplus emotional problems, and address them where possible. It could be
labour that women are expected, arguably unconsciously, as simple as asking yourself, ‘why am I being asked, or
to carry in the workplace environment, which often goes expected to do this, and not a male colleague?’.
unrecognised and uncompensated. Additionally, a positive measure that companies could
At the present time, particularly in tech – traditionally take to redress gender parity would be to offer additional
a male dominated sector – this can be a significant barrier training for all employees to improve skills such as
to career progression. Only 15 per cent of people working communication and empathetic leadership, so that the
in STEM roles in the UK are female, and only 5 per cent nurturing doesn’t always fall to female colleagues. Or
of leadership positions in the technology sector are held even devising a rota for organising office events and
by women today. Although much progress has been made, presents might help to assuage some of the burden.
it seems like the underlying behaviours that pigeonhole At Studio Graphene, our stance on challenging the
women into specific roles still persist. gender diversity crisis hinges on always keeping these

“It is immediately clear that idle sexism continues to run


rampant in the office; it is so idle, in fact, that many women are
probably completely unaware of the extra effort they put in to try
and safeguard their professional reputation”
Throughout my career, time and time again I have questions in mind, in addition to taking a ‘proactively
noticed that not enough consideration is given to the neutral’ approach throughout the recruitment process,
trivium of the everyday: the more commonplace rather than encouraging positive discrimination.
behaviours that might have their hand in the fact that Owing to this, we now have an inspiring team of female
there just aren’t enough women occupying the most engineers at our office in India. As a woman in the tech
senior roles in the technology sector. It is plain to see industry, this is particularly heartening to hear, especially
that we are still thought of as more ‘suited’ to deal with given the rigid guidelines in India when it comes to
the emotional grievances of our colleagues. Like it or offering six months maternity pay; sadly, a prospect
not, women are often the chief caregiving figures of the shunned by many businesses.
office, always with a sympathetic ear to lend and a The insights of the women working in our Delhi office
paracetamol to hand. should therefore offer some reassurance to women
Social stereotypes mean that such beliefs extend looking to get into the tech industry, and the words of
beyond just our personal lives, and are culturally one of our engineers, Sakshi, are especially pertinent.
embedded into the fabric of our working lives. If we pay To properly challenge gender norms in the industry today,
attention, it is immediately clear that idle sexism and in the workforce at large, “we need to think both
continues to run rampant in the office; it is so idle, in short-term and long-term, and break down the walls
fact, that many women are probably completely unaware that institutionally keep women out”.
of the extra effort they put in to try and safeguard their
professional reputation.
Brewis is head of digital marketing at app,
PROFILE

But even if such cultural assumptions are unintentional,


website and IoT software development
consciously having to live up to gender expectations company Studio Graphene, which has offices
means that women have less time to dedicate to achieving in London, Geneva and New Delhi.
results that will earn us recognition in the boardroom. w: www.studiographene.com

june 2020 19
VOICES Interview

Camille Gribbons
Words by Oliver Lindberg

UX designer at
Booking.com, Camille
Gribbons reveals how
she first got into the
industry

IN FO
job: UX designer at Booking.com
w: camillegribbons.com

20 june 2020
Interview

Photo: Bence Bamer

june 2020 21
VOICES Interview

Camille Gribbons had always pictured psychology and teaching, but none of which covered web and graphic design,
herself on Broadway. At 18, she had them could really hold my interest. Then, photography and animation.
done musical theatre for six years, one summer in between semesters, I quit Gribbons then got the opportunity to
performing in community shows in her my student job as a housekeeper and came study in Brisbane as part of an exchange
home of Phoenix, Arizona, and had across this get-rich-quick scheme online. programme. Even though she was initially
become a local celebrity. She auditioned The basis was to create a website for a disappointed (Australia had not been on
for acclaimed theatre programmes all over niche audience, get a good amount of her radar at all but Queensland University
the US but failed to get into the big traffic, and integrate it with Google Ads of Technology was the only school abroad
universities, so she entered Arizona State or affiliate marketing in order to make a that enabled her to gain credits for her
University to pursue an exploratory major. nice monthly income.” course of study), it turned out to be the
“It’s for people who have no idea what Being a fan of The Bachelor franchise, best possible career move. As soon as she
they want to study,” Gribbons chuckles. Gribbons decided to build a simple site on arrived, she started reaching out to every
“For the first couple of years I switched Squarespace and took some classes online software and web company in the area to
my major probably every six months. I for how to advertise on Facebook. Needless ask for an internship. Email marketing
started out with Mandarin because I to say, she didn’t get rich but she software company Vision6 took her on
wanted to travel the world but it turned discovered she really enjoyed the creative and eventually hired her as its resident
out the programme at my school feeds aspect of designing the website and junior web designer. Gribbons was
people directly into the CIA, and I didn’t customising it with basic HTML and CSS. mentored by its UX designers and pursued
want to spy on people! Then I looked into So she switched her major once more, this various other freelance opportunities for
political science, global studies, time to graphic information technology, local small businesses around Queensland.
When she wasn’t studying, she was
working mornings, nights and weekends
to build up her skillset.
“When it rains it pours,” Gribbons
recalls. “I redesigned Vision6’s website,
and suddenly freelance work was just
coming in. I was building and redesigning
sites, helping with branding, graphics and
print material – everything under the sun.
It was almost like school was just my way
to be in Australia. I was still going to
classes but everything I learned in web
and UX design I basically learned from
working on the job.”
As her course was coming to an end and
she had to decide what she wanted to do
with her career, Gribbons started applying
to all the big companies – Uber, Google,
Twitter, Facebook etc – but wasn’t
successful. Then she reached out to one
of her mentors at Vision6 who had joined
Booking.com in the Netherlands. He
referred her, and within a month and a
half of interviews, Booking.com flew
Gribbons out to Amsterdam in order to
take part in the final round. She was
accepted into the company’s graduate
programme and so relocated to
Amsterdam. From middle-of-nowhere
Arizona straight to a major hub after
graduation, it was a dream come true.
Gribbons was keen to work for a market
completely different to her own and learn
Photo by Bence Bamer
localisation techniques. As Booking.com

22 june 2020
Interview

was building up its strategies for emerging


markets, she joined a team that initially
was tasked with focusing on Japan, Brazil,
Mexico, India and Indonesia. It was the
latter that became Gribbons’ focal point
for the next year.
“Indonesia was identified as one of the
fastest growing markets in Southeast
Asia,” Gribbons remembers of the time.
“They were experiencing an internet
boom, and everybody was suddenly buying
and booking things online. Usually people
would just walk into a hotel and book it
there and then, but now they were starting
to book rooms online beforehand. I heard
that Booking.com was experimenting with
an idea to compete with the local players,
and I thought that it was so exciting. It
was brand new, we were building
something from scratch – almost like

“I was still going to


classes but everything I
learned in web and UX
design I basically
learned from working
on the job”

working at a startup – and owned every


part of the process!”

Photo by Bence Bamer


At a Booking.com hackathon, Gribbons
collaborated with a front-end and back-
end developer as well as business
stakeholders to build an early version of
a new localised travel app called
BookingLokal, which ensured they got
signoff and allocated the necessary
resources for the project. They had no idea
how challenging it would be to tackle a briefed that users in Indonesia simply giving him all this feedback about the
market from 7,057 miles away. wanted the cheapest hotel possible, and work that we were doing, that the design
The team started work with a series of that was their end game. Those was too European, that it wasn’t localised
assumptions they’d been given, before assumptions turned out to be incorrect – but we weren’t being told any of it.”
any of them had ever visited Indonesia. but unfortunately, the project’s first Gribbons and her team were then sent
They had been told that even though product manager – due to fear of scope to Indonesia to sense the market and test
people in Indonesia now had access to the creep – had implemented a rule ensuring the prototype they had put together
internet, network conditions were slow, all communication had to go through him, within a couple of weeks. The first thing
and mobile devices were low end. So they withholding vital insights. she saw on a whiteboard in the local office
had to build the lightest site possible, “There was no direct communication were the words “this design sucks”.
which ruled out animations and many between the team in Indonesia and us,” Gribbons was shocked. She couldn’t
images. In addition, they had also been Gribbons remembers. “They had been believe it was referring to her designs

june 2020 23
VOICES Interview
Photo by jaimeforsonphoto

because she had designed for the user that The product manager ended up leaving consistent payment experience for all
she had been given. The brief, however, on his own account, and the new one users across Booking.com’s funnel. The
had been completely wrong. ensured the team in Jakarta was involved lessons she learned on the BookingLokal
“The internet wasn’t slow, as it turned at every stage of the process, from design project helped her boost her skills as a
out, it worked perfectly fine,” Gribbons sprints to user testing. This time the team young UX designer. She subsequently
sighs. “And sites were using a lot of really immersed themselves into the shared them in a conference talk at events
animations, photos and loud and bright culture. Booking.com worked with a user such as Amuse UX and Talk UX.
colours. We also found out that it wasn’t testing agency that recruited users and “People tell designers their only focus
about the cheapest hotel for users. They set up user interviews to understand the should be the user,” Gribbons points out.
are bargain hunters. They are looking for audience’s basic motivations and needs “We’re the champions of the users and
a high-quality hotel but they’re aiming for travelling. we need to fight their corner no matter
to game the system and hunt for coupons “Apart from usability tests and what. Yes, of course, the user is important,
and discounts to get the cheapest price watching users interact with our product and you should really understand them.
possible. Eventually we almost added and the competition, we also did street You need to first fulfil your user’s basic
friction to the process, so they had a way testing. As the local team was mostly needs and expectations before you even
to look for promotions and deals.” focused on social media, we trained them start to think about innovating. But what
The team in Jakarta staged an to go out to the malls, which are huge in this project taught me is that you also
intervention with Gribbons. “They told Indonesia, and get some feedback on need to balance the needs of the business
us that they couldn’t launch BookingLokal BookingLokal on the fly. We had to and the team if you want to be taken
with this minimalist design and subdued establish a lot of feedback loops, and of seriously and get things done. You have
colour palette. It wouldn’t be successful. course there are still challenges, but it to take a minimum-viable-product
I didn’t understand why this feedback was really valuable to learn from the local approach, you have to make compromises,
hadn’t been used to inform the direction team. There was just no way to be and you have to find the best balance
of the product. I didn’t really know successful without their help.” between development, design and
anything about Indonesia, but it was our The project went live and grew in business. In order to really have a voice
local team’s culture. It didn’t matter that customers as new iterations were released in the strategy, it’s important to focus on
they were a marketing and operations but in December, Booking.com shut it all three areas, and that’s something that
team and not product people, they were down due to the company switching is currently not being taught a lot. I’m
the experts. It was a pivotal moment. priorities. Gribbons moved to the payment now working hard to bring everyone into
From there I worked hard to completely component team, which she describes as the design process and make sure they’re
open up communication channels.” an internal Stripe service, to work on a really involved.”

24 june 2020
Interview

“Of course the user is


important… but you
also need to balance the
needs of the business
and the team if you
Photo by @ iam_alancastillo

want to be taken
seriously and get
things done”

june 2020 25
VOICES Opinion

CLOUD COMPUTING IN THE


ADVENT OF AI
Meanwhile, sat on the cloud, are a quite
frankly insane amount of GPUs, among other
resources. This is thanks to huge investment
in AI and machine learning, these GPUs are
twiddling their thumbs waiting for researchers
and data scientists to create their next facial
recognition or speech-to-text model.
We can see this happening, because Google
Collab offers out free time on its dedicated
GPUs and TPUs for ML projects that won’t take
up its resources for more than a day. These
spare GPUs are gagging to be utilised, and 5G
UI would help this cross section of wants.

HOW COULD THIS WORK?


USER INTERFACE We can take hints from Steam Remote Play,

THE 5G UI
which utilises H.264 (and H.265 for the brave),
to stream a video capture from your home
computer in real-time, meanwhile your
mobile device streams touch events directly
to your computer. What’s incredible to me, is

REVOLUTION
that your mobile has very little to do in this
exchange. It displays a video stream, which
mobiles have been capable of since at least
2005. It also just sends any input events to the
server, not even concerning itself with
computing what these events mean.
Tris Tolliday describes his vision of a web UI This leads to the bigger question: what stack
do we run on the server? To this, my answer
catapulted forwards by 5G is anything at all. If it can run on the cloud,
you can do it, it doesn’t even have to be
5G is a data revolution about to is large enough to push the heavy lifting away browser tech, which leads me to the best bit.
change every aspect of modern life, from the client and onto the server.
connecting everyone in real-time with From the server, we’ve seen what is possible WEB 3.0
unparalleled flows of data. For web with the likes of Google Stadia, Steam Remote Now we have zero limitations, it’s time for
developers, 5G UI is set to revolutionise the Play and Project xCloud. All of a sudden, the web revolution. What does a website look
web GUI equilibrium… as soon as it has the graphic-intense 3D games are available for like in 3D or in 2D with 4K graphics? I cannot
national coverage we see with 4G. the public to play in 4K on their living room even fathom what those more creative than
The web has been stuck in a 2D world with TV, assuming a decent broadband speed. me can come up with.
the same top nav, hero and boxes of content, Now imagine what is possible if we extend All this has led me to one conclusion, it’s
but what if there was another way? What if access to every pay monthly mobile phone in time for front-end developers to expand their
the client didn’t have to rely on the users’ the UK. 5G would enable everyone in the UK horizons, and not necessarily on the web.
hardware to deliver the experience, and to use their phone to browse content generated Build cloud native experiences, invest your
instead we hoisted it up to the cloud? by bleeding-edge cloud computers. We aren’t time in VR and AR. Try Unity, be bold.
talking about the SSR of today, but the whole There’s an old adage that comes into its
WHY IS 5G ANY DIFFERENT? GUI being painted server-side, and pushed own: ‘If you dislike change, you’re going to
5G has two benefits over 4G. The first is latency to devices in real-time. dislike irrelevant even more’. Get ready for a
small enough for everything to feel responsive, Let’s also consider the limitations of the 5G revolution – change, evolve, or be ready
with early tests from Verizon hitting the 30ms modern browser. Sure we can create graphics for irrelevance.
mark (10x quicker than the mobile browser on them, but without heavy optimisation,
touch delay), and that figure is expected to anything too complex begins to chug. If you Tolliday is a creative technologist. He specialises in
PROFILE

come down to around 10ms. Second is its have ever attempted 3D on the browser, the innovation in the technology sector, to connect brands
insane bandwidth, which at 2gbits per second, limitations hit you pretty early on. with their customers.
w: tristolliday.com

26 june 2020
Q&A

working on digital products, including copywriters,


design managers and PMs. It’s especially useful for
those working with teams in-house, but designing
systematically and working as a team is important
– regardless of your level, or where you’re working. I
think there’s something for everyone.

There are a lot of people writing about design


systems on, say, Medium right now, so why should
people pay money for a book?
Consider that a good deal of the articles you read on
Medium are written by people in employment, writing
publicly about the work that they’re doing for their
employers. These articles tend to paint a rosy picture
of their product, process, and culture. They can also
create the false impression that a design system isn’t
realistic for your own company, because your product
is more complex or plagued with legacy problems, or
your boss would never go for it, etc. The truth is the
Q&A

ANDREW
individuals and companies that wrote those articles
have the same problems. They just choose not to write
about them.
Laying the Foundations is real talk about creating
design systems, written in a lucid tone of voice. It

COULDWELL
doesn’t deal with ideals. Instead, it talks about how to
overcome legacy problems, earn trust and support, and
what to do in different scenarios. One reader described
it as being more of a manual. Another reader said:
“You could read 100 hot takes on Medium OR read this
one book filled with practical advice from an industry

The Brit in LA discusses his new book on vet. There’s so much valuable stuff in this book.”

design systems, Laying the Foundations As an expat Brit, what do you see as the pros and
cons of living in LA?
Could you briefly introduce yourself to anyone who Los Angeles has year-round good weather, mountains,
INFO doesn’t know you? forests, beaches, museums, rich diversity, great food,
job: Web designer and I’m a Yorkshire-born, Los Angeles-based designer bars, and sports teams. You even get to eavesdrop on
developer and developer with 15+ years experience creating behind-the-scenes Hollywood chatter from time to
w: https://roomfive.net digital experiences for everyone from NASA to Harvey time. The pros on the work-side are the same as living
t: @andrewcouldwell Nichols. I recently returned to freelance life after in any big city: you’re close to lots of companies and
several years leading design at Adobe and WeWork startups with money to spend and interesting projects
in New York City, and I recently published a book to work on. The only con is being so far away from my
about design systems called Laying the Foundations family and friends in England, which does suck, but
(designsystemfoundations.com). life is short – you have to live it, and your loved ones
are only a call, message, or flight away.
What gave you the idea of writing a book about
design systems and who’s it aimed at? What is exciting you most in the field of web design
During my time at Adobe and WeWork, I learned a lot right now?
about leadership and the dynamics of working with I think we’re in a strange period. Too many designers
multiple teams and individuals. Unfortunately, it’s are designing for other designers and not the people
not as simple as just doing your best work. You have that really matter (ie the target audience). I think our
to learn to build a team, sell, earn trust and support, industry just needs to take a breath and get back to
play politics, work with stakeholders, be patient and basics. I do like that there’s been a rise in interest in
grind out results. The book is aimed at designers accessibility and especially inclusivity, which are two
(and developers) of all levels, and really anyone topics I cover a lot in my book.

june 2020 27
VOICES Big question

INDUSTRY INSIGHT

HOW DO YOU KEEP UP WITH


DEVELOPMENTS IN YOUR FIELD?
The web is ever-changing. So apart from reading this magazine, how does our
panel of experts avoid falling behind?

GEORGE H A DFIEL D ROB


Head of digital, CH A L MERS
Mobas Chief experience officer,
mobas.com Engine
enginegroup.com/uk
From UI/UX research and trends, to knowing
about the latest Google Search algorithm
change, as head of digital at a full-service agency it’s
To design experiences well, you
vital I’m in the know. Always an issue when facing must constantly build and
day-to-day workload pressures. So I use a Chrome
extension called Panda 5, which replaces my ‘new tab’ refresh your understanding of
page with the most popular content from credible
platforms. It helps me stay on top of industry news.
what’s out there. So no matter the
Attending relevant meetups and conferences problem or opportunity, we frame
immerses you into a world of excellent talent, too.
the forces affecting business, as
well as consumer behaviour and
MEL IN EDOM WON Y I
Director of product delivery, expectations. My go-to sources tend
Illustrate Digital
illustrate.digital
to be consultancy reports
(SlideShare’s good for this), as it
For me it’s about finding balance. often provides a good overview of
I don’t chase UX design trends,
but I’m aware we need to keep an eye the landscape, from business to
on what’s new and experiment to see tech. Services like Medium help me
what works for us. Going to events understand what the thought
and listening to talks is helpful, as is
leaders in the space are predicting. I
following online collections like
Dribbble. Recently I’ve visited also look at how designers at large
WordPress and other industry are experimenting, using Dribbble
conferences around the world to get and Core77. A combination of all of
insights from people on a one-to-one
basis, both agencies and brands,
these helps keep work fresh,
learning from their experiences. relevant and impactful.

28 june 2020
K L AUDIA BRONOWICK A JACK
Senior developer, Indiespring REE V E
Indiespring.com Web developer, PS Website Design
pswebsitedesign.com

Staying on top of the changes in JavaScripting (https://www.javascripting.


development isn’t easy. It takes time com/?sort=trending) is useful as it has the option
to look at currently trending JavaScript libraries and
outside of office hours. Reading, frameworks. CodePen (https://codepen.io) has a lot of
innovative effects created and regularly posted by the
researching and working on personal community. And the Dev community (https://dev.to) is a
projects for me is critical to stay on top. It great place to find new tools and technologies. That
said, it’s all well and good knowing where to look, but if
also helps that within the office we are you don’t set aside regular time to read up on the latest
given time and training to work with new advancements, it is easy to fall behind. Even blocking
out an hour a week of reading time helps hugely.
tools and technology stacks. We always
have several internal projects that allow SIMON
P ROC T OR
our junior developers a chance to flex Founder,
Codeminers
their skills, but also a way for senior www.codeminers.co.uk
developers to use and learn new methods
Growing your business in an
and tech. This means we can advise and evolving industry can be difficult; I
apply more appropriate solutions. strongly believe you have to spend
time in researching where you want
M A RCEL A the business to be. From there, you’re
BOHORQUE Z able to invest in your team properly
Web developer, onebite
and ensure everyone is skilled. If you’re
www.onebite.co.uk
doing this for yourself, then I’d
I get a lot of insight from the companies behind the software we use; recommend starting with community-
Litmus and Campaign Monitor are two examples that provide great insight driven video-training sites. You do have
into email marketing trends. AWS runs great conferences online and offline, to judge for yourself whether the
where it hosts multiple tracks for different levels of users to show off new tools
and technologies to improve current services and give inspiration for future
content is up to date, where it’s coming
projects. Alongside those, design podcasts are great for sharing new project from and who is creating it, but some
approaches. Listening to people discuss the latest technologies can be really of that content is absolutely fantastic
valuable, especially in the open-source world. for self-learners.

RESOURCES
CREATIVE BLOQ NET MAG ON INSTAGRAM @NETMAG ON TWITTER
www.creativebloq.com/tag/web-design www.instagram.com/netm.ag https://twitter.com/netmag
Creative Bloq is the online home of net It’s finally here, net magazine on the ever net magazine’s Twitter feed is packed with
magazine and its sister publications popular visual social platform. The newly news, tips and inspiration on topics
Computer Arts and 3DWorld. The site’s Web created account will feature websites we love, including design, development, marketing,
Design tag is where you’ll find all the latest the happy smiling faces of industry experts, a usability, accessibility and security.
news, tips and advice from the designer and peek behind the scenes of leading agencies, Alternatively, check out the Facebook page at
developer community. special offers and more. www.facebook.com/netmag

june 2020 29
GALLERY Inspirational sites

MARK BILLEN

Billen is a freelance writer who


has been writing about web
design and technology for over
15 years.
w: markbillen.com
Sensational design and superb development t: @Mark_Billen

TYPEKIT, TWEENMAX / GSAP, JQUERY

ILLUMINATING RADIOACTIVITY
https://illuminating-radioactivity.com

There’s no doubt that the notion of radioactivity strikes


fear into most people’s hearts. But how much do we really
know about what radioactivity is and why it’s bad? This engaging
website is dedicated to answering such questions with rich
references to science, politics and popular culture.
Single-page and seemingly infinitely scrollable in structure,
Illuminating Radioactivity starts with a charming interactive the font work is a significant triumph with distinctive sets like
header that figuratively clears things up. Random, multicoloured Opposit, Lexend Deca and Share Tech Mono applied tastefully.
PNG flakes bearing popular phrases are vanished on rollover Other highlights include a section that peels back photographic
or tap, revealing the title and dispelling the myths. This slices of the Grand Canyon, beautifully illustrating the radiated
inventiveness and dynamism continues therein, using rock formations. It’s a perfect distillation of the educational
GreenSock-soaked animation thoughtfully to manipulate colour, value the site has, with designers Tubik Studio proving masterful
images and typography. Delivering a large quantity of text, at telling factual stories.

30 june 2020
Inspirational sites

NUXT.JS, GSAP, FONTPLUS

KERN INC
https://kern.inc

It‘s a shame that Western web design often


overlooks the Japanese scene. Given the obvious
language barrier and traditional font quibbles, it’s fair to say
much gets lost in translation. Thankfully good-looking
aesthetics are universal, with this site from Tokyo agency
Super Crowds inc providing case in point. Kern inc is a new
business portfolio for the design firm of the same name to
showcase its services. Here it proclaims a desire for
“shaping your identity with design” and adding more project
commissions to a bulging roster of case studies to browse.
Most impressive is the slick navigation device that drives
the Works section and a dock-like carousel menu for picking
icons. This ‘swiper’ element shifts horizontally on selection
and beautifully animates thumbnails into view with smooth
aplomb. From here, a click or tap of a chosen project
expands out to fill the viewport and deep dive into a
sumptuous stream of branding work for numerous clients.
As you might expect, it’s all handled with refined
respectfulness and a muted palette largely of cream
(#ECECEC) and black. This enables accent colours and
imagery to really cut through with greater pizzazz, without
ever compromising visual consistency.

june 2020 31
GALLERY Inspirational sites

CSS3, THREE.JS, MP4 VIDEO

1917 – INTO THE TRENCHES


https://intothetrenches.1917.movie

The epic war film 1917 has proven to be a commercial and critical
smash, doing huge box office numbers while scooping prestigious
accolades. Writer, director and producer Sam Mendes has crafted a story
that not only resonates historically but also marvels technically today.
Using innovative editing and cinematography, the makers managed to
drop audiences into World War I action with what seemed to be one
continuous shot. This technique is beautifully highlighted by this
immersive promotional website, where the movie’s pivotal backdrop is
reimagined in WebGL.
Designed as an interactive first-person journey into 1917’s production,
it renders 3D scans of the mile-long battlefield trench made for the
filming. Visitors are encouraged to ‘keep moving’ deeper into the gloomy
but richly detailed environment, finding a series of video hotspots.
Character clips and behind-the-scenes footage are seamlessly presented
in a ratio optimised for mobile screens, providing a neat narrative thread
from start to finish. Creative studio POWSTER, operating out of London
and LA offices, clearly worked closely with client Universal Pictures to
get the site’s tone just right. By blending impressive three.js development
with stellar graphics, sound and AR technology, 1917’s poignant drama
has been translated into a truly unmissable online experience.

SI T E OF
T HE MON T H

32 june 2020
Inspirational sites

june 2020 33
GALLERY Inspirational sites

JQUERY, HOWLER.JS, APPLE ARKIT

SCARS OF DEMOCRACY
https://www.scars-of-democracy.com

In a moment when politics are more divisively


dramatic than ever, this site seems incredibly
pertinent. Scars of Democracy is a breathtaking
artistic statement now immortalised online. The
roots of the project began at last year’s STROKE
contemporary art fair in Munich, Germany, where
artist Capo Finest exhibited some ‘revealing’ works.
Attendees were confronted by stylised paintings of
world leaders like Donald Trump and Angela Merkel,
stripped bare and covered in tattoos. These ‘scars’
referenced acts and implications from their time in
office, that could be scanned with smartphone
cameras to learn more.
This award-winning website translates that
experience to the web with a virtual gallery of eight
paintings to explore. Hover a mouse pointer over
each tattoo and click to read the significance before
watching embedded YouTube news footage. It’s a
thought-provoking idea, espousing the Universal
Declaration of Human Rights and Article 19’s
assertions over freedom of expression. However,
the technical highlight is on mobile and the official
downloadable app, which uses AR to great effect.
By leveraging visual-inertial odometry and Apple’s
ARKit, makers Plan.Net Pulse invite us to interact
with the works from the comfort of our home.

34 june 2020
Inspirational sites

HTML5, CSS3, GSAP

AMANDA BRAGA
www.amandabraga.com

Selling fashion online has never been an easy task,


hence the considerable investments made to
innovate. Brands big or small are keen to convey style and
attitude with increasing technical complexity, but
sometimes less is more. Amanda Braga is a Brazilian
jewellery designer based in Miami, USA and this tastefully
classy new URL provides a profile of her work. Refreshingly
though, there is no hard sell of products but more of a
punchy focus on Braga’s story and approach. This is backed
by a short, single-page site that fuses subtle GSAP and CSS
transitions with elegant font work. Woodland font from
Pangram Pangram Foundry styles much of the text, which
beautifully unfurls into view upon vertical scroll. In fact all
the page elements across three sections warp through the
viewport this way, up and down, to great effect. In the
header too, we catch snapshots of Braga’s jewellery as
random hidden PNGs are toggled visible before falling away
momentarily. Credited designers Cappen, also from Miami,
opt to end everything with an oversized PHP contact form
that fits the overall theme seamlessly. Links to Instagram
simply point to an account page laden with fashion shots,
while the site’s responsive design ensures it looks just as
striking on all screens.

june 2020 35
SHOWCASE

PROFILE

EDAN KWAN
lusion.co

He swapped life as a singer for a


career making eye-popping digital
visuals. The Lusion founder chats
to Tom May about battling demons,
winning awards and where digital
advertising is heading

It’s become somewhat of a cliche


to complain that ‘all websites look
the same these days’ and ‘all the
creativity has gone out of web design’.
Visit the website of Lusion (lusion.co) to
see how this certainly isn’t the case.
Founded in 2017, the Bristol-based,
development-focused studio is on a
mission to build “epic real-time
interactive experiences to blow people’s
minds”. And a quick scroll through the
‘Work’ section of the site makes clear
that it’s very much succeeding, from an
immersive spatial audio experience for
Opera North to an cinematic exploration
in global storytelling for filmmaker
Julius Onah. We caught up with founder
Edan Kwan, to discover how he works to
bring such spectacular digital
experiences to life.

Could you briefly introduce yourself to


anyone who doesn’t know you?
I’m a self-taught creative coder originally
from Hong Kong. I’m best known for
producing particle effects for websites. I
have been in the industry for over ten
years working freelance, in big agencies
such as Firstborn and UNIT9, and now I
run a creative studio called Lusion.
In college and during my early 20s, I
was a recording artist in a band. I gave up
trying to pursue a career in the music
industry after realising it wasn’t for me.
So I worked on my English by watching
American TV and taught myself how to
code. I kept perfecting my skills,

36 june 2020
INFO
Location: Bristol, UK
Designing since: 2010
Areas of expertise: Real-time
graphics, animation and real-
time look dev
Clients: Opera North, Logitech,
MaxMara
Awards: Lovie Awards,
Awwwards, FWA

june 2020 37
SHOWCASE

surviving on bread, and managed to make


a pretty cool Flash portfolio, which
attracted some agencies and landed my
first full-time agency job at Firstborn in
New York.
These days I split my time between the
business side of my studio and the
production work. I’m still passionate
about crafting artwork and mentoring our
junior employees.

What were the biggest lessons you


learned at UNIT9 and Firstborn?
Working for these agencies was essential
for my professional development. Having
briefly worked as a freelancer previously,
it was quite the culture shock to work in a
big team on projects for major clients. So,
one of the biggest lessons I learned was CineShader (https://cineshader.com/editor) - a cinematic real-time shader visualiser Lusion built out of
working with others in a high-pressure passion for the shader community
environment and remaining professional
even when everyone’s having a bad day.
The most important thing I learned
working at an agency was that the work a visual or feature as part of the project. freedom to visualise the story of the
we produced is all about the client we However, our studio also has some of our opera the way we wanted. We brought
serve, rather than our personal artistic own clients that reach out to us directly together spatial recordings made on
ego. I guess it has helped to shape the to do something specific, such as data viz location at Yorkshire Sculpture Park by
way I run Lusion in a way that always puts or creating visuals for their websites. composer and sound artist James Bulley
our client’s needs first. with our own generative graphics visuals.
Can you give a few examples of how this More freedom on creative can go either
What led you to set up Lusion in 2017, works in practice? way: you might totally lose track of what
and what were the biggest challenges? The last three projects we crafted at the client wants or build something
I actually co-founded another studio Lusion offer a good example of how we amazing. Luckily our client loved it.
before setting up Lusion. But I decided to solve problems under different scopes. Finally, CineShader (cineshader.com) is a
take a different direction and set up MaxMara Bearing Gifts (bit.ly/ cinematic real-time shader visualiser we
Lusion to enable me to execute my vision. maxmara1) is a gift-ordering website that built out of passion for the shader
The biggest challenge was having to learn was a collaboration with the creative community. We designed and developed
the business side of studio life. I’m an agency LOW. We took care of the creative the whole experience, so had total
artist at heart, so initially I had to work development, while LOW handled the flexibility in what we delivered to our
on my charisma and marketing skills creative and design. audience. Completely free of creative
more than my technical skill set. Before I When we work on a project we have no constraints, we were able to optimise the
got into the business side of the industry, control over, we’ll suggest some elements 3D assets to build something lightweight
I always thought that wordy marketing that we believe will improve the and beautiful for our community to use.
was a lot of BS. But I have grown to experience. For this project, we proposed
appreciate the power it has and how a ribbon and particle dancing visual to What are your go-to software and
essential it is in the advertising industry. LOW, and they agreed to add it into the hardware tools?
production. Things like this don’t affect For software, it’s Houdini FX, Unity and
What does the company do? the overall experience, but are more of an VS Code. We use Houdini FX for
We’re a small team of developers and add-on to the experience. composing 3D assets and it’s the best tool
producers focusing on high-quality The Turn Of The Screw (bit.ly/turn- we have found in the market that can
production work. The majority of our screw) is an award-winning immersive help us to produce some visual effects
work involves combining R&D with trailer for Opera North’s 2020 production other software can’t. Unity is the go-to
commercial work to produce unique of Benjamin Britten’s opera. The client tool we use for most of our installation
artwork for our clients. We mostly work wanted to demonstrate the spatial audio work. Its high-quality rendering engine
with other advertising agencies to create feature of the experience, but gave us the blurs the line between real-time

38 june 2020
SPOTLIGHT

EDAN KWAN
What’s on your desktop
today?
Medicine and client’s contract.
The Turn Of The Screw (bit.ly/turn-screw) is an award-winning immersive trailer for Opera North’s 2020
production of Benjamin Britten’s opera Three little things that make
your life worthwhile.
My toddler’s manic laugh, the internet,
and Wotsits.

rendering and offline rendering. VS Code How much is your work about pushing What do you have on the
is the go-to tool for almost all of our web creative boundaries and how much is it walls?
At the office: a TV and some
developers. It is powerful but lightweight about just ‘getting the job done’?
abstract art.
at the same time, which enables In our line of work, I’d say 30 per cent of At home: some drawings that my kid
developers to easily code both small and the time is spent on getting the job done did at nursery.
big projects. and 70 per cent on the countless
My hardware setup consists of an IBM tweaking to get it to the next level, where What will you do for lunch?
Model M keyboard, Logitech G-series it’s closer to being the perfect piece. In Probably one of the food stalls at St
Nick’s Market in central Bristol.
mouse and three QHD monitors. This is the past, I’ve been guilty of being a
mostly just my personal preference. I love perfectionist and even now, I always go What hours do you work?
my retro-looking clicky keyboard, which the extra mile because pushing creative I usually do 9-6. It used to be way
my colleagues hate, so I can’t really speak boundaries drives me. There are a lot of longer, but I need to balance work and
for them. award-winning projects I’ve made still home life now I’m a dad.
believing they could be better after
What’s been your proudest moment at launch. However, at some point I’ve
What else do you do in the
office?
Lusion so far, and why? learnt that I need to accept ‘enough is
If I’m not working, I’m drinking coffee or
I’m immensely proud of Lusion’s studio enough’. I need to sleep. Especially as I playing Nintendo Switch with
website. A lot of hard work, time and have kids now. my colleagues.
dedication went into building the
website. I battled with my own demons as What do you love most about your work, How often do you hang out
a perfectionist and kept seeking ways to and what are the least fun parts? with other designers?
I should meet up with fellow designers
go above and beyond before biting the I love that every project is different
more often, but there isn’t a huge scene
bullet and launching it. creatively and seeing it come together at here and with small kids, it’s tough.
The website has won many awards, the end is just awesome. Sometimes it’s
including the Lovie Awards, W3, Davey not just about making something look Describe your working culture
Awards, Site of the Month and Site of the beautiful, it’s also about helping our in three words
Day for Awwwards, and Site of the Day on clients to realise their vision and solve Challenging, fun and motivational.

FWA. Someone also started a thread on their problems. I guess the least fun parts
Reddit about it, which was quite surreal. would be paperwork. As a creative, it can
I’ve been touched by the love for it. It really disrupt the flow if there’s
made all the blood, sweat and tears something urgent to do in the middle of
totally worth it. my process.

june 2020 39
SHOWCASE

TIMELINE

Key dates for


Edan Kwan
JULY 1986
Born in Hong Kong.

AUGUST 2006
Signed as a contract singer in
Hong Kong.

MAY 2009
First freelance gig building Flash
experience for Logitech.

MAY 2010 Lost Your Way In Nature - a graphic demo Lusion crafted to demonstrate our ability of building high fidelity
First contract job remotely working for realtime graphics for the web
an UK agency.

OCTOBER 2011
First time moving abroad working full-
time in New York. What made you move to Bristol and colleagues, so I hope the working culture
what’s the web design scene like there? at Lusion can also provide learning and
JUNE 2013
I moved for my wife, who was training to professional development opportunities.
Moving to the UK to work freelance. be a teacher at the time. There’s not a big I believe the digital advertising industry
JUNE 2016 web design scene like in London or is shifting toward the physical side from
Get married. Manchester, but there are some really the web. So I want us to continue making
cool agencies here like GC. I’ve noticed an really creative experiences, with an aim
JUNE 2017
increase in tech startups building to branch out to more physical
My son is born.
immersive devices such as Ultraleap. installations and VR-based work. Also, AI
AUGUST 2017 Hopefully the Bristol scene will continue is something that will inevitably change
Open up creative studio in to grow, as it’s known in the UK as a the industry. A lot of production work will
Bristol, Lusion. creative city; Banksy, anyone? become automatic and we have to adapt
MAY 2019 and look at ways to incorporate it into our
Release new studio website. Do you ever regret not continuing your business, rather than see it as a threat.
career as a recording artist?
It was a great experience, but I don’t What are your ambitions for the future?
think I miss being dressed as a cloud on I want to balance my family life and my
national TV, which I did! I fit in more as a work. With a second kid on the way, I
coder than I ever did trying to schmooze can’t work as many weekends as I
with ‘celebrities’, although I did meet currently do. I also need to be more
some big names in the Asian music disciplined with the gym and make sure I
industry. Even now when I watch Hong actually attend rather than just paying for
Kong dramas with my wife, I point out the monthly subscription.
people I met at parties. It’s cool I can still
impress my wife after ten years of her What thing do most people not know
putting up with me. about you?
People are surprised to learn I was a
How do you think your job and company singer. We had a billboard up in one of
will change in the next ten years? the central areas in Hong Kong and on my
Over the next few years, I hope to bring travels, I discovered one of our songs on a
on some new team members. I’ve enjoyed karaoke machine. Don’t know if anyone
sharing my expertise with the junior bought the album, though…

40 june 2020
*

SAVE SAVE SAVE


94% 92% 88%

SAVE SAVE SAVE


93% 92% 92%

For great savings on our best-selling magazines, visit online


myfavouritemagazines.co.uk/spring
Order Hotline 0344 848 2852
SHOWCASE How we built

HOW WE BUILT

KNIVES OUT
Murder mystery film, Knives Out, grabbed everyone’s attention, and so did
the fun website that promoted it. Oblio tells Tom May how it created its
innovative 3D navigation

2
4

BRIEF CLOSE UP
Knives Out is a fresh take on a familiar story. Although you can’t see it in print, this is no main navigation for the website. Clicking
It is a timeless whodunnit focused on the ordinary flat and static homepage. View it on here opens a panel with the various site
complicated relationships within family, along your phone, tablet or computer screen, and destinations: Gallery, Posters, Commentary,
with the backstabbing that invariably happens you discover a dynamic, moving, 3D diorama, Accolades, Shop, etc. (4) A rotating carousel
whenever money is at stake. The goal of the
mixing up various elements of the movie in links through to various features and
digital campaign for Lionsgate was to familiarise
audiences with the family dynamic, characters an evocative and atmospheric manner. (1) A sections within, and outside, the site. (5) A
and interconnectedness of all involved in 3D knife serves the function of a Thrombey call to action prompts users to scroll down
this twisted and tangled web weaved by the family tree. (2) Ornamental pieces on the page, to reveal more of the scene and
incomparable Rian Johnson. the homepage are populated with family other characters. (6) The full 3D scene with
portraits; clicking on them links through to a LUT applied for accurate colouring and
more information on each character. (3) The blurring, to show the depth of it all.

42 june 2020
How we built

CODY S CO T T
S TAUDENMIER AGRIMS ON

TIMELINE
Key dates in the
Knives Out project

JUNE 2019
Staudenmier is an art director Agrimson is a snr developer
at Oblio, and responsible for at Oblio, and responsible Oblio receives the brief and begins
the overall look and feel of for executing the site and ideating initial concepts for the Knives
the site experience. bringing the static to life. Out main site.
w: oblio.io w: oblio.io JUNE 2019
Initial script read and kick-off meetings.

JUNE 2019
One of the big commercial and was looking for creative and innovative
critical hits of 2019, Knives Out ways to display the traditional movie Oblio sends through initial ideas and
rough comps of site concept.
takes the classic Agatha Christie-style site content but with a heavy focus on
whodunnit and gives it a modern twist. introducing people to the film’s all-star JULY 2019
Directed by Rian Johnson and boasting cast. From there, it was really an organic Client signs off on the concept of a 3D
an all-star cast led by Daniel Craig, it’s and collaborative process between us digital family tree.
one of the most original and inventive and the client. We found ourselves in JULY 2019
movies of modern times, and so conversations with Lionsgate where each Cody Staudenmier, the art director on
demanded a website that could pull off a of us kept saying, “Wouldn’t it be cool if the project, designs each page of the
similar trick (https://knivesout.movie). site with motion demos to show the
Based in Portland, Oregon, Oblio is client and to hand off to the developer.

a digital studio specialising in the use AUGUST 2019


of digital technologies as design tools. The initial development of the site
Its award-winning team of inventors, begins. At the same time so does the
artists, designers and developers creation of the 3D knife asset that will
be featured on the site.
has worked on countless projects,
including over 50 major motion picture AUGUST 2019
campaigns, so was the perfect fit for The design of the site gets final sign off
Lionsgate. Here, Oblio’s art director from the client and filmmakers as
content creation gets started.
Cody Staudenmier and senior developer
Scott Agrimson explain how they AUGUST 2019
brought their client’s vision to life. Site goes into client and internal QA
while final features get polished.
How did you get the job originally? SEPTEMBER 2019
CS: This is actually a pretty cool origin Site gets launched.
story. When the film was first announced,
our creative director, Jonathan Hooker,
reached out to Lionsgate (who we’ve
worked with for years and is always such
a great partner) and essentially said, “We
love Rian Johnson and would love the
chance to work on this film”. From there,
Lionsgate trusted us to execute the site,
all the way from the early teaser version
to what ended up being the site that
launched in September of 2019.

Above To give the AR feature a purpose, Oblio


What was the brief from Lionsgate like?
attached clues around the knife for a competition
CS: As with a lot of projects, the brief
started out pretty vague. The client

june 2020 43
SHOWCASE How we built

EVOLUTION
(1) This was an extremely rough early comp 3
proposing a cloud of knives where each knife
was clickable. This design was loosely based on a
set piece in the film. (2) A subsequent screen
from that early pass, which illustrates what an
inner page could look like for each character. (3)
The Blender scene where we created the
interactive elements used on the site. (4) A final
version of one of the character posters for the
film, which the client requested we use for look
and feel inspiration. (5) Final design of the
mobile homepage.

44 june 2020
How we built

Above Synopsis page on mobile gives users the


background to the film

it did this?!”. In the end, the idea of a 3D


interpretation of a ‘family tree’ is what we
settled on.

The site harnesses WebGL to explore


the characters in 3D. How much of a
new departure was this for you? Above A character page that uses a LUT to match the colour theme of the site page to the character poster
SA: As a company, we’re always trying to
come up with new and interesting ways
to bring content to users. Because of that,
we have a pretty intimate familiarity a lot of ways, it’s the intersection of where Otherwise, we were mostly left to our own
with WebGL, 3D and how to treat websites Oblio has been and where we hope to go. devices to build out the experience and
like an environment in a real space. A match the overall look and feel of the rest
previous example of this was the website What kind of movie assets were you of the campaign.
we built for another Lionsgate film, Now allowed to use?
You See Me 2, which explored a series of CS: The assets were fairly limited. What technologies did you use to build
scenes in 3D space and used depth to Lionsgate had a mock of a ‘family tree’ the site and what were the biggest
bring a pretty unique experience to users. inspired by one of the knives used in technical challenges?
So when it came to Knives Out, it was built the film. We used that as reference for SA: For the 3D model of the knife, syringe
on a foundation of knowledge gained over building out the main 3D knife and also and magnifying glass we used Maya and
the years and many previous projects, but the initial trailer, which we used to pull Substance Painter to create the assets.
each with a unique take on the visuals. In character content for the detail pages. Then, to dial in the look and feel, we used

june 2020 45
SHOWCASE How we built

Above A gallery image that represents some of the look and feel Oblio tried to get across with the site design/concept

Blender because it enabled us to quickly solve clues for a chance to win cash and the type was to keep the feel of classic
iterate different lighting and colour prizes. We were able to brainstorm with and contemporary mystery novels.
scenarios. Once the scene was complete, the client the answer to one of the clues,
the real hurdle was replicating that look a single word, that we would scramble How have you continued to develop the
in the browser. While the model and the and hide each letter on the back of the site since launch?
textures all import into three.js, the main medallions that hang off the knife. CS: These campaigns are always evolving
challenge was to recreate and tweak the The user was prompted to ‘VIEW IN AR’ , from wide theatrical release, awards
shaders and lighting to get the look right where they could see the knife, look season, and then home entertainment.
and match what we had done in Blender. around it, and uncover the letters to be So we’re continuing to update and add
unscrambled. It felt perfect that the clue content to the site, but overall the creative
There was also an AR component for was simple to find, but could only be look and feel isn’t changing much.
mobile. How did that come about? unlocked if you used the AR view.
SA: During our development phase, the What did you learn from this project
studio shared a link to an article about How did you approach the audio? that you’ll use on future site builds?
using a mobile device’s native AR viewer CS: Audio is a key element to an SA: As a team, we had quite a bit of
to complement a site experience that immersive site experience. We’ve familiarity with the 3D pipeline of
uses 3D objects. It was followed by the developed a great relationship with Matt creating those elements in Blender and
question; “Can we look into this?”. After at Sleepy Volcano. He does fantastic work then getting them into the browser, but
getting the site live, we circled back so we bring him in on projects whenever personally I hadn’t done a ton of that.
around to this with the goal of finding we can. We give some general direction This project was great for being able to
a technical and creative solution rather and then he scores the whole experience. not only do a deep dive into the software,
than using AR for AR’s sake. Blender in particular, but also to become
Around this time, Lionsgate also started And typography? comfortable with the real-time graphics
running a sweepstake where fans could CS: When designing, the main goal for and rendering pipeline as a whole.

46 june 2020
GET IMAGINEFX FROM
£2.10 PER ISSUE!

SAVE UP TO

70 %

www.myfavouritemagazines.co.uk/digital
Available on
iOS or Android
june 2020 47
SEO
FEATURES Google SEO secrets

48
secre
june 2020
EO
Google SEO secrets

With ever-changing
Google algorithm
updates and new
Google features, Carl

S
Hendy reveals how to
get started in SEO and earch Engine

drive more traffic to


Optimisation (SEO)

ets
refers to the process of
improving the signals a

your websites website sends to Google


in order to improve its
visibility within the
search results – therefore
sending more traffic to a
website. The more traffic
a website has, the greater
the chance for more
website conversions, an
increase in sales or an increase in website revenue.
The ‘SEO’ search results, also known as ‘organic
search results’, are shown below the Pay Per Click
AUTHOR (PPC) results that appear at the top of nearly every
CARL HENDY search query.
Hendy is an SEO Google search results are no longer ‘10 blue
consultant, solving links’, and the search result design and function
complex SEO issues and can change depending on the type of query that is
increasing organic traffic
searched, previous search history and the user’s
for FTSE and Nasdaq
listed companies. He
geolocation. Google has moved more towards
also owns https:// being an ‘answer engine’; providing the user with
voicesearch.com the answer (whether wrongly or rightly, that’s a
w: https://carlhendy.com discussion for another day) without the need to
t: @carlhendy click through to the website that provided the
answer originally.

june 2020 49
FEATURES Google SEO secrets

There are many ways to improve your of thousands of pounds every day due to
visibility within the Google search a decline in Google search traffic. You
results, and this is broadly broken down could no longer find their website when
into two core areas: searching for ‘brand’. The issue? They
had misconfigured their robots.txt file to
On-page SEO disallow all search engine crawlers from
Content - Google will be looking at the accessing the website.
quality of your written content. Is your In this situation, it was an easy fix for
content well written? Is it informative? the web developer. Once the changes
Is the content credible, with authors were made we were able to request for
clearly identified? Is the content Google to recrawl the website within
unique? Does the content answer the Google Search Console (https://search.
intent of the search query? google.com/search-console/about) and
Code – Can Google crawl your website within a few minutes the website was
efficiently? Does the page load quickly? reappearing again. I never did send them
Does your website use JavaScript Google my invoice.
can’t render correctly? Some of the most common SEO issues
User Experience (UX) - Does your I see are related to website migration
website work across all types failures. These can occur when:
of mobile devices? Is the Above A typical result page from Google
content hidden from the
users? Is it easy to navigate

There are many ways to


around your website? Does your
website have intrusive website
advertising or use aggressive
pop-ups?
improve visibility within the
Off-page SEO
Backlinks - Backlinks from other
Google search results, broadly
websites to your website are one of
the most trusted signals Google (and broken down into two core areas
other search engines) use to determine
the popularity and trust of a website.
Generally, the higher quality and
quantity of links you have from other A website changes domain name from perspective; be it internal resource, lack
websites to your website, the greater redwidget.com to bluewidget.com. of expertise, stakeholder pressure or just
the visibility you will have within the A website re-platforms, for example poor planning.
search results. from Shopify to Magento (or vice versa).
Brand demand - Are people searching A complete redesign of website Other ways that websites can suffer
for your brand directly within the architecture whereby content is moved from SEO issues could be:
search results? Do you have brand from one location to another. Poor quality written content.
demand outside of SEO traffic? Leaving staging/testing developer Incorrect use of meta tags eg noindex/
Entity-relationships - How does environments open to Google, which nofollow. I often see the rel=canonical
Google understand your website or causes issues around the duplicate tag incorrectly used.
brand in relation to other entities, eg a content indexation. A misconfigured robots.txt can have
place, person or thing? Does your brand Incorrect configuration of instant negative ramifications if not
have a Wikipedia page? internationalisation setup, eg where resolved promptly.
you could end up with Google UK search Poor user experience.
When SEO goes wrong results appearing in Google Canada Intrusive advertising banners.
Within three days of my first London search results. Non-mobile-friendly website – Google
agency SEO role, I took a phone call When a company buys another has a great tool for checking if this is
from one of the biggest fashion brands company and sites merge into one. the case: (https://search.google.com/test/
in the world. On the end of the phone mobile-friendly).
was a very concerned web developer There are always many reasons a Over manipulation of signals – for
who had claimed they were losing tens migration might fail from an SEO example, trying to force too many

50 june 2020
Google SEO secrets

Play by
the rules
Google’s algorithm has always been
changing and mostly improving (it does
get it wrong sometimes) as it scours the
web to find the best search results for a
user’s query.
In the early days, many SEOs were
asking: ‘How can I trick Google into
thinking my website is better than it
really is?’. Nowadays, it’s more: ‘How
can I work with marketing/product/
content/developer teams to make the
best experience possible for the user
while also matching the user’s intent?’.
If you successfully achieve that, you are
rewarded with an increase in visibility
within the search results. Google
does have its flaws, and there are still
techniques to fool Google, however these
Above An example of reduced visibility during website migration (https://netm.ag/2WLHUH2) are often short-lived. Google provides
answers for 3.5 billion searches a day, so
there are bound to be loopholes to exploit.
keywords or topics into one page or keywords individually as possible to grab If you want to build a legitimate
artificially inflating your backlink all that Google traffic. Today, content brand and have consistent growth
profile in an attempt to make yourself should mostly be written with the end of active users visiting your website,
then longer-term it is best to work
look more authoritative. user in mind and only created if it’s
within Google’s Webmaster Guidelines
relevant to the audience of your website. (https://support.google.com/webmasters/
All of the preceding issues are There needs to be a purpose to the answer/35769?hl=en). Whether you
avoidable and fixable if they were to page. The purpose of a page is the reason agree or not with how Google approaches
occur. However, failed migrations, in (or reasons) why the page was created. search or policing the internet, if you
want traffic from its search queries then
particular, can take months and months Every page on the internet is created for a
it’s best to play by its rules.
to recover from (and that is once you have purpose, or for multiple purposes.
those fixes implemented). Pages should be created to help users.
Unfortunately within most companies, Websites and pages that are created with
SEO is never considered a priority until the intent to harm users, deceive users,
it’s too late and the issues have occurred. or make money with no attempt to help
All those small recommendations on users, would receive the lowest quality
the developer’s to-do list that are never rating by Google.
correctly prioritised compound and come As long as the page is created to help
back to bite when your Google traffic users, Google will not consider any
starts to disappear. particular page purpose or type to be of
In most situations, Google will likely higher quality than another. For example,
punish a website with a death by a encyclopedia pages are not necessarily of
thousand cuts approach rather than higher quality than humour pages.
an obvious, significant drop in traffic All of the content on a web page can be
overnight. There are scenarios where classified as one of the following:
you could receive a manual action
penalty from Google if you are trying to Main Content (MC)
manipulate the signals too hard. Supplementary Content (SC)
Advertisements/Monetisation (Ads)
SEO for web content
teams MC covers any part of the page that
Historically, web content was about directly helps the page achieve its
placing keywords on a page and creating purpose. SC is the part of the page that
as many landing pages to target those isn’t MC or Ads.

june 2020 51
FEATURES Google SEO secrets

Above Screaming Frog extracts page-level information for identifying SEO issues

It can be text, images, videos, page SEO for web developers Do not leave staging environments
features (eg calculators or games). The While poor-quality content can cause open for Google to crawl and
quality of the MC plays a very large role in issues for users, lower performance index. Always ensure that staging
the page quality rating of a web page. rankings and reduced conversions, poor- environments have robots.txt
Ask yourself these questions before quality web development can have far directives to block all crawlers. An
creating any new content. greater negative consequences for SEO. additional level of protection would be
Implementing the wrong server to ensure all staging environments are
What is the purpose of this web page? response to Google, blocking a website password protected.
Is it clear what content is the main with a misconfigured robots.txt file, and
content on important pages? incorrect meta tag usage within the body At a recent Google Webmaster Conference
Does this page fulfil the requirements of the HTML can remove a website from I attended at Mountain View Google
of ‘intent’ for someone who is visiting Google within hours. There are tools and Headquarters, multiple Google engineers
this page? services out there that can help prevent highlighted that fast-loading websites
Do we need to create this content or these issues from occurring. will improve the experience for users and
does similar content exist elsewhere? Below are some examples of how web therefore improve your search visibility.
Do we need to create new content or do developers can avoid SEO issues: There are many ways you can improve
we just need to improve the content we page speed:
already have? After website migrations or developer
Does the current content answer releases, always check the robots. Reducing file size and code bloat.
questions commonly asked? txt file (eg https://www.website.com/ Compressing large images using a
Does the current content work well robots.txt) to ensure there are no service like Kraken (https://kraken.io).
with mobile / tablet devices? directives within robots.txt file that Avoiding excessive DOM size.
Does this content currently sit within could prevent Google from crawling. Controlling cache expiries.
a PDF? Additionally, check meta header Removing all old third-party code and
Is the content URL clean? Is it in tags to ensure there are no <meta tracking scripts that are not in use.
the same case? Does it contain any name=”robots” content=”noindex”> Google has a great web browser
unnecessary hyphens? within the HTML. It is very common to extension called Lighthouse (https://
Does the page have ‘boilerplate’ text? see these creep in post-migration. netm.ag/39tGEuW), which provides lots

52 june 2020
Google SEO secrets

of insights into page speed metrics and rendering, Googlebot now uses the
basic on-page SEO metrics. latest version of Chrome How do you
discover which
Web developers need to question
whether their website is mobile- Google will crawl a page, fetch the
friendly, as Google crawls from a
mobile first crawler now. This can be
server-side rendered content and then
run initial indexing on that document. keywords and
checked using a Google tool (https://
www.thinkwithgoogle.com/intl/en-gb/
Rendering the JavaScript-powered
web pages takes processing power and
topics to target?
feature/testmysite). This tool will give memory, however, and while Googlebot Speak to customer service teams to find
early indications, however it is worth is certainly very powerful, it doesn’t have out the most common FAQs. Answer
user testing across multiple screen infinite resources. those FAQs within the web content.
sizes, all website pages and multiple So if the page has JavaScript in it, the Use internal search query data from
devices to ensure pages render rendering is actually deferred until they Google Analytics to review what users
correctly and function across all have the resources ready to render the are searching for once they arrive on
your website.
devices. Web crawling software such client-side content. Google then indexes
as Screaming Frog (www.screamingfrog. the content for a second time, several Use Pay Per Click (PPC) data to find
out what keywords have high search
co.uk/seo-spider) or Sitebulb (https:// days or weeks later.
volume, high click-through rate (CTR) and
sitebulb.com) will enable you to check When using any JS framework it is conversion rate.
thousands of URLs very quickly for important to note that any content
Use Google Trends (www.google.com/
mobile-friendliness. generated with these may carry less
trends), which is free to use, and look at
the ‘breakout terms’ towards the bottom
of the page to see what people are
currently searching for.

JavaScript websites can be Use Google’s keyword data search tool


(https://adwords.google.co.uk/select/

great for users, but webmasters KeywordToolExternal). Although this


data is not 100 per cent accurate, this is
currently the most accurate search data

should tread carefully from an freely available.

SEO perspective
Here is one way to test if Google is
processing JS correctly:

JavaScript and SEO weighting for SEO. For this reason, Use the Inspection URL in Google
SEO for JavaScript-heavy websites has JavaScript-generated components/ Search Console to test the target page and
always been an issue for SEO, however sections should not contain important ask the following:
Google has improved its ability to crawl text, content or links.
and index JavaScript websites recently. If you were to have a search component 1 Is the main content being loaded?
JavaScript websites can be great for users, on the page that was loaded as a JS 2 Is the navigation visible?
but webmasters should tread carefully component, this would be absolutely fine 3 Is the design and layout of the
from an SEO perspective. as long as the important parts of the page page visible?
(content, links and so on) are available in 4 Is the page loading without any issues
Google itself has two crawling queues ‘normal’ HTML. or errors?
1 The first and main one is a headless If a JS component contains important
crawler using the engine that has information, text or links, and a pure If you answered ‘no’ to any of the
JavaScript disabled. If the results from HTML solution is not the preferred questions, then click on the More Info
a crawl (from this crawler) come back option, we would recommend pre- tab and review the error log. It will then
with little to no page content (and JS is rendering a HTML server-side solution show you a list of JavaScript errors that
detected on the page), it will add the so that it is served to the end-user (or occurred while rendering the page or
URL to the secondary crawler queue. Googlebot) as HTML. blocked resources.
2 The secondary crawler queue is the Another option would be for ‘dynamic
same as the first, but it has JavaScript rendering’ , which means switching Local SEO
enabled in order for JavaScript to be between client-side rendered and pre- If you are a business offering services
executed and therefore rendered. For rendered content for specific user agents. locally, one of the easiest and quickest

june 2020 53
FEATURES Google SEO secrets

ways to increase your visibility within understand the relationships between Screaming Frog
Google is to sign up to Google My your company’s different online assets. www.screamingfrog.co.uk/seo-spider
Business (www.google.com/intl/en_uk/ I’ve always described Screaming
business). This is a free service (at least SEO tools and services Frog as the best SEO tool money can
for now) that enables you to appear There are thousands of tools and services buy, however there’s also a free lite
within the Google Maps search results online that claim to be able to ‘automate’ version for smaller websites. Screaming
and often above the fold within search the process of SEO. Do not be tempted Frog will extract page-level information
results based on a user’s query and a to purchase any of these, they’re often for diagnosing SEO issues. Screaming
user’s location. a waste of money and also provide Frog also offers a server log file analyser
If you decide to go this route, it is misleading advice. (www.screamingfrog.co.uk/log-file-
important to fill out as many of the To help you avoid mistakes, what analyser) for those who want to dig a little
fields within the Google My Business follows is a list of recommended tools deeper into how Google is behaving on
application as you can, provide multiple that would work well if you are a beginner your website.
high-quality, unique images, and verify and looking for something cheap but
your Google submission. actionable, or if you’re working within Little Warden
Doing what you can to encourage enterprise SEO and need something https://littlewarden.com
customers to leave reviews within your more heavyweight. Some of these tools From the creators of the legendary
search listing can increase credibility and will have overlapping services and SEO conference Think Visibility, is a
visibility for your business. What’s more, outputs, and everyone will have different SAAS platform that runs automated
within the platform, potential requirements, so give them all a trial and checks on your website’s health to
and existing customers can ask work out what’s best for your objectives. prevent issues around website
change monitoring, SSL
certificates, domain name expirations

Encouraging customers to
and any other SEO horror. I’m still
amazed by the number of brands that
aren’t aware when their domain names

leave reviews within your search are about to expire. This service helps
prevent those issues. Very helpful if you

listing can increase credibility and look after many websites.

visibility for your business Big Metrics


www.bigmetrics.io
One of the new kids on the
block, but extremely powerful
questions, which enables you to engage Google Search Console when you show large data sets
with them and improve relationships. https://search.google.com/search-console/ visually to clients. This service takes your
Many data sets suggest there is a about Google Search Console data and makes it
correlation between high numbers of A free service from Google that far more usable and actionable.
customer reviews and higher visibility enables you to extract and diagnose
within the search results within Google’s SEO issues around indexing, mobile Google Analytics
map pack. compatibility and robots.txt. It’s https://analytics.google.com/analytics/web
At the end of each month, Google currently the only place where you can Not an SEO tool as such, but it does
will email some useful data on how get raw ‘keyword data’ that shows how enable you to measure the success
your listing has performed in terms of people found your website. of your SEO changes, how users are
visibility and clicks. engaging with your content, and how well
Another way to improve your visibility Sitebulb your content is converting into
within local searches is to ensure that https://sitebulb.com customers/revenue. Content teams can
your main website has a local telephone A website crawler that will gather extract a lot of actionable data from
number, address details (if relevant) each page of your website into an Google Analytics to help improve
and reference to the areas that your easy to read format with outputs that are on-page SEO performance.
business covers. Make sure you include very actionable. Prices start from £10 per
information such as business opening month, which is a bargain. It also has one AccuRanker
hours and the products and services of the funniest monthly emails that will www.accuranker.com
you offer, as well as links to your social arrive in your inbox. Traditionally another way to
profiles so that Google can start to measure the performance of SEO is

54 june 2020
Google SEO secrets

Further reading
A lot is written about SEO and you could
end up down a rabbit hole trying to learn
and understand all the different opinions.
The best SEO experts I have worked with
generally tend to be those who learnt SEO
by setting up their own websites from
scratch and then using the knowledge
they had read to test theories and
improve understanding.
If you are looking to get started in SEO,
there is an old guide by Google that is
worth investigating. Okay, so it’s a little
basic and outdated, but is nevertheless
a good (and free) read (https://netm.
ag/2UI3tWb).
A nice follow on from that would be the
Moz Beginner’s Guide to SEO (https://moz.
com/beginners-guide-to-seo). Use this to
understand the core principles.

to look at how your website ranks for a


particular keyword query. AccuRanker
enables you to highlight features within
Google search results and check keyword
rankings across multiple geolocations
and mobile/desktop rankings. There is
currently discussion within the SEO
industry as to how important measuring
keyword rankings are due to Google
always changing the search layouts,
however most brands/stakeholders will
find some form of keyword ranking
performance reporting helpful.

SearchPilot
www.searchpilot.com
If you are working within enterprise
Top
SEO, you will find that you are often Little Warden is a SAAS
asked ‘What is the ROI of this suggested platform that runs
automated checks on
change?’ or ‘How do I measure the impact your site
of this change?’. The platform SearchPilot
Middle
will help you answer both of those Big Metrics - Google
questions. This platform enables you to Search Console made
more actionable
A/B test SEO changes.
Left
The Sitebulb website
If you have any SEO questions, or need crawler offers users
pointing in the right direction for further actionable outputs

SEO reading on a particular topic, please


feel free to reach out to me. My Twitter
account (https://twitter.com/carlhendy) is
usually the best method.

june 2020 55
FEATURES WordPress: 20 best plugins

56 june 2020
WordPress: 20 best plugins

WordPress:
20 best plugins
Joe Ford presents his handpicked list of 20 WordPress
add-ons that will help solve client requests, speed up
workflow or just enable you to try something new

I
t could easily be argued that plugins were
what made WordPress big. Without them,
it’s just a blog platform that supports pages.
Yet the majority of the problems and bad
press cast towards the CMS are caused by the
AUTHOR plugin ecosystem. While the possibilities are
JOE FORD endless when almost anyone with an internet
Ford is the senior connection can find out how to write plugins,
developer at Tillison it does open the door for poorly written
Consulting in code and mistakes that can prove critical in terms
Waterlooville. He spends of security. To help steer through the ever-growing
his work days keeping
maze of what’s available, we’ve handpicked 20 of the
both websites and his
best plugins. Some are well known while some are
team running smoothly.
w: tillison.co.uk up-and-coming but all of them are recommended
t: @JoeFordTheNerd against three factors: minimal bloat, maximum
function and minimal footprint – meaning no
intrusive dashboard adverts or messages.
From caching solutions to labour-saving shortcuts
for developers, this list contains plugins to look out
for in a modern WordPress setup.

june 2020 57
FEATURES WordPress: 20 best plugins

Elementor WooCommerce
https://elementor.com https://woocommerce.com/
Elementor is a visual drag-and- woocommerce-4-0-sale
drop editor for WordPress that The number one WordPress
simplifies the process of shopping plugin looks like it’s
building pages without having to dive here to stay as it launches its
into code and theme files. The concept of latest version 4 update, which includes a
a visual builder is nothing new for revamped admin menu featuring better
WordPress but Elementor manages to reporting and tools. WooCommerce
deliver the most powerful toolset yet. enables WordPress to be converted into a
What’s more, it also seems to keep div complete eCommerce store. With features
soup to a minimum and scores well in such as variable products, import tools
page speed tests. Upgrading to the pro and free and paid plugins to manage
version gives access to the theme builder Google shopping feeds, WooCommerce
features that enable creation of reusable stands up well against other options.
blocks for headers and footers. Combined Shipping zones can be set up with ease
with the Hello theme made by the same and localised down to postcodes.
developer, Elementor can completely However, be warned that the plugin does
replace most features of a theme. The have a few quirks, for example changing
plugin also has a mobile view and enables the wording on the front end can
separate control of most options to make sometimes mean having to dive into
things easier for mobile screen sizes. functions.php.

The concept of a visual builder


is nothing new for WordPress
but Elementor delivers the
most powerful toolset yet
Breeze WP All Import
https://wordpress.org/plugins/breeze www.wpallimport.com
Originally designed to work WP All Import is the perfect
with Cloudways hosting, the plugin to handle large data
Breeze plugin contains a imports from CSV and XML
lightweight and simplified interface for files. Uploading a CSV or XML file leads to
caching and minification and CDN an interface where columns can be
support that will work on most websites, mapped against Post Title, Content, Date
regardless of hosting platform. In both Published and all other post data. Once
hosting scenarios, the plugin resulted in data is mapped, it can be previewed and
large gains in Google’s PageSpeed score tested before running the import. Use
after activation. The ability to defer and cases include scraping data when
async JavaScript files is also built into converting old websites to a CMS or
Breeze, which saves having to use a importing a massive amount of products
separate plugin. These extra features are and custom data into WordPress. A handy
surprisingly well developed and even feature of this plugin is the option to
feature an interface to add CDN support. download any media files that are
Best of all, Breeze is free and at the time encountered, download a copy and then Top Above
Elementor enables you WooCommerce is aimed
of writing doesn’t even have a paid add them to the WordPress media library. to build websites without at turning WordPress sites
version. All features are available right Although the plugin is premium, it having to tangle with code into eCommerce stores
out the box with no restrictions. quickly pays for itself in the time it saves.

58 june 2020
WordPress: 20 best plugins

PhastPress
https://wordpress.org/plugins/
phastpress
PhastPress covers many of the
‘hard to get’ elements in
passing a PageSpeed audit with
advanced features such as inlining
critical CSS on the fly and loading all
scripts asynchronously. The range of
tools offered for free is vast and even
includes a free cloud-based image
optimising solution. While this plugin
can clash with the optimisation parts of
cache plugins such as Breeze, if the
overlapping features in Breeze are
disabled the two plugins work brilliantly
together. Although the plugin currently
has a small set of users, updates are
left
Elementor regular and reviews are high.
xxx
xxx
xxx Broken Link Checker
Below
https://en-gb.wordpress.org/plugins/
Woocommerce broken-link-checker
xxx
xxx
Given its name, it’s no surprise
xxx to learn that the purpose of this
plugin is to check for broken
links. Once installed, it detects broken
WP Headless links across a site and builds a list over
https://wordpress.org/plugins/ time. This is extremely helpful when
wp-headless testing larger sites, as inevitably mistakes
For larger content-heavy happen during the build. When viewing
platforms, a trending setup is to the front-end of the website as an admin,
run WordPress as a headless broken links are shown with a
CMS that is then accessed remotely by a strikethrough, making errors easy to
front-end app. The end product is a spot. The detected links can also be
content system where the content team viewed in one big list for easy correction.
can work in the familiar WordPress
interface, while the front-end app WP Mail SMTP
responsible for displaying the https://en-gb.wordpress.org/plugins/
information can be handled by the wp-mail-smtp
development team in the front-end Getting a website to send emails
framework of their choosing. WP when a contact form is
Headless simply negates the front-end of submitted or a notification
a WordPress website by redirecting non- created used to be easy. With the rise of
authenticated users to the login page. advanced spammers and malicious email
activity, though, it’s getting harder to
deliver emails. This plugin opens the
door to route all emails sent by WordPress
through an external service such as
SendGrid, Pepipost SMTP and more. In
most cases the setup process simply
consists of pasting an API key from the
external provider and clicking save, then
all email sent by the website is routed
through the external provider.

june 2020 59
FEATURES WordPress: 20 best plugins

Duplicator
https://en-gb.wordpress.org/plugins/ Advanced custom fields
enable a developer to add
duplicator
Duplicator has been around for

more than just the built-in


some time but continues to
improve and is one of the

fields to pages and posts


easiest ways to both back up or migrate a
WordPress website.
Starting with a simple interface to
take a package of the website, the plugin
enables a download to be taken including
a zip folder and installer.php file. These content WordPress can manage. Fields on-page SEO and just need the means to
two files can be uploaded to any PHP can even be set to show conditionally be able to make those changes. The
web server and accessed directly in the based on the post type, category and developer even goes as far as white
browser, doing so provides a step-by- other factors. The data entered in these labelling the plugin so that no intrusive
step wizard to recreate the website on the custom fields can be used in template brand names end up being plastered all
destination server. files or even in visual builders like over the WordPress dashboard.
Elementor to display dynamic content. Migration from other plugins is made
ACF: Advanced Custom easy with an inbuilt tool that brings
Fields The SEO Framework across metadata in bulk. The plugin also
www.advancedcustomfields.com https://en-gb.wordpress.org/plugins/ features a free extension manager.
WordPress can be so much more autodescription
than just title and content The SEO Framework makes a EWWW Image
fields. Advanced Custom Fields fantastic bloat-free SEO toolbox Optimizer
enables a developer to add more than just with everything that’s needed https://en-gb.wordpress.org/plugins/
the built-in fields to pages, posts and for WordPress optimisation. With a ewww-image-optimizer
custom post types. Input types include minimalist interface and no intrusive A highly flexible image
links, images and even files, creating adverts, the plugin is brilliant for users optimisation suite, EWWW
endless possibilities to the type of who know what they need to edit for Image Optimizer is packed with

60 june 2020
WordPress: 20 best plugins

JetEngine
Far left
Duplicator continues to be
one of the easiest ways for
users to back up or migrate
a WordPress website

Left
https://crocoblock.com/plugins/jetengine
Advanced Custom Fields is JetEngine is an addon to the Elementor plugin that brings a huge amount of
a plugin for anyone looking
to add more than the built-
flexibility and power in the form of dynamic content. This enables the creation of
in fields to pages and posts custom post grids that show data from advanced custom fields or even helps to
Below
restyle the default post list layout. For example, if a travel section of a website
EWWW Image Optimizer needed to feature five different holidays with custom data such as price and
is a quick and easy way to
reduce the size of images
location, it would be very difficult with the standard Elementor post grid. But
on a website with JetEngine, you would first create a listing item. This is the template for a
single repeatable item within the content grid. The listing item can be created
with the Elementor builder using the dynamic input options to draw data from
ACF or the built-in JetEngine meta boxes.
New dynamic content areas called ‘listing grids’ can be created using the
Elementor builder itself. The end result is a custom-styled post grid showing the
custom data.
JetEngine isn’t a free plugin but it does have a whole set of complementary
premium plugins that work well together as a bundle. All in all, the JetEngine
addon enables Elementor builds to drop down to a whole new layer of flexibility
and functionality.

tools to help reduce image sizes on a


website. It takes a different approach
from several other plugins by letting the
optimisation run on the web server rather
than offloading it to a chargeable cloud
service. A cloud service is also available
but isn’t the default.
The bulk optimiser feature is designed
to optimise all the files in the Media
Library in one long process and will go
through each and every image uploaded
to reduce the file size. The plugin also
has a tool to make a webp version
of all images as it goes through the
optimisation process.

Above The SEO Framework has a host of features to optimise your website for SEO

june 2020 61
FEATURES WordPress: 20 best plugins

WordPress Auto-
updates (Beta)
https://wordpress.org/plugins/
wp-autoupdates
A common complaint about
running a WordPress website is
that even in a 24-hour period,
plugins are likely to need updating. With
the current advice being to keep all WP Paint
plugins at their latest versions where https://wordpress.org/plugins/
possible, this can soon become an wp-paint
impossible task when maintaining more WP Paint is an image-editing
than one website. plugin that enables more
While only in beta, this plugin eases complex editing of images
the burden of running a WordPress directly in the Media Library. While not a
website by safely updating plugins Photoshop replacement, the plug-in is
where possible. It may even be included handy for minor edits that would
by default in the next major version of normally require downloading the picture
WordPress, although the authors have and opening a clunky image editor.
said it won’t be included ‘as is’ in the A premium version is available with
WordPress Core. extra tools such as watermarks and
revisions but the free version comes with
Flying Pages plenty of tools to make your life easier in
https://wordpress.org/plugins/flying- a pinch.
pages
Flying Pages is a tiny plugin that Really Simple SSL
detects when a user hovers over https://en-gb.wordpress.org/plugins/
a link and quickly preloads the really-simple-ssl
page in case the user clicks. If the user The best companion when
does click the link, then the transition switching a website from http to
between pages is instant as the https and a quick and painless
prefetched data snaps into view. With the way to fix mixed content issues, Really
amount of emphasis on PageSpeed and Simple SSL uses several methods to
how it can affect conversion rates, the change all http links on a site to https.
value of this is great. Great care is taken This includes page resources and images,
to avoid abuse or mistakes that would which helps solve problems with only
cause the preloading to slow down the some insecure assets on a page. With an FileBird
server. Preloads are put into a queue inbuilt failsafe, the plugin will warn a https://wordpress.org/plugins/filebird
server-side and processed in batches. user when attempting to activate SSL if It doesn’t take long for the
While it won’t make PageSpeed scores the certificate isn’t valid or isn’t in place, Media Library to become an
higher, it’s certainly worth testing to see which saves causing any accidental infinite mass of images by the
if it impacts conversions. problem for front-end users. end of a medium-size build. FileBird
enables the creation of folders in the
Media Library to better organise images.

Really Simple SSL uses several


This can be invaluable when the amount
of images build up and images aren’t

methods to change all http


properly named for the search tool.
The user interface is fantastic and neat

links on a site to https,


but the free version is limited to just
ten folders.

including page recsources


Overall the plugin goes a long way to
keeping the Media Library experience
up to date, at least until WordPress next
updates this area.

62 june 2020
WordPress: 20 best plugins

HappyAddons
for Elementor
https://happyaddons.com
A second extension for the Elementor page builder, HappyAddons
doesn’t stand out at first glance against other extra module packs.
But reading further into the features list, it’s apparent that the
plugin holds some groundbreaking features. Cross Domain copy
paste is a timesaving superweapon, enabling right-click copy and
paste between entirely different websites. This means content
blocks can be reused from site to site with just a few minor style
alterations. In theory a whole library of prebuilt modules could be
built on a central site and then used as a personal template library.
Another nice to have feature is the on demand asset loading, which
keeps unused CSS away by only loading the CSS or JavaScript
required for the content on screen. A bootstrap grid is another
welcome addition that overlays the same grid system used in Sketch
and Figma on the page being edited, leaving less guesswork involved
in checking if text is properly aligned. Packed full of other features
and lots of template content for faster projects, HappyAddons is
overall a solid set of tools that can help any Elementor builder.

Top
WP Paint is an image-
editing plugin that works
Relevanssi directly in the Media Library
https://www.relevanssi.com
Above left
The standard WordPress search Avoid a messy Media
Library by using FileBird to
function leaves a lot to be
create folders
desired, however Relevanssi
Above right
aims to help with that. Best described as
Really Simple SSL makes
a ‘build your own search engine’ , switching from http to
https a lot easier
Relevanssi gives full control over the way
results work and enables a developer to
choose what a user can search for, while
offering ease of use functions for an end
user such as ‘did you mean’ and typo
detection. The index also learns over
time, which means the more people
search, the better the system gets.
One warning is that the search index
can grow to a rather large file size of
400MB or more, so make sure the server
has plenty of disk space.

june 2020 63
PROJECTS three.js View source
files here!
All the files you need for this
tutorial can be found at
github.com/markjsb/dotnet/
tree/master/3D_interface

A B O U T T HE A U T H O R
MARK
SHUFFL EBO T T OM
w: www.webspaceinvader.
com
t: @webspaceinvader.com
job: Professor of
interaction design
areas of expertise:
HTML, CSS, JavaScript,
WebGL

THREEJS

BUILD A 3D INTERACTIVE
INTERFACE WITH THREE.JS shows how to use the three.js library to create a
WebGL animated interactive interface for your site

It’s possible to create 3D content for the web correcting textures and adding reflection maps.
entirely in CSS but this is always going to be Finally, some elements will be animated. Getting
constrained to flat planes. While there is nothing access to these individual parts of a model shows
inherently wrong with this, as designers we often how different parts can be further animated, should
want so much more. Using the three.js library you require to do that.
affords us the opportunity to have lighting, shading,
reflection maps and genuine 3D shapes to give a 1 GET STARTED
sense of depth to an otherwise flat screen. To push To start the project, open the ‘start’ folder in your
the design even further, there is also access to code IDE and open the main.js page. All the HTML
shaders to apply some filters to the image and give and CSS elements are completed and the libraries
the design a final polish. are linked, ready to be used in the HTML. There are
In this tutorial, a 3D interactive animation will some elements of code completed that mostly handle
play in the background while the foreground will touch, mouse presses and browser resizing, but let’s
contain the regular 2D interface as normal HTML start by adding some variables above that code.
elements purely for accessibility, as we could also
easily make parts of the 3D model clickable. There let scene, camera, renderer, sphere, material, bg,
will be a 3D model loaded in and there’ll still be fg, composer, rgbPass, rmnt, filmParams, filmPass,
some manipulation to do with the model, such as renderPass, copyPass;

64 june 2020
threejs

let mouseX = 0, mouseY = 0, displaceSc = 50, shaderTime =


0, windowHalfX = window.innerWidth / 2, windowHalfY =
window.innerHeight / 2;

These are required to hold many aspects of the


scene, including some models, materials and post-
processing effects. Post-processing takes a number
of lines of code to implement, but the pay off is
worth it because the shader effects always have a big
impact on the scene.

let init = () => {


scene = new THREE.Scene();
scene.background = new THREE.Color(0xcccccc);
camera = new THREE.PerspectiveCamera(75,
window.innerWidth / window.innerHeight, 0.1, 2000);

renderer = new THREE.WebGLRenderer({ antialias:


true });
renderer.setSize(window.innerWidth, window.
innerHeight);
document.body.appendChild(renderer.domElement);

2 POST-PROCESSING
Here the code to start setting up the scene is created:
all of this code will be in the init function. It’s
important that this init function is placed after the Above After the cube texture is loaded, this is used as a reflection map on the sphere, which is also
given a displacement map to make it spiky
existing code already in the project, because it needs
access to some of the values set up in that code.
The scene is just like in the real world, with a
camera required along with something for the
camera to look at, in this case it will be some 3D
models and lighting. A scene is created that will
hold all elements that we’ll display, the background
of that is set to a light grey colour, then the camera
is added with a 75-degree field of view – it’s set
to match the screen dimensions and to display
elements within 2,000 units of the camera. The
renderer is set to fill the browser, the edges of the
models are softened by anti-aliasing the edges and
this is then added to the web page.

renderPass = new THREE.RenderPass(scene, camera);


rgbPass = new THREE.ShaderPass(THREE.
RGBShiftShader);
filmPass = new THREE.ShaderPass(THREE.FilmShader);
copyPass = new THREE.ShaderPass(THREE.CopyShader);
filmPass.uniforms.grayscale.value = 0;
composer = new THREE.EffectComposer(renderer);
composer.addPass(renderPass);
composer.addPass(filmPass);
composer.addPass(rgbPass);
composer.addPass(copyPass);
copyPass.renderToScreen = true;
Above Loading the 3D scene brings the models in, but there are some textures that seem to be
params(); missing and a reflection map needs adding

june 2020 65
PROJECTS three.js

Above By making the texture visible on both sides of the model, the foreground and background discs are now visible

3 SORTING SHADERS 4 LOAD CUBE MAP


The code now moves to setting up all the post- This next section of code loads in a cube map. The
processing effects, as shaders. The regular scene cube map is a whole environment that is reduced
from the camera is stored, then all of the effects are down to six planes, and in this case the cube will
passed in, such as an RGB shift shader, a film shader be used as a reflection map. If an element in the
and a required copy shader. These are then stacked 3D scene is to be shiny, then it needs to reflect
up by putting them into an effect composer. Each something to give it that shininess. Just look
pass is placed in here and then the final copy pass is around you – there will probably be a number of
what is rendered out to the screen. The last line calls shiny objects that you will see reflections of your
a params function, which was already created in the environment in.
code. In here you can find all the parameters that In this case the model is using this map to give
affect the shader and it’s good to experiment with that illusion. Once that is stored in the reflectionCube
these once all the code is finished. variable, another textured is loaded and this will
be used as a displacement map on the sphere in the
let path = “assets/”; scene. The displacement map will eventually be
let format = ‘.jpg’; animated on the sphere by increasing and decreasing
let urls = [ path + ‘interstellar_lf’ + format, path + the displacement amount.
‘interstellar_ft’ + format, path + ‘interstellar_up’ + format,
path + ‘interstellar_dn’ + format, path + ‘interstellar_rt’ + let geometry = new THREE.SphereGeometry(200, 80, 80);
format, path + ‘interstellar_bk’ + format ];
material = new THREE.MeshPhongMaterial({ color:
let reflectionCube = new THREE.CubeTextureLoader(). 0x93eaff, displacementMap: displacementMap,
load(urls); displacementScale: displaceSc, envMap: reflectionCube,
reflectivity: 0.4, side: THREE.DoubleSide });
reflectionCube.encoding = THREE.sRGBEncoding;
let textureLoader = new THREE.TextureLoader(); sphere = new THREE.Mesh(geometry, material);
let displacementMap = textureLoader.load(“assets/tex2. scene.add(sphere);
jpg”); sphere.position.set(0, 0, -120);

66 june 2020
three.js

5 CREATE A SPHERE
Now a sphere is created with a radius of 200 units IN-DEPTH
and 80 subdivisions on the x and y axes. A material
is created that uses the displacement map and the
environment map made earlier. These elements get
placed together to create a mesh out of the geometry
CREATING INTERACTIONS
and material, this is then placed into the 3D scene In the tutorial a 3D model is loaded, comprised of several
and positioned away from the camera on the z axis individual elements including materials. It’s really
with a value of -120. straightforward to get access to any of these individual elements
in the code. The first step is to name the elements in the 3D
let light = new THREE.SpotLight(0xd8e5e5, 1.0, 0, Math. package that you choose. All 3D modelling applications should
PI, 1); enable you to rename individual objects. Then export the model in
light.position.set(200, 500, 500); a format that can be loaded into three.js. In our tutorial the
light.target.position.set(0, 0, 0); COLLADA model format has been chosen just because it’s easy to
scene.add(light); read afterwards as it’s in XML format.
light.penumbra = 1.5; Once the model has been loaded, it’s a simple case
let ambientLight = new THREE.AmbientLight(0xffffff, 0.2); of finding that model. Three.js comes with a command
scene.add(ambientLight); ‘getObjectByName(‘name’, true)’. If you have added the model
to your scene, prefix this with ‘scene’ and join with a period. The
6 ADD A LIGHT ‘name’ is the name of the model that you have given in the 3D
In order to see the world, we’ve created a light and modelling application, so replace that with the real name. The ‘true’
positioned it in front and above the centre point. at the end refers to a recursive search. You should always select
Because this is a spotlight, it can be pointed in true as it checks children of children for the model, which means
a direction, which is accomplished with target that the model is always found. If you store that model in a global
position. Its penumbra is set, which is the lighter variable you can animate it or make it react to user input in some
outer region of a shadow, essentially meaning that way from anywhere within your code.
the light source has a soft fade. In order to get even
lighting in the scene, an ambient light is also added.
This is set low at 20% illumination, just so even
darker areas get a little light.

let loader = new THREE.ColladaLoader();


loader.options.convertUpAxis = true;
loader.load(‘assets/model.dae’, function(collada) {
let dae = collada.scene;
dae.scale.x = dae.scale.y = dae.scale.z = 1.3;
dae.updateMatrix();
scene.add(dae);

7 LOAD MODEL Above Naming your individual models in a 3D application means that it’s easy
to access individual models, therefore you can load large scenes but always get
It’s time to start loading the external model, so the access to your model for animation and interaction
loader is created that will handle that. The loader is
specifically for the COLLADA model format: there is
an anonymous function that acts as a callback and
this is initiated once the model has been loaded. The
model is then scaled to the right size for this scene, “In order to get even lighting
in the scene, an ambient light
which is scaled up slightly. This model is added into
the scene so that it will display.

bg = scene.getObjectByName(“Plane”, true); is also added. This is set low


bg = bg.children[0];
bg.material.side = THREE.DoubleSide;
at 20% illumination, just so
bg.material.transparent = true;
fg = scene.getObjectByName(“fPlane”, true);
even darker areas get a
fg = fg.children[0]; little light”

june 2020 67
PROJECTS three.js

fg.material.side = THREE.DoubleSide;
fg.material.transparent = true;
RESOURCES
fg.material.opacity = 0.5;

MODELS FOR FREE 8 TWEAK TEXTURES


While the 3D model would now be visible, there are
Not everyone is a skilled 3D modeller or has the time to learn a few things that need to be improved. The textures
how to become one. If you need 3D content for your WebGL on two of the planes are facing the wrong direction,
scene, then you can probably find something for free online. First so now the code accesses those planes and references
off you need to make sure that you can load the format of model the child model of them. Then the material of that
into WebGL, thankfully the three.js library has a number of model is changed to be a double sided material and
extensions for loading almost any kind of model that you can think the texture becomes visible. By default, transparent
of. Check out the threejs.org site for examples of how to do this. textures are placed over a solid colour so each of
There are some great models for free on the CG Trader site (www. the textures is told to render over a transparent
cgtrader.com). The site does contain paid models, but when making background and therefore only the texture becomes
a search, just be sure to click the ‘free’ option. There will be visible and not the background. The texture in the
premium and ‘on sale’ content interspersed with your search foreground is reduced in opacity just to make it blend
results, but free content is helpfully marked as ‘free’. with the scene better.
Another place to get models is Google’s Poly site (https://
poly.google.com). There are a lot of models on here and many let wt = scene.getObjectByName(“l_circ”, true);
are created using the tilt brush, so if a more traditional model wt = wt.children[0];
is required, go to the menu and choose the category. Then use wt.material[0].envMap = reflectionCube;
the filter to filter out any tilt brush models, which are more like wt.material[0].reflectivity = 0.2;
3D paintings. Once you’ve found something, click the model and wt.material[1].envMap = reflectionCube;
hit the download icon to take a copy. There are many other 3D wt.material[1].reflectivity = 0.2;
sites that contain models as well, so if there is something unique let dk = scene.getObjectByName(“d_circ”, true);
you are looking for, you should be able to find it online. As the dk = dk.children[0];
popularity of WebGL, VR and AR increases, there is becoming an dk.material[0].envMap = reflectionCube;
increasing demand for models and we will probably be able to find dk.material[0].reflectivity = 0.4;
3D models as easily as images in the future. render(); });

9 APPLY REFLECTION MAP


More of the textures are accessed now. The reason
for this is so the reflection map can be applied and
the reflectivity of the surface can be set. In some
cases there is more than one texture on the model,
so that is sorted out here. As the model has loaded
the scene, it is told to update by calling the render
function that will be created shortly.

window.addEventListener(‘resize’, onResize, false);


document.addEventListener(‘mousemove’,
onDocumentMouseMove, false);
Above Use one of the many resource sites like CG Trader to find 3D models for document.addEventListener(‘touchstart’,
your WebGL projects onDocumentTouchStart, false);
document.addEventListener(‘touchmove’,
onDocumentTouchMove, false);
if (window.innerWidth <= 450) {
camera.position.z = 1000;
“The texture in the } else if (window.innerWidth <= 768) {
camera.position.z = 800;
foreground is reduced in } else {

opacity just to make it blend }


camera.position.z = 600;

with the scene better” }

68 june 2020
three.js

10 MAKE IT FIT
The final part of the init function really just makes
sure that the resizing, touch and mouse events are
handled. Notice here that depending on the width of
the screen, the camera is altered so that it fits better
on tablet and mobile devices.

let render = () => {


requestAnimationFrame(render);
camera.position.x += ((mouseX / 3) - camera.position.x)
* 0.05;
camera.position.y += (-(mouseY / 3) - camera.position.y)
* 0.05;
camera.lookAt(scene.position);

11 SMOOTH MOVEMENT Above The reflection map is added to the 3D models and this gives a subtle effect, but when the
object moves the reflection shimmers
The render function is called to keep running at
60 frames per second using the browser’s built in
‘requestAnimationFrame’. The camera updates based on
the position of the mouse or touch on the screen,
making the scene interactive. There’s also a slight
easing applied to this so that the movement is
always smooth as the camera adjusts to the new
position from the user. The camera is told to always
face the centre of the scene so that it’s pointing at
the content.

let sclr = Date.now() * 0.002;


bg.rotation.z += 0.001;
fg.rotation.z -= 0.0007;
sphere.rotation.y += 0.004;
displaceSc = 150 + (Math.sin(sclr) * 40);
material.displacementScale = displaceSc;

12 UPDATE ELEMENTS Above The final content has a film grain effect and every so often the RGB channels split, based on
a random number
The content in the 3D model is set to animate by
rotating each plane. The sphere’s displacement
map is updated so that it pulses in and out using
a sinewave; this in turn updates the displacement
scale of the material.

let r = Math.floor(Math.random() * 150);


if (r == 0) rmnt = Math.random() * 0.006;
shaderTime += 0.1;
filmPass.uniforms[‘time’].value = shaderTime;
rgbPass.uniforms[‘amount’].value = rmnt;
composer.render(0.1); } init();

13 THE FULL EFFECT


A random number is generated that sends random
offsets of the RGB to the shader. All the shaders are
updated and the composer renders the scene to the
display. The very final line calls the init function to
make all the code run. Test this from a server and
Above The position of the camera is changed in order to make it more viewable on the much
you will be able to see the full effect. narrower screens of mobile devices, so that consistency can be maintained across screens

june 2020 69
PROJECTS SVG

A B O U T T HE A U T H O R
SUSH K EL LY
job: Freelance designer
w: www.sushkelly.co.uk
t: @maxray
areas of expertise:
HTML, CSS, SVG

SVG

A QUICKSTART GUIDE
ON HOW TO USE SVG
Sush Kelly reveals how designers and developers can get the most
out of SVGs. He shows you how to export, optimise and add animation

This tutorial is for designers and developers – WHAT IS AN SVG?


whether you create graphics or are given them If you are familiar with building websites then
to build sites, it pays to know how to optimise them you will know there are several file types we use
and add animation where applicable. You don’t need for images. Even if you have never built a site it is
to know anything about the main graphics programs likely that you have encountered GIF (Graphical
such as Illustrator or Sketch, though we will cover Interchange Format), PNG (Portable Network
how these programs export SVG. Graphics) and JPEG (Joint Photographic Experts
This tutorial does assume you have a basic Group) files. SVG (Scalable Vector Graphics) is
knowledge of HTML/CSS. SVG code is very similar another form of image but it differs from the rest in
and so even if you have never looked at the insides of that it is a vector image format rather than bitmap.
an SVG, you should be able to follow along. SVGs are a really great image format for a
After completing this tutorial you will know more variety of reasons. Because they are vector, they
about how SVGs work, the best ways to optimise are naturally scalable: the image you see is made
them and how to add movement to them. This by plotting points mathematically and thus can
tutorial is a great starting point to extend your be resized with no loss of quality. They are more
knowledge in one of the most flexible image formats efficient, and if embedded inline reduce HTTP
currently available. requests, helping performance. File size is small – it

70 june 2020
SVG

really is amazing what you can do with an animated <circle id=”circle” cx=”20.5” cy=”20.5” r=”20” style=”fill:#e
SVG that you would never think possible for such a eb003;stroke:#333332;stroke-miterlimit:10”/>
small file size.
Unlike a bitmap image, SVGs are easy to animate. Polygons look more confusing, but are just a set of
They have a DOM similar to web pages, the elements points separated by a comma – x,y x,y and so on. A
that make up the image can be affected with CSS just polygon always assumes the last point will join to
as you would with HTML. the first point.
SVGs can be a bit overwhelming if you actually
look at one in a text editor, but once you know what <polygon id=”polygon” points=”170.05 0.5 146.95
you are looking at, it is no more confusing than a 0.5 135.41 20.5 146.95 40.5 170.05 40.5 181.59 20.5
simple web page. 170.05 0.5” style=”fill:#eeb003;stroke:#333332;stroke-
But what about browser support? Support for SVG miterlimit:10”/>
is great. If you look at the Can I Use site, which is a
great reference, you will see lots and lots of green! Lines have four values: x1, y1 and x2, y2. Similar to
People often worry about older browsers but IE is the other shapes, we are just doing dot to dot.
covered from version 9, as well as some of the niche
mobile browsers like Opera Mini. <line id=”line” x1=”197.49” y1=”0.5” x2=”229.51” y2=”40.5”
style=”fill:none;stroke:#333332;stroke-miterlimit:10”/>
WHAT MAKES UP AN SVG?
As mentioned, an SVG is made up of mathematical
shapes - rectangles, circles, polygons and lines.
“An SVG is made up of
They also contain paths, which enable you to draw
irregular shapes. The objects are drawn in the SVG
mathematical shapes –
using maths coordinates on an x and y axis. You will rectangles, circles,
see that the values for shapes in your SVG will often
use the X / Y / Width / Height format. You view your polygons and lines. They
canvas through a viewbox, which is like a window
that looks onto the SVG canvas. The viewbox enables
also contain paths”
you to hide elements out of view until you find you
need them. Paths are similar to polygons, the main difference
The canvas (SVG tag) can have a width and height is they use a d (draw) property and then use an M
(though this can be set in CSS if preferred) and it also (move) before the path points. The end of a path
sets the viewbox window size. Again, note the X, Y, shows a z if it joins up to make a shape.
width and height attributes, in this case start at 0, 0
and 300px wide and 150 high. <path id=”path” d=”M33.21,74.71s19-
Create a new pen and add the SVG wrapper, each 18.77,42.34-15.39S92.9,76.21,113.92,74.7
shape can then be placed inside: 1s31.91-.67,49.18-7.84,28.16-13.25,38.67-
8,13.51,6.27,7.13,15.91-11.26,14.9-19.9,10-17.64-10.51-
<svg id=”Layer_1” data-name=”Layer 1” xmlns=”http:// 8.25-16.51,15.76-5.26,18.77-2.26.37,14.64-4.88,11.64-
www.w3.org/2000/svg” viewBox=”0 0 300 150”> 4.49-3.56-3-5.91” transform=”translate(-10.05 -8.4)” styl
<!-- elements here --> e=”fill:#fff;stroke:#000;stroke-miterlimit:10”/>
</svg>
EXPORTING FROM GRAPHICS PACKAGES
Rectangles are set using x and y to position the top- Let’s have a quick look at how we might export our
left point and then have a width and height attribute. artwork from the main graphics packages.
Like HTML elements, they can have a class and ID.

<rect id=”square” x=”65.5” y=”0.5” width=”40”


height=”40” style=”fill:#eeb003;stroke:#333332;stroke-
miterlimit:10”/>

Circles are plotted from their centre points and so


use cx and cy (centre x, centre y) to set the point and
then a r (radius).
Top CanIUse.com shows how comprehensive browser support for SVG images is

june 2020 71
PROJECTS SVG

Illustrator }
If you are using Illustrator, there are two ways to }
save your file as an SVG. The simplest option is to
choose File > Save As and select SVG. If you look at Here we are creating an animation called “fadeIn”
the code this creates, you will see it has some extra and telling the animation to go from opacity 0
information in there that we won’t actually need. to opacity 100%. We set how long we want the
You can also choose File > Export As and pick SVG. animation to last in addition to other settings on the
You can tweak your options here to choose inline element itself.
styles rather than using CSS. If you study the SVG Now we will add some styles to our box to make
(once you understand its workings) you will notice use of this animation:
that it maybe isn’t optimised quite how we would
want for web use. #square {
opacity: 0;
Sketch animation-fill-mode: forwards;
Sadly Sketch isn’t so good for exporting – you just animation-duration: 2s;
export your assets and choose SVG as an option. animation-timing-function: ease-in;
As with a standard Illustrator save, there is extra animation-name: fadeIn;
information and not the best optimisation. }

INTRODUCE ANIMATION
One of the really fun parts about an SVG file is that “There are four things
you can animate it and make it interactive. For the
purposes of this tutorial, we are looking at how
that browsers can
you use CSS to animate your SVG, although there
are some amazing libraries out there, GreenSock
animate easily: Opacity,
being probably the most well known for complex Scale, Rotation
animations and effects.
We should take performance into account. There and Position”
are four things that browsers can animate easily:
Opacity, Scale, Rotation and Position. That’s not to
say you cannot animate other properties, but they We set the opacity to 0, then we set the animation-
will cause repaints of the browser, which will mean fill-mode to forwards. This is a ‘gotcha’ that
jerky ugly animations. sometimes catches you out, as otherwise at the end
of the animation your element will return to its
CREATE ANIMATION starting point. Set the animation-duration, then
To fade an element within your SVG, we will use choose an easing style with the animation-timing-
keyframe animation in CSS. Let’s create the function. Most importantly, the animation-name is
animation first: needed of course! Check the codepen so see in action
https://codepen.io/maxray/pen/XWbBYzb
@keyframes fadeIn {
from { POSITION MOVE THINGS
opacity: 0; FROM HERE TO THERE
} Now that we know the basics of creating an
to { animation and then using it on an element, let’s
opacity: 1; move something left to right. We will create a new
animation called moveAcross.

@keyframes moveAcross {
from {
transform: translateX(0);
}
to {
transform: translateX(200px);
}
Above
Sketch has limited export options when using SVG and doesn’t offer great optimisation
}

72 june 2020
SVG

#circle {
animation-fill-mode: forwards;
IN-DEPTH
animation-duration: 2s;

ADD REALISM TO
animation-timing-function: ease-in;
animation-name: moveAcross;
}

We use transform to animate and in this case tell


the element to start at 0px and finish at 200px. It
ANIMATION WITH EASING
is better to animate an element’s position like this
than animating margins or padding. We are using
the same duration, ease and the fill mode as before.
Check the codepen so see in action https://codepen.io/
maxray/pen/NWqBBqQ

MAKE ELEMENTS BIGGER AND SMALLER


When you are building your keyframe animations
you can set as many steps as you want, in this case
we have four, each set as a percentage from 0 to 100.

@keyframes smallBig {
0% { If you look at any moving object in real life, you’ll notice it
transform: scale(1); doesn’t move at a constant speed. A ball will accelerate as it
} falls to the floor, slowing as it compresses and then speeding up as
25% { it rises into the air again.
transform: scale(1.5); We can use easing functions in our animations to add realism.
} We tend to use ease, ease-in, and ease-out but you can make
50% { custom cubic-bezier eases, too.
transform: scale(.5); When you use ease-out, you will be starting fast and ending
} slow. Generally this works well when something is moving in.
75% { Ease-in acts in the opposite way, starting slow and finishing fast,
transform: scale(1.5); which is good for objects moving away.
} You can use cubic-beziers in easing too. You may have heard of
100% { the Bézier tool (Pen tool) in Illustrator. This is the same idea, using
transform: scale(1); control points to create a curve. Visit cubic-bezier.com, which is a
}} brilliant visual resource for creating custom eases that you can
#circle { then save out!
animation-fill-mode: forwards;
animation-duration: 2s;
animation-timing-function: ease-in;
animation-iteration-count: infinite;
animation-name: smallBig;
}

We are letting this animate repeat forever – this is


achieved by using the infinite setting for the amount
of iterations:

animation-iteration-count: infinite;
See in action https://codepen.io/maxray/pen/YzXOQRd

ROTATION AND GROUPED TRANSFORMS


When adding a rotation, you may need to set the
transform origin so that your item spins as you Top
expect. This is actually the point within the SVG Using the Export As route enables us to specify inline styles

june 2020 73
PROJECTS SVG

you would like the element to spin around. You can


RESOURCES also add multiple transforms together (in this case
moving and rotating) by joining them together.

TAKING THINGS FURTHER @keyframes moveAcross {


from {
transform: translateX(0) rotate(0);
opacity:0;
}
to {
transform: translateX(-200px) rotate(360deg);
opacity:1;
}
}
#polygon {
animation-fill-mode: forwards;
animation-duration: 2s;
animation-timing-function: ease-in;
animation-name: moveAcross;
transform-origin:158.5px 22.5px;
}
SVGOMG See in action https://codepen.io/maxray/pen/dyojjXe
https://jakearchibald.github.io/svgomg
This tool, built by Jake Archibald, is a real must-have for your ANIMATING PATHS
optimising arsenal for SVGs. It can remove unneeded tags and A great trick with paths is to use stroke-dashoffset
minimise code without affecting the visual appearance of the SVG. to make a line animate. Basically, you create a dash
You can upload your source image or just paste in the markup if that is longer than your whole path and then animate
you are using your SVGs inline. the dashoffset. This gives you an animating line!

Accessibility and SVGs svg {


https://simplyaccessible.com/article/7-solutions-svgs width:50%;
SVGs have a DOM similar to HTML and can be embedded in your height:auto;
pages in a variety of ways. As such there is quite a lot to take into }
account regarding accessibility. @keyframes dash {
to {
stroke-dashoffset: 0;
}
}
#path {
stroke-dasharray: 2000;
stroke-dashoffset: 2000;
animation: dash 15s linear forwards;
}
See in action https://codepen.io/maxray/pen/vYOVxpo

WHERE DO YOU GO FROM HERE?


SVG Path Builder Hopefully you can now see how useful SVGs can be.
https://codepen.io/anthonydugois/pen/mewdyZ They offer the potential to create animations for
This path builder pen by Anthony Dugois is great fun to use and button effects, interactive graphs, charts and all
more importantly, is an excellent way to see how SVG paths sorts of other applications. The principles in this
are constructed. You can drag your points around and play with tutorial are just the beginning – once you have
altering the parameters, all the while being able to see the actual mastered these you can add JavaScript to create
path code, too. interactivity be it through data sources or user input.
There are JavaScript libraries, such as GreenSock,
that will supercharge your next project!

74 june 2020
The number one destination
for web design news,
views and how-tos
Get Creative
Bloq direct to
your inbox with
our weekly
web design
newsletter

Graphic design Art Web design 3D Digital art

www.creativebloq.com
View source
PROJECTS Sapper and Svelte files here!
All the files you need for this
tutorial can be found at
https://github.com/netmagUK/
Tutorials

A B O U T T HE A U T H O R
MAT T CROUCH
w: www.mattcrouch.net
t: @mattcrouchuk
job: Front-end
software engineer
areas of expertise:
HTML, JavaScript, React

SAPPER AND SVELTE

USE SAPPER AND SVELTE


TO BUILD A FAST SITE
Discover how to take a minimalist framework and combine it
with server rendering to create a lightning fast reactive website

Frameworks such as React, Angular or Vue have server rendering, link preloading and the ability to
become the new normal for front-end create service workers all done for us. Combined
development. By breaking parts of a website into with Svelte, the end result is a highly customisable,
components, we can more easily control how a lightning fast site with a small footprint.
website looks and operates, while at the same time In this tutorial, we will be using Sapper to build
making great experiences for the end user. a blogging site using Svelte components. As Sapper
This approach is not without its flaws, though. itself is still in development, its features may change
Speed is a big issue, with large JavaScript bundles before its first official release. Still, the approach we
slowing down their delivery. Techniques such as take here is a solid foundation for the future.
code splitting and server rendering go part way
towards solving the issue, but this can be tricky to 1 INSTALL DEPENDENCIES
set up and it can end up having a worse impact if it’s Firstly, we need to download and install
not maintained. dependencies. It relies on Svelte to work and requires
Svelte is a framework with a difference. It another framework to build the server, but the rest
analyses the code at compile time and creates a depends on the application being built. In this case,
set of modules in vanilla JavaScript, which avoids we need a few packages to help extract Markdown
the need for a runtime. Components are written in files later on. Download the tutorial files, find them
single files, which keeps everything together in a on the command line and install the dependencies.
neat little package. Sapper is a framework built on
top of Svelte. It focuses on speed out of the box with > npm install

76 june 2020
Sapper and Svelte

2 BUILD OUT SERVER 6 RETURN THE BLOG POSTS


Sapper is built in two parts – the client-side Server routes export functions that correspond
framework and the server-side rendering of that with HTTP methods. For example, to respond to a
framework. This helps get that extra speed boost GET request, we would export a function called “get”
for those on slower networks. It is built using Node, from the server route file. Create a “get” function
which enables the Sapper middleware to do all the that responds with the data that we collected in
heavy lifting for us. the previous step in a JSON format. Open http://
Open server.js and create the server with Express. localhost:3000/blog.json in the browser and check the
Using the recommendations, we include “compression” posts are coming through.
to shrink the files we send in addition to “sirv” to
serve static files. 7 CREATE INDEX PAGE
Pages in Sapper are regular Svelte components. Each
express() component is a single file with a “.svelte” extension,
.use( and contain all the logic and styling for managing
compression({ threshold: 0 }), itself. Any JavaScript this component needs to run
sirv(“static”, { dev }), will live inside a <script> tag – just like any HTML
sapper.middleware() ) page. Inside routes/index.svelte, import a couple of
.listen(PORT); other Svelte components that we can use to build this
page. Export a “posts” variable that we will go on to
3 MOUNT THE APPLICATION populate later.
On the client side, we need to tell Sapper where to
mount the application. This is similar to React DOM’s 8 FETCH BLOG POST DATA
“render” or Vue’s “$mount” methods. With the page set up, we can start bringing in blog
Inside client.js, start Sapper and mount it to the posts. We need to do this as soon as the page is
root <div> element. That element is included in the loaded. In order for the server to be aware of this and
template file, which we will come to later on. then request this data when it renders the page, it
needs to go in a separate <script context=”module”> tag.
import * as sapper from “@sapper/app”; On the server, Sapper will look for a “preload”
sapper.start({ function, and wait for it to complete before showing
target: document.getElementById( the page. Here, we are populating the “posts” variable
“root”) from the previous step.
} );
<script context=”module”>
4 START THE DEVELOPMENT SERVER export async function preload() {
With the basic server and client files set up, we can const res = await
start the development server. This kicks off a build this.fetch(“blog.json”);
of the server, client and service worker files, and it const data = await res.json();
will start up on port 3000 by default. Whenever a file return { posts: data };
changes, it will rebuild the part of the application }
that changed. Run the server on the command line. </script>
Keep this window open while developing the site.
9 DISPLAY POST SUMMARIES
> npm run dev In Svelte, variables are reactive by default. This
means that, as they update, our components will also
5 SET UP A SERVER ROUTE update. As the “posts” variable now holds an array of
Anything inside the “routes” directory will turn into a blog posts, we can loop over these and display them.
route for the application. Files with the “.js” extension We can do this using an “#each” block. These will
will become what are called “server routes”. These repeat what is inside the brackets for each item in
routes have no UI, but instead are requested by the an array. At the bottom of the component, outside of
application to fetch data. In our case, we will use any tags, add the HTML to display the posts.
them to load up blog posts.
The routes/blog/index.json.js file will create the <Container>
“/blog.json” endpoint on our server. Import the blog <ul>
posts and create some JSON from them. {#each posts as post}

june 2020 77
PROJECTS Sapper and Svelte

<li>
<PostSummary {...post} />
IN-DEPTH
</li>

DEPLOYING TO
{/each}
</ul>
</Container>

STATIC HOSTS 10 STYLE THE CONTAINER


We can use components to contain any repeated
logic and use them wherever they are needed –
styles included. The <Container> component currently
does not do anything, but we can use it to give a
maximum width to the content inside it.
Open up components/Container.svelte, and add
some styles inside a <style> tag. Any styles that
we apply inside a component are scoped to that
particular component, which means that we can use
a generic selector.

Sapper has the added ability of being able to generate a 11 DEFINE A <SLOT>
static site without any extra development effort. This means If a component is designed to be the parent to
it can be hosted anywhere that hosts static files, such as GitHub other components, we need a way to pass those
Pages, Netlify or Amazon S3. It can be cheaper and faster if the components through. The <slot> element does just
site’s content rarely changes because it can be cached on servers that, and can be placed anywhere that makes sense
around the world. inside a component’s markup.
Running “sapper export” will build the site. Once complete, it With <Container>, we are wrapping the contents
then hosts it on its own server and starts to crawl the site, clicking in a styled <div>. Use <slot> inside the <div> to let
on any links it finds. Every page it visits it will save and create its everything else through.
own HTML file.
Of course, not every site is a candidate for static rendering. If 12 EXPOSE POSTSUMMARY PROPS
it requires authentication, or has lots of content that frequently Not every component is going to fetch some
changes, a server-backed approach is the one that will achieve the data. As we are loading the posts from the main
fastest result. page component, it can be passed through to the
components it renders through its attributes.
Open components/PostSummary.svelte and define
some attributes at the top of the file. These are
getting filled in by the spread operator that we added
in step 9.

13 DISPLAY BLOG POST SUMMARY


When the attributes are populated, they are then
accessed like any other variable. By having separate
attributes for each part of the post summary, we
make the markup easier to read.
At the bottom of the component, add some HTML
to create the summary. The classes relate to the pre-
defined styles.

14 LINK TO BLOG POST


Unlike similar frameworks such as Next.js, Sapper
works with regular anchor links. At build time, it
is able to detect internal links, and also to make its
own optimisations.
Update the markup from the previous step by
Above: Starting the development server will kick off a build of the server, client and
service worker files wrapping it in a link. There is no need for you to

78 june 2020
Sapper and Svelte

create template strings in order to compose the {post.author.name}</div>


slugged URL. </div>
<img class=”post-image”
<a rel=”prefetch” href=”/blog/{slug}”> src={post.image} alt=”” />
<article>…</article> {post.html}
</a> </Container>
</article>
15 FETCH A POST BY SLUG
Sapper is able to create pages based on URL 18 DISPLAY HTML INSTEAD
parameters. In our case, we link to “/blog/slug”, which Looking at the page now, everything displays
means that it renders the component at “/routes/blog/ correctly apart from the actual post content.
[slug].svelte”. The markdown conversion generates HTML, but we
Inside that component, fetch the blog data like we see that printed as text on the post itself. Sapper has
did for the index page. The “params” object contains an HTML parser built in for this case. Placing “@html”
the parameters from the URL, which in this case is in front of it will use this parser.
the slug.
{@html post.html}
<script context=”module”>
export async function 19 SET PAGE <TITLE> VALUE
preload({ params }) { Our blog functions correctly, but there are a couple
const res = await this.fetch( of changes needed to finish it. One of those is to
`blog/${params.slug}.json`); update the <title> on the page to relabel the tab that
const data = await res.json(); it’s displayed in.
} </script> Svelte supports a <svelte:head> element, which
injects anything inside of it into the <head> of the
16 ERROR IF POST IS NOT FOUND page. Use this to set the title of the post as <title>.
Unlike the index page, there is a chance there isn’t a
blog post at the URL. In that case, we should display <svelte:head>
an error. Along with “fetch”, the “preload” method also <title>{post.title} |
includes “error” that changes the response to an error Sapper Blog</title>
page instead. </svelte:head>
At the end of the preload method, show an error
if there is no post found. Otherwise, set the “post” 20 UPDATING THE <TITLE>
variable for the page. Every page goes through a template in order to stamp
out the HTML for the rest of the page. This is where
if (res.status === 200) { any setup such as font imports and meta tags would
return { post: data }; be entered.
} else { Open up template.html, and add in a hook for
this.error(res.status, the contents of the <svelte:head> element from the
data.message); previous step. Add this in just before the closing </
} head> tag.

17 SHOW THE BLOG POST <head>


With the data fetched, we can now show the post on […]
the page. Similar to the PostSummary component, %sapper.head%
we will display each part of the post’s content inside </head>
curly brackets.
At the bottom of the component, add some markup 21 ADD PERMANENT HEADER
to display on the page. The final thing we need to add is a layout for the
blog. Instead of wrapping each page in a component,
<article> Sapper will look for a “_layout.svelte” file to take care
<Container> of this job for us.
<div class=”title”> Inside _layout.svelte, import the <Header>
<h1>{post.title}</h1> component and show that at the top of every page. It
<div class=”byline”>by provides a convenient link back to the homepage.

june 2020 79
HOSTING PARTNERS
CONTACT US To advertise here, contact our sales team: +44 01225 687 311 george.lucas@futurenet.com
Key hosting
directory

FEATURED HOST

Netcetera provides hosting Offering reliable website


from one of the most energy- hosting, dedicated servers,
efficient datacentres in Europe, co-location and cloud solutions,
all powered by green energy. Netcetera has a large portfolio
It offers everything from reliable of green, zero-carbon solutions
low-cost hosting for a single site for businesses of all sizes.
right through to complex cloud Customers can choose from its
racks and managed IT solutions. fully managed cloud servers,
One of its most popular products Linux and Windows for SMBs
is its Managed Cloud, designed and a fully managed cloud
to help SMBs get the most from solution for WordPress websites
their website, on their own cloud to help them utilise cloud
server. Server monitoring comes technology without any hassle.
as standard for Netcetera’s Cloud And with server monitoring as
and Dedicated server clients standard and a full migration
– something it believes should service available, Netcetera
be included in the price of the has made the switch to better
hosting it provides. hosting really easy.

CONTACT
03330 439780 / SALES@NETCETERA.CO.UK
“We have several servers from Netcetera
and the network connectivity is top-notch
– great uptime and speed is never an issue. WWW.NETCETERA.CO.UK
We would highly recommend Netcetera”
Suzy Bean WHAT NETCETERA OFFERS
Managed hosting: a full range of solutions for
EXPERT TIP a cost-effective, reliable, secure host.

CLOUD TECH TIP... Dedicated servers: single server through to a full rack,
with free setup and generous bandwidth.
If you’re going to fully utilise cloud technology,
before deciding on a service provider ask whether Cloud hosting: Linux, Windows, hybrid and private cloud
monitoring comes as standard and whether solutions with support and scalability features.
management is included in the price. A fully
Data centre co-location: from quad-core up to smart servers
underutilised cloud will be a waste of money. with quick set up and all fully customisable.
Advertisement

1&1 INTERNET THENAMES


1&1 Internet is a leading hosting provider that enables TheNames.co.uk offers great value cPanel web hosting, SSL
businesses, developers and IT professionals to succeed online. certificates, business email, WordPress hosting, Cloud, VPS
With a comprehensive range of high-performance and affordable and dedicated servers. Part of a hosting brand that started in
internet products, 1&1 offers everything from simple domain 1999, it is well established, UK based, independent and its mission
registration to advanced ecommerce packages. is simple: ensuring your web presence “just works”.

0333 336 5509


WWW.1AND1.CO.UK 0370 321 2027
WWW.THENAMES.CO.UK

CATALYST2 BLACKNIGHT
As one of the UK’s most experienced hosting companies, Blacknight is the leading Irish web hosting company and domain
Catalyst2 has built a stable, reliable and well-supported name registrar, providing innovative solutions to more than
hosting platform for organisations across the UK. Catalyst2 84,000 customers in 130 countries, with dedicated servers and
specialises in very high-availability hosting and exceptional colocation, a comprehensive range of web hosting plans, domain
customer support. Contact the team today for a quote. registration, email and productivity tools. ISO 27001 certified.

0800 107 7979


SALES@CATALYST2.COM +353 59 9183072
WWW.BLACKNIGHT.COM

HEART INTERNET
As one of the UK’s leading web hosting authorities, Heart
ADVERTISE HERE!
Internet focuses on designers, developers and technically- Would you like to promote your hosting business
adept businesses. It builds on its four tenets – speed, reliability, and services to our audience of professional web
support and security – to create award-winning solutions for over designers and developers? If so, please call or email
500,000 customers. George as below.

+44 (0) 330 660 0255 REASONS TO ADVERTISE


WWW.HEARTINTERNET.UK Reach professionals: 75% of readers are working in or seeking
work in the web industry
Variety of projects: future projects include mobile apps,
web apps and CMS-driven sites
Home workers: 51% have a personal website
under development

CONTACT
+44 01225 687 311 / GEORGE.LUCAS@FUTURENET.COM
NEXT
MONTH

STATE-OF-THE-ART
JAVASCRIPT
Discover the new APIs that can be tried today, what’s
new in React/Vue/Angular and the best dev tools

PLUS
Create a voice- Build responsive Use Protopie to
powered navigation layouts with CSS Grid create interactive
system and Flexbox prototypes

ISSUE 333 ON SALE 14 MAY


PRINT EDITION, BACK ISSUES AND SPECIAL EDITIONS AVAILABLE AT

myfavouritemagazines.co.uk
DIGITAL EDITIONS AVAILABLE ON ITUNES, GOOGLE PLAY, KINDLE, NOOK AND ZINIO

net.creativebloq.com

You might also like