Drupal vs Magento: Which is Right for Your Ecommerce Business?

As the owner of an ecommerce store, you have many major decisions to make that directly impact your company. What products will you carry? How will you determine your pricing? What shipping services will you use? All these and more are questions you need to answer before launching your site.

But before you begin the process of designing your store – or selecting a web design agency to take on the project – you have to determine which content management system, or CMS, you want to use. And in when it comes to ecommerce, there are two major names to choose between: Drupal and Magento.

In this post, I’ll discuss everything you need to know about Drupal and Magento so you can pick the right CMS for your site.

Lessons Learned from an Unsuccessful Kickstarter

About a year ago, I launched my first Kickstarter called Habitat, a smart home automation platform that takes everyday items in your home and connects them to the Internet and your mobile devices.

Habitat prototypes.A couple of Habitat prototypes.

We only raised 24.6% of Habitat’s funding goal (which was $80,000 CAD), so it was not successfully funded.

Here are some lessons I learned from the experience.

Ideally, You Should Already Have a Minimum Viable Product

I love this infographic on how to build a minimum viable product (MVP):

Fast Monkeys MVP infographicSource: Fast Monkeys

What it boils down to is that your MVP needs to be something that provides value, no matter how different it is from your final product vision.

When Habitat launched on Kickstarter, it was not yet a viable product at any level.

We might be stretching the truth to say that it was even a prototype.

Did we have the product development and design planned out? Yes. Could we have taken it to market by our deadline? Absolutely.

Did it look like we didn’t have a product yet? Definitely.

We had a lot of comments along the lines of Do you have any footage of the actual product working? No. We didn’t. We had bits and pieces of it working, but we hadn’t yet invested the time to bring them together as a product, minimum-viable or not.

Building an end-to-end product reveals so much you hadn’t thought of. It reveals user interaction problems you haven’t solved and features you hadn’t considered.

How minimal your product is when you launch can vary, but it has to be a product before you launch.

Somebody Has to Own It

It doesn’t matter who it is, but somebody has to own the project. I launched Habitat with a team of incredibly talented people. But they all had full-time jobs and were working on Habitat in their spare time.

Although it was a great team, the lack of ownership meant a lot of things slipped through the cracks. Although all of us liked the idea and wanted Habitat to be successful, none of us felt the ownership required to make it successful.

This lack of genuine ownership revealed itself to people looking at the Kickstarter campaign as a lack of product vision, a lack of refinement, and a lack of discipline when it came to attention to detail.

For example, when we launched, we had a number of different pledge levels, but we failed to notice that some of the levels didn’t make sense. Also, some desired combinations of features couldn’t actually be purchased because we had failed to notice that a user could only pledge once.

I don’t think there is any problem with launching a Kickstarter with a part-time team, but it is hugely beneficial to have at least one team member who’s on it full-time. This person can lead the project and the team. Just one person who truly lives and breathes the product being developed can make a world of difference.

Have a Proper Strategic Plan

When we launched on Kickstarter, funding from the platform was our plan A, plan B, and plan C. There was no fallback. There was no long-term plan that Kickstarter was a part of. Kickstarter was the whole plan.

We assumed that we would be able to adjust based on whatever happened on Kickstarter, and just go from there. The problem is that the lack of a long-term vision and plan was evident to the potential backers looking at our Kickstarter campaign.

The content on Habitat’s Kickstarter page was lacking, the product video was missing something, and so on. The people looking at our Kickstarter page wouldn’t have been able to put a finger on it, but I think they would have felt there was an overall lack of planning, which made them hesitant to get behind us.

Even if Kickstarter is your plan A, the effort spent thinking through alternatives help you refine your vision and strategy in subtle but significant ways that will seep into your marketing copy, your video content, and your visuals.

Don’t underestimate the value of strategic planning.

Be Honest with Yourself and with the Kickstarter Audience

If you’re thinking about launching on Kickstarter, ask yourself this question:

How much will it matter to me if my Kickstarter fails?

If the answer is “not much”, you’re unlikely to be successful. Without a deep desire to see your product succeed, you won’t have the motivation to hone every last detail.

A Kickstarter failure should be devastating. But I wasn’t devastated when Habitat failed to reach its funding goal.

