Maintenance chores to keep your WordPress site in good health

Today, websites are more than just a ‘set-it-and-forget-it’ proposition. They are marketing machines that help you get new customers and leads. You might be planning to or already own one.

Regardless of what size and functions they inherit, this is true for all sites…for WordPress ones too. And complexity being the most ingrained quirk of websites nowadays, maintaining the website on a regular basis becomes a necessity.

As this will help you avoid being reactive, eschewing the risk of ending up with a chaotic, insecure and slow website that is hard to use for both admins and visitors.

The Blame Game

In a typical manufacturing facility, there are two primary groups: production (or operations) and maintenance. Likewise, a website entails two major phases – the development and maintenance (after going live).

If you have poorly trained operators then this will lead to reactive maintenance and destroy maintenance’s ability to efficiently maintain the factory. The opposite is also true.

Tension and blame games become a common scenario due to conflicts.

In the same way, installing the wrong versions of themes and plugins in the development phase can lead to a site break after going live.

Conversely, if you are not analyzing or worrying about achieving loading times under 1 second after getting the website live, you will probably never get a Mayday! signal from your code.

Both the phases are so intertwined and symbiotic in nature that they cannot be at opposite ends of the performance spectrum.

There are certain maintenance exercises that are needed to be assured in both the phases. The list of WP maintenance is endless.

But, we have sifted down some major practices to maintain good website health…

During Website Development

Set up your WP website with latest versions

It’s crucial that you always use the latest version of WordPress, themes and plugins.

Ensure that your plugin and theme developers coordinate their updates with major WP releases. Because with each new release, they enhance existing features, improve performance, add new features, and fix bugs to stay up to date with new industry standards.

So that you won’t miss out on new improvements/features, and risking your website to break.

Install plugins to plug website’s security holes

The security of your site is only as good as the backend and foundation it’s running on. Security plugins can save you from..

  • Hackers stealing your data belonging to your users
  • A compromised website that can malicious code to unsuspecting users

Sucuri, Wordfence and iThemes Security are some of the popular security plugins.

Use a Content Delivery Network (CDN)

There are chances that large images, CSS and JS files might have not been optimized taking a lot of time to arrive from the web server to the visitor. Whereas, your hosting server is hosting many websites together and response times are slow due to resource + bottlenecks.

A CDN is a network made up of servers all around the world that can help to speed up loading times for all of your visitors. And you can take a lot of load away from your server, because the heaviest resources are now hosted by the CDN.

Work on your code

There may be times you have to access the source code of your website. There are 3 main areas where you need to maintain a clean coding environment.

Commenting:

It cuts down time on edits and bug fixes which otherwise will be spent by the new developers or even by the same developer on figuring out what a particular code block does.

Linting:

It is another cool feature which enforces rules on the way we write code, and sometimes it corrects the code formatting itself.

Debugging:

Some popular examples of WP debugging plugins include Debug Bar, Kint Debugger and Query monitor.

Maintaining a live website

Back it Up!

The Rule-Of-Thumb dictates you must create a back-up of the data of your website. Sometimes it is also advisable to create more than one back-up and store it in different places to avoid any contingency.

Make sure to run backup plugins only during low traffic time on your website. You also need to adjust the frequency of backups and data that needs to be backed up.

Monitor website server uptime

There can be many occasions when your website is down and you’ll not even be aware of it. And this affects your business severely, website reputation, and user experience.

Use Jetpack, Down Notifier, and Pingdom plugins to monitor your website every specific minute via stats available on the dashboard. These plugins notify when your website goes down or is inaccessible.

SEO

The whole point to starting a business is to have clients. You get ranked on Google with most up-to-date and relevant information. They may even de-index your website entirely if it hasn’t been updated recently enough and if they suspect it has been infected by malware.

You must keep your website regularly updated via current content, news, keywords, permalinks, and rich snippets to rank well in search results.

The big dog in this picture – No..Not Speed!

Your website is a very important element of your business. It can cost you dearly, if it’s not in a good state or it can be a valuable asset if it is up-to-date and running smoothly. Once you are behind on your maintenance needs, it can be quite the process to bring the website back up to speed.

Do your business and yourself a favor by staying on top of your website. This will repay you with simple ease of mind. Devote your time what you’re best at: creating content and managing business.

Afterall you don’t want to wake up to alarm bells showing that something has gone south with your WordPress website.

Taking burden off you

It’s true that much of the work of maintaining your site can be automated.

But you still have to set it all up. You have to take the time to check any issues and you may have to fix them too. That will require you to learn about website security, error logs, or 404 pages.

Which is why it can be helpful to hire WordPress maintenance professionals. As a good WordPress maintenance expert not only fixes problems but also finds ways to keep them from happening again.

9 web app development frameworks that continue to dominate 2020

App development frameworks are at the front and center of the development community. Backend and frontend frameworks are continuously taking inspiration from each other to ensure smooth development and deployment of web and mobile apps. In such scenarios, factors like learning curve, community support, programming language, and flexibility become the deciding factors. In this blog you will find USP’s of the most popular backend and front end frameworks which can help you narrow down the one that works best for your product.

Backend frameworks

Ruby on Rails

