Whatever happened to Synthia?

The Synthia project has been floating around for the last couple of years and I’m ashamed to say we haven’t really met expectations. We were ridiculously close to a launch in 2016 when a security flaw forced us to re-evaluate the project’s status. After some deliberation, we chose to refactor the project and rebuild it from the ground up to be more stable, more secure, and far more modular.

Synthia will be launched in September of 2017 with a reimagined admin panel, a ticketing system, and a modular design allowing developers to add to the platform easily with a minimum amount of effort. The billing module will be launched later in 2017.

The master plan for this software is quite simple. The base version of Synthia will be permanently free to use and extend for your needs. Support will be available as a paid(though very affordable) service or as part of a hosted solution.

As we’re approaching launch, updates, documentation, and more product videos will soon be available. I’d like to thank everyone who’s supported and waited for this project and hope you’re looking forward to a project we’ve been very excited to build!

How to win at web development contracts

If I had to tell you the complaint I hear most frequently from clients, it’s normally something about their last developer and it tends to be somewhere along the lines of “I paid thousands of dollars and never saw a completed product” or “The finished product wasn’t what I wanted it to be” and I attribute that, largely, to the large block approach to both development and pay.

I’m sure you know what I’m talking about if you’ve ever commissioned a piece of software. You pay 50% of the total project price up front and fork over a long list of requirements. At the end of the project, you’re handed a product that probably does about ¾ of what you thought it would and you’re expected to pay the final half of the bill. You may not have had much input along the way or you don’t feel like the final product is what you wanted it to be, even if that’s what it was on paper.

These situations aren’t necessarily anyone’s fault and don’t have to come from bad contractors or bad clients. Often, the way these projects are structured leads them to failure before they get off the ground.

You see, when structuring a contract you have to look at what behavior that contract is really rewarding. When you choose a “Half now, Half later” payment approach, the incentive is to sell as many contracts as possible(the first 50%) and close as many contracts as possible with the minimal effort necessary to receive payment. Speaking purely from a numbers situation, a consultant “wins” in the short term when they can complete less than 50% of the contract while keeping payment or close a contract at 100% payment with as few features as possible.

Now, I’m not saying that everyone in the industry going to think in those terms or is out to do the minimum. What I am saying is that it can lead to asking good people to work against their own self interests in order to uphold their integrity. Whenever possible, aligning other’s best interests with your goals tends to lead to superior results.

So how do we do that? Well, my personal favorite is to push work from a project based approach to an hourly one but to do so with clear controls and milestones in place. To expound a bit there; Let’s say we’re talking about an E-Commerce site. Now we might normally spec out all the features and set a price at $10,000 for the full design but what if we quantified the expected hours for each feature. We’ll start with a data import, assuming you’re coming from another platform. Let’s say that data import should take about 10 hours but could take up to 20 or 25 with complications.

Now, if I were doing that import for you and you insisted on fixed price, I would set the price at a point where I could comfortably spend 25 hours because I don’t want to lose money on your website. If we’re working on an hourly basis, it’s a bit different. Let’s say we decide to work hourly with pay on a regular time line(say, weekly or every two weeks) and quote out that import at “10-25 hours”. I’m no longer betting on a time to completion because you’re paying hourly, and you’re no longer paying enough to offset my gamble. When the project actually does only take 10 or 15 hours, you haven’t paid for 25 and if it does take 25, I haven’t lost by under-bidding.

Taking a step back, there’s another clear advantage to this approach and that’s modularity in both compensation and work. If someone quotes a certain number of hours for a portion of a project, you have a clear yardstick to measure their progress. If you’ve paid for 10 hours of work on a 10 hour piece of the project, you should have a tangible piece of completed work in your hands for what you’ve paid. You can very easily asses how well the project’s going by looking at the completed milestones alongside hours to completion of various milestones.

Furthermore, if you’re on a “pay as you go” schedule, completed work is yours. Should you choose to take what’s been built half way through and walk away with it, there should be no argument from your developer about doing so. You’ve paid for their time, not the work done, and they’ve been compensated fully. There’s never a situation where they feel like they own your project because there’s only been a partial payment and you’ll know about problems sooner because you’re paying for time as its accrued.

As I propose hourly billing, I can hear some people saying it can’t work because there’s no incentive not to let costs balloon. I won’t lie, there is some truth to that. There are two things I can say to counter it though. The first, is that, with frequent billing, you’ll understand very quickly if your team is becoming wasteful. The moment that 10 hour project hits 12 hours, you can step in and ask why.

The second is that project overruns will happen regardless, the question is where you see the cost. Most companies can only lose so much money. If a piece of software is going to take 40 hours to complete instead of the expected 20, the developer can:

a) Eat the costs

b) Charge for 40 hours

c) Cut costs and make it take 20 hours.

Very few people can afford to take option A. If you’re paying someone a set lump sum, they’re much more likely to take option C because option B isn’t really possible. If you’re paying hourly, you should have the opportunity to choose whether the company chooses to cut costs(i.e quality) or if you just pay more for the product. At that point, you’re given a decision instead of a bad product.

 

When to go fixed price

Alright, now that I’ve bashed fixed price contracts a bit, there are a few cases where they can be quite useful.

The first is with very small low-risk projects. Cases where you’re paying someone $50.00 for a very simple logo design or to install a pre-built theme for you. These types of projects are very unlikely to extend far in any direction and often have very sharp criteria for success. If you wanted a theme installed and it’s now installed, you’ve achieved success. Setting a predefined value for that success is an easy way to control costs and it tends to be a quick win for the professional who knows what they’re doing.

The second time fixed-cost can be appropriate is with a team you’ve worked with over a long period of time on past projects. In short, when you’re working with people you trust explicitly and you have a strong understanding of the value they bring to the table. If you understand well from past experience what a certain dollar amount can be expected to accomplish, all parties can step to the table in full understanding.

So, what if you really want to do all of your projects fixed price? If fixed price is a requirement for you, I would suggest capturing as much of the value of an hourly contract as possible by insisting on a few things.

