The article is a bit long, but I am sure there will be a huge harvest after reading it, especially for those who want to be engaged in the Internet industry and want to develop their own APP. This is my experience from the situation that I outsourced and developed my own products for many years and accumulated research and development cost over ten million.

Say first conclusion

The cost for Tencent to develop wechat should exceed 1 billion yuan, which is really very difficult technically. If given to a full-stack engineer, it may take 10,000 years to do it. The following is a detailed explanation and analysis of why the cost is so high and where it is high.

I was engaged in the APP software outsourcing industry before and after the launch of hundreds of outsourcing APP development, involving e-commerce, education, finance, Internet of things, medical care. Last year, I began to transform and develop an Internet product belonging to my own company. During this period, I really experienced the huge difference between making products for myself and outsourcing, which can fully explain why Tencent’s wechat development cost is so high.

Tencent’s wechat development cost is high, which can be roughly divided into the following reasons, which will be explained in detail one by one:

  1. Repeated modifications of functionality result in huge costs, and previous ideas may be constantly overturned during the development process.
  2. Debug compatibility problems of different mobile phones with different operating system versions
  3. Handling of high concurrency problems in the case of large user base
  4. For some features, you don’t just want to develop them (like news push), but you have to negotiate with third-party phone manufacturers to make them work. In short, you may have to pay them.

1. Repeated modifications of functions result in huge costs, and previous ideas may be constantly overturned in the process of research and development.

When I was an outsourcing company, the development cost of most clients’ APP projects was less than 500,000 yuan, with the price between 200,000 and 300,000 yuan. Take the most basic registration and login functions as an example. Generally, the total development time of 200 or 300 thousand developers for android, IOS and background development is generally 2 to 3 working days (3 engineers working together), including writing code and debugging bug time. In case of cumbersome or high customer requirements, it may take less than a week to make repeated changes.

However, when we were actually making an APP for ourselves to operate as our own Internet product, we changed it more than 100 times just for one registration and login, which took more than 50 working days and cost an engineer more than 100,000 yuan for just one registration and login.

So why do we need to change our APP products more than 100 times, which takes 50 working days and costs more than 100,000 yuan for a simple registration and login?

Give you a brief look at our product registration and login page, talk about the way here.

At first glance, the functions of our registration and login page, including SMS registration and login, email registration and login, wechat authorized login and international SMS registration, seem not complicated.

But in fact, there is a very complicated way, I pick a few typical things to say.

Now APP is very popular to do QQ or wechat authorized login, because after doing the authorized login, users can skip the registration process at a lower cost and directly use the service of your APP, so as to improve the utilization rate of APP users.

But is it definitely a good thing to do?

This may be good for users, but not necessarily good for APP platforms. This will lead to a very painful problem, that is, you can not get the user information (the user’s mobile phone number), when wechat authorized login, wechat will not give you the user’s mobile phone number or wechat signal, only give you a user’s wechat nickname. It doesn’t actually reach the user.

So how important is a user’s phone number? Getting a user’s phone number can greatly improve retention! You should often receive messages from apps such as Tantan, King of Glory and Taobao. These messages are used in various ways to recall and wake up your temporarily lost old users, or remind you of new functions and activities to encourage you to spend money.

As long as you are not online for a period of time, Tantan will send you the last 2 hours and several beautiful little sister like you, let you come to have a look. And king of Glory will give you what zhuge Liang new skin online such as SMS, recall and wake up users to play.

If you can’t send a text message without a phone number, you can’t do that at all. This is an important way to increase user engagement and retention.

Even if it’s not for retention, if a user reports a problem or bug that needs to be fixed, you can’t reach them on their phone to help them fix it. Because wechat authorized login you are what effective user information can not get.

At the beginning, we made the wechat authorized login button very big and conspicuous. Later, we found that more than 90% of the users used wechat authorized login, not mobile phone number or email. So we think this is very fucked up, no, to find a way to make the wechat button is not so conspicuous. So this button is also very particular about where to put, too small users can not find it, may also lead to reduced registration rate, a lot of people too much trouble may not register. If it’s too big, it’s all authorized by wechat.

So we must constantly try to put in what position exactly, both hope that the user through mobile phone number or email to register, and hope that he ignores wechat. But if he must find wechat, he can find it.

Maybe you can adjust it five or six times and try it again.

At the same time, many people may log in with wechat authorization and force users to bind their mobile phones for the first time. This mechanism may also cause user aversion, and the tedious process may cause users to give up registration or uninstall the APP. So how to design registration login to improve the registration rate, every detail has become a very worth pondering and trying the problem.