Screenshot of Ruby On Rails  Github page
A popular server side framework, Ruby on Rails (RoR) works on the MVC model to facilitate interconnection of parts. It uses HTML, CSS and JavaScript for user interfacing and for data transfer JSON and XML. You can use Convention over Configuration and DRY features which will speed up your overall coding process. RoR also makes testing easy via test automation thus accelerating the debugging process.
  • Release year- 2005
  • Programming language- Ruby
  • Use cases- AirBnB, Shopify, Github, Basecamp

Django

Screenshot of Django Github page
Django is a full stack Python development framework which uses the MVT (Model-View-Template) structure, a modification of MVC model. This framework comes with user authentication, ORM, testing, caching and many other mechanisms thus making the development process swift and efficient. The documentation is excellent and this was in fact one of it’s differentiating factors in the open source community. Till date, more than 12,000 projects are known to be built using this framework.
  • Release year- 2005
  • Programming language- Python
  • Use cases- Instagram, NASA, Pinterest, Quora

Laravel

Screenshot of Laravel Github page
Laravel comes with 20+ pre installed Object-Oriented and Modular libraries which helps in building responsive web applications. The Artisan built in command line tool automates all the major repetitive programming like database structure creation, skeleton code, etc. Advance security systems like Bcrypt hashing algorithm, salted and hashed passwords are used for storing all your user’s passwords in encrypted forms. And it also facilitates writing and running multiple unit tests.
  • Release year- 2011
  • Programming language- PHP
  • Use cases- Barchart, Alison, Mailcoach

ASP.NET Core

Screenshot of ASP.net Core Github page
Developed and designed by Microsoft, ASP.NET Core is known for its ability to build rich and dynamic cross platform apps. Core applications made using ASP.NET do not require IIS hosting, they can now be self hosted. HTTP’s size request has come down to 2kb in core from ASP.NET’s 30kb, thus improving performance. The compilation is easy as it is executed within the memory which starts functioning as the browser is refreshed.
  • Release year- 2016
  • Programming language- .NET
  • Use cases- Kentico, elmah.io, SwitchThink

CakePHP

CakePHP comes with zero preconfiguration, making it a hassle free process for developers. It auto detects the settings and all you have to do is configure your database, rest will be taken care by the framework. This framework offers a range of core tests and custom made tests, fulfilling the requirements of all the developers on board. Built in tools like CSRF protection, SQL injection prevention, XSS prevention give a good security layer for your web app.
  • Release year- 2005
  • Programming language- PHP
  • Use cases- teamspeak, blendtec, BMW

CodeIgniter

To begin with, the entire source code of CodeIgniter is around 2MB only. This small footprint makes it easy to manage and update the framework. The error logging done in this framework helps in building a webapp with minimum errors. CodeIgniter helps in developing SEO friendly URLs by generating clean URLs. And security features like Input Data handling, XSS filtering, password handling give it an edge over other frameworks.
  • Release year- 2006
  • Programming language- PHP
  • Use cases- Buffer, Nissan, Casio Computer

Frontend frameworks

React

React is developed by facebook and is often referred to as a javascript library instead of a full fledged framework. But that did not hold it back from gaining popularity in the front-end community. Its features like component based architecture, JSX syntax for DOM manipulation and fast rendering views make it a popular choice among front end developers.
  • Release year- 2013
  • Programming language- JavaScript
  • Use cases- AirBnB, Uber, Medium

Angular

Angular was created by Google for making single page web apps and mobile apps. Within the MVC architecture two way data binding helps in automatic synchronization between model and view. Tree shakeable feature help in removing unused code, reducing your app’s size. There is limited data that is sent to and fro after the initial page is loaded, thus enhancing the overall user experience.
  • Release year- 2010
  • Programming language- JavaScript
  • Use cases- Forbes, Samsung Forward, Delta

Vue JS

Vue is a framework that was built taking inspiration from React and Angular, thus its learning curve is shorter. Vue is a progressive framework i.e. you can use Vue for any part of your already developed product and there will be no glitches. It’s simple and straightforward architecture makes error finding and solving much easier.
  • Release year- 2014
  • Programming language- JavaScript
  • Use cases- Louis Vuitton, Upwork, Wavetrotter
For every framework you deem fit for your product, you will come across some critics. And since no framework is perfect, you will need to stick to your selected framework and find ways to make it work for you. The more time you spend with one framework, it will help you in learning the others quickly.

Efficiently tackling complexities with Docker and Kubernetes

It all started with taking on the monolith code by microservices, and shaping the final product into a lego-like software.

Services like shopping carts or the payment option began to be written as separate pieces of software. Technologies like orchestration (K8s) and containerization (Docker) are helping companies in outstripping profitable parameters from making easy-to-deploy applications to handling the huge rush on a big sale day.

K8s and similar technologies like Docker Swarm, are technically known as container orchestration platforms designed to support large and distributed systems, and the sales pitch is:

Run billions of containers a week, Kubernetes can scale without increasing your operation team. Well, even if you have 10-100 containers, just imagining we are not all Google size…still it’s for you.

If you are at the beginning of the journey or just considering adopting K8s and Docker containers for your cloud infrastructure, this post will hopefully help you evaluate some of the major advantages offered by these technologies.

Squeezing every ounce by avoiding vendor lock-in

Migrating to the cloud can bring a lot of benefits to your company, such as increased cost savings, flexibility, and agility. But if something goes wrong with your CSP (Cloud Service Provider) after your migration, moving to another cloud vendor can incur substantial costs. No portability support and the steep learning curve are a couple of the reasons why it becomes harder to switch vendors.

