Oliver Zheng

Apr 30, 2016

Guidelines for Software Businesses

The low barrier to entry to creating software and online services has flooded every market with a myriad of solutions for every problem. While choice and competition are great for future customers, existing customers often lose out when the businesses behind these solutions don't turn a profit or can't grow quickly enough. When these businesses shut down, existing customers suddenly lose what they depend on.

There should be mechanisms and promises in place to alleviate risk for existing customers, and attract future customers concerned about a software business's potential demise. Here's some guidelines all software and services should follow:

  1. If at all possible, be a desktop/mobile app that does not depend on a service's backend to function. If the business and its servers shutdown, the software should continue working. A service backend may enhance the experience, but it shouldn't be necessary unless it needs to be.

  2. Be able to export to a text or a well-known binary (e.g. sqlite) file format, at all times. If it's a desktop app, the file format should be this; exporting to something else could lose precision. If it's an online service, the export should be available at anytime.

  3. If it must be an online service, open source all of the implementation. If the business can't do so while in operation, promise to open source in the event the service stops working for whatever reason - acquisition, pivot, or bankruptcy.

  4. If it's a desktop application, offer download links to historical versions. While it's sensible to auto-upgrade to quickly distribute new updates, sometimes they suck. Let the user have the choice of using existing programs. (Users downgrading is signal enough for feedback.)

The cost of being able to throw mud at the wall to see what sticks is that many users will depend on the mud that don't stick. Users know this now and will make decisions accordingly.

Hedge against this risk and make your business and your user's lives better. If you are starting a software business, implement all of these and then heavily market it as such - potential customers will be delighted. If you have an existing software business, implement all of these now - your existing customers will love you.


I like receiving and responding to email: herpderp@oliverzheng.com.


I'm on Twitter. This site has an RSS feed. Both will have shenanigans in the future.