Returns Policy Guideline - Best Practice

A Best Practice Guide to Handling Returns

One key service that customers look for when shopping online is your returns policy and process

Why having a good returns policy is important

In recent years consumer surveys have proved that online shopping is surpassing in-store buying. It’s more important than ever to make sure your website is not only running perfectly but meets all the expectations and has all the features customers expect online now. One key service that customers look for when shopping online is your returns policy and process.

Returns can often be overlooked as people feel that it’s an afterthought to the eCommerce process, however, in reality, it’s just as much part of the customer purchasing journey as anything else and shouldn’t be thought of as an afterthought. Someone who is reviewing your returns information is showing a strong signal that they are wanting to make a purchase. You need to give them confidence.

How to Prevent Online Returns

The process of returns starts at the beginning of the customer's experience, not after the product has arrived. There are actions you can take to prevent a return happening after an initial purchase.

Around 30% of all e-commerce orders end up being returned and a lot of this has to do with the product not matching the description. Ensure the products you’re selling have informative descriptions and plenty of images, displaying the different angles of the item. Even better if there’s a video alongside the product. Include sizing and dimensions and above all, be as accurate as possible. If the customer is sure of what they’re buying it will massively reduce the possibility of a return.

You should encourage customers to leave feedback on your products. Not only will this help to increase revenue because 70% will trust a recommendation from someone they don’t know but also it can help to prevent potential returns and refunds. The customer can read reviews from previous customers who have tried and tested your product and help make a more informed purchase decisions. Research shows that when shoppers know what to expect from a product from first-hand users, the likelihood of them returning those products drops substantially.

How To Write An eCommerce Returns Policy

Use terms that everyone can understand and it will be easier for customers to follow and understand your policy. Make sure it’s easy to find. It would also be useful to dedicate a whole page on your website that can explain your whole returns policy. Include things like cost (if there is a cost or if it’s free) and the return deadline.

It's normal to give a specific time frame to accept returns. So you need to define how long the customer has to make up their mind. Tell your customers if they must return the product within 30 days, 2 weeks, whatever it may be, so they’re aware.

Aside from the time frame deadline you’re allowing for returns, you also need to make sure you’re stating what is and isn’t acceptable returns conditions. Sometimes retailers don’t allow returns of certain products, such as underwear or earrings. 66% of online shoppers check a website's return policy before purchasing an item, so make it clear, not only on your returns page but also in other areas like receipts, packaging and definitely on the product page. Your customer should have every opportunity to know your returns policy before making a purchase not just after making a purchase.

For those retailers that also sell in store, not just online, it would be helpful if a customer can return-to-store. 62% of shoppers are also more likely to shop with you online if they know that a return in-store option is available. Not only does it appeal more to the customer but it will save you costs too especially if you’re part of the majority of retailers that pay for customers return shipping. The key is to keep your customers happy and minimise fuss. 70% of shoppers who return an item in-store, make another purchase when there - something else might appeal to them while there.

How To Handle Online Returns for Your Customers

Along with the item or items they ordered, customers should also get paperwork that includes details of how to return their goods if necessary. Including return labels would be ideal instead of making the customer print it out themselves from your website. If you offer free returns, make it known and clear. Equally, don’t hide any extra costs. If it's up to the customer to pay for return shipping, make that very clear. As it stands, about 75% of retailers take care of the return shipping cost for their customers.

Make the return process clear and easy for the customer. Provide clear instructions and even include a returns envelope to make sure no mistakes are made with the address. If people know they can easily return stuff then more likely to buy again in the future.

Don’t put off the customer. Just because they make a return, it doesn’t mean they won’t come back. If they have a smooth returns experience that doesn’t cost them anymore, they are much more likely to come back. But if they have to pay a hefty fee to return their unwanted items it could put them off permanently. The way your business handles a return can either build a stronger relationship with a customer or lose them for life.

eCommerce Returns Policy Examples

As we can see with this ebay.co.uk example, they have clarified their returns information on the product page, right beside the product. This can make the customer feel at ease as they know how much time they have to return and get their money back if unhappy. In this example, it’s 30 days refund, seller pays postage.