Kubernetes and Docker containers make it much easier to run any app on any public cloud service or any combination of public and private clouds.

Container technology helps isolate software from its environment and abstract dependencies away from the cloud provider. And it should be easy to transfer your application to a new cloud vendor if necessary, since most CSPs support standard container formats. Thus easing the transition from one CSP to another making the whole process more cost-effective.

Rolling back the deployment cycles

There is an increasing demand to decrease the delivery time and be able to ship more number of features at a time. Manual testing and complex deployment processes can cause post release issues which worked in testing, but failed in production, resulting in delays in getting your code to production.

K8s and Docker containers help you shrink the release cycles through declarative templates and rolling updates.

It is the default strategy to update the running version of your app. You can deploy such updates as many times as you want and your user won’t be able to notice the difference. Moreover, with its production readiness, you can ensure zero-downtime deployment when you wish not to interrupt your live traffic.

Adapting the infrastructure to new load conditions

When the workload to perform a particular business function suddenly increases, the entirety of a monolithic application has to be scaled to balance the workload. This results in consumption of computing resources. And in the world of cloud, redundant usage of resources costs money.

Especially, in the case when you have a 24/7 production service with a load that is variable in time, where it is very busy during the day in the US, and relatively low at night.

Docker containers and Kubernetes allow scaling up and down the physical infrastructure in minutes through auto-scaling tools.

Scaling is typically done in two ways with Kubernetes:

Horizontal scaling:

When you add more instances to the environment with the same hardware specs. For example, a web application can have two instances at normal times and four at busy ones.

Vertical scaling:

When you increase your resources. For example, faster disks, more memory, more CPU cores, etc.

Kubernetes and Docker container technologies are now seen as the de facto ecosystem. It can lead to great productivity gains if properly implemented into your engineering workflows, and adopted at the right time.

You can make the move especially when…

  • Your team is facing trouble managing your platform because it is spread across different cloud services.
  • Your company has already moved its platform to the cloud and has experience with containerisation, but is now beginning to have difficulties with scale or stability.
  • You have a team that already has significant experience working with containers and cloud services.

But what about tons of configurations and setup that is required to maintain and deploy an application, you will ask.

Well to be honest, the amount of benefits it offers deserves a little bit of complexity.

Why Design QA should be a non-negotiable part of your process?

Did you ever happen to spot some inconsistencies in your product’s design that were not there in your prototype? The color being a bit different, some changes in the font style or micro interactions not working the way they are supposed to.

You think that some of these errors could have been avoided if a designer was shown the coded version before the app release. And you are not alone in thinking like this. There is a solution to combat this problem.

The answer is… Design QA.

So what exactly is Design QA and how does its implementation resulted in streamlining our product cycle. Here are some tips and tricks for you that we learned along our journey.

Defining Design QA:

Design QA is a cross verification process done by designers. It entails checking for any inconsistencies in your copy, visual aspects, micro interactions, and the likes of the code developed before the release of your product.

Why is it neglected from design sprints?

In many organizations, design sprints are very elaborate, taking a full week or longer. And this is prior to the developer hand off. Once this is done, designers move on to other projects with no further updates on the previous product. Bringing designers back for the review is not considered by many. And some other common reasons we hear for neglecting design QA are:

  • A misconception in the design world is that a designer’s work is done after forwarding Zeplin links and Invision prototypes. But that is seldom the case.
  • Design QA discussion can cause friction between designers and developers, making it an uncomfortable conversation to have at times.
  • Design QA is seen as an add on step in an already elaborate design sprint. When teams are working under time constraints, collaborating with designers for more reviews is not ranked high on the priority list.

Why did we implement it in our process?

The reasons for design QA to be a part of our process is nothing different from what the experts vouching for it say. We pitched it to our clients explaining its importance and what benefits will they get after its successful implementation. Some major factors that drove us to inculcate it within our process were:

It’s a pretty underrated time saving hack

Design QA will be good for your long term goals. Getting a few extra hours of your designers is better than a few extra days of your developers to search, spot, and iterate for design inconsistencies after the app release.

Better collaboration between your designers and developers

When designers and developers are in the same room (or call) it will help in solving the issues at hand quickly. Your designers will be aware of the technical issues that developers are facing and will account for such issues in the future.

Developers will also get insights into how designers have envisioned the final product and code to bring out the same in the product.

No surprise design inconsistencies

A designer’s work does not end after a simple functionality test of buttons and interactions. Instead, they evaluate the design elements behavior right from the speed of the interaction to the feedback of an action being performed, will there be a slide-out option or slide in, you get the picture.

Minimum design debt

Design debt is accrued over time when small changes and improvements are kept for the next sprints every time they are brought up. As this pile keeps on growing, it results in a bad user experience. And there will be a point where no amount of small tweaks will make it better and you end up rewriting your whole product.

Integrating Design QA in our existing process ensured that we never went back to square one because of design debt.

You’re convinced that it belongs in your process, now how do you implement it?

We know that it is easier to say rather than execute any changes in your workflow. But how to transition from ‘thinking’ to ‘doing’? Here are some tips that have helped us in including design QA within our workflow.

  • Start out together

The first and most vital thing that we have learned is to involve stakeholders from various product stages in the initial meetings. This helps in seeing the feasibility of the product’s features and setting the right expectations for everyone onboard.

  • Sort issues on the basis of priority

You will face numerous issues when testing the final product from the design point. But not all these issues have to be solved right away, some can wait till the next sprint cycle or are the icing on the cake type features.

