Wednesday, 20 January 2016

The Pros and Cons of One-Page Checkout

Shopping cart abandonment is an epidemic in online retailing, with some companies reporting that more than 60% of checkouts end without a conversion.

Preventing even a relatively small percentage of these abandoned carts would significantly improve revenues and profits.

While purchase price and shipping costs are the leading reported causes of shopping cart abandonment, ease of use is close behind.

One increasingly popular method used to slash cart abandonment rates is to introduce single-page, Ajax-driven checkout forms that combine the convenience of a single page format with asynchronous form validation.

Single-page checkout is faster and easier so that more customers convert.

When you’re trying to decide if your checkout process should be a single page or several pages, consider the analogy of a supermarket. When shopping, consumers always gravitate towards the shortest checkout lanes or fastest cashiers. By definition, a single-page checkout is faster than a multi-page checkout if for no reason other than there are no additional pages to load.

Single-page checkout forms, particularly those that use javascript to march shoppers through the process, also provide better step-by-step visibility. Shoppers know what they must do and where they are in the process.

If you have ever filled out a long online form, clicked submit, and then had the form erase everything they input and return a message like “address not valid,” “passwords don’t match,” or “please answer question #2,” you will understand the value of AJAX.

AJAX addresses this issue by validating the form while the shopper fills it out. Server calls - if needed - are made asynchronously without reloading the page or potentially erasing the form. Users get feedback as soon as a form field is complete (when they click into the next field), not once the form is submitted. In some cases, the javascript might be able to do the form validation without connecting to the server at all.


The PROS of Using a Single Page, AJAX Checkout Process
  • More conversions - Single-page checkouts have been proven to significantly improve sales conversions, boosting a merchant’s bottom line.
  • Better page performance - While dozens of factors contribute to page load times, using a single, AJAX-powered checkout form should improve user experience. This is important since many studies suggest consumers won’t tolerate slow loading pages.
  • Better customer satisfaction - With better performance and no annoying form validation issues, customers should enjoy a better overall shopping experience.
  • Advanced Interactivity  - Once a merchant has decided to add AJAX, it’s possible to make the page more interactive, which again, may improve customer experience.
The PROS to using an AJAX, one-page checkout process tend to focus on customers and profits. By contrast, the CONS tend to be development related.

The CONS of Using a Single-Page, Ajax Checkout Process
While there is generally no reason to use a multi-page checkout, there are things to consider when using Ajax.
  • It won’t work without javascript - AJAX depends on javascript, if a user has javascript disabled, the page will revert to server-side validation.
  • Some browser functions won’t necessarily behave as expected - Because AJAX does not reload a page to update content the browser's back button will not bring the user back to an early step in the checkout as might be expected. There is a work around, but it requires more development time.
  • AJAX requires more upfront investment - Because AJAX will increase development time, merchants may have to pay a little more or use more development hours.

Thursday, 26 November 2015

How not to write good product descriptions

As Christmas approaches, many ecommerce sites look to optimise their sites so they can be found in search engines, increase conversions and ultimately boost sales.  One of the most obvious ways to do this is update (or write) product descriptions across the site.  Usually if you're an ecommerce site, you sell products online, and the item or product page is where most customer decide to add that product to their cart.

Here are some ways not to write product descriptions.

1) Focus on features - Many retailers focus on the features of a particular product. This doesn't sell your product, you should instead focus on benefits.  Why do I need this 48" LCD TV?  You might be tempted to write on your product page, 'Amazing 48" LCD TV, Flatscreen, 4 HDMI ports, USB and flashing lights..".  Yes this is useful, but is it making me want to buy it? may be... but what if you focused on the benefits? 'Stunning 48" HD Flatscreen LCD Television, perfect for watching the FA Cup or catching up with your favourite soap'.  Straight away I can see the benefits of having this TV.  I can watch the football or Corrie in crystal clear Hi Def.

2) Use Manufacturers Text - Many people copy the manufacturers product descriptions directly from their site or brochure to populate their own item descriptions.  Great!  Now you have the same text every other person selling that product has.  Not too good, I would imagine for SEO if you and 26 other retailers all have the same text word for word.  Taking the time to reword standard copy lets your customers know you care about the product to make sure you know what you are selling.

3) Write for search engines - It's great to write friendly content for search engines, make sure you have keywords and important information in the descriptions, but don't over do it.  Many descriptions are written with search engines in mind and although SEF or SEO'd it just doesn't read well to customers.  Search engines don't buy your products, customers do, and if they can't read your description for all the bold HDMI, LCD and Samsung keywords that's not going to do anyone any good.

4) Go heavy on text - It's great writing descriptions and product information, but don't write War and Peace.  Customers don't like to read!  They want short, sharp sentences or even better bullet points.  Sell the benefits of your product as quickly as you can to your visitors. Don't waste their time or yours with long-winded and pointless reams of text.

5) Ignore grammar and punctuation - This just doesn't look good at all.  If I'm paying good money for a product online, I want to at least know the seller has taken the time to proof read what the material they are using to sell to me.  If I see a product description littered with punctuation, spelling or grammar errors I lose confidence quite quickly in the whole operation.


I hope these are of some use,

Thanks,

Thursday, 20 August 2015

3 Layers of Static Code Analysis in PHP

Every developer should be running some form of static code analysis on their code regularly. A recent article I read about how this is done at Etsy makes for what I believe should be a minimum standard of code analysis for any team of developers work on a shared codebase. We shall assume you are committing your codebase to some form of version control on a regular basis.

The 3 layers can be summarised as:
  1. Sanity Checks
  2. Formal Checks
  3. Security Checks


Sanity and Syntax Checks