1 – Build multiple milestones into the project at a fairly granular level. Let’s go back to our data port example. The data import, in this case, is a well defined piece of the overall website build and can be looked at in isolation and priced as such. If you set a price for that particular piece, payable when it’s complete, you retain the ability to break the project down and avoid situations where you’ve spent half your budget without commensurate results.

2 – Write your contract in a way that gives you full rights after each milestone. If you’ve paid for a theme design, that design is yours regardless of whether the rest of the contract is completed or paid for. Ensure that this is understood. If in doubt, frequently ask for a copy of the project. Most honest professionals who have already been paid will have no problem zipping up the work they’ve done and sending it to you as an archive.

 

The Mini-Project – Let’s see what you’ve got

One of my favorite propositions is the mini-project. Often, if a client is pursuing a large project($10,000+) I’ll suggest a mini-project to get started. This could be an initial site setup/theme install or something as big as a software prototype, if the product is entirely custom. Either way, the goal is to show the client what they can expect while working within a limited budget on a tangible product. A mini-project is usually between $300-$1,000 and should result in something that adds solid value for the client even if they don’t choose to proceed with the larger project.

At any scale, the mini-project is a good way to test someone’s skill without getting in too deep and should help avoid pitfalls of working with someone who isn’t up to the quality they claim to be.

In parting…

At the end of the day, the two most important components of any professional relationship are trust and communication. If you establish trust with small projects, communicate, and insist on a front row seat to the work that’s being done, you’ll likely have better relationships with your best vendors and will quickly learn to prune those not working in your best interests. Work with someone who will see you as a partner, instead of a sale, and build long term relationships with reliable people. I think you’ll be pleased with the results.

Tariffs, and the 4 ways they hurt the economy (explained in plain English)

Tariffs, and the 4 ways they hurt the economy (explained in plain English)

What’s a tariff?

A tariff is a tax imposed by a government upon certain imported goods from other nations. It’s a protectionist measure enacted by the government meant to insulate domestic producers from competing foreign industries.

The logic follows that, if foreign-produced goods are artificially made to be more expensive than domestic goods, then citizens of that country will be forced to purchase goods manufactured at home, thus inciting growth in the nation’s own economy.

Among his plethora of anti-establishment promises, President Donald Trump vowed to levy a 45 percent tariff on all Chinese exports to the United States during his campaign run. It was one of his chief rallying cries — American manufacturers are threatened by cheaply made foreign goods and is driving down the American economy.

Just like any action of the government, the argument is motivated by emotional appeal. “My industry is being destroyed by foreign competition,” says the lobbyist. “If the government does nothing, my industry will flee the country or go out of business. Thousands of workers will be out of work and poor!”

To ignore the plight would seem calloused, cruel, utterly inhumane. Indeed, that industry probably will die out and result in many job losses.

Yet the mistake made by those ignorant of economics is looking only at what immediately results from an event, and ignoring the long-term side effects of the action. True economists are swayed by logic. Not emotion.

While we believe that there are big problems with the American economy that require radical, sweeping solutions, imposing tariffs will do more harm than good to the burgeoning eCommerce industry.

As of this writing, the online retail industry is experiencing record growth. According to the U.S. Commerce Department, online sales accounted for more than one third of all total retail sales in 2015, a level unmatched previously. The National Retail Federation expects that online retail will increase 8-12 percent in 2017, which lands anywhere from $427 billion to $443 billion — three times the growth of the traditional variety. There’s no doubt that e-Commerce is set to become the economy of the future, though a tariff would slow down its growth along with all other industries.

Whether brick-and-mortar or on the Web, a free market is always the healthiest market. Government manipulation of the economy almost always produces a result opposite to what was promised, and favor a few industries at the expense of many. Tariffs are no exception. From Adam Smith to Murray Rothbard, classical economists have unanimously agreed that tariffs are not going to make America greater.

They will make us poorer.

1. Higher prices

Of course, that’s the whole idea of a tariff: to use political force to artificially raise the prices of foreign competitors in your country. Domestically produced products are now the cheapest. Consumers will flock to goods made in the homeland, and business will return. Right?

But by artificially increasing the price of foreign goods above the amount the free market allows them to be, that interferes with the ability for individual people to exchange with each other at the rates they choose.

It isn’t just the protected industry whose products grow more protected. The prices of all products that contain steel or rely on steel also increase and the price of services that rely on those products will also rise. So the unintended consequence is a continuing spiral of rising prices.

Adam Smith stated the case for free trade in The Wealth of Nations:

“In every country it always is and must be the interest of the great body of the people to buy whatever they want of those who sell it the cheapest.”

In a healthy economy, prices would rise due to increased demand. But under a tariff, demand actually decreases — consumers will sensibly purchase less of a more expensive product. With the added price to the product “protected” by a tariff, consumers have that much less to purchase on other products. Less cash flows into other industries.

It takes generations of propaganda from governments to rid people of their natural common sense.

Forcing people to pay more for stuff is never going to grow the market.

2. Reduced wages

Take a current example: in 2002, the current president George W. Bush passed a tariff on all imported steel, in response to lobbyists from American steel companies.

In brief, it was incredibly short-lived and ravaged the American economy.

The legislation was meant to rescue the U.S. steel industry from doom. Not only were its effects on the steel industry nonexistent, but it wreaked havoc upon all the companies that relied on cheap steal for their production. Metal manufacturing, machinery and equipment, and transportation industries all suffered.

As stated above, companies that relied upon steel to manufacture their products suffered a loss of profits from the increased steel prices. To compensate, the company reduces the wages of its workers. This resulted in approximately $4 billion in lost wages during the year 2002, according to a report prepared for the CITAC Foundation.

3. Job loss

If lowering wages does not mitigate the damage of a tariff, a company will resort to outright downsizing of its employment. According to the report on the 2002 American steel tariff, “200,000 Americans lost their jobs to higher steel prices during 2002.”

Say, wasn’t it the threat that a particular industry was going to go extinct and cause unemployment, that the tariff was enacted in the first place?

To add salt to the wound, the report elaborates: “More American workers lost their jobs in 2002 to higher steel prices than the total number employed by the U.S. steel industry itself.”

Do you see the familiar pattern yet? A tariff, like any legislation passed by the government, has unintended effects that are opposite from the original intentions.

4. International tension

