• How to create a program for Android. Creating your own application for Android - myths and reality

    Many people think that writing their own application for Android smartphones is an extremely difficult task. Many people think that only companies with dozens of developers and designers who spend months creating a product can write commercially successful programs for Android. Of course, if there are large applications, for example games with complex 3D graphics, on which entire teams of specialists work. But there are also many applications that are popular, are in the top on Google Play, and at the same time were created by one person. And such applications bring quite a lot of income to their developer.
    In English there is a term "indie". A single developer writing applications for Android sounds like an “indie android developer”.
    Search Google for these words and you will find hundreds of blogs reporting revenue from their apps. And if others were able to write and release their own application, then you can too!
    You may know that the famous game Angry Birds, which brings millions to its creators, was made by a small Finnish company that had been unsuccessfully trying to make other games for several years. And the Instagram application and service was made by a couple of Californian guys. The game Cut The Rope with millions of downloads was created by two brothers from Russia. Such examples inspire me.

    Myth 1: You need to be fluent in Java to write Android apps.

    Of course, basic knowledge of Java is necessary. If you already know any other programming language, then it will be very easy for you to start writing for Android. If your programming knowledge is practically zero, do not despair. Some parts of the application can be done by writing complex code. For this purpose, Eclipse has a visual interface editor. Using the mouse, dragging buttons, lists, pictures and other elements from the palette, you can create your own application.

    Of course, you can’t do without programming at all, because in addition to creating the button itself, you will need to describe the action performed when it is pressed. But then books like this will help you quickly. In addition, if you speak English, then many ready-made pieces of program code that solve your specific problems can be found on the Stackoverflow forum.

    Myth 2. You need to have an Android smartphone

    The Android SDK includes an emulator. This is a program that “represents” an Android phone or tablet. It runs on a regular computer and looks like a regular smartphone, only it is controlled not with a finger, but with a mouse and keyboard. In the emulator you can run your application. You can also set different screen sizes and check how your program will work on different smartphone models. So, for developing Android applications, a phone is not a necessary thing. Your computer will be your Android smartphone.

    Myth 3. You need a lot of money

    The Eclipse development environment and Android SDK are free. Android programming tutorials and Java tutorials can be found online.
    Making your own app may not cost you anything other than your own time and effort.
    If you want to publish your application in the largest Google Play store (formerly Android Market), then you will need $25. But this amount will be more than paid for by the income you receive. I will tell you how to properly present your product on the application market in upcoming posts.

    Myth 4. You need to be able to draw/use Photoshop/Corel Draw

    The above application may contain only standard controls and text, and no graphics at all. And at the same time used by a million people. Look, for example, at the many Twitter clients or applications in which the main thing is text. All you need is to make an icon for your application.
    If you are making a game, then you cannot do without good graphics. If the last time you drew was in kindergarten, then it is better to hire a freelance designer. It can be found on one of the exchanges, for example freelance.ru. Set your requirements on the website and choose a contractor from among the freelancers who responded. As a result, you will get a great design for a reasonable price.

    Having dispelled some myths, I summarize my post today: Android application development is interesting and accessible.


    Mobile applications can be created not only by specialized companies with highly qualified programmers, but also by ordinary users. What tools can they use for these purposes? What should you pay attention to when developing your own software for mobile devices?

    Purpose of mobile applications

    Before considering what tools are used to develop mobile applications and how to create them, let’s study what the purpose of their release may be, based on the purpose of the corresponding solutions. Mobile applications can be classified into the following main types:

    Informational;

    Transactional;

    Communication;

    Mobile versions of computer software - editors, viewers, browsers;

    Analytical applications and schedulers;

    Educational solutions.

    Actually, games are also mobile applications, but most often they are classified as a separate software category. Let's study in more detail what the marked mobile applications are and how to create them, taking into account possible costs.

    Information applications

    The essence of information applications is to provide their users with access to certain useful information and news. An example of a corresponding solution is an application from a clothing or footwear manufacturer that informs users about discounts and special offers of this company. This could be a mobile catalog or a brochure in the appropriate format.

    Creating an iOS or Android mobile app of the appropriate flavor is probably the easiest. The fact is that the basis for this type of software can be, for example, an already working company website or its mobile version. It is enough to adapt its interface, as well as the communication mechanisms implemented in it, to the software algorithms of mobile operating systems - we will consider further what tools this can be done with, and the mobile application will be ready.

    Transactional Applications

    Transactional applications are designed to make payments for various goods and services purchased via the Internet. These types of software can be issued by banks and payment systems. It is worth noting that in many cases transactional mobile applications are the most complex in structure and code. Only the most highly qualified specialist knows how to create them and, most importantly, adapt them to legal requirements.

    Therefore, if the user does not have such skills - both in terms of solving technical problems and in ensuring that applications comply with legal requirements - then such solutions should be developed independently, if at all, then, first of all, for informational purposes, during self-study. The implementation of such developments in practice will require additional time and, in many cases, additional costs.

    Communication Applications

    Communication applications are those programs that are designed to provide communication between users using the resources of the developer or third-party brands. Creating such solutions yourself, as is the case with transactional applications, is quite difficult. Again, it makes sense to do this mainly when there is a desire, in principle, to learn how to develop the appropriate type of products. But putting them into practice will require significant resources, which few private users have at their disposal.

    In most cases, only highly qualified specialists know how these mobile applications are implemented and how to create conditions for their stable operation. But, of course, a skilled programmer who is willing to spend a significant amount of time and investment can, in principle, develop a messenger or a small social network that is simple in structure, but in demand due to its simplicity and convenience.

    However, they probably won’t be able to compete with Skype, Vkontakte or Viber. Therefore, at the planning stage for the development of traditional applications, the developer should realistically assess the prospects for bringing his product to market.

    Mobile versions of computer software

    Editors, viewers, browsers are applications that are similar or similar in functionality to the corresponding solutions used by users of traditional computers. But, of course, they are far from the only ones that can have analogues adapted to run on a PC. Actually, any types of applications in the classification we have given can be computer applications. However, the solutions under consideration are among those that became familiar to users before smartphones and tablets began to appear en masse on the computing market. Therefore, programs of the corresponding type in the original are, as a rule, presented in versions adapted to run on a PC, and only after the appearance of smartphones and tablets on the market are they presented in the form of mobile versions.

    How to create a mobile application for Android or iOS of the appropriate type yourself depends primarily on whether the original computer version of the software is licensed or whether it is distributed as free open source software. In the first case, creating a mobile version of the program in most cases will require approval from the copyright holders. And if they refuse to authorize the development of the corresponding version of the program, then its mobile version, even if the user creates it on his own initiative, will most likely be considered illegal. If the original software is open source, then developing its version for a mobile device is a matter of technology.

    Analytical software and schedulers

    Analytical applications and planners allow you to carry out various statistical observations, create a budget, schedule meetings, etc. It can be noted that this segment of mobile applications is among those in which private developers, as a rule, are given the greatest freedom of action. There are not many brands that know how to create a mobile application for Android or iOS of the appropriate type much better than a private developer. The most important thing in such decisions is the concept. Its development depends mainly on the skills of a particular programmer, designer, finance specialist, and it is possible that the approaches he proposes will be more effective than those developed by a large company.

    Training programs

    The same, in principle, can be said about training programs developed for mobile devices. They are designed to make it easier for users to master certain languages, norms, and skills. A private developer may well offer users a solution of the appropriate type, more convenient and effective in comparison with what can be created by a large company.

    Developing mobile applications yourself: software structure

    How to create a mobile application yourself? To successfully solve this problem, the developer should first of all decide on the optimal structure of the program being created for a mobile device. Regardless of the purpose of the software, it will consist of 2 main components: front-end and back-end module. The first represents the interfaces through which the user will use the application's capabilities. The second module is responsible for receiving and transmitting data within the framework of interaction between the corresponding software and the user (in some cases, also the developer, if, for example, he is required to provide certain updates or feedback).

    What could the application interface be like?

    More detailed characteristics of the structure of mobile applications depend on their purpose. So, for example, if information software for an online store is created, then its interface may contain:

    Navigation options with which the user can access certain data;

    Feedback block with seller or supplier;

    Personal account, which will reflect data on the user’s requests and purchases;

    A news block that will contain information about discounts and special offers of the online store, as well as other significant information.

    It is possible that it would be better for the store owner to create a mobile site application that repeats exactly its structure, so that users who are already familiar with the resource can easily navigate the structure of the corresponding software for mobile devices.

    applications: tools

    Let us now study a number of practical nuances of developing the solutions under consideration. The question of how to create a mobile application yourself can be solved with the help of convenient designers, which are presented in fairly large quantities on the relevant software market. In particular, you can pay attention to such solutions as: MobiCart, BusinessApps, My-Apps, Net2Share. All of them are presented in cloud software format and can be accessed from any device via the Internet. Let's take a closer look at how to create a mobile application using the capabilities of these programs.

    Application Development Tools: MobiCart

    This service can be useful to the owner of an online store just in case he does not initially have his own website. Using MobiCart, a developer can create a functional application through which users will be able to build the widest range of communications with the seller: place orders, pay for them, receive information about discounts, contact the supplier.

    The main functions of the service in question are provided on a commercial basis, but the developer can get acquainted with its capabilities for free.

    Tools for creating mobile applications: BusinessApps

    This application builder is optimal mainly for small online stores. It allows you to implement:

    Interfaces for messaging, adding items to cart;

    Organization of negotiations between the supplier and the buyer of goods;

    News block.

    It is noteworthy that this application designer allows you to use templates adapted for creating applications for enterprises representing specific areas of business, for example, catering, fitness. The service in question is not free; its subscription fee is $59 per month. However, you can use the trial version. In addition, if the user does not like this designer, he may demand a refund of the funds paid.

    Application Development Tools: My-Apps

    This designer, in turn, is free. The problem “how to create a mobile application for iPhone or Android using it” can be solved by using 10 templates that are adapted to ensure communications with consumers of enterprises in a wide range of business areas. Among the most notable features of the service in question is the rapid publication of the application in the largest catalogs - the App Store and Google Play.

    Application Development Tools: Net2Share

    The designer in question is one of the most convenient solutions that allows you to quickly understand how to create a mobile application for Android yourself. This resource is adapted specifically for developing products on the appropriate platform. It is characterized by a fairly large set of functions, as well as the ability to make money on the application being created using internal advertising services. That is, a user can, having developed a particular product, upload it to a corporate account. In addition, the most active developers receive a free profile on Google Play.

    In addition, Net2Share conducts free training courses for users, through participation in which a developer can improve his skills in creating and promoting applications on the market.

    Of course, there are a large number of other specialized services that allow you to create a mobile application or game. In many cases, a developer may prefer not a cloud service, but a distribution kit that allows him to implement a particular program code. But the resources we discussed above are designed mainly for users with minimal experience and therefore can be used even without special training. They are universal and allow developers to create applications optimized for a wide variety of industries.

    The path to software development is not easy, but if you are interested, like android, then you need to start somewhere. But, let’s say, there is no desire to study programming languages, but you want to immediately move on to creating a finished product. Is this possible? Yes, yes! So we’ll look at it as a complete beginner (or on Android).

    Search for material

    To create a good game, many people look for manuals. They are useful for step-by-step learning and understanding the basics, but for complex projects they are not enough. So, a person must have the skills to solve problems that arise. And this only comes with experience, and manuals, alas, will not help here. Therefore, the best answer to the question “How to create an application for iOS 9 yourself” (or for Android) is to start working on it. But let’s figure it out how this process happens.

    Choosing a direction

    Many people recommend not starting with big projects like MMOs, 3D FPS and so on. The argument is based on the fact that many people abandon their development without completing it. Therefore, it is recommended to start with small projects. But at the same time, you can hear the idea that it is necessary to decide on an idea and begin to implement it. It may take a person a year or even more, but in the end he will do everything that needs to be done. But it is necessary to weigh and understand all the risks, since even a small mistake made at the beginning can turn out to be a significant problem already at the final stage of creating the project. Therefore, it is necessary to study the existing theoretical issues qualitatively, carefully and very carefully.

    To make work easier, one large project can be divided into a large number of small ones. But after one module is completed, it must be combined with existing work.

    Event Handling: Essentials

    When work begins, you should take on the easiest thing, where you don’t need to worry about the presence of complex algorithms or artificial intelligence. However, you should try your best to understand the fundamental principles of game architecture and logic. In this case, something that works on a step-by-step basis would be optimal.

    When considering how to create iOS applications from scratch, one cannot help but mention this advice: start with the core of the program. It will be easy to modify individual details at the final stage.

    Various actions

    The most used ones include movements, collisions, synchronization and animation. In addition to these, game loops, scoring, determining victory or defeat status, and other important basic concepts that are used in many applications are of great importance. So, it is recommended to start with collision detection, transitions between levels, creating minimal logic, primitive artificial intelligence, and so on. You can also try splitting the program into two or three files to achieve the best result in terms of optimizing the resources used. At the same time, it is advisable to try to keep everything within reason and not make the application too large.

    We reach a more difficult level

    Before this stage, a person should already understand and know how to create an application for iOS or Android. It requires a carefully designed architecture, which necessitates the use of planning. Thus, it is often necessary to have advanced physics (for example, recognizing collisions between different objects and different types of surfaces). This is necessary to make applications (in this case games) more realistic.

    Just remember Super Mario - in it, gravity and inertia are made in such a way that they create the feeling of their real presence. For a serious brain challenge, consider a game like billiards.

    If you want to create programs aimed at useful activities, you need to take other features into account. These include the following: the accuracy of the data processed and stored and the formulas used; the correctness of all paths; application stability; optimal use of available resources and so on. Returning to the topic of games, we note that in this case level editors, which simplify the writing of complex developments, can show good results.

    Working on artificial intelligence

    The success of modern games lies in their principle of interaction between several people. But the presence of artificial intelligence allows us to introduce a number of interesting aspects, so it is not completely ignored, but used as a good addition.

    To simplify tasks, certain algorithms are often used. Of course, for this, as a rule, you also need to have a good understanding of mathematics, but thanks to the Internet, you can figure out almost anything without having any basic knowledge. Algorithms are also useful for interaction at varying gameplay difficulties. In applications, artificial intelligence can analyze user actions and offer optimal work options for him.

    Using the network

    When considering the question of how to create applications for iOS or Android, it should be said that adding the Internet significantly complicates the task. For example, care must be taken to ensure that the actions of one player are transmitted to others. For this purpose, as a rule, a server is used as an intermediary. The better it is done, the more reliable the development will be. But along with this, the load will also increase.

    For applications where network latency and packet loss have a negative impact, you will have to design everything as optimally as possible. First of all, this means programs that exchange significant amounts of data. To understand the working mechanisms here, it is highly recommended to use a local host and small programs that transmit small amounts of information (chats are an example). In addition, due to the nature of the protocols used, one often has to make a choice between speed and reliability.

    So we looked at how to create iOS applications from scratch. As you can see, this requires a lot of study and practice. Is it possible to do without this? Oddly enough, this is quite real. Let's talk about this.

    Development without learning programming

    This is especially relevant in cases where you need to quickly create a small program for a website with simple functionality. Although experienced web developers can also resort to this. Special services come to the rescue with this. They can all be united under the slogan “Simple, cheap and fast!”

    Examples include the following services: AppsGeyser, TheAppBuilder, Appsmakerstore, Biznessapps, My-apps.com, iBuildApp, Viziapps, AppMakr, Mobile Roadie and AppsBuilder. Each of them has its own unique features and functions.

    You also need to understand that almost all of them are paid. And the free versions do not have wide functionality. If we consider their general scheme, we can say that they reflect the idea of ​​level editors that we discussed earlier. But in this case they cover a very wide scope. Here, answering the question of how to create an application for iOS without programming skills, you also need to worry about the fact that you will have to pay for such luxury, and a considerable amount. Such servers are foreign or aimed primarily at foreign users. Thus, the price of their services will range from 10 dollars to several hundred for one month of use. That is, time is money. In this case, it will be necessary to ensure that the opportunities presented are used to the maximum.

    Service functionality

    So we looked at how to create applications for iOS and Android. Now let's pay attention to the functionality they have. If we divide it into categories, we have the following:

    1. Aimed at working with content. Such services help collect information from the site and combine it into one application. An example is AppsGeyser. Moreover, in this case, you can not only collect information, but also place advertisements in applications.
    2. Shareware services, which, using templates and designers, allow you to create applications for sports, education, music, and so on. True, they will contain advertising, which can be turned off for a certain amount. In the case of TheAppBuilder, this will cost $5.
    3. Paid design services, which allow you to create business-related applications. Their functionality includes a basket for goods, geolocation, placement of information about available goods and services, upcoming events and promotions, and so on. An example is the previously mentioned Biznessapps service, but its prices are steep, because they start at $29.
    4. Creating applications is free, money is required when it is published in the store(for example, in the Google Play Market). An example is BuildFire. True, its peculiarity is that you only need to pay once a month. The amount in this case is 49 US dollars.

    As you can see, there are two options for creating applications for iOS and Android. Which one to ultimately choose is up to the user.

    Elena Shramenko

    General manager
    "Akintsev and Partners" company

    “I would like to say a few words about the mobile application designer from AppGlobal.

    We recently developed our application based on the AppGlobal constructor. And every day we are revealing more and more capabilities of this tool, with which you can implement a variety of tasks.

    Firstly, I realized that this tool is of great benefit to both parties: for us, as the owners of the application, and for our clients who use this application.

    By solving our marketing problems, we give our clients additional advantages:

    They have at their fingertips all the information on a topic that interests them, and get the opportunity to study materials that are not freely available. They can take advantage of discounts and gifts that are only active through the app. They also have the opportunity to pay for your service or delivery from the application and make a free call.

    Thanks to this, we get regular customers and attract new ones.”

    Ilya Basnin

    AppGlobal partner

    “The big disadvantage of all other services is the lack of technical support.

    I have analyzed many constructors.

    Most often, simple inexpensive platforms are used, the owners of which simply copy AppGlobal materials, but the designer itself remains “raw” and unfinished.

    Their big disadvantage is the lack of support. And, despite the low prices, they still cannot withstand the competition.”

    Arthur Budovsky

    “Sales increased by 14% in the first month of using the mobile application!

    I write selling texts and teach people this art. The level of trust my readers have in me has increased only because there is a mobile application. Like, if my School is in Apstore and Google Play, it means that I have a solid business, and not some kind of “scam”. People buy trainings without even downloading the app to their phone.

    The AppGlobal constructor itself is a mega-tool! You can create a full-fledged application yourself, without special programming knowledge, in just a couple of hours! The only thing is that I would like to be able to make different interfaces, because all applications are similar to each other due to the buttons.

    Now I post audio and video materials and information tabs in my mobile application. There is a subscription to news and integration with social networks. I use push notifications for my readers. There is feedback such as receiving messages, photos from clients.

    Despite the fact that the launch of my product was delayed due to moderation, I am very pleased with the cooperation with the AppGlobal service. Problems are resolved quite quickly, consultants help to sort out all the issues.

    My site now lives a mobile life. I really hope that my clients and readers will appreciate my mobile application and come back to me more than once!

    Thank you AppGlobal for simple solutions to complex but important issues!”

    Disclaimer:
    This article is a free artistic retelling and translation of the introduction of the book "App Savvy
    Turning ideas into ipad and iphone apps customers really want "

    It may be of interest to people who are just coming into the world of mobile development and are wondering where to start. If you are an experienced businessman who already has a stable income from your own mobile applications, most likely, it will seem useless and obvious to you.

    It's true that top developers are doing very well, with the most popular apps, usually games like Angry Birds or Doodle Jump, receiving millions of downloads. When you figure that you can earn $1 on every download, and look at the colossal download volumes of these apps, it's very easy to look at the App Store and see only wads of money floating past you.


    Business Insider: Angry Birds Maker Rovio Reports $200 Million Revenue in 2012, image from techcrunch.com

    At this moment, it is very easy to think “Why not me?”, make your own application - and face the harsh reality, which is usually very different from the cloudless existence of such leading developers. Statistics show that more than half of the paid apps on the App Store don't even get 1,000 downloads a year, which means that after deducting Apple's commission for all your work, you'll only get about $700 - so if I were you, I wouldn't indulge optimism, looking at the amazing performance of popular games.

    Does this mean that if you are new to mobile application development, you should immediately abandon this idea? Not necessarily, but in any case, first I suggest you face the facts and study everything that is already in the App Store - then you will realize that you have very little chance of coming there and immediately launching a very popular application. I don't want to say it's impossible, but many successful iPhone developers have created a lot of apps before reaching their goal. The main thing you will gain from launching your first application is the knowledge and experience of developing applications yourself.

    When you study the market, you may feel like you can't succeed. My advice to you in such a situation is to think more broadly. Develop not an application, but something that has value for you and for people not only as a program on the phone. Solve real problems for users, make it easy and relaxed for them - and then you can create an application that will become really popular.

    But before you start developing your mobile application, do not forget to think everything through. What sets successful mobile app developers apart is that they treat development like a business. They calculate the cost of development, the cost of entering the market, think through a way to return investments - and this allows them to make a stable income from development, and not try to draw a lucky lottery ticket.

    The more time you spend studying the market, the more clearly you will learn to distinguish real opportunities for making money from illusory ones. Think of app development as an investment, and you'll learn how to interact with clients, media partners, and build your own library of design elements and code that you'll use across all your apps.

    Once you learn to understand the economics of the App Store, make the right connections, and start building your library, you will have a significant advantage over people who are just wandering around the App Store trying to find a place in the sun.

    Unlike others, you won't come to the App Store filled with emotions and delusions of grandeur of your idea. On the contrary, you will be able to objectively assess your capabilities and understand how much money and time you will need to invest in your application, and how you will return your investment.


    Strategy
    Chapter 1:
    Chapter 2: What Should Your Application Have?
    Chapter 3: From Idea to Concept

    Development
    Chapter 4: Finding a Team: You Need Help
    Chapter 5: Getting a Working Application
    Chapter 6: Improving the application before adding it to the App Store

    Launch
    Chapter 7: Getting Ready to Upload the App to the App Store
    Chapter 8: Building Our Marketing Strategy
    Chapter 9: Measuring Success and Considering Future Developments