The clear display of return information (not only how long they have but also how whether they have to cover the cost or not) will likely seal the deal with the customer as they now have the confidence they need to go through with the purchase.

In the example, you can also see that the reviews are also clearly visible. The customer gets to see an overall rating for that product and this information can help them make up their mind about the item and now know what to expect from a product from first-hand users.

Handling Returns Final Roundup

The best practice when handling returns is to include a free returns label for your customer and be part of the majority 75% of businesses that do so, they will appreciate this.

Do not make the process of returns any longer or more complicated than it should be with the idea that it may deter a customer from sending back their items. All this will do is put them off buying from you in the long run. However with a good returns policy and process, the customer is satisfied and more likely to return, knowing that your business operates in a smooth and hassle-free manor.


Shopping Cart Abandonment

Abandoned Basket Emails

How to bring back customers with creative cart abandonment email campaigns

Cart abandonment statistics

Cart abandonment is when a customer fills up their shopping cart online but for whatever reason, chooses not to follow through with the payment and ‘abandons’ it. The global average statistics for cart abandonment rate, for online retailers, was 77.24%. This means that over ¾ of shoppers choose to leave the site without completing a purchase.

In an effort to try and capture some of these lost sales, cart abandonment emails are sent to customers who have added products to their cart but failed to check out. The abandoned basket campaign can be a powerful sales recovery tactic and bring back otherwise lost revenue. Studies have shown that almost half of all abandoned cart emails are opened and over a third of clicks lead back on to the site to make a purchase.

Cart abandonment examples

Some cart abandonment on websites is inevitable. There are many users that may just be window shopping or doing a price comparison for items. They may also be saving items for later or exploring gift options. These things can’t be avoided (and a small portion of these people may likely return and purchase later). But aside from those just browsing, cart abandonment examples could occur for a number of other reasons. These include things like shipping issues, for instance they decided to buy in-store instead.

Lack of payment options or cost can also be another reason. If your shipping costs are above industry average or you add additional fees that don’t appear until after the checkout process has begun, then people will leave. Also, if you have a coupon or discount code option at checkout, people may leave looking for discount codes. If they don’t find any, they may not return to complete their purchase because they think a sale could happen or a better deal on the item will appear at a later time as they’re not willing to pay full price. To prevent this from happening, consider adding a code somewhere visible on your site or consider adding codes to popular voucher websites.

Technical issues are another reason. Sometimes customers may even abandon their carts without meaning to do so. For instance the website crashes - or ever more simply, they had to leave their device to do something and forget to return. Therefore these emails can act as a reminder to come back on to your website.

Other reasons people might abandon their carts is because there was not enough product description. If your website doesn’t provide enough details about a product, shoppers will go elsewhere. To prevent people from abandoning your shopping cart, provide them with as much item description as possible. Perhaps even research competitors that are selling similar products to ensure that your website offers everything they do and more. Also, it might be nice to have the option to live chat on your website, about any queries or questions the customer may have. Delivering good customer service will more likely lead to to a sale.

Checkout templates to avoid cart abandonment

Before we get to the ways we can try to bring back lost customers, it's good to look at the ways we can prevent losing them in the first place with these checkout templates to avoid. Firstly, what are the payment options for your site? Not everyone has their credit card handy when impulsively adding items to their cart so make sure you allow for alternative, quick and easy payment options like Paypal. Make all the payment options known to the user before they proceed. For instance, with ASOS they show the buyer all the methods they take, clearly at the beginning of the checkout option.

Another way to improve your checkout flow, it to include a guest checkout option. Many people abandon their carts because the checkout process is too long. While it’s good to get people to sign in or sign up with you, so you have their information on hand, it excludes customers who aren’t willing to create an account as they still want to buy from you. Making your checkout process smooth and easy for everyone to use, will reduce your cart abandonment rate.

Cart abandonment best practice

There are some best practices to follow for cart abandonment emails. To start off, be specific. Depending on when you send your email, people might have forgotten about their cart items. It’s no good just sending a vague email like “you’ve forgotten your items”. What items? So be specific and specify which items are remaining in their cart and it helps if you leave images, this is much more effective. Using visual marketing to show people which items they’ve left makes the email more personal and reminds them of what they’re potentially missing out on.