If you listen closely to the language politicians use when talking about tariffs — “protection,” “trade abuses,” “cheating,” among others — it is nearly identical as when they talk about war. The very concept of a tariff acts as a wall to repel an army of invading foreign goods.

If a nation raises a tariff wall against another nation, it should be expected that the other nation will retaliate with a counter-tariff. Mexico has vowed to raise “mirror” tariffs on apparel products imported from the United States if Trump imposed his tariff.

Combative trade barriers can even lead into a full-out war. Heavy duties imposed by the British crown were what led to the American Revolution. The Townshed Acts were a series of taxes Great Britain imposed on imports into the American colonies, in an attempt to generate revenue for the salaries of governors, so that they would remain loyal to the crown. There was resistance from the colonists, which eventually led to the English occupation of Boston, the Boston Massacre, and the American Revolutionary War. The Declaration of Independence condemns King George for “cutting off our trade with all parts of the world.”

“When goods do not cross borders, armies will.” Often attribute to economist Frederic Bastiat, the historical occurrences of tariffs, unfortunately, proves his point.

With less variety of goods for people in either country and higher prices, everyone loses.

Automation isn’t taking over the human workforce

Automation isn’t taking over the human workforce

Fears of human workers being supplanted by automated machines were stoked again recently in former president Obama’s farewell address. “The next wave of economic dislocations won’t come from overseas,” he stated. “It will come from the relentless pace of automation that makes a lot of good, middle-class jobs obsolete.”

Certain sources ostensibly suggest that robots could replace half of all jobs during the 2030s. Others claim that 62 percent of jobs that pay under $20 an hour could be performed by robots right now.

But the idea that technology is supplanting human workers is ludicrous.

Technology doesn’t harm the market, but fuels it.

It’s about what you don’t see …

An automobile factory invests in automated welding machines and lays off one hundred human workers. Advocates against automation immediately frame this as the tragic consequences of technological progress.

Not so fast.

This idea is wrong, yet is repeated so often that it is known as the “Luddite Fallacy,” named so after the British textile makers who went about demolishing mechanized looms for fear that they were replacing their work and rendering their skills obsolete.

The fallacy of the anti-technologists is in rushing to a conclusion simply by the plain, surface-level observation — one hundred men losing their jobs. But there is so much else going on that the anti-technologists do not see.

True, one hundred people are temporarily displaced from work. But the factory purchased the machine with the expectation that it will eventually “pay for itself.” The machine will decrease the cost of production and lower prices of its product on the market.

Lower prices leads to two consequences: the factory owner will generate more profit from increased demand. The company will either spend the extra revenue on more equipment or staff for the factory to increase production, or the owner will personally spend the surplus revenue on luxuries, and by doing flowing cash into profit for other industries.

Lower prices also leave consumers (including the displaced workers) with more money in their pockets, which they will spend on products in other industries and continue to stimulate the market.

The good that technology brings to the market — increased production, lower prices, and a better standard of living — significantly outweighs the minor misfortune of temporarily displaced workers.

So let’s illegalize technology!

In the context of online marketing, the situation is even more extreme. Not only does technology aid the market, but eCommerce should be glittering, golden proof that, without the technology that is blamed for supplanting the human workforce, eCommerce could not even exist.

Think about it: if it’s true that technological progress is hurting the economy by automating tasks formerly fulfilled by a human worker, then by logical extension, buying and selling virtually anything at all on the Internet is taking away someone else’s job opportunity. Just think of the old fashioned brick-and-mortar retailing that’s being completely overrun by the Internet market. Online retailing should be outlawed, right?

Dissolve every search engine and bring back Encyclopedias. Do away with the whole Internet, while you’re at it.

Outlaw email systems and bring back the Pony Express. Toss your computer out the window, and go back to writing letters with pen and paper. Or a quill and parchment, if we wish to fair.

Burn your desk and chair, and hire someone to be your personal foot stool. Ban big rig trucks and trains, and instead hire people to carry goods on foot. We’re creating new jobs, aren’t we?

I’m sure you get the picture.

The plot to downgrade the human race

While few have actually thought through their own arguments enough to actually disband eBay, Google, or the entire Internet, there are many groups with a political agenda. It involves using the technology that makes your business and civilized life itself possible as a scapegoat for their own plans.

For example, there is a growing movement in legislation to implement an automation tax on companies that utilize robot workers. Microsoft founder Bill Gates, ironically enough, has advocated for this tax. A tax that would not only hinder the profits of online sellers, but give government yet another way to regulate and confiscate from your earnings.

Robots replace human jobs? OK. Let’s figure out if it holds up by examining evidence from the real world.

Specifically, at the most iconic example of the online market: Amazon.

Amazon wrecks the myth of automation

According to GeekWire, while the robotic workforce is exploding in the Amazon company, it’s not overtaking the human workforce — both groups are growing together. The company said in a 2016 press release that “there are now 45,000 robotic units working alongside Amazon associates in more than 20 fullfillment centers.” That’s 50 percent more than the 30,000 units it reported in 2015, and 15,000 robots by the end of 2014.

“We’ve not seen a slowdown in our hiring at all because of increased automation,” said Paul Misener, vice president of global innovation at Amazon, in an interview with CNet. “It’s been our pattern. We continue to deploy automation and we continue to hire people. They go hand in hand for us.”

Amazon is particularly blamed for wreaking havoc on traditional, low-tech bookstores. There were once fears that the entire book-selling industry could become exclusively online.

Then Amazon opened its own brick-and-mortar shop in Seattle, putting a plot-twist into the narrative. Looks like the techno-giant that was blamed for the death of bookstores, might just be the one to save them.

The key is to increase production

Downgrading current technology to employ more people, or destroying goods for the sake of producing them all over again, are sinfully stupid methods of economic stimulation.

The strength of the economy is not measured by the number of jobs. It is measured by production. More jobs in the online market don’t mean anything unless those jobs are increasing your production.

And how do you produce? Keep creating. Keep innovating. And keep selling. Find easier, faster, freer ways to do it.

Producing is the only way to keep the cash flowing.

If assembly line bots, drones, and screw drivers help you do that, then why would you let someone take that from you?

Or tax it, for that matter?

