Start a business as a programmer: the path to success in software development

Source: Internet
Author: User

A common method for Software Promotion: first, of course, to publish your software to a large software download website; second, you need to build a website specifically for your software; second, it is an advertisement issue related to software. The first step for overseas software promotion is similar to that in China. You must submit the software to a large software download website.

 

Like everyone else, I used to be an ordinary programmer who earned a living by working for a software company. Later, I felt that there was no future for such a long term. Although I am still young enough to work overtime and work hard to eat, what should I do when I get older? I have heard that many people can earn hundreds of thousands of dollars each year by sharing software on their own. Why can't I? I resigned and joined the sharing software line by taking advantage of my technical skills and the idea of mature software.

After more than half a year of hard work, the software was finally compiled. Because I think my software features are novel and programming technology is also good, I think that as soon as it is released, everyone will be eager to register for purchase, it can also take tens of thousands of yuan a month like those famous sharing software authors, but I cannot imagine the result. In the first year after the release, only one person registered, only get dozens of poor yuan. Now I realized the importance of Software Promotion-we, as technicians, tend to focus on technology-light marketing. The result is that even good software is unknown and can only be enjoyed by itself. At this time, I was interested in searching for articles on Software Promotion on the internet, and I went to the sharing software forum outside China for less information, in addition, we also continuously improved our promotion skills based on our own experience and lessons in practical promotion. In the second year, we gradually started to improve software promotion, and we got more than one thousand yuan. After several years of experience in the field of shared software, nearly yuan is recorded every month. Although the money is not enough for the sharing bulls, I think it is not bad. In order to avoid programmers from making many detours, I have written my own experiences and lessons to give some inspiration for Software Promotion.

First, requirements for the software itself

Maybe you may wonder, isn't it about how the software is promoted? How can we talk about the requirements of the software itself?

In fact, it is not surprising that the high-rise buildings lie in the stability of the Foundation. If you don't have a good software product, you can talk about promotion without saying that there is little success. Even if you get the product, the customer will feel cheated, return the product, and refund it, in addition, negative publicity on your software will make you feel overwhelmed.

So how can it be regarded as a good software? First of all, your software must be novel and unique, and you must have other functions without them. A common mistake for many programmers is that they like to start from their own technologies, compile what they like, or simply sell their own programming technologies. In fact, as users, they do not understand or care about any advanced programming technology used in your software. What they care about is what the software can bring to them. Some programmers do not have their own unique ideas, and they are always on the cloud. As soon as they see any popular software on the Internet, they will immediately make a copy. Isn't QQ popular now? He will also compile a chat software; isn't flashget very popular? He also compiled a download software. It's strange that such software can be sold out.

My experience here is that if you don't know what kind of software can be sold well, you should consider the problem from the perspective of ordinary computer users. Starting from the user's concept, we must start with the user's requirements. As long as it is a function that the user needs, it is afraid that the software only has this function, as long as the software of others is not included, you may succeed here. For example, Zhou Yi's MP3 CD maker does not have complicated functions, but everyone needs this function. Many popular software such as Nero didn't have it, so he can pay tens of thousands of dollars a month.

In addition, the software itself must be as perfect as possible, that is, there is no obvious bug. Nowadays, many people are eager to release the software without any tests. As a result, problems are everywhere when others use the software, it only has a great negative impact on the software. In my experience, software compilation requires at least two months of testing. Not only do you have to perform a thorough test on your own, but you have to give it to your relatives and friends for testing. Of course, it is better to give it to common users for testing. Maybe you would say someone else would like to do this? In my experience, as long as I promise to give them the official registration code for free after the test, they will be happy to test it for you.

2. Common Methods of Software Promotion

First of all, of course, you are releasing your software to large software download websites, such as the huajun Software Park and skysky software station. For those small download websites, there is no need to publish one by one. I also wanted to release the software on these small software download sites, but there were many pages that didn't even release the software. Some give an email address even if it is good (but after I release the software via e-mail, it is also like a muddy sea, without audio), and some simply have only one QQ number. In fact, I have observed that as long as you have successfully released the software at the huajun Software Park and skysoftware station, many software download websites will also be reprinted. This saves me a lot of time.

Second, we need to build a website specifically for your software. Maybe you will say that I have released the software to other websites? Why do I have to build a website. The reason is very simple. If someone else's website belongs to someone else, you must have a website dedicated for promotion. At the same time, this website is also responsible for collecting user feedback, in addition, sharing software focuses on services, and you need to rely on this website to provide technical support and other services to your software users. It is worth noting that your website must be very professional, so that users can have a strong technical capability after entering your website. Do not think that you are a software engineer. If you do not know how to compile a website, you can create a solution. I have a friend who once wanted to buy the official version after downloading a software trial. But as soon as he enters the author's simple webpage, he has no desire to buy it. Because your website is poor, it is easy for others to think of your programming technology and services. Therefore, poor websites not only cannot promote your software, but may also drive your potential customers away.