Along with specifying their basket with images, give them an incentive - perhaps make it known in the subject like straight away so they’re aware of the offer before the decide whether to click on your email or not. Offering a special extra 10% or 15% discount offer for your user in their exclusive email to finish their checkout process. It will make them feel valued and their email will feel personalised as it’s not something everyone is getting. One of the reasons people might choose to abandon their cart is the price. The products may have come to a total more than the customer initially thought so offering a discount in your email could be a nice prompt to complete their purchase. And you don’t have to offer direct item discounts, you could offer other things like free shipping or a free item at the checkout when they complete their purchase.

Your email needs to read well on every device - expect that the majority of the email you send will be opened on a mobile device so make sure it’s phone friendly. Also you are asking a customer to click-through the reminder and take action so it’s important that when they click the link they are directed to their abandoned cart, not an empty one.

Final round-up

In a recent study conducted in relation to cart abandonment emails, over half of users felt that reminder emails were helpful. And as we saw, customers that are sent cart abandonment emails tend to return to make that purchase. It is worth sending good, personalised emails to customers that do not go on to make a purchase - but within reason. Don’t spam them - You want to send your first recovery email in the first 24 hours of cart abandonment, then leave it to see whether any engagement takes place.

Sometimes item abandonment can happen without the customer meaning to and sometimes it happens due to reasons like cost, which can be won by a personal discount code via that email. Either way, you have a good chance to bring customers back on to your website.

Finally, sending out these emails also lets the customer know you care about their custom and have paid attention to their items. Being specific - including images of their basket - these are the types of details you need to pay attention to.


Design Sprints for Validation

How to Use Design Sprints to Rapidly Validate Your Ideas

What is a design sprint?

In short, it is a time boxed exercise and it’s all about collaboration. A 5 day process that helps answer critical business questions through prototyping, design and user testing ideas and it was first developed by GV (Google Ventures) who studied over 300 different business strategies. Sprints allow your team to reach well planned out goals and gain key learnings as well as test ideas out, but fast.

The process is there to help spark innovation and bring your team together under one shared vision, and to help you reach your goals quicker. It is advised around bringing on no more than 7 members to a design sprint. For instance you may be wanting to bring everyone together to see how you can make the user's journey on a website better.

There is even a publication on this business strategy, Sprint by Jake Knapp, that aims to help business owners to improve that claims to help  you “fast-forward into the future”.

How does a design sprint work?

There are three times you may need to use a design sprint and these could be; when you’re trying to reach a goal or do something quickly, when big challenges need solving or when you’re stuck.

Before the sprint begins, you need to have the right team there. Someone from different parts of the process. It could be your tech person, your design person, your marketing person, whoever you’re bringing together make sure you have someone from each field who is responsible for the final product.

You and your team will then get together for an uninterrupted 5 days to work together to create new ideas or products for your brand and begin by reviewing everything you know about the problem, to end on not only a solution but a prototype.

Planning your sprint

There are several things you need to make sure are prepared and planned before you can conduct your design sprint. Firstly, it is crucial to do some pre-sprint research before you begin your first day. This could be in the form of interviews with current or prospective users. The goal is to plan ahead and set the stage without overwhelming the team with too much initial information.

Prepare your working space, the right room is important. It may sound obvious but a big, well equipped room is important. Make sure there are enough windows, whiteboards, pens, computers- whatever you need. Remember to stock up on supplies and organise the days well so that everything is ready to commence with no glitches or interruptions. It is also recommended that sometimes an off site location is a good idea, not the same place you work daily.

Assemble a plan together that you will distribute. It doesn’t have to be thoroughly detailed as things to should flow naturally as ideas develop, but should still give people a sense of what they’re going to be doing and what the agenda is for each day.

Why should I use a design sprint?

In many cases, a Design Sprint will lead you to something that gets initial user validation, where the next steps are defined. You’ll have reduced risk by doing some validation early, and develop next steps faster than would have otherwise been possible. What makes the Design Sprint approach most effective is the structured, time-constrained framework with the right exercises.