Website Security & PCI Compliance

Much like death and taxes, hackers are one of the certainties of life in the internet world. A single shared server can have dozens of hacked websites on it and a website can easily be hacked multiple times a year if not properly defended. Being small and obscure isn’t necessarily going to save you either. Hackers very seldom target individual sites, at least initially. Your average hacker is going to start with a network scan of a large block of IP’s, sometimes several thousand. After your hacker gets a list of IP addresses that respond, they’ll run a vulnerability scan on those servers.

The vulnerability scan will likely come back with a series of potential hacks, or exploits that could be employed in order to gain access. The important thing to note here is that an attacker doesn’t need to know that your site exists in order to find it on the web, locate a security vulnerability, and exploit that vulnerability.

So how do you stay ahead of the hackers?

Updates

The easiest way to keep hackers at bay is also the most mundane. Update everything. Software vendors are constantly releasing updates and patches to help keep you safe but most sites are woefully behind on updates. Updates and upgrades often take a back seat to work that seems to more directly impact the business but they’re the heart of security. Both your web software & your server should be checked for updates and kept up to date regularly.

 

Web Application Firewalls

You’re probably familiar with the firewall that runs on your computer and it should stand to reason that a firewall is even more critical on servers that are constantly exposed over the internet. A Web Application Firewall is a piece of software or hardware that’s responsible for blocking malicious traffic to your website. A WAF can be a physical piece of hardware you’ve purchased and dropped in a rack or it can be a service, like CloudFlare, that your route your traffic through before it hits your server.

 

DDOS Protection

DDOS stands for Distributed Denial of Service and it’s a method of attack that relies on overpowering a web server by throwing massive amounts of generic traffic at it. A DDOS is less common than a exploit because it generally requires the attacker to have access to a large pool of machines to initiate the attack from. Unlike an exploit, which generally seeks to access restricted data on your website, a DDOS exists purely for the purpose of taking you off of the web. As a general rule, if you’re being DDOS’d, you’ve either upset someone or you’ve got a hacker testing his abilities on your website. The attacking party has little to gain from this brand of attack.

So how do you stop a DDOS? Your two options tend to be to bulk up, or add enough resources to handle the traffic, or to employ a DDOS prevention service. These tend to be expensive but they’ll filter out the illegitimate traffic before it gets to your site.

Unless you’re running a very large business, employing a DDOS protection service can often be fiscally unfeasible. I would recommend leaving this one alone, unless you happen to be attacked, or trying to find a hosting service that offers one bundled at a discount rate, as many do.

 

Penetration Tests & Vulnerability Scans

A penetration test, or pen-test for short, involves hiring an Ethical Hacker to attempt to break into your website and show you where it’s vulnerable. Someone running a basic vulnerability scan is also an option and often cheaper. The difference? A vulnerability scan will look for holes in your security, a true pen-test will seek to exploit them.

It’s important, if you’re considering running a pen-test, to speak with your hosting provider prior to the test. If you’re on a shared server, your fake hack attempt could be seen as a real hack attempt on other websites on your server and may constitute illegal action. A good ethical hacker should be able to provide you with information about what is legal and what’s not when it comes to testing a website for vulnerabilities.

PCI Compliance

PCI stands for Payment Card Industry and PCI Compliance is generally a requirement to accept payments on the web. So, how do you find out if your website is PCI compliant?

PCI Compliance is often determined by a PCI compliance scan run by your credit card gateway provider. That could be someone like PayPal or Authorize.net. Normally, while your site is still small, you’re not going to see too many of these. As you start to increase revenue, you’re more likely to start getting messages from your payment provider to become PCI compliant.

The next question that comes up is how we get there. Well, there’s not really one path to PCI Compliance. Every scan is going to turn up different results and different vulnerabilities and standards that need to be met. I can suggest a few loop holes to get around it entirely.

The first is to avoid processing credit cards on your website at all. Using services like PayPal standard and 2Checkout, where a customer is directed to an external website to pay, will completely remove you from the scope of PCI Compliance. If you never actually take a credit card number, you can’t be liable for one.

The second(almost as good) method is to use services like Authorize.net Direct Post. In this scenario, visitors are putting in their credit card number on your website but it’s sent immediately to Authorize.net without ever going through your web server. I won’t get into the technical details of how this works, but it greatly lowers the scope of your PCI requirements.

As a final note on PCI, never, NEVER, store credit card information on your own website. Even though it’s possible to be PCI Compliant while storing local credit card numbers, the risk is simply higher than the reward could ever be. Do you remember what happened to Target recently? Imagine that being your business with hundreds or thousands of customers with credit card numbers filched from your store.E

This post is an excerpt from the short e-book, Understanding Websites from a Business Perspective, available on Amazon.

What CMS Should I Choose?

What CMS Should I Choose?

If you’ve ever sat down and tried to figure out how to put your business online, you’ve probably come across thousands of different ways to set up a website. There are self-hosted options like WordPress, Drupal, and Magento along with a plethora of proprietary platforms from personal websites on Wix to massive online stores on BigCommerce. How are you ever going to choose? You can always hire a consultant but never underestimate someone’s ability to make suggestions based on their own needs instead of yours. I’m going to walk through some of the major content and E-Commerce platforms and try to help you understand the difference before you get on your next phone call with a developer ready to sell.

Self Hosted Platforms

What exactly is a self-hosted platform? Well, put simply, a self-hosted platform is a web application you can either buy or download free that lives on a web server that you own or are leasing. There are two categories here. There are compiled web applications which are generally considered closed source. These are platforms that someone’s sold you that run on your server but you or your developers have no access to change the code. All customization must be done by the company you purchased the software from or through administrative tools they provide. If that company goes under, you may have a web application you can no longer support. This is what I would consider the worst of both worlds. You have a web app that you have to manage while still dealing with a single proprietary vendor.

The second option is this space is an open source web application or a web application that allows you to read and edit the code. Now, there’s a much broader definition of “open source” and it includes a discussion about software licensing as well as code access. Open source usually means something that is free and can be both edited and re-distributed. To quote Wikipedia:

Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose.[1] Open-source software may be developed in a collaborative public manner. Open-source software is the most prominent example of open-source development.[2]

