Browse by Category
Get up to $300 bonus now! Click Here!
Orbitsoft A.Orbitsoft A.

Orbitsoft A.
United States

N/A
Recent activity : More than a week ago
Share profile
Invite to job
Post a job like this

VPN App: How We Fixed Other’s Mistakes and Launched the Project

portfolio
Home Freelance Portfolio VPN App: How We Fixed Other’s ..
Post job Invite
View profile
Frame-14-1.jpg
Frame-14-1.jpg

The customer is an advertising company in Canada. One of its projects is a service with entertainment content. Most of the content is published in video format, and it is popular: it’s viewed by 350 thousand users every day. Problem: service is losing users due to closed access The customer earns from showing ads to users of the service, for example, in the form of videos, banners, pop-ups, and other formats. At the beginning of 2021, the service has had more than 9 billion ad impressions per month. The logic of making money is simple: the more users visit the site, the more ad views they have and the higher the customer’s earnings are. Thus, the problem is obvious: to increase the number of users. How customizing personalized recommendations helped increase ad revenue. There are countries where users are limited in their choice of content for various reasons, often concerning entertainment videos. The customer knows that the content of the service is legal, does not violate the law, but due to the peculiarities of the policies of certain countries, users cannot enter the site. Another problem is the fear of users that their data can be stolen and used for illegal purposes. Attackers can gain access to their accounts on social networks, to bank accounts, and other services. Solution: launch own VPN app When users want to securely access a site, they can use virtual private network technology, aka VPN. It encrypts the data that the user transmits to the ISP, so that it’s impossible — or very difficult — to access the user’s traffic. There are already a lot of VPN apps on the market. The customer analyzed ready-made solutions and came to the conclusion that it would be more profitable to create their own application. According to the company’s plan, it will be used by readers of its service and users of other entertainment services. In this way, the customer will stop losing their audience and also earn money from it. A VPN helps you stay anonymous and secure, so users use it for a variety of different services. To develop the application, the customer first contacted one team. It was chosen for the price: the team offered the cheapest solution, and it seemed like a good way to save money. But the idea failed. According to the plan, the application should have launched after six months. But almost a year passed and there were basically no results. It was then that the customer turned to Orbitsoft. After discussing the problem, we took up the project. We work on each project in stages, and divide the stages into iterations. After each, we tell the client what has already been done and at what stage the project is. In this way the customer is always up to date, and if something is wrong, we can quickly discuss it and adjust the work. Stage 1. Analyze situation The work on the application was divided into six stages. Since we didn’t start from scratch, but were given the results from the first team, the first thing we did was analyze what had already been done and how it worked. In fact, nothing has been completed. A few examples of what they found: The application had a monolithic architecture, so it was difficult to test and maintain it. For the customer, this means spending additional hours to add any new features. It would be better if the architecture consisted of layers: you can make changes to one layer and test only one layer, and not all of them at once. There were a lot of bugs in the code, so the program often crashed. For example, due to an authentication token, not all of the features had been updated. Technical block: examples of development problems from the first team Backend: - frequent duplication of code sections - lack of a unified code style - incorrect integration with the payment system - lack of automated deployment to servers Frontend: - incorrect implementation of routing - no animations for pop-up windows and view transitions - impossibility of selecting the number of displayed lines on pages of different types of statistics Web version: - unoptimized code: a lot of repetitive code fragments, constants hardcoded into the code, no OOP, interface and code responsible for the application logic are mixed - poor performance: no caching, requests to the server return the same data and are executed several times in a row in different places of the application, multithreaded programming is not used, requests to the API are executed in the interface thread. Delay when working with the interface reached 15 seconds - security hole: app saves usernames and passwords and other confidential data in an open text file. Some requests to server return confidential data even with unauthorized requests. Mobile version: - errors in logic of payment transactions - duplicated animation when loading some screens of the application - different layouts for iPad and different iPhone models - difficult redesign of the application - no localization of the application -incorrect work of tokens for authorization - processing of errors of returned requests from the API not implemented everywhere - configuration files used to store data, which made it difficult to work with data -selection, filtering, and sorting - layout is not adapted for screens of different sizes Stage 2. Discuss with client and clarify goal of project Following our research, we contacted the client and discussed our results and work plan. While discussing, the client clarified the technical task. Now we not only had to fix the errors of the first team, but to develop a more advanced version of the application. Our project is a cross-platform application that can work with different operating systems. Step 3. Study best practices in market and choose solution Before starting development, we always study ready-made solutions. Consequently, our next step was research. This helps save the customer’s time: we don’t waste resources on knowingly inefficient solutions. Instead, we cut off the excess and invest in what will help the client earn more. For example, to transfer the application from Android to iOS, the customer suggested using a converter. We studied it, found limitations in it, and began to think about other options. As a result, we chose Kotlin for Android and Android TV, Swift for iOS and macOS, and C# for Windows applications. We studied different architectures and code of ready-made applications. This helps to quickly select the best methods for solving the client’s problem. Stage 4. Design and develop application internals First, we made a minimum viable product — an application that you can download and at least log into. To test the work under real conditions, we agreed with the customer to offer free access to users, and they were warned that we were testing the application. A week later, we realized that there were no errors, and finalized the application. For example, additional functions such as auto-connect at startup were added, and the design was updated. There were also some difficulties with the project. One of them was related to integration with iOS. At first, some of the data was not always displayed correctly, for example, whether the user had really subscribed or whether the trial period was still valid. This happened due to the App Store’s buyer’s authentication methods. To fix the incorrect work, we performed several actions. One of them was to implement the «grace period» function: if the user cannot pay due to technical problems of the application, we don’t block access. The application is available, but we and the user receive a notification: the payment has not been received. This helped us to not lose customer loyalty — as they were not to blame for the bug — and gave us time to find the error and fix it. Results: we launched app on schedule and it’s now in demand The app was launched in January 2021. It took us six months from first negotiations to launch in the App Store and on Google Play. During this time we released two versions — the minimum viable product (MVP) and the full-fledged one. 50k - Number of times app was downloaded from Google Play during first 3 months. The app already has its own audience. By the beginning of April it had been downloaded 50 thousand times from Google Play alone, and this is taking into account that there are dozens, if not hundreds, of VPN solutions. For us this means that users are satisfied with the set of functions and they are ready to work with the application. The customer is pleased with the result and the Orbitsoft team will maintain the application until the end of the year.