A design sprint can stop you from creating the wrong thing or wasting precious time going back and forth with other people. Instead, all the stakeholders (those that have a steak in the project) are together in one room. The purpose of the Design Sprint is to get answers to a set of vital questions, not to produce the prototype for the next version of your solution.

The other question is, do you really need 5 days? Different lengths of sprints were tested. From 3 days, up to a month long. The best results were found with the 5 day sprint. This is because it allowed people enough breathing room to focus and not feel overly stressed, while also maintaining the factor of urgency to get things done.

One of the most valuable things about a design sprint is that it saves precious time. Though it can sometimes be difficult to set aside a whole day, let alone 5 whole days, in the long run it’s very valuable. It is also a great way to test out big ideas. Low-risk ideas with high confidence usually don’t need the attention and structure that a Design Sprint provides. So even though it may sound like a high price to pay, it will be worth it.

Final round up

One of the most important parts of it (if not the most important) is your team. If you have the right team it will work. So spend some time when picking members to be involved and make sure you have an expert from each area.

The results tend to be qualitative and focus on perceived value. Design Sprints are not a substitute for usability testing and should come much earlier in the process.

Design sprints initially cost you money and the fact you have to clear out 5 days to conduct one may seem daunting but in the long run they actually save you a lot of time and money over the lifetime of the project.

As long as you have your goals, your schedule planned, your team and a good working environment, there is no reason why you cannot have a successful design sprint. All the back and forth and the ‘middle men’, if you like, are removed from the normal decision making process to allow you and your team to come up with important changes.


eCommerce Site Search Best Practice

eCommerce Site Search - Best Practice

In this article, we discuss the importance of a good search bar and how to make the most of yours.

On eCommerce sites, up to 30% of visitors will use the site search bar to navigate.

These users are showing a clear intent to purchase by entering product names they may wish to browse. Therefore, you want to ensure you’re making the most of it and create the best experience for your visitors.

Make it easy to find

This probably sounds simple but it’s very important - make it easy to find. If the user can’t find the search bar, you could be losing out on that potential extra 30% of sales. It doesn’t necessarily need to be too big or bold but users should be able to find it quickly when they arrive at a page and look around. Here, Halfords have gone as far as to dim the rest of the site when a user clicks on the search box.

Positioning the search box

The position of the search box on the site can influence the user's decision to make use of it to look for products. Navigation should be clear across the entire site, including the site search boxes. This is so that visitors can move around easily, whichever page they happen to arrive at.

However do bare in mind that you want to avoid any confusion on your site. So to do so, make sure you do not locate the search bar too near to other boxes, such as newsletter sign-ups or postcode searches for stock information.

Use autocomplete for site search

By applying this feature to your search bar you improve the search experience by reducing the work that the visitor needs to do. As they type, products are suggested. The use of images not only provides a visual appeal but it also allows them to check the products quickly, such as is shown with PrettyLittleThing.com

If I were the user and I typed in ‘red’, not only do suggestions appear, such as ‘red crop top’ and ‘red denim skirt’ but images appear too which makes the experience for the user better as they get to instantly preview the items.

Filtering the results page

 

Whether a customer clicks or leaves your website can be down to your search results page. Not only do you want the searching experience to be easy and hassle free, you want to bring up relevant results.

With a good site search engine, you should be able to customise your users search to great deal. For instance, if you were a womens fashion retailer, one of your visitors could search for ‘black dress’ and all black dresses would appear. I have used retailer ASOS for this example (see images).

That user should then be able to filter their search more by features such as size, length (do they want a midi, mini or maxi length?), price and so on. Using filters helps to narrow down the options available for the customer so they aren’t overwhelmed and can therefore find their desired item faster.

You can see that just by adding a few filters the search for black dress has gone down drastically.

Track your searches

Some tools you should be taking advantage of are Google Analytics and Google Keyword.

The majority of search engines or hosted searches will keep a list of search terms that users have been looking for on your website. This is a great way to keep track of what the most popular items are and you can see what users are after. With this information you are then able to place these items nearer the top of search results.

Leaving the right breadcrumbs

It can be very irritating when a website produces breadcrumbs like Home > Search > Your Search Result. But leaving the right breadcrumbs can make the users life much easier. People use them to get a more precise search. Helpful breadcrumbs allow people to search without clearing everything and starting from the beginning.