In fact, since you can compile software, it is not difficult to design a website. The key is that you are not willing to work hard. If you really don't have time to learn how to write web pages, you can spend some money to ask a specialized web design company to help you prepare one. Maybe you will say, what should I do if I have no money. Here, I would like to call you a secret trick (I will not teach anyone), go to a large download site to download the top 10 software official website to find the most suitable for your software style, using FrontPage to copy the entire webpage, replace text and images with yours, and retain the layout and CSS style of the original website. This is the birth of a Professional Software Promotion website. I used this trick at the beginning, but after learning about website design, I continue to improve and improve it, it's already more professional than other websites.

After the website is available, it is not just a matter of luck, and the website itself has a promotion problem. You need to design keywords based on your software and use these keywords in the title and content of your website, so that when someone else uses these keywords to search on Google and other search engines, you can quickly find your website. Of course, website promotion is not the topic we will discuss here. You should be able to easily find these materials on the Internet. If you can set keywords related to your software to the first page of Google search results, congratulations, you are not far from success.

Again, it is about advertising for software. Some people may say that it is very easy to find a website with a large traffic volume, such as Sina and Netease, so it won't be possible to advertise on it. Yes. If you can afford to pay tens of thousands of yuan in advertising every month, it is understandable. However, if you have a monthly income of tens of thousands of yuan, I don't think you need to eat with sharing software. In fact, advertising is very knowledgeable. It is not just about the traffic size of the website, but about the potential users of your software. The key is that you need to carefully analyze the type of visitors to the website. If the user group is the same as the potential user group of your software, even if the website traffic is not very large, you can also advertise on it. In this way, you do not spend much money, but the advertising effect is very good for your target users. I have an industrial application software. I initially advertised on a general software download site, but I found that the effect was not good because these users only came to look for some common system tools and software, I am not interested in my software. Later I found that there is a software business network http://www.bizsofts.com/browser and my software user group is consistent, on this website advertising. Advertisement is a text type. In the "Popular software" column of the website, this column appears on all pages of the software information, so there are a lot of views. The most important thing is that the advertising fee is not expensive, and only 100 yuan per month. After the advertisement is published, the effect is very good. Some people are doing Google adwords text ads, but I have not tried it yet.

 

Third, how to push software overseas

Your software has been promoted in China. Do you want to go overseas? The answer is yes. Due to the ineffective fight against piracy, decryption, and other activities in China, the fruits of your hard work may all be lost after cracking attacks to others. Therefore, it is a major issue to prevent software from being cracked in China. I will leave it to the next point for further consideration. In foreign countries, due to the strong crackdown on piracy and cracking, the user's awareness of genuine content is generally higher than that in China, so there are also a relatively large number of people who pay for registration and purchase. Therefore, it is necessary to promote your software abroad. For me, most of the current software revenue comes from overseas users.

The first step for overseas software promotion is similar to that in China. You must submit the software to a large software download website. Foreign large download site mainly has two: one is http://www.download.com/, the other is http://www.tucows.com /. Different from the domestic software station, releasing software on download.com requires a fee of $79 for each submission and $79 for each update. If you really want to push the software overseas, the money cannot be saved. Because download.com is so popular, its name is actually the world's first software download site. If it is not released here, you will lose more than half of the software users. Another software download website, tucows.com, claims to be released for free. If you do, you will be disappointed. I have a piece of software that I submitted to tucows.com in May, but it has not been released in May. I checked the management page of the author and ranked 8340 among the 1,367th software to be reviewed, it may take a year or two to publish. Later, I spent $59 on the "Queuing fee", and the result was released in less than two days.

In addition, a foreign company is usually looking for an agent to collect your money and send you a regular check every month. The proxy industry is already a mature industry in foreign countries. Don't worry that the proxy will not give you money. Relatively large agent: http://www.regnow.com/facilities the most complete agent, need to open the account fee. Http://www.qwerks.com/free account opening, it is said that excellent reputation. Http://www.shareit.com/is also a good software agency. There is also a http://www.regsoft.com/but it is said to reflect the general.

In addition to releasing the software to these download or proxy websites, you must have an English website. If your English is not very good, advise you to find a friend who is very good at English or ask professional English experts to translate the money and then publish your website, otherwise, your website will not only play a promotional role, but will also leave a bad impression on foreign users.

In addition to the methods described above, it is particularly important to pay attention to the feedback from foreign users and to do a good job of service. After I published a software package in download.com, I saw a comment about it in about a month. I rated my software as the worst and added a lot of comments: although he is a Czech, english is not his mother tongue, but I also found that English in my software is terrible English, full of misspelled words, non-existent words, etc. In addition, after the software is opened, there is no operation prompt on the interface. I don't know how to use it, and the function is not perfect. The screen cannot be displayed at a resolution of 1024x768. In short, I think my software is useless. In his words, it is terrible and just terrible. At first, I felt very discouraged, but then I thought about it carefully, why not correct the bug and upgrade the software. Because the evaluator's contact information cannot be found in download.com, I found his email address in the software registrant information and emailed him the software I corrected, and sincerely ask him to correct my mistakes. Soon, he replied to my email and pointed out my other mistakes one by one in the email. I took this opportunity to further correct the error and upgrade the software to 2.0, bringing my software to a great level. In short, we should pay attention to users' comments and criticisms on your software, and actively face users' opinions. In this way, even bad things can turn into good things.