Share this work sample
copy link
Similar portfolios
Custom application development for Manufacturing
mobile app development Android App Development
Anirudh M.
N/A
Profile
A mobile platform that helps musicians record and share music ideas, as well as collaborate on them. The platform comprises an iOS application supported by a BaaS solution. Applied Technologies: Swift, AudioKit, CFNetwork, Core Graphics, Core Telephony, Quartz Core, Firebase for cloud back end, UI/UX design, prototyping, manual testing, Agile management framework
mobile app development
Cao H.
N/A
Profile
My General Resume in Regards to being an android mobile developer
Java Kotlin Writing Reading Tutoring Mobile Development Android App Development
Ahmed M.
Profile
The customer is an advertising company in Canada. One of its projects is a service with entertainment content. Most of the content is published in video format, and it is popular: it’s viewed by 350 thousand users every day. Problem: service is losing users due to closed access The customer earns from showing ads to users of the service, for example, in the form of videos, banners, pop ups, and other formats. At the beginning of 2021, the service has had more than 9 billion ad impressions per month. The logic of making money is simple: the more users visit the site, the more ad views they have and the higher the customer’s earnings are. Thus, the problem is obvious: to increase the number of users. How customizing personalized recommendations helped increase ad revenue. There are countries where users are limited in their choice of content for various reasons, often concerning entertainment videos. The customer knows that the content of the service is legal, does not violate the law, but due to the peculiarities of the policies of certain countries, users cannot enter the site. Another problem is the fear of users that their data can be stolen and used for illegal purposes. Attackers can gain access to their accounts on social networks, to bank accounts, and other services. Solution: launch own VPN app When users want to securely access a site, they can use virtual private network technology, aka VPN. It encrypts the data that the user transmits to the ISP, so that it’s impossible — or very difficult — to access the user’s traffic. There are already a lot of VPN apps on the market. The customer analyzed ready made solutions and came to the conclusion that it would be more profitable to create their own application. According to the company’s plan, it will be used by readers of its service and users of other entertainment services. In this way, the customer will stop losing their audience and also earn money from it. A VPN helps you stay anonymous and secure, so users use it for a variety of different services. To develop the application, the customer first contacted one team. It was chosen for the price: the team offered the cheapest solution, and it seemed like a good way to save money. But the idea failed. According to the plan, the application should have launched after six months. But almost a year passed and there were basically no results. It was then that the customer turned to Orbitsoft. After discussing the problem, we took up the project. We work on each project in stages, and divide the stages into iterations. After each, we tell the client what has already been done and at what stage the project is. In this way the customer is always up to date, and if something is wrong, we can quickly discuss it and adjust the work. Stage 1. Analyze situation The work on the application was divided into six stages. Since we didn’t start from scratch, but were given the results from the first team, the first thing we did was analyze what had already been done and how it worked. In fact, nothing has been completed. A few examples of what they found: The application had a monolithic architecture, so it was difficult to test and maintain it. For the customer, this means spending additional hours to add any new features. It would be better if the architecture consisted of layers: you can make changes to one layer and test only one layer, and not all of them at once. There were a lot of bugs in the code, so the program often crashed. For example, due to an authentication token, not all of the features had been updated. Technical block: examples of development problems from the first team Backend: frequent duplication of code sections lack of a unified code style incorrect integration with the payment system lack of automated deployment to servers Frontend: incorrect implementation of routing no animations for pop up windows and view transitions impossibility of selecting the number of displayed lines on pages of different types of statistics Web version: unoptimized code: a lot of repetitive code fragments, constants hardcoded into the code, no OOP, interface and code responsible for the application logic are mixed poor performance: no caching, requests to the server return the same data and are executed several times in a row in different places of the application, multithreaded programming is not used, requests to the API are executed in the interface thread. Delay when working with the interface reached 15 seconds security hole: app saves usernames and passwords and other confidential data in an open text file. Some requests to server return confidential data even with unauthorized requests. Mobile version: errors in logic of payment transactions duplicated animation when loading some screens of the application different layouts for iPad and different iPhone models difficult redesign of the application no localization of the application incorrect work of tokens for authorization processing of errors of returned requests from the API not implemented everywhere configuration files used to store data, which made it difficult to work with data selection, filtering, and sorting layout is not adapted for screens of different sizes Stage 2. Discuss with client and clarify goal of project Following our research, we contacted the client and discussed our results and work plan. While discussing, the client clarified the technical task. Now we not only had to fix the errors of the first team, but to develop a more advanced version of the application. Our project is a cross platform application that can work with different operating systems. Step 3. Study best practices in market and choose solution Before starting development, we always study ready made solutions. Consequently, our next step was research. This helps save the customer’s time: we don’t waste resources on knowingly inefficient solutions. Instead, we cut off the excess and invest in what will help the client earn more. For example, to transfer the application from Android to iOS, the customer suggested using a converter. We studied it, found limitations in it, and began to think about other options. As a result, we chose Kotlin for Android and Android TV, Swift for iOS and macOS, and C# for Windows applications. We studied different architectures and code of ready made applications. This helps to quickly select the best methods for solving the client’s problem. Stage 4. Design and develop application internals First, we made a minimum viable product — an application that you can download and at least log into. To test the work under real conditions, we agreed with the customer to offer free access to users, and they were warned that we were testing the application. A week later, we realized that there were no errors, and finalized the application. For example, additional functions such as auto connect at startup were added, and the design was updated. There were also some difficulties with the project. One of them was related to integration with iOS. At first, some of the data was not always displayed correctly, for example, whether the user had really subscribed or whether the trial period was still valid. This happened due to the App Store’s buyer’s authentication methods. To fix the incorrect work, we performed several actions. One of them was to implement the «grace period» function: if the user cannot pay due to technical problems of the application, we don’t block access. The application is available, but we and the user receive a notification: the payment has not been received. This helped us to not lose customer loyalty — as they were not to blame for the bug — and gave us time to find the error and fix it. Results: we launched app on schedule and it’s now in demand The app was launched in January 2021. It took us six months from first negotiations to launch in the App Store and on Google Play. During this time we released two versions — the minimum viable product (MVP) and the full fledged one. 50k Number of times app was downloaded from Google Play during first 3 months. The app already has its own audience. By the beginning of April it had been downloaded 50 thousand times from Google Play alone, and this is taking into account that there are dozens, if not hundreds, of VPN solutions. For us this means that users are satisfied with the set of functions and they are ready to work with the application. The customer is pleased with the result and the Orbitsoft team will maintain the application until the end of the year.
Swift Vue.js Kotlin Node.js React.js WordPress Visual Basic for Apps Testing and debugging mobile app development Android App Development
Orbitsoft A.
N/A
Profile
Welcome to Flutterfolio, where I showcase my passion for creating captivating mobile apps using the Flutter framework. With a keen eye for design and a mastery of Dart, I bring user centric experiences to life. Explore my projects to see how I blend functionality with aesthetics, and let's embark on a journey of innovation together.
App Design ui/ux design dart programming Format and Layout flutter development firebase integration Visual Basic for Apps
Azka M.
Profile
As a mobile UI designer, I have a keen eye for detail and a deep understanding of user behavior. I strive to create seamless and intuitive user journeys that make navigating the app effortless. By carefully selecting typography, icons, and images, I ensure that the design not only looks aesthetically pleasing but also enhances the app's functionality. With my expertise in Mobile UI Design, I can help you create stunning and user centric interfaces that leave a lasting impression. Whether you're building a new app from scratch or looking to revamp an existing one, I can collaborate with you to bring your vision to life. Let's create an exceptional mobile experience together.
UX design UI design App Design Web Design Graphic design Android UI Design Visual Basic for Apps mobile app development
Muhammas J.
Profile
The first application that allows you to create your own digital museum of football shirts wherever you are! Vinimay allows you to search and discover all the official football jerseys, from anywhere!
PHP Swift Kotlin App Design Portfolio Design Mobile Development mobile app development Android App Development
Kulwinder J.
Profile
We are an online platform that facilitates the sale of used vehicles between individuals. We connect buyers and sellers through a virtual marketplace in order to improve their experience throughout the buying and selling process.
PHP Mobile Development backend development Android App Development
Kulwinder J.
Profile
standup-comedy-experts,Stand-up Comedy Experts#storytellers,Storytellers#advertisers,Advertisors#salesforce-app-developer,Salesforce App Developer#wireframing-experts,Wireframing Experts#squarespace-designers,Squarespace Designers#chatbot-developers,Chatbot developers#hootsuite-specialists,Hootsuite Specialists#scrum-master-professionals,Scrum Master Professionals#document-scanning-specialist,Document scanning specialists#blockchain-tester,Blockchain Tester#software-architects,Software Architects#conversion-rate-optimizers,Conversion Rate Optimizers#lumion-specialists,Lumion Specialists#freshdesk-specialists,Freshdesk Specialists#mercurial-developers,Mercurial Developers#nginx-developers,Nginx Developers#git-developers,Git Developers