October 27 2016

Speed Up Development Process by Using Third Party Code

Whenever you're starting up a new online store or web business, basic economics will come into play as to how you need to allocate your most precious resources - time and money. Consider these 2 scenarios:

  1. In order for an online store or e-commerce website to be successful, it has to be customized to the specific needs of customers. In short, this can't work or look the same as with any other solution - you need differentiation.
  2. Both customers and Website/Store administrators have to have very similar, if not, the same experience in using a web system so they will feel more confident utilizing the knowledge they gained while working with other systems.

Innovative companies with a huge budget often use custom solutions, written from scratch. Developers feel better as it is easier for them to work on projects with familiar code, largely written by them. Development takes a lot of time and money, but the final solution is likely to match both the company and customer's needs, and most of the time (if done properly) - it is highly optimized in terms of resource usage.

However, for companies that want to focus more on working with content as opposed to a whole system can take the alternative approach, which is to utilize existing and well-supported open source libraries and frameworks while adding on some finishing touches with the help of designers and developers. Here are some ideas on how you can also save time and cost developing your latest project:

Template design and deployment.

Let's say we deploy an astonishing template for your webshop, one that's so complex that development even without additional animations will take months. If only there was a solution to take care of dividing the whole layout into columns, keeping the same look for form elements for every browser and taking care of its mobile-responsive design also. A quick look into modern front-end development trends have handed us this answer: Twitter's bootstrap. This library is already widely used and allows coders (and non-coders)to develop basic websites and forms without modifying CSS codes. It also supports column design when number of columns depend on the size of viewport and assures that webpage will look the same for most modern browsers - this is only the tip of the iceberg. Many professional web developers now are even listing Bootstrap as one of their skills.

Then there are the clean and simple templates that are user-friendly and easy to read, specially coupled with a mobile responsive design. As the screen size shrinks from Desktop to Mobile, you'll notice how many mobile-friendly sites replace written content with visually digestible icons. With Bootstrap, it's easy to create such graphics that accurately represent content for mobile designs in order to preserve space. We can always ask a graphic designer to create such icons but with larger quantities, especially when there are many ongoing projects and a need to add few of them in the future - Bootstrap makes it a lot easier. One such library that can help us with that is fontawesome. All their icons are in fact, font characters so we can work with them in the same way as we work with text - by setting the color/background for them, and adding effects like text shadow, etc.

Backend development and the Business layer.

Imagine that the webpage we want to publish has to be updated daily (or even hourly), with high quality content provided by a small closed set of employees. Users can post comments and administrators can remove comments which are inappropriate, and the whole platform has to be SEO friendly. A custom made solution will always work better than widely available open platforms right? The main question is whether content, or the platform's development is more important? If content is more important, then instead of spending too much to develop the platform, the focus is shifted to providing quality content and using a widely used platform instead: Wordpress. Tools needed for our example are already implemented, just add on a Bootstrap based template and we are ready to go.

What about Online webshops and E-commerce sites that are usually quite complex? These have to critically handle data with huge importance like payment history, credit card data, so they have to be created very carefully - keeping in mind that every security flaw might end up badly for both store owners and customers. That's why it is very important to use well-tested codes, especially to handle all payment related data. This is a lot easier to achieve for well maintained and supported open source solutions as there is a huge community of developers who will both report and fix safety issues.

Take the example of a site selling t-shirts and mugs in various types, sizes, patterns and colours. On top of it, every user can customise their very own design - seems complex, but it doesn't have to be. Both Prestashop and Magento webshop platforms are capable of handling such complex products. What's the difference?

  • If you want each combination to be a separate product and therefore each combination should be visible as different URL for SEO purposes - use Magento.
  • If it's more important to show all options for your product as one URL - go with Prestashop.
  • Additional tools to collect data or interact with users.

    There is a common trend, especially for webshops to make visiting sites more personal, so customers will feel as if they're contacting a real person instead of an anonymous shop. That's why it is so common for modern stores to use live chats. Custom developed webchat apps can be integrated into an online store, allowing all employees with an account access. But once again, is it so important for my business? Overall development of a tool like that can be very long, and the return of this investment can take up to few years. Unless your webchat tool is really unique and will bring more sales compared to the ready-made to be paid, third party solution - it's best to focus more on better customer service and existing webchat applications that are already out there.

    Every business also require the statistics to know how much of traffic site has, how many unique users are visiting, how much time they will spend on website, and most importantly - conversion ratios. Obtaining statistics like that is not so hard to do, but the codes used for this often needs to be upgraded, to have the best possible insight. An obvious tool for such tasks is "Google Analytics" - easy to deploy, requires little configuration and is good for basic number crunching. For more advanced data that's hard to compile however, we are still able to use Google's API to extract the required data and develop a semi custom made solution while still having Google's product support.

    Are Third Party Codes Always the Best Solution Then?

    Developers often fill the urge to write something from scratch or using very simple setup, to start with. The main reason for this is that most of the codes available out there wasn't made by them, but from a wide group of people - so they won't be familiar with it. As a result, these developers feel more comfortable developing something entirely new instead as it somehow feels a lot better than just utilising existing code.

    This approach will be better for innovative tools, where a solution is created and differentiated - an evolutionary upgrade from what's existing in the market, which will be the sole attribute of its success. For other cases on the other hand, where existing technologies make more sense to have than having cutting edge solutions, it's best to use a third party source.

    This does not go to say however, that any external code can be deployed so easily and without unpredictable issues. Nowadays basically anybody can publish their own piece of code and claim that it will fit your needs. So it's always good to know what you're up against before thinking that every third party code will work for you or your business.

    Most important questions to ask before using these third party solutions:

    • Question: Is there commercial company supporting maintenance and development? If this is open source project, how many users are actively contributing?
    • Rob's thought: Having commercial company support is always a good thing, as project development is more stable.

    • Question: How often updates are published? When was the last update date?
    • Rob's thought: More often, the better. It means that community involved in this project is living, and providing necessary updates. If the last update was 2 years ago, that might mean that developers moved on to another project and the current one had been abandoned.

    • Question: Is there an open list of issues/features with information when and if they were solved?
    • Rob's thought: Thanks to lists like these, it will be a lot easier to know if these projects are well maintained.

    • Question: How are blogger developers currently describing their experience with this library?
    • Rob's thought: Even if there's information that this project is well thought and might be good in the future, but is still currently unstable - it's probably best to use something more reliable then.
About us
About us class=

We’re an e-commerce consultancy agency specialising in User Experience Mapping and Conversion Funneling.

ROBERT GORZYNSKIr by ROBERT GORZYNSKI