At the same time, for example, SMS registration, your APP does not support international SMS may be N times more difficult. If you have overseas users, you may also need to register for international SMS. At the same time, some SMS channels may be too slow to send SMS messages, or cannot send SMS messages under certain conditions, and the arrival rate is low. Then at this time also need to design a set of mechanisms to ensure that the rate of sending and arriving SMS.

For example, the general SMS channel is not to receive recall SMS, so you have to have a way to send recall SMS channel. Taking our own products as an example, there are three SMS channels, and different channels are used to send SMS messages under different conditions. The purpose of doing so is to ensure the speed and arrival rate of SMS messages and other special situations.

There are no less than a dozen details about a single registration process. There is a lot of trial and cost behind each solution. Every copy, every button placement, color, are the result of a lot of experiments, rather than a head shot.

So what’s the use of that?

I’ve talked to a lot of other companies that run apps, and a lot of them have a download to registration rate of 70 to 80 percent, down to 60 percent, and we started with a download to registration rate of 75 to 80 percent. After a series of long-term optimization, we can now reach about 95% of the download to registration rate. It has steadily increased the registration rate by around 15%.

This means that if the same 1 million people download my APP, only 750,000 to 800,000 will sign up to try out my subsequent APP services and stay with me for the long term. Now there are 150,000 more people out of a million trying to become my users.

Do you think my time and energy were well spent?

Although looking back, if we don’t have any deviation in the process of research and development, the cost will be much lower if we directly copy others’ things at the pixel level, because we don’t have to think about why by ourselves, and there is no process of repeatedly overthrowing ourselves. For example, I used to spend more than 100,000 yuan to register and log in, but if there is a ready-made copy, the cost may be 20,000 yuan. However, you need to be aware that the characteristics of each product are not different, and the user characteristics of different apps also determine what kind of registration and login page design is appropriate. Others may not be suitable for you.

Ps: Interested people can study the registration and login page of Zhihu, which is also a secret. For any APP product of a large company, it can be said that the registration and login page is optimized almost every year. The purpose is to continuously try to further improve the download-to-registration rate of the product. Just download more apps from big companies.

As a small company, we have done tens of thousands of registration and login light, and a large company may light a registration and login repeatedly modify down the cost of millions is normal. And we used to outsource projects? A registration login support with customers to collect 5000 pieces, generally two or three days to finish. Is there a cost or budget to think about these details?

And this is just a sign-in, a good user experience that balances the user experience and leads the user to the degree that you want it to, requires a lot of experimentation with every feature. You can’t spend too much money to have a better user experience, so that’s what I said before. Every feature of an APP in a big company might be changed hundreds of times.

Others say, big and simple, but here I want to say, big and simple.

2. Debug compatibility problems of different mobile phones with different operating system versions

As a national application, wechat’s compatibility on different mobile phones is very good. But this does not mean that it is simple, we must often find various apps on the phone flash back, stuck, black screen. The smaller the company, the more likely it is to do this.

IOS is good. There are hundreds of mainstream Android models in China. If you want your software to run perfectly on every phone without too many flashbacks. That would cost millions just to buy all the test models. Every feature should be tested on different brands of phones with different operating system versions.

And your APP may not flash back on Huawei P8, but huawei P9 may flash back, and may not even open. That is to say, not only across manufacturers, even different models produced by the same manufacturer may have different problems. But users can not care about you so much, if your APP frequently flash back, you will face the inevitable end of being unloaded.

It’s also important to note that this is a fraction of the cost of buying all the phones to test on. What’s really expensive is the cost of the testers and the programmers who have to fix the bugs when you get them. You can’t detect a bug and not fix it, right?

The product of general big company, behind may be dozens of light tester, pay salary of millions or even tens of millions every year.

Small APP developers can’t do this very well, often testing on dozens of phones, or even on one of their own phones. So that leads to frequent flashbacks. It’s not like you write the functional code and everything is done. All sorts of compatibility issues are definitely enough for you to drink a pitcher of if you want to fix them.

3. Dealing with high concurrency in the case of large user base

The people in front of this question have said a lot, I will not say too much. To put it simply, the same feature, when you live 10,000 days and 100 million days, will result in a fundamental change in the way the feature is implemented and the cost.

The research and development cost of wechat, such as search, is not simply a question of how much staff cost is paid. Wechat is the core product of Tencent, and the technology used in it does not necessarily come from the accumulation of wechat team itself. Tencent in the development of other products on the technology can be fully supported and grafted over, so the previous research and development of other products on the cost of technology research and development in wechat is quite so that there is no need to detour.

But not every company has the technology to take over grafting, others do not mean you have.

Totally different from Japanese. Of course, many small companies don’t have this problem at all, so they don’t have to worry about it.