It’s also important that you’re honest with the Kickstarter audience. For the most part, we were. But there were sins of omission in some cases. We were “dishonest” simply by not telling the whole story.

For example, when we launched Habitat we had probably written 5% of the software required for the product we envisioned. A lot of the major software challenges had been solved, and there was no question we could do it. But we still weren’t completely upfront about the amount of work still to be done.

I genuinely believe that potential backers aren’t expecting a polished product before they are willing to pledge, but they are looking for a team they can trust. Be honest with them. Transparency is key.

Proof-read Everything

Because nobody felt ownership of the project, nobody took the time to go over (and over, and over, and over) the content on our Kickstarter page. Immediately after launching, we realized we had typos, grammar issues, inconsistencies, and holes in the product descriptions.

The importance of proof-reading.Can you spot an error?

It may sound silly, but we really didn’t realize how important content is.

You’re definitely going to have some friends and family that back your product, no matter how bad it is, but the vast majority of your pledges are likely going to come from people browsing Kickstarter or coming in from Web publications covering your launch.

The coverage you get and the pledges you receive are going to be heavily dependent on the quality of your content. Typos and bad grammar reveal the fact that nobody on your team is paying enough attention to detail.

Take Your Time

There are lots of articles out there on how to time your Kickstarter campaign, how to get good coverage, and other advice on launching your Kickstarter project. The only thing I’ll add to the body of Kickstarter tips that already exist is to take your time.

We decided to launch in December and run through to January. This decision was made for no other reason than because we didn’t want to wait any longer. In hindsight, we should’ve waited until after the holidays. And we should’ve invested time up front setting up media coverage.

The desire to launch quickly ultimately led to a less polished, less visible, and less covered campaign launch. So, now, I sometimes wonder if just a bit more patience would have landed us our $80K goal…

Your Turn

If you’re thinking about launching a Kickstarter, tell us about it in the comments. If you disagree with things I’ve said in this article or if you have tips for launching a successful Kickstarter campaign, why not share?

Related Content

Five Lessons Designers Can Learn from Jay-Z

Lessons We Learned from Our Biggest UX and Design Mistakes

Lessons I Learned from Selling My Web Design Agency

Ryan Brink is a software developer at LiveQoS, a mobile/Web developer, an entrepreneur, and a musician based in Canada. His latest project is GA.TODAY, a Google Analytics widget for iOS and OS X. Visit his site and connect with him on Twitter, GitHub, and Dribbble.

5 Games That Teach You How to Code

These Web games will give you a fun and engaging introduction to the world of programming.


CodeCombat is an HTML5 role-playing game (RPG) that teaches you fundamental programming concepts.


In CodeCombat, you play a hero adventuring through the game’s levels. The first level is Kithard Dungeon, which covers basic programming concepts. You’re faced with coding challenges throughout your journey, and if you overcome them, you’ll unlock the next level and earn experience points (XP) that you can use to improve your hero.

Levels in CodeCombat

CodeCombat is appealing to young, aspiring programmers. According to an in-game survey, 62% of CodeCombat’s users are under 18 years old.

CodeCombat supports five programming languages: JavaScript, CoffeeScript, Lua, and Python. The game covers a wide range of programming topics — strings, variables, method invocation, vector drawing, and much more.

Code Hunt

Code Hunt is a Sci-Fi-themed HTML5 game developed by Microsoft Research.

Code Hunt

In this game, you play as a code hunter tasked with repairing code so that it returns the expected result. There are 14 levels, called Sectors in the Code Hunt nomenclature, for you to complete.

Code Hunt user interface

Code Hunt supports either Java or C#. Programming concepts you’ll learn include arithmetic, loops, and conditional expressions.

Teachers who would like to extend the game with additional Sectors can do so by first reading the Code Hunt Designer Manual.


CodinGame is a huge suite of challenging games for programmers. If you want to improve your coding skills, playing CodinGame is a fun way to do so.


Over 20 programming languages including PHP, C, and JavaScript are supported by CodinGame. The user interface is feature-packed and can be customized. For example, you can choose your code editor’s style: "Emacs", "Vim", or "Classic" (the default theme).

CodinGame example

