The day before yesterday, when the news started to go viral, Feng Ye alone made several thousand yuan. Do you think I'm envious? Actually, the night before yesterday, the person in charge of Zhihu told me to write a good article and promote it, but I couldn't think of anything I could write that would make people pay to read it. But I am talking about this today because the product manager, who happened to be an old colleague ten years ago, told me that it only took 30 hours, or less than two working days, from development to launch. Of course, some technical people may think that this thing is actually quite simple and the development workload is just that much, but we know that in many companies, it takes a very long time to start a project, even a very small and simple project. Various processes, various inefficient and meaningless communications, and various strange and meaningless ideas and concerns are all mixed together, which greatly hinders the implementation and execution of the entire project. To be honest, my own company also has this problem. The level of the programmers here is actually not low. I dare not say that their ability to analyze and solve performance or other abnormal problems can be compared with the architects of first-tier Internet companies, but at least they have been trained, and their level is definitely above the average. I basically don’t worry about this. However, there have always been some problems in project planning and execution. The main problem is that there are too many ideas in system design. They always think simple things are complicated and make simple things complicated. This also makes many things cannot be realized. In fact, when we talk about technology, designing systems, and designing architectures, no matter how small or simple something is, at the beginning, entry-level technicians have simple ideas, but they have no concept of risk, expansion, and adaptation to future changes in demand. Therefore, although the things they make are simple, they are poorly maintainable and insecure. To be honest, most of the cheap and expensive technology outsourcing teams on various crowdsourcing websites are at this stage. After reaching a certain stage, you have a certain understanding and concept of technology, and you know about future expansion considerations, demand changes and expansion considerations, and security considerations. However, if you consider too much, the design system will become very complicated. You will want to make an independent and expandable module for each small function. As a result, simple things become complicated. This is the second stage. The third stage can be considered as the stage of heavy sword without edge and great ingenuity without effort. If you look at the code and don't think about the logic carefully, you may feel like you are back to the first stage. How can it be so simple? Such a small amount of code can do this, and it doesn't seem to be anything special. But if you think about it carefully, you will find that in fact, the design of many places is reserved. That is, I didn't write anything here, but when there is a business demand in the future, I don't need to make a big change, I just insert something here. This is a bit like what we said before about reading a book, first from thin to thick, and then from thick to thin. You need to go through this process and simplify all the complex problems, then you can enter a higher realm and level. I have said this to programmers. I said that at this stage, you don’t actually need to prepare everything in advance. You need to reach a state where you can think about it but don’t need to do it. That is, you have thought about these possible future needs and demands, but you know how to quickly expand and respond. Now that your structure is very simple and flexible, you can implement the current logic according to a reasonable structure, and then leave a few lines of notes. What can be done with this interface in the future, what can be added to this design in the future, you don’t need to implement it, it is enough to have a low-coupling structure. I invited the great man Yunfeng to give us a lecture on system architecture design. His colloquial language was that this is actually very simple. From beginning to end, you can't see him showing off any technology or talking about anything particularly profound and abstruse, but the system he created is indeed easy to use. Later, during the Q&A session, our employees asked about some new technical terms related to this and that. Yunfeng was also very straightforward and pragmatic and said that we don't need this and that for our current needs. I think this is a model of a heavy sword without a sharp edge; now the skynet open source engine shared by Yunfeng and his team has been used by many game teams. The code volume is not complicated, and the functions are not rich, but it is a very practical light architecture that can greatly reduce the server-side development costs of certain types of games. In fact, my requirements are so simple, low coupling, expansion requirements are thought of but not achieved. Quick implementation, quick productization, but this requirement is still difficult to implement. This is what I envy and admire about Zhihu. A startup team needs extremely strong execution capabilities to stand out from the competition. In fact, a small team and an excellent technical staff can complete a good product in a very short time. I have said before that the standard for evaluating a technology product on the Internet is how many users are using it, not how many lines of code there are. When I was young, I wrote a WEB OA with a lot of lines of code, but it was of no value because the product design ideas were wrong at the time, so I couldn't develop users at all; later when I was working on CNZZ, I wrote the first version in two weeks by myself. Of course, it was relatively simple. It took almost two weeks to upgrade the version. It took two weeks to make major adjustments from data structure to code structure, and I didn't write it full-time. The amount of code was not large, and there were many problems, but the product value was reflected. The amount of code may be only 1/100 of that OA, but the value may exceed 100 times that OA. There are still many demand points for products like Zhihu that are simple and easy to explode on the Internet. You can't say it will definitely become a great product, but if you can make low-cost, fast trial and error, and fast iteration, perhaps many opportunities will arise from it. To be honest, in areas with low technical barriers, the fast fish eats the slow fish is still an effective development principle. Let me give you an example of an idea that I mentioned to my team. Today I am making it available for free and testing it on my readers. For example, public accounts like mine, and big Vs like Feng Ye and Chi Jianqiang, often have requests for advertising. Some are real advertisers who spend money, some are companies with vested interests, and some are recommended by friends or for volume exchange. In many cases, a QR code link is provided to the other party. So there is a particularly strong demand here. I definitely want to know how many people have swiped the other party's QR code through me. At present, this number cannot be directly counted, and the other party can only estimate it through data changes. Here I want to make a request QR Code Conversion Tracking Tool When you get a QR code or a direct link, you can go to this platform (web page, or official account) to generate a new QR code. This new QR code includes a jump page and then redirects to the original target link. For the promotion effect, it means adding a jump process. The jump page is actually a tracker. In fact, you don’t need to write any code. You just need to execute a jump operation and then record a log. The analysis program reads and processes the logs in the background to obtain the number of clicks on the advertisement and the user composition of the clicks, such as the time composition of user clicks, user region composition, and user client composition. Then, when the self-media logs in to the background, they can see this report. It's just such a thing, but it has to be super light and easy to use. If someone can make it, as long as you make sure your jump page is safe, I'd be willing to use it. So, the question is, what should be the development cycle and cost of such a thing? I personally think that if it is just a simple prototype of the web version, two days is enough. If you search github, you can find the code for QR code recognition and generation. Google has also shared high-quality code. Once it is debugged, you can just make a call page. If the background statistics are not complicated, it can actually be completed with a very simple structure. And your analysis program is processed asynchronously, so you don’t have to worry about load issues. There are even many open source software for such analysis programs. |
<<: Creating the "3D Panoramic Tour" Secret in H5
Nowadays, it is becoming increasingly difficult t...
Hema Fresh is an important part of Alibaba's ...
Many marketers worry that their website rankings ...
[[136329]] Although the outside world had basical...
There is no doubt that live streaming sales is a ...
Recently, CB Insights, a well-known American vent...
01. How can a novice quickly get started in writi...
Cleaning digital products has always been a big p...
With the public beta release of WeChat Mini Progr...
The most important turning point is that with the...
Recently, Android WeChat released the official ve...
How to write a slogan that can spread itself? The...
A few years ago, I wrote a long article about lea...
This article mainly focuses on how to achieve gro...
The rapid development of mobile Internet has enab...