https://en.wikipedia.org/wiki/Open-source_software

So why am I making such a big deal about this? Well, not everything you can edit and manage yourself is actually “open source”. Some of the options we’re going to discuss are closed source(owned by a company) but are things that still have the code available for you to manage yourself if you choose to.

Before we go on, I would like to formally introduce PHP. According to Gerard Millares, over 75% of the top web sites globally use PHP as their server-side language. PHP is the primary language behind products like WordPress, which powers 74.6 Million websites and Magento, one of the fastest growing E-Commerce platforms on the market. Additionally, PHP is used by Internet leaders like Facebook and Wikipedia.

What makes PHP so powerful is that it’s a scripted language. Unlike an exe on your computer, PHP is present in plain text and is interpreted by the web server instead of being compiled for deployment. That means that any application written in PHP that hasn’t been obfuscated can be read & modified in real time by a developer. While there are pro’s and cons to interpreted languages, the important thing to note now is that any application developed in PHP can be maintained by your own development staff without involving a vendor. Having a PHP application is kind of like owning a nice dependable Ford. You can work on it, your friend knows how to work on it, and you can find another fifteen mechanics in a ten mile radius who can help you if it breaks.

Now, without further ado, let’s get into talking about the actual platforms.

WordPress

WordPress is the unchallenged king of the internet content world. Powering over 74.6 million websites, it’s running a solid 25% of the modern web. The fact that one in every four websites on the planet runs WordPress is a testament to its stability, security, and ease of use.

Now that I’ve touted it, what is WordPress? WordPress started out in 2001 as b2 Cafelog to provide a personal publishing platform and was forked in 2003 to become WordPress. It’s a CMS, or Content Management System. Simply put; WordPress is a system that will allow you to log into a Web Administrator and create and edit content. WordPress is designed around content(think blogging, publishing, etc) but has the capacity to handle E-Commerce(online sales) as well. A few of the pros:

  • WordPress is a highly extendable platform. If there’s something you want to do, from simple forms to E-Commerce, there’s a decent chance somebody has written a plugin for it.

  • WordPress is easy to upgrade. WordPress upgrades generally “just work” instead of requiring hundreds or thousands of dollars in development fees and multiple weeks of preparations. In WordPress, you hit a button and you’ve updated your site to the latest version.

  • WordPress is cheap to maintain. In general, because of its overall ease of use, hiring a developer for WordPress is much less expensive than hiring one for most other platforms. There are truly massive numbers of people who know how to work with the platform and are comfortable developing on it. You’re still going to pay a premium for top developers but that premium will be much lower than you might expect.

  • WordPress is cheap to host. Continuing with the cheap theme, WordPress is very cheap to host. A good WordPress host could cost you as little as $20.00/month with cheaper options all the way down to $5.00/month. Even with massive amounts of traffic, you’re unlikely to get past the hundreds when talking about WordPress hosting.

Now that we’ve covered some of the better points, let’s talk about when you might not want to use WordPress:

  • Large Scale E-Commerce – If you’re intending on hosting hundreds or thousands of products on your website, WordPress may not be the best open for you. While plugins like WooCommerce allow E-Commerce functionality its not the platform’s primary strong suite. WordPress is perfect for sites that want a primarily informational website with some products, not a site that needs to be primarily products with some information.

  • Recurring Billing/Support – If you intend to build your website around the idea of recurring billing or want a support structure built in, I would recommend looking at other platforms.

This kind of gets into a “What WordPress is and what it’s not” discussion. Do use WordPress for all of your front-end website content. Don’t attempt to turn WordPress into a billing system, a support system, or a full scale web store. There are plugins available for all of these things but there’s also a time and a place for a plugin v.s using a different system designed for what you’re trying to do.

Magento

Magento currently holds a place as the fastest growing E-Commerce platform and for good reason. It’s probably the best free platform available when it comes to putting large numbers of products online. Like WordPress, Magento is written in PHP and can be maintained by your own developers. The pros:

  • Handles large numbers of products well – Magento is surprisingly good at handling anywhere from 500 to 15,000 products quite well. The platform is developed with catalog management in mind and it clearly shows.

  • It has highly configurable products – Out of the box, Magento gives you the ability to heavily configure products. Things like bundles, drop downs, multi-sku products, downloadable products, and more are there right out of the box. No plugins, no coding, it’s just there and it works.

  • Supports most payment & shipping providers – Out of the box, Magento supports most of the major payment & shipping providers.

  • Generally Configurable – Building on the last two points, just about everything is configurable. Magento is the fastest growing E-Commerce platform for a reason. It won’t be pretty but, if you were so inclined, you could launch a functional E-Commerce site from the ground up without touching a line of code. I don’t recommend it, but it can be done.

So, to the cons:

  • Magento is expensive to maintain. I can’t stress this point enough. Magento is a big complex system. The fact that it offers so much out of the box also makes it a bit of a pain to work on from a development standpoint. Most things are configurable but, if you need it to do something that’s not configurable, writing the code can take an exceptionally long time. That translates into higher costs for the business. If you have to have major functionality that Magento doesn’t have, and you can’t find a plugin for it, be prepared to shell out a few thousand dollars, at minimum, for the modification.

  • Magento is expensive to host. In the modern web where speed is a ranking factor, going cheap on hosting no longer makes sense. It’s possible to find relatively fast Magento hosting options as low as $25.00/month but once you start to get popular, expect your monthly hosting bill to be several hundred dollars.

  • Doesn’t handle REALLY large numbers of products well. No, I’m not contradicting myself here. Magento is awesome up to that 15,000 product mark but you’re going to start seeing performance problems when you go higher than that. It can be done but, if you’re intending on launching a 50,000 product store, you may want to budget in a good Engineering team and some very high-end hosting to ensure the site actually works properly.

Back to self-hosted.