When discussing with your developers, define priorities to get the critical issues addressed before ones that are only for aesthetic value addition, this way you are making your developers life a tad bit easier.

  • Have a checklist ready

We all know how good our memory is when we need it the most. Having a reference checklist when design QA is carried out will ensure that we don’t miss out on essential checks. Look for text alignment, colors, content placement and spacing.

You also need to check for the accessibility of the design. Here again, a checklist sorted on priority basis makes it easier for everyone involved.

  • Start the review the moment you get your hands on functional prototypes

We believe that there is no fixed timeline that needs to be followed when it comes to review cycles. Infact, the earlier the review cycle starts, the better. Waiting till the last moment can lead to unexpected delays in the launch of your product.

Getting a designer review on the product’s features will keep the development going in the right direction.

  • Give reasoning behind your feedback

Just saying that “this does not look/feel right” defeats the purpose of reviews. You should back your reviews with proper reasoning and even document them for references. This will not only help your developers but your designers as well to evaluate what they like the best and why.

Design QA has helped us ship perfect products reflecting the original design intents. This has worked wonders for us, especially when collaborating remotely. To get your stakeholders onboard, you can utilize the same reasoning that aided us in actively streamlining our workflow.

Personalization | Key to E-commerce success

With most shopping happening online, the consumer purchasing behaviour has seen a paradigm shift. Earlier the options were limited and buying decisions were quick but now consumers have to sift through a ton of choices to get to what they’re looking for. Just like people trying to hear through a cloud of noise.

For instance, try calling people by their names in large and crowded places. No matter how loud the party gets, the right person or people will turn back. Years of evolution have helped us develop selective hearing. The internet is the same crowded place where everyone is trying to get your attention.

But somehow out of all the products and promotional campaigns, some cut through the noise and make you feel like they were made for you. It’s because they gave a personal touch to their campaigns or their websites.

Accenture, an MNC, found in a research that personalization is key to the success of an e-commerce store.

The results revealed some information that was against what is commonly believed in regards to consumers and their data.

56% of consumers get carried away with the store’s personalization when the store recognizes them with a name.

65% of them prefer retailers that know their buying history. Only if the data is used to provide tailored recommendations.

58% of them buy products from the recommended section provided by the e-commerce store.

In exchange for these, 86% of consumers are willing to share data for getting a personalized experience.

In a world of information overload, personalization is a godsent feature. Here are some personalization strategies which you can adopt for your eCommerce store.

1. Personalize your Homepage

In real world, the homepage of your website would be the entrance to your brick and mortar store. When a potential customer comes at the doorstep of your shop, you must provide the ultimate user experience by greeting them in the best possible way.

Homepage personalization is one of the important keys to do that.

Unlike real stores, online stores can leverage data to know the preferences of a customer on their first visit. From here on Cookies store relevant information to help you tailor the user experience for their next visits.

Amazon homepage screenshot

Amazon, targets every single individual via personalization. Whenever a user selects a particular category to browse more, they get redirected to the same page in the next visits.

2. Location-based personalization

It’s easy to customize products based on location as it improves the shopping experience. It even helps to display campaigns based on the user’s location.

Most e-commerce sites know where the user is coming from and where they want their products to get shipped. They use this valuable information to get more accurate results.

Here is an example of a Butterfly twist that lets its users get the look and feel as if they are shopping at some native place.

screenshot of an eCommerce website

Butterfly twists pull the IP address of the users and personalise product page according to the location. For example if your user is from America, it will set the default page to American sizes and currency.

There is a limitation to this practice. Companies must not force customers to view products on a country-specific site. As a user, it gets really annoying when the website keeps redirecting when you’ve specifically chosen to explore a different location than your own.

Websites need to understand that people are not always buying for themselves and they can choose to explore some other regions, otherwise what’s the point of the Internet.

3. Integrate User-Generated content

User-generated content is another dimension for increasing sales on an e-commerce store.It gives customers a chance to review the details of the product before making final payment.

User review screenshot of an ecommerce website

Yotpo’s benchmark study found that on an average conversion rate of the customers who saw UGC is 166% times higher than those who don’t.

Campus protein uses the UGC on the website so that users can add ratings to the entire product catalog. It even displays the carousel of Instagram inspired UGC at the bottom of the site to reveal the user’s likes and dislikes for the products.

4. Create an array of recently viewed items

Generally, most of the users browse through a company’s site to see the products that are in trend.

Although users trust their memory, they still fail to recall all the products they saw the day before. This is why they look for some sort of help from the store.

Adidas website screenshot of recently viewed items

Adidas wins an impressive score in recommending products and creating awareness. It uses attribute based and collaborative filtering to convert customers and help them select the right running shoe.

5. Reaffirm user choices with Social Proof notifications

It’s a new way to personalize your e-commerce store. It helps you send real time notifications and other relevant updates to your customers.

Many organizations are using this technology to provide relevant and contextual information about the product and the company.

Picture of a McD store from outside

McDonald’s have been using a similar strategy to boost conversions for years. It updates its website’s marquee to show how many people they have served till date. This strategy attracts potential customers towards the quality brand trusted by millions of people. It is not a real time notification variety but it achieves the same goal.

6. Create urgency with timed social retargeting

It is often seen that if a customer doesn’t like the products or is not willing to purchase anything, they leave the site or else jump to another one. It gets difficult to retain them once they bounce to find better options.