In addition, if you are abroad, you will request a refund if you are not satisfied with your software purchase. PayPal and other payment methods have provisions that may request a refund if they are not satisfied within a few days. If the user asks for a refund, he will be able to return the refund if he persists. Therefore, it is generally necessary to return it to the user directly according to the user's requirements and tell him that keep my software as a gift, he has obtained the registration code, and you are useless in doing anything. Even if he asks you to provide technical services after the refund, you should try your best to help him. If you can achieve this, your service will be truly home.

Fourth, how to deal with software cracking

The biggest problem you have to face when you promote software in China is that the software has been cracked. Many software authors reported that there were still a large number of people who paid and registered the software before it was cracked, but after the software was cracked, the revenue plummeted, and even the cost could not be recovered. What do you think if people pay for free?

Here, I learned from the anti-cracking experience of a software author: at the time of release of version 1.0, version 2.0 had already written about the same. When releasing Version 1.0, it is necessary to write the anti-cracking or Registration Algorithm of version 1.0 simply, waiting for others to crack it. Once there is a 1.0 cracking attack, wait for a few weeks. These weeks are enough to make 1.0 of the cracked versions on the Internet all over the world. Then, analyze the cracking process and change the version 2.0 algorithm (layer-by-layer encryption, complex and complex). Although cracking cannot be eliminated, it can waste the time and endurance of the attacker! Under normal circumstances, when you search for your software on the Internet, there is already a cracked version (1.0). New hackers rarely crack it again, not to mention the complexity of version 2.0. One of my software used this method to launch an attack that was cracked by an organization after January 1, January. It publicly cracked the process and registered algorithms, and made a cracking tutorial. In fact, in a sense, the attack helped me publicize the software. I launched a new version that was already written a month later and registered it as a "special edition" to confuse people who want to crack the version. After using the above method, I still haven't cracked the software several times after I updated it. However, searching for Cracked versions, special editions, and registration editions on the internet is everywhere. None of them are true. In fact, some hackers just want to test their own capabilities. After cracking a software, they usually set the target on the next software. However, if your software becomes a necessary tool, this method may not work.

In addition, there are some technical anti-cracking methods. Assume that you have registered 300 rows. You can divide them into 30 inline function calls (must be inline), func1 (), func2 ()... func30 (). place them in all parts of the program at will, and they must not be put together. Do not use memcpy or other common system calls to copy the registration code. Do your best to write the code yourself, such as memcpy. The performance is almost indifferent. After compilation, the inline function is expanded, and the registration part is mixed with other code. It is very difficult for him to write the registration machine, it's like finding useful registration parts in hundreds of thousands or even millions of pieces of assembly code. In addition, do not put the registration code together. If your registration code is 12 characters, do not use a 12-Bit Array to place the registration code. You can define 12 global character variables at different positions of the program, each put one digit, so that the registration code is not sequential in the memory. It is best to encrypt and process it again (simple characters can be different or can be used) and decrypt it during verification. No brute force or loader cracking is possible as long as the attacker cannot find the end of your verification. It is very important not to use continuous memory to save the variables used for verification. Try to scatter the temporary variables used for verification in different places of the program, and then in the verification process, constantly transfer some values to other variables, which is more effective in dealing with violence and loader. There is no need to use complex encryption algorithms to make tracing easier. As long as you hide the registration part well and there is no vulnerability, it takes one day to write the encryption algorithm, and the attacker may spend-times time cracking. Most people give up. You will register them together, just like placing your treasures in a modern coffee box. Although it is very strong and hard to decrypt, the unlocking experts will be able to open it in two minutes. It is also very effective for some professional scammers to adopt the above method, but it is still necessary to avoid some low-level mistakes such: do not directly display the registration code and the obvious registration code in the memory. Do not give the user too much information about registration verification, or immediately compare the received registration code. The benefit of implementing verification in different functional aspects of the software is that the verification code registration code will not be executed immediately. The verification code can be divided into several verification parts, it can also be divided into several layers for verification, and some useless operations can be performed as much as possible, plus some code that is difficult to debug tracing such as recursion, but the code that implements software functions should be interspersed in it, otherwise, people will jump over. The less noticeable the better, that is, the more chaotic the better.

In fact, it is unrealistic to thoroughly prevent cracking. In addition to studying the method of cracking, adding shells before release, and using the method mentioned above, it is also a good method to continuously upgrade the program.

In short, the promotion of software will take some detours for the software authors who are familiar with the technology at the beginning, but as long as they constantly learn the experiences of successful users and learn the lessons they failed, you will also succeed. Finally, I wish everyone a sharing master.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.