For instance, using this John Lewis camera search query, we can see that convenient breadcrumbs have been left on the site. The item selected while browsing, in this example the Sony camera, might not be exactly what the customer is looking for, therefore leaving useful breadcrumbs such as ‘Cameras & Camcorders’ or even ‘Electricals’, makes searching easier. Furthermore, a faster and hassle-free shopping experience will more likely result in a sale.

Make sure it works and it’s fast

Or risk losing revenue. There is correlation between the amount of users who purchase something from your website and the load time. The same is true for search results. When load times increase, profit decreases. Amazon reported that “one additional second would cost them $1.6 Billion dollars in sales”. Therefore, run tests and ensure your load time is acceptable - this includes checking the load time on mobile devices.

When considering search result load times, even loading time by half a second can be detrimental. In 2012 Google conducted an experiment on search results by increasing results from 10 to 30. The outcome showed that revenue and traffic decreased by 20% because the additional search results took milliseconds longer to load.

Give search suggestions

Placing suggestive text in your search bar will encourage or prompt the user to search for something on your website, but make sure you limit your hints to just a few words.

Not only does a sample search query give them suggestions but it also makes it clear on what they can search for on your website and how many criteria are available. For instance Triavago.co.uk search for hotels and have given ‘New York’ as their search sample, whereas Odeon have given multiple samples, ‘Films, Cinema’s and Questions’.

 


Getting directions with Google Maps API

How to Get Directions with the Google Maps API

This blog post offers a simple solution to providing a ‘get directions’ feature on your website.

I recently had the task of getting the directions from the current user’s location, to the location of a store, as part of an eCommerce project. For this particular application, I was working on the SAP Hybris platform but the process should be the same for any of the main platforms such as Shopify Plus, Magento, BigCommerce etc.

I found the documentation on Google Maps to be a lot more convoluted than necessary. The directions in the documentation explain that you need to use the `DirectionsService` that google maps provide as part of the API, as found in this example.

This is not the case, although you will still need the location in which you would like to direct the user (i.e. the latitude/longitude, or the name of the place).

Assuming you wish to set the start location as the user’s current location, you can achieve this by simply using this endpoint,

<a href="https://www.google.com/maps/dir//{latitude},{longitude}"> Get directions </a>.

There is also an opportunity here to set various rules on how the directions should be set, such as the mode of transport, the travel time, waypoints, and much more. All of these options can be found here.  But, to save you the click, here they are;