In such scenarios, social retargeting helps promote products wisely. Spending on customers who are less likely to buy is like wasting resources. Thus, companies must select their target after thorough analysis.

Screenshot of a ecommerce website

e-bag is a perfect example of social retargeting. It uses this concept to offer ideas for the backpacks through retargeted ads to all those who have seen or viewed the products before.

7. Help them with style guides or assistants

In addition to UGC, almost every shopper needs a personal assistant to take them to the best match for their taste. But it would probably break the bank. Moreover, it’s not possible with an e-commerce site.

But onsite assistance with quizzes and style guides can do the needful. It would help them to make better buying decisions. This is what e-commerce stores are doing.

E-commerce stores are creating a personalised wardrobe for every user who answers questions related to taste, choice, style and budget. The best thing about it is that it regularly updates the user’s wardrobe with new products and informs them about it through mails.

Screenshot of SheIn ecommerce website

Shein went a step ahead in personalized recommendations. This step does more than offering a size chart. It helps users discover new products and styles. They even feature live shows where stylists come and talk about the attire they are wearing. It helps users to get to know about the product which they are thinking of buying.

Wrap up

Aligning all the above mentioned strategies on your ecommerce store can help you to:-

  • Reduce friction
  • Increase engagement
  • Retain customers
  • Boost conversions

After reading something just as this piece might motivate you to redesign your website but adding small but useful elements wherever possible will work just as efficiently as possible. It will help you in enhancing customer shopping experience on a large scale.

If you’re thinking of getting the max out of your product promotions and customer visits and don’t know where to start then get in touch with our e-commerce experts here.

Forging Automation Testing Framework for an E-Commerce mobile platform

The client was looking for help to test critical functionalities of its mobile application for which they found a solution in Galaxy’s automation testing.

Our client is a trusted peer-to-peer rental marketplace for buying, selling, and renting almost anything. Our client’s dream is to offer a platform where all goods from cufflinks to computers can be borrowed within minutes. Why? Because we all own something that could be of value to someone else.

And with so many users constantly engaging with their mobile app daily, they needed to be certain that the UI runs smoothly on every device and platform without frustrating the users – which could be achieved through a comprehensive well-written automation testing.

Challenge

The client follows agile methodology in its software development process. This allows them to detect bugs earlier in the cycle, which results in speedy bug fixes. While testing early in the software development life cycle, there are certain tests that need to be repeated.

Such cases, when handled manually, were taking a lot of time and effort. Here, they felt the need to implement test automation that can overcome various challenges and help them improve the quality of the product in less time.

The main challenge for our client was to test major functionalities of their app on Android device. The goal was to complete test execution in a less amount of time. Due to the complexity of the application, it was difficult for them to zero in on the best automation framework for their app. They wanted to adopt an automated testing environment to ensure a highly reliable and secure system, and reduce the cost of future changes to their system. Seeking to adopt an efficient automated testing environment and reduce testing time, the client turned to Galaxy.

Solution

Our client came to us with the aim to develop a scaffolding that is laid to provide an execution environment for the automation test scripts. A framework that could increase test speed and efficiency, improve test accuracy, and minimize test maintenance costs while eliminating the scope for human error.

We needed to automate test cases for user portal of their core application. And for that we decided to solve their mobile test automation challenges and build the automation framework from scratch using open-source frameworks for their hybrid App.

Our testing team identified automation objectives and goals. This is determined through consultation between our client’s testing & development team and our testers. We then identified the test cases for automation based on different test case categories like difficulty to be tested manually, chances of human error, repetition, and data required for testing.

Login Test Scenarios:

  • Verify if a user will be able to login with a valid username and valid password.
  • Verify if the ‘Enter’ key of the keyboard is working correctly on the login page.
  • Verify homepage after login

Renting Flow Test Scenarios:

  • To click Search icon from the homepage and start searching for the product.
  • When user starts typing words in text box, it should suggest words that matches typed keyword.
  • To select date from date-picker/calendar for starting to end date of renting.
  • To validate that the application supports payment gateway transaction as required by the application.
  • Ensure that user can access the Checkout Page after adding a product to the cart.
  • To check the logout session and whether the link or button for logout accessible for all users.
  • To validate the rest of the test cases like scrolling, navigation, double taps, etc.

Having covered all the crucial scenarios and cases to ensure a smooth user experience, it was time to see how the tests pan out.

Testing the functionality

The client needed a team who can collaborate with them having the knowledge of web testing techniques and the e-commerce domain. We undergo discussion over special considerations of various aspects of project understanding such as business goals, current state of automation, and future roadmap.

To further ensure that the app was performing as expected, we did functional and smoke testing on major features, themes, and structure of the application i.e. from login to logout.

We created a testing framework using Java, Appium, Selenium, TestNG, and Maven. Such approach to select multiple open source tools and combine them with a custom framework helped us leverage a number of benefits:

  • To reduce the time to create and maintain scripts.
  • We used data-driven automated testing to separate test procedures from test data, allowing to cover more scenarios with a minimum amount of effort.
  • We used POM concept, and developed special features that could be reused by all scripts, such as to create automated reports with screenshots for failed case/step, common methods for AppiumDriver (click, wait, etc.).

Integrating testing in development cycle

We integrated the script with Jenkins in the client’s environment in windows machine using the batch command. We configured Jenkins in such a way that smoke tests were first executed for sign in, flow of renting a product (on the same day), verify homepage, and verify rental page. And after the successful completion, functional tests were executed for verifying a renting a product on different days.