Now that I’ve rambled a bit about two of the top platforms, I’d like to get back to the pros and cons of having a self-hosted platform in the first place. When you’re dealing with self-hosted platforms, your major benefits are:

  • Less vendor lock in – There are thousands of companies comfortable working with both of these platforms and many others. If you decide you don’t like your developer, designer, or hosting company, you’re free to pack up and leave. Using a self-hosted platform, you are in full control of who you choose to work with.

  • Extendability – Both Magento & WordPress are written in PHP and are extendable platforms. What that means to you is that they have the ability to be modified beyond their default capabilities if you’re willing to pay someone to make those modifications. This doesn’t sound that important until you get into a situation where you need your website to do something that’s a little out of the ordinary. With an editable self-hosted platform, you can pay someone to build the functionality you need. Using a cloud based service(which we’ll cover next), you’re stuck with the features they’re willing to give you.

  • Easy to Learn ­ By their nature, popular self-hosted platforms tend to have vibrant communities built around them because they present business opportunities for external vendors. Books, videos, and free tutorials are a few clicks away on the web.

The cons of self-hosted options can be grouped into one major item, you have to manage it.

If there’s a new security patch or upgrade, you or your developer has to apply it. If it breaks, you have to pay someone to fix it. If your hosting isn’t quite fast enough, it’s up to you to go on the hunt to find something different. It’s not quite as bleak as it sounds though. There are plenty of awesome developers and web hosts who can help guide you through some of the challenges of running a website. My only advice is to go in with your eyes wide open and understand that you will need to have these people around to help make a self-hosted site a success.

SAAS Platforms

SAAS stands for Software as a Service and basically means any piece of software you use on the web that you’re not responsible for managing or maintaining. Think of things like Gmail and Facebook. You don’t have to maintain the software for these services. They’re something you just log into and use. There are plenty of E-Commerce options that fall into the same category. Let’s explore a few.

Wix

Wix(www.wix.com) starts off at $10.00/month for their cheapest unbranded package and presents you with a series of templates and a drag-and-drop interface to build a website yourself. If all you need is a basic page on the internet to post your business name, phone number, and some other basic info, look no further. Wix is probably the cheapest easiest way to cross off the “Have a website” checkbox for your business.

That being said, Wix isn’t going to do all that much for you as far as content or products. If you want to build an industry leading blog or E-Commerce store, Wix isn’t the way to go.

BigCommerce