{  origin: LatLng | String | google.maps.Place, // where you will begin  destination: LatLng | String | google.maps.Place, // where you will end up  travelMode: TravelMode, //driving, train, boat, transit etc  transitOptions: TransitOptions, // only applies if travelMode is provided  drivingOptions: DrivingOptions, //you can set the departure, and pessimistic or optimistic driving coniditons  unitSystem: UnitSystem, // metric or (the archaic) imperial  waypoints[]: DirectionsWaypoint, // places to stop off on the way  optimizeWaypoints: Boolean, //when true, it chooses the shortest route  provideRouteAlternatives: Boolean, // when true, gives more than one way to get to the destination  avoidFerries: Boolean,   avoidHighways: Boolean,  avoidTolls: Boolean,  region: String}

TLDR;

<a href="https://www.google.com/maps/dir//{latitude},{longitude}"> Get directions </a>

Note: the two  `//` after `dir` are required, as otherwise it will assume you are setting the starting location.


Customer Feedback, Relationships and Reviews

Reviews Matter: How to Build a Better Relationship with Your Customers

Some easy tips and tricks on how to make the most of reviews on your website and increase credibility

Having a good relationship with your customers is arguably the most important part of running a business. After all, happy customers, happy conversion rate.

And one quick, uncostly way to do that is through reviews.

According to statistics, ‘92% of people will trust a recommendation from a peer & 70% will trust a recommendation from someone they don’t know’. And with more than one in ten customers reading online reviews, your customers will be your best form of marketing.

Having a product reviews section on your website will mean your products have the backing from your consumers. Those that have bought, tried and tested, your products will be able to review them for other potential consumers that may be browsing the site (and hopefully they will be vouching for you).

Equally, it is important to never remove any negative reviews. This would be dishonest, and that isn’t the message you want to be sending out where your business is concerned. Instead, E.g. if a review says "My product arrived late" replying and saying "We're sorry for the confusion, please get in touch and we're happy to refund your delivery". Customers understand that things go wrong and more interested in the solution.

This approach will appear more professional and suggest that you care about your customers and about improving not only your product but your business. Make the most of these comments. It’s a good way to see things from the other side too!

And it’s not just written reviews. Thanks to social media, your customers can now give you social testimonials.

So for instance, let’s say your business is fashion related. A customer may post a photo of her new dress on social media. She just can’t wait to wear it out this Saturday and tags you in the caption or mentions your brand when one of her friends asks “where’s it from?”. Now, all of her friends and followers that saw her post are aware of who you are. They may even visit your site. And one great tool you could use to help with this would be Yotpo. They allow you to “combine reviews and photos with customizable display options that enhance your brand”.

Whether you’re in the fashion industry, tech, sports, whatever it may be, ultimately the principle works the same. People buy from people.

So not only can reviews potentially make your products more credible but if used in ways like social testimonials, it can generate advertising and reach extra audiences you may not have otherwise.

Is your business making the most of reviews?

 


Website Speed Tips

6 Tips to Increase Your Website Page Speed - Part 1

As anybody who knows me will tell you, I’m a huge self-confessed web performance geek, I love websites that download fast, I believe that fast internet is a basic human right and I think hotels that claim to have WiFi but instead have LiFi (WiFi that doesn’t quite seem to download anything) are criminal and should be boycotted.

This means that I’m always on the hunt for a good website performance technique and I thought I’d share 6 of the best web performance techniques that work every time.

Reduce the size of your images

The most commonly overlooked technique to get a faster website, can not only give you some of the biggest rewards but it’s also the easiest technique to implement.

There are a few areas in which you can reduce the size of your images:

Reducing the aspect ratio
This sounds very obvious but a huge amount of websites I’ve optimised and found that their main banner at the top of every page is 5000 pixels wide but is being displayed at 20% that. Just by reducing that you can save yourself a huge amount of bytes and therefore save your users from a huge download for no real benefit.

Make sure you’re showing the right image for the device
If your customer is viewing your product on their mobile, show them a version of the image that’s no wider than the device. When CSS is used to reduce the size of an image, it’s still the same size to download, just the browser then has to process it to the size required by the CSS, adding more time. Consider looking into srcset which is becoming more widely supported.

Compress the image

Tools like TinyPNGTinyJPG and ImageOptim can save your users from many kilobytes of download without reducing the visual of your image in any way your users will notice. This means that you can save a large amount of bytes on your page, without actually impacting your users. If you can have this built into your media upload, you don’t even need to think about it.

Reduce the ‘quality’ of the image

By reducing the quality of our images, we’re really talking about simplifying the amount of colours being used. This means that we can not only reduce the file size but also making tools like Gzip more effective. Other more advanced techniques of this include reducing the quality significantly to the point where you can see but saving the image at double the resolution, this has been proven to deliver even smaller file sizes without impacting the asset visually.

Remove old and unneeded code

Technical debt is an unavoidable part of any development, making sure you go through and remove old CSS, HTML and JavaScript is hugely important, though.

A few common areas that get overlooked regularly:

Removing vendor files

Pulled out an old version of a carousel or a split testing tool, make sure to pull out the assets as well, that includes the JS and CSS that goes with it.

Removing losing variants of split tests

Very often I’ve seen examples where 2 or more versions of the same element have been created and tested. After this has been analysed and a winner decided, the traffic is pushed down one stream to the winning variant only for the old versions to be forgotten about. Make sure to remove any old code associated with the losing variants of the split test.

Not including the entire framework

This is the most common cause of removing unneeded code, when people include frameworks like Bootstrap or Zurb, they very often include the entire framework, this means all the JS and CSS that build elements that the website might never even use. You can build these files up as and when you need them by not including the unneeded Sass files or only downloading part of the JS. For instance, the entire bootstrap CSS and JS is 668KB whereas the bootstrap grid is just using the grid is 13KB. You can use the customize tool on the Bootstrap website to do this for yourself and tailor the download to your needs.

Prioritise your assets

This is equally as important as anything else, make sure you’re downloading your assets as and when you need them. The simplest case of this is making sure to put your CSS in the head of your file and the JS in the bottom.

Even more than this though we can look at preloading pages and lazy loading.

Preloading

Preloading is when you download an asset before the user requires it and store it in cache or local storage, this means when they get to the area of your website where you think they might need it it’s already available and you don’t have to download it. A good example of when this could work is if you have a booking flow on your website, your booking flow will probably have some extra functionality, so before the user clicks on the search button on your booking engine, you could preload some of this functionality meaning you can load the page quicker and hopefully convert that user.

Lazy loading

Lazy loading is the other side of this, delaying your assets on the page the user is currently looking at until they actually need them. If for instance, you’ve got a gallery on your page, you don’t need to load all of the images the moment the user lands on the page. A more optimal way of doing this would be to download nothing at first, this allows for the first render to happen. Once we’ve displayed the page we download the first couple of images, and maintain being 1 or 2 images ahead of the image in view. This means you’re not downloading images that your user might not ever see but still make your users feel everything is instant as they slide through your gallery.

This is part 1 of a two part series, read part 2 here.

Everything I’ve said about are all web performance techniques that actually work, I’ve implemented them, I’ve seen the results and I can vouch for them.

I’d love to hear your stories implementing some of these results, equally, I’d love to hear some of your web performance techniques that do or don’t work, so please reach out in the comments.


Universal Javascript

Tackling Universal Javascript

Tackling Universal Javascript - the benefits of server and client-side rendering

What is Universal Javascript?

Simply put, ‘Universal Javascript’ is javascript that is capable of running on both the browser and the server, but also on native devices, embedded systems and more.

It’s also referred to as ‘Isomorphic Javascript’ as there is some confusion regarding what ‘universal’ and ‘isomorphic’ mean in the context of Javascript. It was decided by community leaders, that, in fact, it’s best to call it Universal.

So, now we’ve cleared that up, let us move on.

Why Universal Javascript?

The reason the decision was made to use Javascript say instead of say C#, PHP, or any other popular server-side language is because javascript allows the junior members of our team (including me) to use our front-end skills in a more productive way. This grants us the ability to be introduced to powerful concepts such as REST, and HTTP, without the added mental stress of learning a whole new language, abstracting away from the language itself and focusing on the concepts behind what’s happening on the client, and the server.

It’s a great environment to develop and nurture both front-end and back-end skills, and removes the necessity of context-switching, leaving us to think about the important parts of our application rather than the implementation details, and stressing over semi-colons.

Furthermore, another selling point of universal JavaScript is the fact that it runs on every device. iPads, iPhones, Android, Raspberry Pi’s...  whilst, PHP for example, can not. This, I believe, gives Javascript a unique ‘future-proofed’ status among programming languages, as it provides us the freedoms of using experimental javascript and device features without being limited by the browser, allowing us to create cutting-edge solutions for our clients, as the language evolves. Also, given that Universal Javascript is in it’s relative infancy; it has some huge industry backers. These include NetflixAirbnb to name a few.

Universal Javascript also gives us the added benefit of a substantial performance boost. The templates created in our components can be rendered on the server; and plain HTML can be sent the client. This benefits the user greatly; as it will provide them with a viewable media faster, without relying on fast loading speeds, location, device speed or any other of the factors regarding the user's experience outside of our testing environments. This, in turn, reduces the bounce back rate, providing more conversions for marketers. More benefits include ‘perceived speed’, which is where the user thinks your site is faster than it actually is; this can be achieved by critical CSS rendering; which is where the ‘above the fold’ content is rendered as quickly as possible, which in turn gives the user the content that they want, faster.

Universal Javascript also offers SEO benefits. One of the biggest disadvantages to building a Single Page Application (SPA), is the fact that it’s all rendered on the client. What does this mean? Well, this means that google's, bing's, and yahoo's’ webpage crawlers aren’t able to interpret client side code; because they crawl the server pages. However, with Universal Javascript, these pages can be pre-rendered on the server, giving accurate content to the crawlers.