Results

Our testing team worked with the client and successfully crafted a testing and development plan tailored to their release cycle and pace of customer demands. We helped the client automate the system installation, smoke testing, functional testing, and system deployment process as well.

How we helped the client to get the best out of their automation testing:

  • Selected test tools that leverage the best-of-breed approaches.
  • Completed test execution in a less amount of time.
  • Updated tests in accordance with changes in the UI and function of the application.
  • Ensured verification of test results generated by automation testing.
  • Ensured timely submission of test results to the client.
  • Ensured that the user’s search experience in the site is of the highest quality.

With effective automation testing, our client managed to reduce time-to-market and launched a bug-free product. In addition, integrating continuous testing in the CI/CD process helped shorten mobile app release cycle and ensured high customer satisfaction. And as we took care of repetitive tasks with less number of resources on-board, we thereby helped in maximizing Return on Investment for our client.

Gutenberg vs Page builders | Settling an year long debate

The appeal of WordPress is simplicity. The debate on Gutenberg and Page builders is much more than functionalities. It’s more about ease of use.

In the world of page builders, Gutenberg emerged as a complete paradigm shift for the users. The battle goes on whether the page builders will be replaced by Gutenberg and lose their influence? Or is Gutenberg alienating most of the current user base because of its workflow?

In this blog, we are going to compare WordPress page builder plugins with Gutenberg to help you select an ideal choice that suits your WordPress website requirement.

Live visual editing

If you want to figure out how things would appear without saving the page – through an actual live preview of a page as you edit it – then here is a big turn up you will find in the differences.

Page builder offers the level of visual editing that Gutenberg doesn’t. A page builder lets you design the entire page in a WYSIWYG interface. You can save the preview time by making direct changes in the layout and style of the web page.

Styles and themes compatibility

Page builders provide more style options in comparison to Gutenberg editor. Elementor and Divi Builders are among the perfect examples for it.

For a button, Page builder offers a lot of customizations like color, border radius, animations, filters etc. But Guntenberg will only have few choices in its bag like shape, background color, and text color.

Gutenberg relies on WordPress for themes and styles. With custom CSS, you can customize your blocks but the overall look of the page will be the same as your theme. On the other hand, Page builder lets you override themes and styles. Thus help in creating a unique experience for standalone landing pages.

Responsive design controls

Gutenberg does not have a responsive design control. But plugin like Kadence blocks adds custom blocks to extend Gutenberg’s editing capabilities. You will be able to better control columns for different screen sizes and will be responsive according to your theme.

But you can’t change how that responsive design will work in Gutenberg.

Whereas page builders provide responsive design control for each element. Therefore, if you want to have full control on the design, you must prefer page builders as an ideal option.

Layout functionality

You can’t customize margins and paddings for individual blocks in WordPress’ new default editor. It gives some basic options for alignment such as left, right, and centre. On the other hand, a page builder gives you the option to edit every single entity on the screen like margins and paddings.

Gutenberg has some third party extensions to let you use drag and drop options to adjust different layouts for different devices. One of the most popular extensions is Kadence blocks. It adds detailed layouts in a web page. But Gutenberg’s default column block is limited and cannot be compared to page builders.

It’s for this reason, you will always require a page builder to get full layout control.

Scope

Gutenberg comes with limited actions. Ease of use is the main goal of Gutenberg. It is intended to be used by writers, bloggers, and businesses.
Whereas, Page builders work well for people who rely on customizations for their development needs.

Page builders are commonly used by eCommerce stores, WordPress agencies, aspiring designers, small businesses, among others.

Takeaways

  • Gutenberg is for people who put reliability and ease-of-use over a buffet of customizations.
  • You can prefer Page builder when you have specific vision for site’s design. You can create unique designs according to your needs and preferences.
  • You can use Page builders when you want to add some specific features that are not present in Block editor. Some of these features include media carousels and subscription forms.
  • People who are used to the freedom of customizations in page builders will find the simplicity of gutenberg quite limiting.

Currently, Gutenberg is not powerful enough to replace highly flexible page builder plugins. It’s just a modern version of the classic editor. But there’s a good news Gutenberg enthusiasts…

Integrating page builder plugins within Gutenberg has the potential to bring out the best of both worlds. Maybe WordPress is heading that way only with custom fields integration.

As a result, you’ll be able to use different modules as separate blocks in Gutenberg editor itself. It would help you to create rich and more flexible web experience. At the same time a future with a win-win situation for all.

Making web more inclusive with Manual Accessibility Testing

People don’t want to miss out on the digital era. And accessibility testing is how we make sure that smart devices and computers are accessible for everyone, regardless of ability or age.

Manual testing is the oldest form of testing in which testing is done via empathy, knowledge, and experience. While automated tests are done on the basis of a set pattern written in code.

Manual accessibility testing is an amalgamation of web browser plugins, assistive computer technologies, and keyboard-only interactions which help testers determine the usability of software, applications, websites or pages.

Why manual accessibility testing is important?

People with laptops and books in front of a desk

Manual accessibility testing is very effective, as it is capable of detecting issues and defects that cannot be traced programmatically. An automation test requires coding, which is time-consuming while testing a number of small changes. Whereas you could test the same functionalities or changes manually on the fly.