The game can be played on single player mode or multiplayer mode. In multiplayer mode, you can solve CodinGame challenges with other users.


Screeps is a massively multiplayer online game (MMO) for JavaScript programmers.


The game is an open-world strategy game where you control units, called creeps, that will help you mine resources, establish your territory, and so forth. Being a multiplayer online game means your creeps will be alongside the creeps of other players.

Screeps simulation

Controlling your creeps involves writing JavaScript. (Screeps = scripting your creeps.) To learn how to play the game, hit up the docs.


In FightCode, the objective is simple: Create a robot that will defeat the robots of other players.


How do you create a robot? By writing some JavaScript. For example, you can use the .rotateCannon() method to rotate your robot’s cannon by a certain number of degrees when a certain event happens.

FightCode demo

Before building your indestructible, world-dominating robot, the first step you’ll need to take is to read the docs to learn how to code a robot.

Read Next

10 Puzzle Websites to Sharpen Your Programming Skills

15 Free Books for People Who Code

5 Good Habits That Will Make You a Better Coder

Jacob Gube is the founder of Six Revisions. He’s a front-end developer. Connect with him on Twitter and Facebook.

Cheatsheet: Photoshop Keyboard Shortcuts

This useful cheatsheet shows the keyboard shortcuts for important Adobe Photoshop CS6 commands.

View Larger Version

Note: For Photoshop commands that are displayed in blue, such as "Quit", "Close", and "Merge Layer", you must also press Ctrl on Windows or Command on Mac OS. For example, to issue the "Quit" command, press Ctrl + Q if you’re on Windows or Command + Q if you’re on Mac OS.

This excellent resource is by ZeroLag. ZeroLag provided me with a special version of their existing Adobe Photoshop CS6 Shortcuts Cheatsheet. The version I posted here doesn’t display their logo.

Related Content

Jacob Gube is the founder of Six Revisions. He’s a front-end developer. Connect with him on Twitter and Facebook.

Exciting Illustrators That Will Inspire You: September 2015

Illustrators are always exploring new ideas and techniques in their work which makes them very exciting to us. We chose these artists specifically for their excellent works and their distinct voices and styles.

For more of the artists’ work, please be sure to visit their portfolios.





Spiros Halaris












Elena Pancorbo




Ise Ananphada








So PineNut




Boris Pelcer





Tell us about your favorite illustrators in the comments below!

Bonsai had a Stanford-educated lawyer write a contract template that's easy to understand, and have decided to share it for free.

An Easy Way to Create a Freelance Contract for Your Projects

We all know that having a solid contract in place is a key element of your freelancing projects. A contract helps ensure you’ll get paid for your work and it will protect you from having to do out-of-scope work.

But… we all also know it’s a hassle to create contracts. If you’re a solo freelancer or a small agency, chances are, you already have way too much stuff on your plate. Also, you might not have the necessary legal background to be able to create an effective project contract.

This is where Bonsai, a resource that provides free contracts for freelance designers and developers, can help you. They had a Stanford-educated lawyer write a contract template that’s easy to understand, and have decided to share it for free.

Here are the steps for creating your own freelance contract using Bonsai:

  1. Click the Create a Contract button.Click the "Create Contract" button.
  2. You’ll then be asked what contract you’ll need. You have three choices: Development, Design, or Development & Design.Choose the type of contract you want to create.
  3. You’ll then be asked to fill in some details about you and the project — basic info, scope of work, payment terms, and the time frame of your project.Basic Info about the project.Fill out some basic info.

    Fill in the scope of the work you're going to be doing.Describe the scope of work.

    Payment termsSpecify how you’d like to get paid.

    TimeframeSpecify the timeframe/schedule of the project.

After all of that, you’ll end up with a customized freelance contract that looks something like this:

Custom freelance contract

This is a pretty good service that Bonsai is offering for free. It seemed too good to be true, so I emailed the co-founder of Bonsai, Matt Brown, to see what the deal was. “The contracts are totally free and will always be, since we don’t think we should charge for something that should be standard,” Brown said. “We’re working on other products that more directly help freelancers get paid and we’ll take a cut of revenue from that.”

Related Content

Jacob Gube is the founder of Six Revisions. He’s a front-end developer. Connect with him on Twitter and Facebook.