In Stage 1 we perform basically a sanity check of the code. Are there any errors, missing semi-colon's or just plain stupid things being committed to our repository and code base. This is essentially a case of running php -l against all our files being checked in or changed to make sure we catch these before they are committed and let you fix them before they are picked up by the wider team.


Formal Checks


This stage involves a more global analysis of the source code files, checking for thing such as:
  • Too many or too few arguments in a function/method call
  • Undeclared global or local variables
  • Use of return value of a function that actually returns nothing
  • Functions that have a required argument after an optional one
  • Unknown functions, methods, or base classes
  • Constants declared twice
This can be accomplished by using tools such as PHPCodeSniffer. This allows us to ensure the above are picked up, and also that our code is in compliance with our agreed coding standard. Any issues, the commit is bounced back with the opportunity to resolve before being integrated into the repository.


Security Checks


The final layer of analysis, the security checks can be more thorough and use tools to scan our code for OWASP vulnerabilities, or as Etsy do - scan the repository with Antivirus and assess for dirty URLs.

Etsy claim they use ClamAV to check for any files or bad code which might make it's way into the repo, such as MSWord or PDF files that are suspicious.  ClamAV also scans URL's and checks these against Google's Safe Browsing List to pick up on suspected Phishing or malware sites.

It is also possible to check here to ensure things like passwords aren't committed to repositories or specific naughty functions or processes are used.  This can then trigger alerts for code reviews or ping back to the developer advising to fix ASAP.


Tuesday, 18 August 2015

PHP Traits

PHP 5.4 introduced the concept of traits. Until Traits PHP used a classical inheritance model in which one class could inherit only one class. In simple terms; before PHP 5.4 PHP used the single inheritance model which made it difficult to reuse the code.

Traits allow developers to reuse sets of methods freely in several independent classes living in different class hierarchies.

Traits are a mechanism for code reuse in single inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies. The semantics of the combination of Traits and classes is defined in a way which reduces complexity, and avoids the typical problems associated with multiple inheritance and Mixins.

A Trait is similar to a class, but only intended to group functionality in a fine-grained and consistent way. It is not possible to instantiate a Trait on its own. It is an addition to traditional inheritance and enables horizontal composition of behavior; that is, the application of class members without requiring inheritance.


Check out PHP.net for more info.

Saturday, 15 August 2015

Keeping Account Management REAL

Account Management should be methodical. A process to work through to ensure nothing is missed.  The best way to do this is to remember 4 key stages.

The four key stages in account management are:

Recognise – The needs of the business, the customers' requirements and the role of the account manager
Evaluate – Our current customer base, prospect list, category and planning process
Act – On our plans, the sales process and required resources
Learn – From what we've done, sharpen the axe and move forward

Tuesday, 11 August 2015

How to Lose Your Clients

If you are wondering how account management could cause you to lose a client, please pay close attention. In my experience, account management is almost as important as results. Clients typically terminate accounts when they are confused or just plain frustrated with you. What are the common account management mistakes you should avoid? What are the best tips for success?

Account Management Mistakes You Should Avoid


1. Not writing a fresh email

One of the biggest mistakes I see people making is sending an email to their client with all of their internal correspondences included.

In other words, they went back and forth a few times with colleagues, and instead of writing a fresh new email, they just replied to the client from the last email they received from their colleagues.

This allows the client to see what you are saying back and forth to one another. Depending on what was said, you could really end up with your foot in your mouth.

2. Not being prepared

It's so easy to just copy and paste what someone else said to answer a client's question. The problem is, most of the time we don't really read what they wrote or get involved in the conversation.

Next thing you know, the client is calling you to talk to you and you have no idea what is going on. They might have follow up questions with regards to the multivariate test you are running.

Do you even know what they are testing or what the timeline is? You can really make a fool of yourself, and the company, if you aren't careful here.

3. Not clearly defining roles

As their account manager, the client expects to work with you and only you. It is almost pointless for you to act as account manager if you are putting them in contact with your SEO, your PPC person, your usability expert, and your analytics analyst. Now the client has to try and keep five people straight.

This will really stress the client out, and things won't get done. If there is one person they work through, they'll be more responsive and they'll be less stressed.

4. Not staying in contact

As the account manager, the client is relying on you, and only you, to stay in contact with them. You should be prepared to keep them up to date with progress reports.

Some projects won't require as much input from the client, but by providing them with regular updates they'll know that you are working hard for them.


How to Succeed as an Account Manager

The best tip? Make sure you don't make the mistakes listed above. Clients are looking for three things from you:

  1. Results
  2. Communication (with them)
  3. Internal communication

If you can provide them with insurance on those three things, you'll be off to a great start. My only other tip would be to never lie to a client. You'll only dig yourself in a deep hole and put yourself, your colleagues, and your company at risk. While you may not like the mistake you made, you should always fess up.

There are many ways to recover from a mistake. Lying isn't one of them.

Friday, 31 July 2015

Stop saying 'Just'

Dear Reader,

Client:
  • "I just need a blog."
  • "It's just a website."
  • "I just need a shopping cart."

In our industry “just” is a red flag, especially when it is coming from a non-technical person like a client or manager.

When you hear “I just…” in a discovery meeting, immediately stop and dive deeper. Unpack their entire idea until you are clear what they are asking for and you can described it back to them. Ask for clarification. Keep digging until you have explored exactly what they are “just” asking for.

Software development is a process of details. “Just” helps someone gloss over details and only look at the big picture. Like the iceberg that sunk the Titanic, most of the details of any software project is beneath the surface.

The next time you are tempted to say “I just need…”, just stop.


AI-Powered Tools Revolutionising Frontend Development in 2025

  As a Principal Engineer with over a decade in frontend development, I have seen tools evolve from basic IDEs to intelligent assistants tha...