…vendor lock-in, also known as proprietary lock-in, or more simply, lock-in, is a situation in which a customer is dependent on a vendor for products and services and cannot move to another vendor without substantial switching costs, real and/or perceived. By the creation of these costs to the customer, lock-in favors the company (vendor) at the expense of the consumer.
So let’s ask ourselves who the fancy pants custom software or website we just built should favor — the customer or the developer? Hmmm, this is the blog for developers so perhaps the answer is the developer? Wrong. But neither is it the customer. This is a trick question and the answer is it should be fair to both parties. One of the ways to ensure that is to avoid lock–in of the customer’s data.
I’m going to take a firm stance on this one and say lock–in is bad. Furthermore, intentionally locking in customers is morally repugnant. Of course, I am an idealist when it comes to the freedom of information, but I’m planning to follow this up with some arguments for those of you who are a bit more pragmatic about these issues.
A Bad Long Term Business Strategy
Some companies and individuals will promote lock–in as a strategy for ensuring your long term dominance in a market and forcing customers to remain loyal to you. This may work for a few but it is a terrible way to ensure loyalty. There are basically two way to ensure loyalty in your customers — give them no choices or be the best choice. The former strategy is the route to success for a few of the corrupt or inept out there, the latter strategy for professionals who are good at what they do.
But wait, I hear you shouting at your monitor, don’t companies like Microsoft and IBM lock–in their customers all the time? If large, dominant and arguably respectable companies are doing it why shouldn’t I? There are two reasons, 1) people hate these practices from Microsoft, IBM, and other large companies and 2) you are likely not a large, dominant company that can run roughshod over your customers and get away with it for very long.
You might be able to get a few clients and successfully lock them in to your proprietary systems. However, they will eventually realize what you have done and be very displeased about it when it costs them a lot of money later to change and update their company’s systems. At that point they will do things big and small to destroy your reputation and keep you from locking in new clients. They will not recommend you to other companies. If people ask they will talk about the trouble they had getting their data out of your system and how much it cost them. For small firms or independent developers having a bad reputation can break you and a good one can draw in the clients that you need to stay in business.
Loyalty Through Excellence
Set them free, if they return they are always yours. If they don’t, then they never were.
It’s generally a quote about loving and trusting people, but I think it applies equally well to clients. If you are any good at what you do, you should aspire to keep clients loyal to you through the quality of your work. This means that they are choosing to remain with you rather than any of the thousands of other firms they could choose from. That kind of bond can last for years and help you grow your business. Loyal clients will tell others about the work you do which can result in more business for you. They will fight to keep you as a part of their team if others object (this can be great if you have a loyal champion in a large organization).
Making Your Life Easier
Perhaps I haven’t won you over with my arguments about morality or client retention, but there is another reason to avoid using proprietary technologies and other common lock–in techniques. We’re going to rely on one of the most powerful motivators known to man — laziness. Making sure that you are not tied into a particular technology, data format, or platform makes it easier to update and change a system later as new technologies emerge. Change is given in our business, make it easy on yourself to change. Laziness is often maligned as a personal trait, but it can also push us toward efficient, effective solutions.
Lock–in is bad for clients and bad for developers. It is part of a culture of incompetence, fear, and mistrust that permeates many organizations. If you are striving for excellence, respect, and long term growth for your company don’t make lock–in a part of your business strategy.