How to make an application for a social network? How to make it so that it would be popular? Why only a few of hundreds of thousands of applications become popular?If we approach this formally, then we had enough 4 people and two weeks of time. Today it is easier to do than tomorrow. Having written the simplest application for facebook or for vkontakte, everyone will get not only the developer experience, but also the opportunity to monetize their project, making it successful and multiplayer. It is not as difficult as it seems at first glance. We will tell in the article all sorts of usefulness, which we found out during the creation of our own application Flickr Photo Quiz (FPQuiz). You can
try it in here
apps.facebook.com/flpquiz/game.php .

Key points to pay attention to.
Before you begin to do something, you need to figure out what is needed and who can help. Of course, the easiest way to create an application is to split it into two large parts:
1. Development
')
1.1 Design.
In this case, the simplicity and convenience of the interface are put in the first place. A minimum of extra details turns into a maximum of user friendliness.
1.2 Server and client parts
The main programming languages ​​and libraries that we used ourselves.
1.3 Layout.
The only problem is the stupidity of different browsers. There are no secrets.
2. Promotion
2.1 Promotion.
6 rules, under which the number of users will grow exponentially. The principle “came, made, left”, the regular return of users to the application, the principle of maximum friendships, enticing avatar and beautiful name, ratings and feedback with the user
2.2 Monetization
Virtual currency and opportunities that can only give the developer who needs to pay for it.
In addition to the story about our application, in the end there will be
2.3 Bonus.
You can download and see our research and conclusions drawn from the data.
Design.The simpler the better. Minimalism and functionality. Functionality should not suffer because of beauty. The correct option is to first make the application as functional as possible, and then as beautiful as possible while maintaining all the functionality. But not the other way around.
Initially, the design sketches looked like this:

It was necessary to choose some one. We stopped at the last. He is the most functional. Large and clear buttons, the usual easy-to-read font, nothing distracts from the essence of the application. Further, some metamorphosis occurred to him, and the current version at the beginning of the post (or here
apps.facebook.com/flpquiz/game.php ).
Server and client parts.When writing the server and client parts in the first place we have a question. What to write? It is clear that you can sort out a particular language and write something. Do not learn everything. Yes, and I want to choose the language that is best suited for a particular purpose. (Yes, none of us had written under the web before and we only knew the university C ++ and had a bit of Linux administration experience)
So, for writing the server side, php and the library that facebook provides are used. You can get it here:
developers.facebook.com/docs/reference/phpIn fact, the entire server part is written in php and is used to query the databases and to authorize the user using Facebook. The API provides access to user data, allows you to organize the authorization of the user in the application. By and large, this is enough for work. And we limited ourselves to this. In general, there are several levels of authorization. By default, only the user's basic data is requested: first name, last name, where he was born, where he lives, gender, age, interests, etc. (which he himself indicates), the last visit time and the address of the user page. In addition to basic information, you can request access to the wall, to user data offline and more. All this is described in detail on the facebook documentation page:
developers.facebook.com/docs/authentication ie getting the user to the application on fb can get a lot of various information about him.
Actually, php is also used to work with databases in which data about a user, his points, the time of the last entry into the application, topics of questions, categories of answers, etc. that we may need in the process are stored.
The client part is written entirely in Java-script using the jQuery library. And as a matter of fact, this is just a html page, which is designed to fit the size of the iframe, which gives facebook to the application. The layout will be discussed below, but, running ahead, we didn’t have any initial knowledge of any of these languages ​​(php / js / css / html), as already mentioned. It turned out not the best way to impose, however, of the most common only in Internet Explorer, there are some problems. But more about that below. Those who have written at least something in these languages ​​have much more chances to make faster, better and more beautiful!
The general algorithm of our application Flickr Photo Quiz is as follows. Photos and pictures of the application receives using json request to api flickr'a with certain parameters taken from the database. For example, Moscow or Asia. Otherwise, we would get an absolutely random picture. Further, depending on what we have requested, the number of points is selected on a five-point scale, which the user will receive by answering the question correctly. The choice is subjective, so that for someone the question of 5 points can be very simple. If the player answers incorrectly, then 2 points are deducted from him in any case, regardless of how many points would be given with the right choice of answer. Variants of answers are selected from the database in accordance with what request was sent to flickr. Among the answers there is only one correct, the other three are chosen randomly from the desired category (countries, cities, parts of the world). Answers are posted randomly.
Another feature of the application. If the user has less than 100 points, then in the case of an incorrect answer, the points are not taken away from him. This is a kind of bonus for new users. When a person broke out and scored more than 100 points, the system of fines is already starting to work. The application is good because the images are not stored somewhere on our server, but are taken directly from flickr. Thus, if a user logs on to this application in a month, then on the same requests from the application database, flickr will already give out other pictures and will not be able to win just by memorizing pictures by heart.
Imposition.In order to impose everything that the designer drew, you need to deal with CSS. The main task and at the same time the difficulty is that the application in all browsers is displayed in the same way.
With Google Chrome, there are no problems at all. This is a smart browser, created by the best programmers. The situation with Opera and Mozilla FireFox is a bit worse. But special difficulties with these browsers does not arise too.
The most difficult and incomprehensible task arises when trying to force Internet Explorer to display the application as it should. There are no rules, methods and algorithms for how to do this. All have to do by eye, by trial and error. Many functions do not work in Internet Explorer, and you have to do the layout specifically for this one browser. And it is exactly necessary. Because most people still use it. Otherwise, this can be done by everyone, having a little studied the basics of CSS markup.
Promotion.The success indicators of the created application can be thought up a lot, but, nevertheless, the easiest way is to manage what can be measured. Therefore, we will measure the success of the application by the amount of money it brings.
Obviously, the more people, the more money they will bring.
The application is considered successful if it is actively used by over a million people. The critical mass for the existence of the application - 100 thousand users.
The most successful social networking apps have over five million users. It brings a good stable income.
As a result of the analysis of a huge number of applications in social networks, information from the websites of development companies and articles in journals, we identified 6 main criteria for the success of applications.
• The principle of "came, made, left."
This principle is well demonstrated in applications like Fermat. I went in, dug and poured the beds, reaped the harvest and left. The crop grows and ripens itself, without participation of the user. This is the main gameplay of social games. It is because of the absence of this principle that the leaders of traditional games could not become the best in social gaming applications. Traditional games are exciting, but they take a lot of time. Therefore, these games quickly gained an audience, and then also rapidly lost it.
• Regular return of users to the application.
The goal of the developer is to get maximum profit. Many new users are good. But the "old" scattering is not good. Make them come in again and again. The farm will serve as an excellent example. If you do not go to the application on time, then the crop will rot, spoil, or be stolen. You can give bonuses for frequent appearances in a game, for example, in a poker game, for a daily visit, additional chips are charged for which you can play in a casino. Thus, a person can have a big score, not only constantly winning, but simply entering the application itself every day. Many people come into such applications every day for points, and then it just becomes a habit.
• Maximum use of friendships.
The button "invite a friend" must be required. In addition, the application should work with the player’s friends not only directly, but also indirectly. For example, the application publishes on the wall of a friend some kind of miracle thing, a cocktail, a cute kitten, a greeting card, or a request for help. Some games are specially sharpened for a group game or duel. Many applications give bonuses for invited friends. That works great.
• Loud name and enticing avatar.
A beautiful or interesting picture on a friend's wall or in the news serves as a good incentive to see what is inside. The main thing is not to overdo it and not turn into a spam mailing. As you know, most applications, before downloading, ask the user for permission to access personal information. The goal of a bright intriguing avatar is to prevent the user from exiting before the application starts loading.
• Rating.
Without a well-thought rating system, success will not come. It is necessary that users put up with something. The number of points, strength, character prokhochennost, a place in the overall ranking or among friends. The simple principle "Who is cooler and who has more" always works flawlessly. People always want to know what place they occupy among the rest. The more different measures and ratings, the better. Thanks to the rating system, the competitive spirit wakes up, the spirit of rivalry, and this forces him to enter the application again and again. This item is important, among other things, because it is thanks to him for the most part that you can monetize your application.
• Constant user feedback.
A person should always be reminded of who he is, what he has achieved, up to which he still has a few steps left, and what he can get in the near future. So feedback should be sent to the user's wall from time to time. And the more colorful it is, the better. Not only do you remind the participant of your application that he has already achieved a lot and lure him to play again, so also his friends, seeing this, may want to compete or just try and become new users. By the way, some applications gained their popularity only because of such viral advertising.
Monetization.If you want your application to bring a stable income, you need a few things:
• Many active users (successful application)
• Developed rating system
• What people will pay for real money
Most often, money is taken to advance in the rankings faster, additional bonuses or temporary special features that other users do not have.
It makes sense to enter paid services only in the field when you have more than 100 thousand actively playing users. Then it will become obvious to new users that they will not get close to the leaders on their own or it will take a lot of time and they will start using the developer’s capabilities for their own promotion, which of course are not free.
BonusBefore we started making the application, we faced a question. For which social network to make an application, and how it should be. To make a choice, we conducted a study on six points:
1. General data on social networks
2. Application Overview
3. Development companies
4. Financial indicators
5. Application Promotion Methods
6. Forecasts
It would be possible to talk about all this right in the article, but it will be much more convenient to use structured information in the form of a presentation. All information was taken from large studies, expert opinions, reputable journals and interviews.
Download the presentation with all the materials of our research by clicking on this link
www.slideshare.net/DmitriyDyadin/ss-10273462 . It contains various statistics, comparative characteristics, graphs, opinions, forecasts of analysts and something else that will help in creating successful applications for social networks.
Our Flickr Photo Quiz app was created for facebook. All users registered on facebook can view it by typing in the search box “fpquiz” or following the link
apps.facebook.com/flpquiz/game.php .