BigCommerce(https://www.bigcommerce.com) is a SAAS solution for E-Commerce providers that’s designed to scale. Much like Wix, it offers a site builder to create your site without coding experience and is a relatively easy way to get a website with an expandable product catalog up on the web. Plans start at $29.00/month and span upwards to $199.00/month before offering the option to call for an Enterprise package. If your goal is to sell online without managing your platform, BigCommerce might just be the best way to go.

WordPress

Wait, didn’t we just cover WordPress under self-hosted platforms? Well, yes, let me explain. WordPress(www.wordpress.org) is an amazing open-source platform you can download and run anywhere. WordPress.com is a SAAS provider that will give you a WordPress website in an environment that you aren’t responsible for managing. For as low as $2.99/month, you’ll have most of the benefits of the most popular CMS in the world without the hassle of figuring out how to install and support it. Using wordpress.com, you’ll lose some of your ability to customize but it’s one option to simplify your blogging experience.

So the upsides of SAAS solutions are pretty obvious. It’s a platform that allows you to log in and (mostly) easily build a website without paying for expensive developers to build it for you. Much like your favorite online services, you log in and it just works. So why wouldn’t you want to go SAAS?

  • Vendor Lock In – Simply put, once you decide on an SAAS vendor, you’re stuck. If you decide you don’t like the customer service somewhere like BigCommerce or they suddenly make all packages $1,000/month, you can’t just pick up your site and leave. They ultimately own your data and have full control of how your website works. If they decide to take away features you like or change the way something works, there’s nothing you can do about it. You can always go with another provider but you’re going to have to re-build the website you’ve put so much time and effort into.

  • Feature Availability – If you’re going with a self hosted platform like Magento or the self hosted version of WordPress, you have the capability to hire a developer and have them build out absolutely any functionality you need to run your business. An example here; If you wanted a feature that would allow you to merge customer accounts and none of the platforms we’ve covered had that feature, you have no way to implement that with a SAAS provider without putting in a feature request, waiting, and hoping they give it to you. In the self-hosted world, you can hire a developer and have those features built. In the SAAS world, you get the features they decide to give you.

SAAS solutions can be an excellent way to run a business more cheaply than hiring a vendor to build a website for you but using one of these products is a long term commitment to both the company and the feature set. If you’re just getting started with just a few dollars to spend, using a SAAS vendor can be a quick & easy way to get your first site up and running without investing in something more easily customized. Both options have a time and a place to be used. My goal with this chapter isn’t to push you in one way or the other but to give you a good idea of what’s available when it comes time to make your decision.

This post is an excerpt from the short e-book, Understanding Websites from a Business Perspective, available on Amazon.

Keep Your Sanity By Outsourcing Your Website’s Day To Day Operations

Running an online business can be extremely time-consuming. That’s why it is imperative to have a service provider or professional who can do it for you. Why waste time by doing work you’d rather not be doing? Outsourcing that work for a small fee can free up the time to search and create more opportunities.

As a small business owner, sticking to a budget and being frugal is admirable. However, it can hinder you by slowing the growth of your business. For instance, more time is spent in areas you’re not particularly good in, instead of the ones you are.

To understand this further, we’ve taken the time to mention a few areas that could be outsourced to save you time and pain. Here are those examples.

E-commerce Site Design

ecommerce

If you’re not an incredibly skilled professional at website development, then you should consider outsourcing. Leaving duties to someone more equipped to design your e-commerce site to ensure that it looks great, runs smoothly, and efficiently is key. There are many reasons as to why this approach is the most sensible one.

For one, designing and developing a professional and reliable modern e-commerce website takes years to learn. You have to be realistic with yourself. Do you have that kind of time? The answer is probably not.

Hiring someone takes away the stress of you having to worry about your customer’s buying experience. Let someone else more seasoned handle problems that could come from browsing and purchasing items.

Nothing would be worse than having an issue that prevented your customers from buying what they like. This kind of thing could keep customers from returning to your online store. Thus, making you lose money.

So it’s simple. Investing all your time in learning HTML, JavaScript and CSS is extremely time-consuming. For this reason, outsourcing your website design and development is the best option because it will cost you a lot less. Not to mention save your morale.

Business Applications

Business Integration

App development is incredibly pricey. The reality is, customized applications that are created and tailored to how your website operates, requires an investment of time and money. However, there are shortcuts to getting the same production and quality at a more affordable cost.

For example, linking up with comprehensive business apps such as Microsoft Office 365 and Google Apps is the right first step. The second is outsourcing these types of infrastructures as much as possible, especially those that don’t have IT people in-house. You can find some more of those in our 9 Must-Have Magento Extensions.

The best part about using these services is you don’t need to worry about refreshing the software, as they’re frequently updated with the latest technology. Software like this keeps your business agile and competitive up against bigger companies.

Outsourcing the day-to-day operations and tasks associated with these platforms saves you hundreds of hours and relieves stress. Additionally, this approach allows you to not only scale up in production but also scale down in time and money spent.

Not having to worry about how your apps are integrated and how they talk to each other is a huge timesaver.

Tedious Tasks

Business Tasks

Every business owner has this to worry about. These annoying tedious tasks that have to be done that go easily unaccounted for sometimes. Unfortunately, many of these different types of tasks can’t be automated, so that’s where outsourcing comes in.

Honestly, you can always do these things yourself, but you must realize the time you are wasting while doing them. You could be using that time doing more productive things that can help generate additional income for your business’ website.

That being said, in order to outsource your tasks, you need to first make it clear what you need to be done and how to do it. The way you do this is by creating proper detail-oriented documentation and training. In that case, it’s best to find a professional who can handle end-user training and support. Outsourcing this work is cheaper than hiring someone in-house to take care of it.

At the same time, there’s a lot of care and effort that goes into making sure things is smooth enough to hand off to someone else.

For instance, instead of solely focusing on what you need to be done, you must break it down into a very detailed step-by-step training. Don’t be vague. You should know exactly what you will have your outsourced help working on. Practice patience and put the work in and you will reap the benefits of some great cost savings.

In Closing

These are examples we’ve chosen to best show why you should consider outsourcing your site’s day-to-day operations. For example, if you are a business owner who sells electronics, then you’re going to need technical support. Scaling up from this will require more resources, so outsourcing for technical support is the move to make.

Actually, it’s really a rule every business in all areas of expertise should follow. The objective is to make your workload less stressful so you can accelerate the growth of your company.

You ever heard the quote “you have to spend money to make money”? Well, this statement holds true in so many ways pertaining to running your own company.

Don’t let the allure of saving money hamper your pursuit of grabbing more business for your website.

So be on point by working smarter and not harder. Keep your sanity by outsourcing your website’s day-to-day operations.

Try it. You might be surprised how much time and money you’ll save.

9 Must Have Magento Extensions to Jump Start Your Business

Most owners who run their own online store probably know that Magento is one of the most popular e-commerce platforms. It’s a platform with many extensions available, including email management, social marketing tools, currency/shipping conversions, etc.

It holds thousands of plugins in these categories that can be added to your store to give it an extra boost in sales and functionality. However, lots of startup businesses don’t have the expertise or know how to implement any of this stuff. So finding the right source to tell you what to look for is essential.

To better understand this, we sifted through all the extensions and came up with a list. Here’s the 9 must have Magento extensions to jump start your online store.

Fishpig Magento WordPress Integration

megento wordpress

This is a must have plugin if you’re running a blog and online store. Fishpig Magento WordPress Integration links your store with your WordPress blog. Once both platforms sync, owners can easily switch back and forth from the WP dashboard and the Magento admin panel with one click. Works for a seamless transition.

Having two of the best platforms integrated in this way is a really great cornerstone to running an officiant blog and online store. As a result, this plugin must be on your list of extensions that need to be added.

Read more about Fishpig integration here

Fooman Google Analytics

Fooman Google Analytics

Fooman Google Analytics provides deeper capabilities for your Google analytics. This includes tracking of your Adwords purchases and conversions. It dives into more in-depth detail on your site’s analytics. Thereupon seeing how Adwords is converting for you in addition to the ability to filter by the customer.

This plugin sort of goes with Magento WordPress Integration as it focuses on the blog aspect of your site. You should definitely consider grabbing this is you want to take the writing side of things seriously.

One Page Checkout

magento one page checkout

One Page Checkout module is a free solution that makes checking out for a customer way simpler. As a result, the extension reduces the steps required when buying something.

This is incredibly important when converting potential transactions into sales, as it speeds up the process. This could help lower your cart abandonment.

In addition, this extension also supports multiple languages, and PayPal integration, which is a huge feature to have. That’s why it belongs on anyone’s top Magento extensions list.

Sweet Tooth

sweet tooth magento

 

Magento’s most customizable loyalty and rewards extension. Sweet Tooth allows you to reward just about anything your visitors or customers do. This includes reviews, social sharing, newsletter subscriptions, referrals, and many more categories.

As a result, you can turn your existing customer base into repeat purchasers and brand advocates with the Sweet Tooth extension and a great support team. It’s a real must have a plugin that should be on your site.

Zendesk

zendesk magento

Zendesk is a cloud-based customer support plugin that’s another one of the great Magento extensions out. Great for a one person operated business. The extension integrates with your Magento store to enable customer support within the Magento platform.

How does creating tickets without leaving Magento sound? Good, right? Well, this plugin does, in fact, allow you to create tickets without leaving Magento.

Furthermore, online store owners can also see customer support tickets based on relevance. This lets stores use the customer dashboards to help filter through tickets. If you need a solution to keep customer support clean and in order, then Zendesk is for you!

MageMonkey

mailchimp magento

MageMonkey by ebizmarts is the official MailChimp extension that integrates with Magento. So if you currently run all your newsletters through MailChimp, then this plugin is right for you. It will effectively improve how you communicate with your customers and potential customers.

It allows you to create auto-responding emails for completed transactions, birthday wishes, reminders about abandoned carts among others. Its seamless integration allows for a smooth working experience. A real no-brainer to use as far as Magento extensions are concerned.

AddShoppers

AddShoppers Magento Extension

 

AddShoppers adds social icons into your product so your customers can share them onto various social sites like Facebook and Twitter. Moreover, this extension provides online store owners with a record of the number of products shared.

Not to mention, you can also see which products are the most widely shared, or most sold, from the social share as well as see the highest revenue-generating item. It’s a really organized tool to keep on top of your best performing products.

MatrixRate

matrix magento

Managing to ship isn’t easy, especially if you’re a new e-commerce store. Thus, MatrixRate by WebShopApps is the way to go. Easily one of the most frustrating parts of not having a plugin like this is figuring out what each item cost when going out to specific locations.

Well, struggle no more. Matrixrate helps solve the problem of determining variations in shipping costs for weight, location, quantity and other variables. The way the extension does this is by creating different tables that instantly apply a shipping cost to your customer’s order. This saves owner’s money and time.

Cubix Address Label Printing

cubix address printing labels

Honestly, this extension sort of goes hand and hand with the last one we mentioned. Cubix Address Label Printing is one of the great Magento extensions out there. Additionally, it allows stores to print beautiful address labels – you know – the great looking ones you attach on a package before sending it out.

Equally important, the plugin prints the label directly from the admin panel, so there’s no need to bounce in and out of programs. You can determine the label size, layout, and pieces of information to include on the label. With Matrixrate alongside this, your online store should be good to go in the shipping department.

Quick & Dirty Automated Deployments with Github, Jenkins, and Magento.

This isn’t meant to be an extensive guide but will give you the essentials to start doing automated deployments in Magento with Github & Jenkins.

Setting up Git

Sign up for Github(www.github.com). A personal account will do.

Once you’re signed up, navigate to the home page and click “New Repository”. Add a repository name(no spaces) and a description. I would recommend making the repository private and adding a gitignore. A gitignore file is a way to tell Git to avoid storing certain files in the repository. Files like your local.xml and things in var/cache are specific to a single instance of the code base and shouldn’t be in git. Github actually offers a default “Magento” gitignore file with most of the necessary files ignored.

Once you’ve set up the repository, you should see a button that says “Clone or download”. Copy the https url here and then log into the server that holds your code base. In my case, I’ve got my code on dev and I’m going to be deploying to prod. To keep things clean, I always recommend keeping git configuration in a directory outside of the code base. If your Magento site is in /home/username/public_html, I would create a /home/username/git. Cd into your new git repository and run the following with your url:

Git clone https://github.com/youraccount/reponame.git

That’s going to create a “reponame” directory in the git folder. Inside of reponame(so /home/username/git/reponame) there will be a hidden folder called .git. Copy that folder and the .gitignore file from the same location into your present(git) directory. Go ahead and remove the reponame directory. You should be able to run a git status command now and see the following:

On branch master

Your branch is up-to-date with ‘origin/master’.

nothing to commit, working directory clean

Now, vi the git config directory:

vi ./.git/config

Under the [core] configuration, set the work tree to your Magento directory. That config will look something like this:

[core]

       repositoryformatversion = 0

       filemode = true

       bare = false

       logallrefupdates = true

       worktree = /home/username/public_html

Now, copy your .gitignore file to your Magento directory(/home/username/public_html) and run the “git status” command again.

What you should see is a bunch of Magento files waiting to be added. Now we’re getting somewhere!

Run “git add .”

Now when you run a git status, you should see a bunch of new files listed. Time to commit. Before running a git commit, you’ll have to configure your username and Email for this git directory. Run the following:

Git config –global user.email “youremail@gmail.com

Git config –global user.name “Firstname Lastname”

Now run “git commit” to commit your files. Enter a message to complete the commit.

After the commit, run the following to push your changes to the repository.

Git push origin master

This could take a while as it’s uploading the contents of your Magento store to github.

 

Setting up Jenkins

If you’re on most RHEL based distros, installing Jenkins is as easy as running:

Yum -y install jenkins

Service jenkins start

Chkconfig jenkins on(if you want it to run continuously)

Alright. Your jenkins is installed and running! You should be able to access it at servername:8080

Initially, Jenkins will have no credentials configured. You’re going to want to register an account and then log in. Once registered and logged in, go to Manage Jenkins >> Configure Global Security. Right under “Jenkins’ own user database” uncheck “Allow users to sign up” to stop other users from getting a free pass to your jenkins install. Save the page and let’s move on to installing plugins.

Go to Manage Jenkins >> Manage Plugins >> Available. Install the following:

Git client plugin

Git plugin

Green Balls

Publish over SSH

SSH Credentials Plugin

Jenkins may have to restart during the install. That’s perfectly normal.

Now that you’ve installed your plugins, it’s time to add the server you’re going to deploy to. To add a server, go to Manage Jenkins >> Configure Server. At the bottom you should see “SSH Servers”. Click “Add”. You’ll need to fill out a name for the connection, the hostname, username, and the remote directory you wish to deploy to. Now click “Advanced” and check “Use password authentication, or use a different key” and then enter the SSH password for the remote host. Now you can test and save the remote server.

After you’ve set up the server, go back to the Jenkins home page and click “New Item”. Choose “Freestyle Project” and give it a name. Once you’ve created the project, we’ll get a window to start configuring it. We’re going to be using Git so, under “Source Code Management” select “Git”. Here I would suggest using the full https url to the repository we used earlier and adding your github username & password. Under “Branch specifier” add “*/master”.

Scrolling to the bottom, you should see something called “Send files or execute commands over SSH after the build runs”. Check that checkbox and then select the server you chose earlier. After you’ve set that, the only thing you need to change is “Transfer Set: Source Files”. Add a double star(**) in order to specify you want to copy directories as well as files.

Alright. If all of that has gone well, we’re done! Save the job and then click “Build Now” on the left hand side of your new Jenkins job.

*Note – This works beautifully if you’ve already got a Magento site in place you’re deploying to. If you don’t, you’ll need to fill in all of the essential files(things like local.xml) that won’t be in source control. I recommend getting a Magento install up and running and then deploying to it.

How To Make Money Through Blogging and Online Stores

How To Make Money Through Blogging and Online Stores

To most people, making a living earning money online seems more like a myth. The fact is the majority of internet users are not keen on the ability to make a little cash while sitting in front of the blue screen.

Two of the best ways to make money online are from blogging, or choosing one of the best e-commerce platforms to build your online store. Read more