4. Some functions are not developed as you want (such as message push), and you need to negotiate with third-party phone manufacturers to do so. In short, you may need to pay third-party manufacturers.

You probably all know the APP’s push notification function in the drop-down box. And notifications are definitely a tricky thing to do well. Basically, small companies do not do their own news push, but use huanxin and Some third-party systems of Tencent to achieve docking. Of course you will see the official websites of companies like Tencent and Huanxin, there will be some 5 minutes, three lines of code docking and so on.

People who don’t know can easily be fooled into thinking that APP push really only takes three lines of code and five minutes to implement. These third-party companies are just like channels for sending push information, but the specific push mechanism of your APP should be designed by yourself under what circumstances. And designing this thing is very complicated for a lot of apps.

Take Zhihu as an example. Someone likes your push, someone follows your push, someone sends you a private letter, and so on. Here may be divided into a dozen to dozens of cases, and is not to the message push so simple, because if to a message you push a. If you keep pushing when the user is asleep at night, the user may turn off the push function or even uninstall the APP. Also, even in the daytime, too frequent push may lead to user aversion, so it is a challenge to design a reasonable push mechanism.

It’s very difficult to get your users to receive your notifications to increase APP usage without causing user disgust. At this point, it may also be designed to push only part of the messages when multiple push conditions are fulfilled. Consider, too, that there are a lot of things you want to tell users in the form of a tweet, but you can’t tweet them all. Then at this time also need to deeply consider how to choose.

En……. And you thought you figured out the mechanics and you were done?

This is just the beginning, but let’s just say you’re going to have a lot more fucking problems. For example, you’ll find that IOS push is fine, and users generally get it. But android users always don’t get your feed at all. Why is that?

Because different Android phone manufacturers may have a limit on the system that you must use the push interface provided by them, otherwise it will not be able to push, and your application will be killed by the system itself when running in the background, so that your push information can not be sent. Then you have to develop different push features for different systems.

The worst part is that some companies, like OPPO, just can’t do it. We have found that OPPO R9 is a very active model among our users. We found that on OPPO R9, the state of push is forbidden by default once most apps are installed. Only a small part of APP push, such as wechat, QQ, Weibo and Zhihu, is enabled by default. Even big companies like Baidu Tieba and Kuaishou are forbidden to push notifications by default.

From this point of view, Zhihu is very cool. Like wechat, QQ and Weibo, OPPO can enable its push by default. I’m not sure how this is done, but there is no official documentation to tell you how.

I suspect OPPO should be paid for this matter, or I should talk to them about it. There’s nothing small companies can do about it.

For those who say that login is a small function and should be better spent on the product, LET me explain.

Registration login is not a small function, is the most basic function, the threshold of your APP. If you can’t even do basic registration and login? How do you make sure the rest of the features work? What product experience is good only say?

For an Internet company, every penny should be spent wisely. The average cost of acquiring a user in this era has risen hundreds of times compared to that of mobile Internet when it was just started in 2012. It is not easy to acquire any user. The cost of many apps to acquire a user has already reached tens or even hundreds of yuan per download. If the conversion rate from download to registration is not well controlled. This will cause you to spend a lot of money on promotion, because if you lose a lot of users at the sign-up stage, your APP’s retention and daily active activity will be dragged down as well.

In the same way, it’s 2018, and you can’t live in the past. In 2012, anything you could build would probably get a lot of users and a lot of praise, because it would be amazing and nothing. Your user experience check again, UI interface again ugly, function is not good, may be acceptable to users. Because we were all about the same. We were all bad.

However, it is now 2017, and the user experience of most apps is already different from that of Japanese in 2012. The enormous r&d input of BAT and other large companies has greatly raised the threshold and average level of the entire market. The demands and expectations of your users are not what they were in 2012.

Now if you take something that was made in 2012 and look at it in 2017, it’s probably a piece of shit. The later you start a business, the higher the market and users’ requirements on you, because the basic needs have been met and the pie is almost divided. So now kill out, must be more likely to be all kinds of details can be optimized very well, only the accumulation of details can determine the so-called good user experience.

Good user experience these five words, is it so easy to get? Without polishing the details of your product, where will your daily activity and retention come from? Counting on days to fall by the wayside?

【 Editor’s Recommendation 】

  1. IOS Live APP development process analysis (attached source code details)
  2. Google I/O announces design update! Your Android App might look like this…
  3. A Preliminary study on Android Reverse: Security Thinking triggered by game APP cracking
  4. XDA product! Android best use full screen gesture APP released: no ROOT
  5. The most comprehensive App design resources of 2018 (Tools + Template Download + Examples)

Not li yan



Thumb up 0