Manual testing is mainly needed for keyboard-only commands, compatibility with various assistive technologies, and coordination with color-adjustment plugins for web browsers & software.

Here are the three ‘Must Do’s’ of manual testing:

Screen reader compatibility

Assistive technologies such as screen-readers (Talkback,VoiceOver, JAWS, NVDA, etc.) help people with vision impairments to understand and use the web better by reading what appears on the application.

There are certain assistive situations which are difficult to replicate in an automated setting like- understanding the context of alternative text, determining where links lead, or navigating menus. This is where manual testing is useful to determine how readable your content is for various assistive technologies.

Keyboard only navigation

It’s the most basic and the easiest way of testing accessibility manually. It is done by pressing ‘tab’ key of the keyboard. Ideally, each link will get focused on every ‘tab’ press and thus the user will be able to navigate through the application. Manual accessibility testing helps you determine if your site is optimized for keyboard-only functionality such as accessing all menu, moving between sections of a page and more.

Double-checking the colors

Most of the automated scans and browser plugins are not that accurate with contrast ratio of images related to background images. Manual testing helps in spot check for color contrast, particularly on text overlaid or embedded in images. Manually testing each area of your website against established standards help make sure your content is understandable to a broader range of users.

Who performs manual accessibility testing?

Testing experts and users are two important tester groups for manual accessibility testing. It’s only after getting the web page or application tested by the experts and users that the process of testing is termed successful. The experts test the technical aspects and basic code of the software, whereas users help validate the effectiveness and quality of the accessibility testing.

Testing experts

In manual testing, the software testers execute the test cases and generate test reports without the help of any automation software testing tools. In this process, the tester checks all the essential features of the given software or application.

Group of Users

User testing is mainly performed with the help of assistive technologies (as they check the software from the end users point of view), wherein the users check various features of the web page or software that offer accessibility to every person and not only with disabilities.

Cases where manual accessibility tests are a must

Here are the scenarios when you should go for manual accessibility tests:

Usability Testing

Here, human observation is the most important factor, so a manual approach is preferable. In this type of testing you need to measure how convenient, efficient, or user-friendly the product or software is for the end users.

Exploratory Testing

We need the human curiosity to execute the testing process in this scenario. This is an area in which you require the tester’s creativity, logical/analytical skills, experience, and knowledge. The test is characterized here by a short time for execution and/or a poorly written specification documentation.

Ad-hoc Testing

It is a totally unplanned method of testing where the insight and understanding of the tester is the only important factor. In this type of testing, there is no specific approach.

Manual accessibility testing is more preferable in small projects, when the testing phase runs for a short period of time, because:

  • Running simultaneous multiple test cases aren’t that necessary
  • Maintenance and installation is time consuming and costly
  • Lack of time to get the resources trained in the tools and start testing

In addition to first impressions, when we talk about the functionality, there’s no replacement for manual testing. It goes beyond fail/pass as manual accessibility testing also ensures less time taken between a customer issue and a fix. In fact, there will always be a place for manual testing in ensuring accessibility of an application or a web page, no matter how much automated testing evolves.

Achieving quality output well within your budget and timeline can be difficult for you. We can help you find the best approach based on your testing situation to reach your goal.

What are Design Systems and why do we vouch for one?

Design System is one of the most excessively used design terms in the software industry right now, so much so that it has given birth to a parody Twitter account that calls people out on their overuse of the concept as a mere keyword.

There is a lot of uncertainty about its definition, different professionals have different definition of Design Systems. But here’s one that will put your mind to ease.

A Design System is a set of deliverables(not a deliverable itself) that acts as a single source of truth for design and development teams to realize a product. It evolves constantly with the product, tools, and new technologies.

What a Design System isn’t

Going with the wind a lot of companies tend to claim that they have a Design System in place. But in reality, they’re just pointing towards their Sketch libraries and style guides.

You can’t call libraries or style guides Design Systems for the same reasons you can’t call individual notes of music, a song.

You can’t make a functional software with just some static designs and patterns, just as you can’t make a song with a music sheet filled with notes and melodies, you’d also need instruments and singers to conduct a piece of music.

How to find the right one?

Design Systems can be simple, comprehensive, strict, loose, mono or cross-platform. Based on the scale of projects or operations, you can define what kind of Design System you need. Because it’s always easier to find things when you know what you’re looking for.

Start by asking the right questions:

  • Number of people that’ll use the system?
  • What are their profiles?
  • Are they willing and able to adapt?
  • How many products, platforms, and technologies?
  • Degree of consistency across them

Based on the scope there are two types of Design system. You can either go for a Modular Design System or an Integrated one.

Modular

Module based Design Systems are good for large scale projects like e-commerce, finance and government websites. It’ll enable you to scale quickly and adapt to multiple user needs. There is one downside to module based system though, it can be expensive to build and maintain.

Integrated

An integrated system focuses on one unique context. It’s also composed of parts, but these parts will not be interchangeable. This kind of system suits products that have very few repeating parts and that need a strong and often changing Art Direction (portfolios, showcases, marketing campaign).

Based on the process you can either build a Centralized or Distributed Design System.

Centralized

In a centralized model, one team is in charge of the System and makes it evolve. This team ensures that the System covers everyone’s needs.

Distributed

In a distributed model, several people of several teams are in charge of the system. The adoption of the system is quicker because everyone feels involved but it also needs team leaders that will keep an overall vision of it.

