There can be all kinds of start-ups, such as a restaurant, a home remodeling company or a chip design company. Among all the types of startups, a startup as an independent software publisher is probably the easiest to get it going in terms of initial cost. All you need is a computer, some coding software, an Internet cable, and of course, an experienced programmer like yourself. However, when you run a one-man software workshop, you have to do almost everything by yourself. You have no dedicated team to do sales or marketing for you. You have no other people to talk to the customer and generate the spec for you. To maximize the efficiency as one-man workshop, you will have to design your software in a way so that it has the capability to present, engage, promote and sell just like a real sales & marketing people.
First, as the most important point in terms of strategy, you need clearly differentiate your product from the big competitors. Don’t just replicate every function provided by the big companies. In many cases, you would have to replicate functions from the big companies because most existing users are quite used to those features and don’t want to live without them. However, you will have to add your own flavor on top of the basic stuff to address the pain points of users overlooked by the big players. You need laser focus on one or two critical pain points and do everything you can to provide the BEST and PERFECT solution to these pain points. Make sure you give premier coverage to these pain points and how your solution is the best on your website and in your software documentation. DO NOT try to solve every little problem. You will exhaust yourself out easily and yet get overlooked easily by users who are looking for specific solutions. It is just like vitamin for women always sells better for general vitamin among women, despite the fact that when you look close enough, the active ingredients have very little difference.
Secondly, when you design your software, you need collect usage statistics for every major features within the software. Don’t always trust your intuition as a software developer. In most cases, software developers don’t understand well how average computer-illiterate people use software. You should distinguish between your personal needs and what average people out there in the street really want. That’s why you should listen to the statistics. Sometimes, you would be surprised that a simple and seemly stupid feature can be very popular among users. And some cool feature you really like yourself may turn out be overlooked by most users. If a feature turns out to be very popular, by all means put more efforts into it and make it perfect. And don’t forget it to give a bullet on the home page of your website. If a cool feature is overlooked by users, you can first try to communicate with your users to find out what you did wrong and what is missing. If, after doing your due diligence on investigation and communication, users still don’t like the feature, you should stop investing more time on it. You can either get rid of it and move the access point to a less expensive position in the UI of your software.
You’ve probably heard many times about some funny video or interesting story “Going viral” on Internet. You probably would like that to happen to your software as well. If you want that kind of thing to happen to yourself, you need think of some feature that has high buzz-generation potential. It doesn’t always have to be an extremely useful feature. But it has to be something interesting, something fun or cool to use, something that people want to talk about in a group, either offline or online, or something debatable that can easily provoke arguments between your potential audience. I will name one example here, i.e., the popular mobile messenger, Wechat. It lets people add contacts to each other by shaking the cell phones at the same time. It is not the most efficient way to add contacts for each other but it is definitely a lot fun to do it that way. Imagine a group of people standing together in a restaurant, shaking their cellphones at the same time. A lot of people did that when Wechat just started to catch on. This simple feature gave wechat a boost that was strong enough for it to nail the dominant position in China.
Next comes the classic argument between simple and complex in terms of UI. The big trend nowadays is that user interfaces are getting simpler and simpler. Google’s chrome browser took the initiative with a minimalist style UI. Apple’s iOS also touts a simple and clean UI. With two strong leaders, there are many more copycat companies which set off an industry-wide trend. Is simple always better? Not necessarily. It really depends on your audience. If your audience are the average moms and pops, make your user interface as simple and clean as possible. Make sure the users can achieve the most important and frequent tasks in the most straightforward way. If it can be done in two clicks, don’t make it a three-click operation. If your audience are engineers and developers, make you sure offer plenty of options and customizability. If you face a mixed audience consisting of basic users and advanced users, start with a clean and simple UI while offering one single entry point to advanced configurations for advanced users. Give a fair warning when users attempt to pass that entry point to prevent basic users from getting where they shouldn’t be. The last approach is the best and safest approach if there are a certain percentage of advanced users within your audience. Even if it’s just 5%, it could be costly to ignore such users, depending on the scale and industry of your business. Such advanced users can be active evangelists who can create a a lot of buzz and support for your software online and offline. If they hate your software, they will make sure everyone hate your software as well. Microsoft Windows 8 is a famous example. Being ugly is only one of the sins. They tried to be simple and clean but ended up with ugliness, making them poor copycats. But as importantly, they took away many options or made them extremely hard to find. Even if 95% of basic Windows users don’t care the missing options, the developers, engineers or IT admins who need these options are pulling their hair trying to do something that used to be like a snap. These people, although small in percentage, controls all the reviews, blogs and news. They will tell everyone Windows 8 is bad. And other average users will simply follow the opinion of the experts. That is a how a big company Microsoft screws it up when they try to make it simple.
I’ve made the recommendation that in most cases, you should start with a clean and simple UI with a clear central goal. However, there are many other features in your software that are powerful and useful. But you can’t possibly put a link or a button to every useful feature on the first screen of your mobile app or directly on the main window of your desktop app. You would call them hidden gems. But you can’t just wait for the people to discover your features by digging through a long list of menus or options. You should analyze the behavior, language and geographical location of users in a meaningful way so that you can figure what feature they would probably need and what time they would need it. Based on that information, you can recommend the relevant features and options to the users at the right moment so that they can achieve what they want to do more efficiently and smoothly. Smart feature recommendation within your software can give different users what they want, without cluttering the main UI.
Last but least, you should make it as easy as possible for users to share or recommend your software to his friends or colleagues. For example, you can put a “tell a friend” to help users write to a friends about your product. You can prepopulate the template of the email to make it easier. A Facebook or Twitter sharing link is also very useful. You don’t have to wait for users to do the recommendation. If you find a user has used your software long enough to like your software, you can pop up a gentle reminder to ask users to recommend your software to his friends. Be sure not to do it persistently to annoy users. That could leave to quick removal of your product from the user’s computer or device.