Regardless of the type of system you choose, a Design System consists of:

  • Interaction models
  • Typography
  • Page layouts
  • Components
  • Colour
  • Sounds
  • Tone and voice
  • Words, grammar, and mechanics
  • Spacing
  • Code snippets paired with elements

Why building a Design System can be transformational for your organization?

If you’re a big organization, it’s likely that you have multiple products and services that need to reflect a consistent brand identity. A Design System helps you do that with it’s efficient organization and one-click implementation across all the assets. A Design System has all the pieces engineered to fit together like a lego set, as and when needed. Which makes designing highly scalable, reliable, efficient, and robust.

Here are the benefits of a Design System

  • Productive and cost-effective. Reusable components lets the team be efficient and deliver faster, as they don’t waste time on repetitive tasks or useless meetings.
  • Brand continuity across all products or services. If a UI element which is a part of hundreds of screens is changed, it conveniently reflects in all the places it’s used.
  • Better collaboration and knowledge sharing. With every essential piece of information easily accessible in the system, onboarding new team members also becomes easier.
  • No need to code. Everything is in one place just ready to be picked out and used without having to code. Just copy the required snippet and implement the visual element of your choice.

An extensive design system alone won’t solve your problems. You’ll also need good designers to create a unique and reusable system and good developers to interpret it their own way.

Let us know if you’re on the lookout for something just like this. Pardon the Coldplay wordplay.

6 factors to consider before choosing your e-commerce platform

Setting up a shop online? Well it’s easier than setting one up made of bricks and mortar.

But it doesn’t mean that E-commerce is easy. The insane level of competition aside, your problems start even before you’ve begun to build your website. You start with zeroing in on an e-commerce platform for your business but the options are numerous and all seem to offer similar functionalities. It can be a bit confusing.

This is not a comprehensive list but we intend to simplify the selection for you. So here are some factors like pricing, payment gateways supported, security, etc. to help you select the right e-commerce platform.

1. How secure is the platform?

One of the first things that you should consider in your e-commerce platform is that the language it is based on. Because the platforms based on object-oriented programming language come with embedded security protocols and hence are considered safer.

Magento and Shopify pay extra attention to reduce the vulnerabilities of websites with two factor authentication. And for platforms which do not have multi factor authentication to protect sensitive information, security plugins can provide that extra layer of safety.

A platform is safe when-

  • An e-commerce platform should conduct security audits for sustaining websites.
  • It should safeguard sensitive data from breaches and attacks.
  • Also, to prevent any monetary frauds an e-commerce platform should be PCI and SSL certified.

2. If it is SEO friendly

39% of e-commerce traffic comes from direct searches. This is a good reason for you to take SEO considerations into account.

Popularity of a website depends on various factors with content playing a significant role in attracting the audience towards the site. To understand things better, ask questions like, does the e-commerce platform allow you to write meta-information about the product or is there Google site map support? These questions are important as they have a direct impact on SEO rankings of the site.

Onveos is a perfect choice if you are considering SEO as a selection factor because it provides independent fields for SEO elements. Other than this you can also go for Magento, Woocommerce, and OpenCart as they play a significant role in inbound marketing initiatives.

3. Responsiveness

A responsive web design helps in providing a great user-experience from a desktop to tablets and mobiles of various sizes and orientations.

Having a separate mobile and desktop site requires having different marketing campaigns, product information & banners, catalogues, etc. Platforms like Magento and WooCommerce have various responsive themes and templates to make websites vertically stacked.

Shopify even lets you edit HTML and CSS directly. You can change the colors, size, and positioning of any element on the page within the platform.

4. Multi-channel support

Always prefer a platform that lets you sell product or service across different channels like Instagram, FB Messenger, Amazon, and others. It increases the revenue percentage on whole.

The best multi-channel e-commerce platforms are Shopify, Big Commerce, PrestaShop, Magento, and Woo Commerce. As soon as you choose a platform, your next step should be towards understanding the audience. It will help you analyse what your end users are looking for and how do they buy things online.

Adding more channels will increase the task of managing and tracking inventory system. Centralised management of the data creates diversified selling options in online marketplaces. Multi-channel selling increases the revenue of e-commerce sites.

5. Plugins and integrations

Even though an e-commerce platform has all the things to run an online business, it still needs integrations and plugins to add crucial functionalities like Payment gateways, Tax calculators, Inventory management, etc.

You’ll find a popular bunch of essential plugins and integrations that are common to all the platforms. But your platform of choice should be the one that has an active community and supports plugins and integrations relevant to your business.

6. Last but not the least, compare the price

Price of an e-commerce platform depends on multiple factors like design, setup configuration, custom development, maintenance, and so on.

The per month cost of Shopify platform starts from $9 and goes till $299 whereas Volusion starts from $15 and goes upto $299. Shopify is a perfect choice if you are looking for multiple features and add ons in your app. You can select Volusion for a more selling-focused experience.

Big-commerce has the highest starting price of $29.5 followed by 3dcart at $29. Big commerce is one of the best platforms for SEO considerations. 3dCart is a feature rich platform that builds and manages online stores real well.

Before you zero in on any platform, match your website’s specific needs with the platform’s features and estimated cost. E-commerce platforms can also utilize AI, VR, Chatbots, and Blockchain to help your online business stay relevant.

We know how important is it for you to get things right as your business is in question. If you’ve any doubts related to e-commerce platforms and if you need assistance developing one then feel free talk to us here.