Oursky

BLOG

From Ideas to Owning Source Codes: What Startups Need to Know Before Developing an App

Are you an entrepreneur with a great idea for the next Uber app? Are you trying to secure boardroom support for a mobile app project that can potentially reach thousands of new customers? Are you a startup founder looking to kick-start a great app idea? We’ve collected frequently asked questions about app development and answered them based on our experience and interactions with startup founders, business owners, and enterprise executives.

How much does it cost to build an app?

There’s really no straight answer, except that it depends on what you want your app to do, how it’s developed, and who builds it.

A small app with few basic features obviously costs less compared to an app with more intricate features. An app built for a specific platform (e.g., iOS, Android, Windows) are usually more expensive than apps that can be developed for multiple platforms. This is because platform-specific apps are more optimized and offer better user experience.

Each kind of app developer — whether a freelancer, a small agency, or a large one — comes with different price points. The number of developers needed on the team and their man-hour rates will all play into the equation.

So if you want an “Uber” app for your industry, for example, be prepared to pay. A taxi app, designed for both iOS and Android with geolocation, push notifications, payments, registration/login, booking interface, messaging, price calculator, and ratings/reviews, requires teams of developers working 100 to 300 hours (or more) for each one of those features. The approximate cost for development, in fact, was pegged by experts to be between US$91,000 and$115,000.

The good news? That price can go down significantly depending on the location/region of your developer. If you’re from the U.S. or Australia, outsourcing to a local or onshore developer will likely rack up higher fees. Offshore or nearshore outsourcing of app development are your best bet. For instance, highly-skilled developers in neighboring countries can be more cost-effective but also get the work done just as well.

PHOTO BY KEVIN KU ON UNSPLASH

How long does it take to build an app?

Just like cost, the time it takes to build an app depends on complexity. The more features you want for it, the longer it will take.  

Simpler apps with standard user interface and limited features can take approximately 400 hours. More complex apps such as enterprise or shopping apps have multiple features including payment, multi-language support, custom animations and design, application programming interface (API) integrations, and real-time functions. They can take over five months of development.  

Understanding the overall process or the stages of app development will help give you a more accurate estimate of how long. It begins with discovery or business analysis, where planning, minimum viable products (MVPs), mockups, prototypes, and project documentation occurs. This is to ensure the app delivers value and aligns with business goals.  

Time frames for each stage will differ as all applications are different. For a food delivery app such as UberEats, planning can take up to three weeks, followed by four weeks of design and up to 16 weeks of app development, and approximately three weeks of testing.

Should I build my own team or hire agencies?

Outsourcing development can result in faster time to market. You can readily access the skills and experience of developers that have helped many businesses create great products. Some agencies have built apps for many industries and have a full roster of roles available for all the stages of app development.

Plus, agencies can get started with no delays compared with the long drawn-out process of building your own team, with two to three months of recruitment followed by onboarding and setting up of processes.

If costs aren’t a problem, building your own team, particularly for long-term development projects, allows you to have personnel dedicated solely to taking care of your app. Since they work for you, you have more control of what you want to achieve.

How many in a team is required for the project?

While a frugal option is hiring a sole developer, a single person simply can‘t hold all the necessary knowledge and experience to build your app and support it as a complete product. Even small applications need an entire team. And for an app to successfully meet the demands of a market that abandons apps after one use, it takes anywhere from four to 10 people.

To fill the roles you need, you’ll have to first factor in the development approach you’ll be taking. This can include building the app for one or more platforms, such as Android or iOS; developing your own APIs or not; and ensuring the security and privacy of your app.  

You can then estimate the number of roles you need to fill: a project manager, a front-end developer, a back-end developer, a DevOps (or DevSecOps) specialist, a designer, and a QA specialist, to name a few. You’ll potentially have to hire several front-end and back-end developers, depending on the complexity of what you’re building.

What should I do if I want to integrate my app to other apps or systems?

To do this, there are several options to consider and all of them can be technical. But for the purposes of this FAQ, let’s consider the scenario of having to integrate a mobile app with your business’ back-end applications, such as a customer relationship management (CRM) system. As a business owner, you can consider the following steps:

  • Determine whether the end users of the mobile app are employees or customers.
  • Find out how integrating the mobile app to your business apps and systems will improve processes.
  • With the help of app developers, plan out which mobile app integration approach will be required.
  • For successful integration, developers will need to implement and use external APIs for convenience or to enhance user experience, and internal APIs for access to outdated systems and apps.
  • Implement streamlined data exchange across various apps in the newly integrated system.
  • Incorporate security solutions to address various risks and restrict access to data.
  • If you’re open to newer technologies like containerization, break up your app into microservices.
  • With an integrated system in place, you can analyze information gathered by mobile apps. A good example is customer data collected and analyzed to understand customers’ purchasing patterns and create better marketing strategies.
PHOTO BY AGEFIS ON UNSPLASH

Where should I host my app?

There are several kinds of application-hosting services, all of which serve a different purpose. They include services for specific verticals (healthcare providers or FinTech companies, for example); enterprises; desktop and mobile sites; database applications; and web-based files.  

Whatever your needs, any good hosting service should be able provide the following benefits:

  • Easy to install, navigate, or upgrade with minimal impact on the app’s performance
  • Maintenance of software and hardware, including updates, backups, and cybersecurity
  • A reasonable recurring subscription fees and software licensing costs
  • Global access to your app with the lowest latency possible
  • Reliable cloud servers that allow your app to easily scale for increased traffic
  • Freedom to make your own updates and fixes to your apps

But what about on-premise application hosting, or hosting your application in your own data center? This is the more expensive option, since everything, including hardware, security, maintenance or IT support, and software licensing, is your responsibility. The trade-off is that you have more convenient access and direct control over your hardware and data. This makes it easier to choose tools that suit your needs and manage data to comply with local and international regulations.

How can I get my app featured on Google Play and App Store? Why do I want my app featured?

Getting featured in the Apple App Store can mean rapid growth for your app. You’d get an immense amount of impressions, click-throughs, and installs. Because Apple dominates the U.S. and other smartphone markets, having a featured app could mean reaching 15% of all smartphone users. Here’s what you can do to get featured:

  • Tell your app’s story by focusing on its unique selling points.
  • Build your app with iOS in mind. This requires using Apple-based APIs and regularly updating your app according to Apple’s standards.
  • Make your app available in as many countries as possible. This requires localizations, such as native languages, to be optimized.
  • If possible and depending on your target users/audience, make your app accessible to major disabilities (e.g., vision, hearing, motor skills, learning or literacy).
  • Create an app store product page, one where people want to learn more about your app and install it.
  • Be sure to fill out Apple’s “Get Featured on the App Store” form.

Google Play Store has an equally massive reach. In Australia, for example, iOS and Android are neck to neck in terms of mobile OS usage. Here are some things you should consider:

  • Google will only feature apps with high ratings. You can improve your app’s ratings by gathering user feedback (and using it to improve your app), responding to every user review, and frequently releasing app updates.
  • People prefer apps in their native language. Make your app as readily available as possible. Your app’s localizations should also match the cultural preferences and contexts (public celebrations, seasons, holidays) of the region.
  • Integrate Google technology and material design.

Now that my app is built, what’s next?

If you’re planning to attract users to your app and retain them, you’ll need to deliver great performance and a user-friendly yet secure experience. Two crucial elements here are testing and product support and maintenance.  

To ready an app for product launch, testing includes manual and automated quality assurance (QA) and user feedback. They help address unexpected problems and opportunities for improvement. This is done with the continuous observation and the development of new features and bug fixes.  

How can my web app rank higher in Google Search?

Already 27% of users find apps with the help of search engines. This number will increase as Google is putting more and more focus on apps in its search engine results. One of these developments is the “app pack”, where one to six high-ranking apps are featured in the middle of search results.  

Here are some best practices for optimizing your app’s discoverability:

  • Use the right keywords. This involves finding the most relevant search terms that potential users often type into Google Search.
  • Optimize or include those keywords in the title and description of your app, as if you were optimizing the title tag and text of a web page.
  • Get reviews. Your app will rank not only based on keywords in your app title and description but also for keywords in its user reviews. High-star ratings will also positively impact its search ranking, often even more than keywords.
  • You will also need app-specific keywords in your titles, descriptions, and reviews. A user may not type “app” in the app store but will do so in Google Search.

How can my app rank higher in app stores?

It’s not enough to build an app with outstanding features. It has to be noticed. When your app gets approved for the Google Play Store and Apple App Store, you will need to improve its ranking in the store to gain better visibility and attract downloads. App Store Optimization (ASO) is how you do it. The following ASO factors improve your app’s ranking:

  • An app name or app title with the relevant keywords
  • A significant increase in total downloads within a short period
  • A short description, the “about app,” and a long description with keywords
  • High click-through rates
  • Multiple positive reviews and ratings
  • An Updates section detailed with security features, bug fixes, and improved user experience
  • Good screenshots and preview videos that increase the chances of downloads
  • Quality backlinks from your website and social media, as well as from guest posting and app submissions
  • Selecting Google Play Store’s Keyword Tags
  • Filling out the Apple App Store’s Keyword Field
  • Retention or how frequently your app is used more than other apps in your niche
  • App Quality or if your app reports less “application not responding,” crashes, and other bugs

How should maintenance be done?

Apart from your own updates, anticipate changes in your app due to platform updates. Apple and Google, for instance, release one major update to their OS every year. You will also need to monitor third-party integrations for significant updates that may affect your app.  

New feature development and bug fixing are two important aspects of app maintenance. You should plan for requests for new app features or improvements from your users. You will also need to anticipate minor bugs overlooked or unaddressed during development.  

People who have downloaded your app will be using it more than you. Make it easy for them to give you feedback, ask questions, alert you to any problems, and submit requests for app changes. There are several reporting services that can be integrated into your app for that purpose.  

New features and requests are not added all at once but are carefully planned and released one at a time. This is because your team will have to check if feature updates are compatible with the app.

Bug fixes involve a long process in several phases. As such, you will need a dedicated team of developers and QA engineers to accomplish several tasks such as replicating the bug, identifying the specific problem, inspecting the app’s code, implementing and testing corrections, rewriting clean and structured code, and so on.  

Your app maintenance system is a form of customer care and support. It should be an ongoing thing that’s alert and prompt to user preferences and problems. Furthermore, this system should be backed by a team that can handle and detect downtime.

PHOTO BY THISISENGINEERING RAENG ON UNSPLASH

Can I start my app project part time?

You could effectively start an app project part time by creating a prototype for a fraction of the cost and time it takes to build the full version. MVPs can be your proofs of concept that will allow you to present your idea and acquire funding from investors.

Where can I get funding?

You may know by now that the simplest app can sometimes cost thousands of dollars. Here’s a quick rundown of how to fund a great idea and turn it into an app.

  • Get support from your personal network of family and friends.
  • Pitch the idea to private investors who may benefit from your app. For instance, local businesses in the market or industry niche your app will serve.
  • There are many annual app funding contests from industry leaders, angel investors, and other enterprises. Angel investors are individuals and businesses who help startups at their early stages, in exchange for at least 10% to 25% in shares. Unlike angel investors, venture capital investors offer significant funding at the app development stages, in exchange for a share in the business.
  • You can pitch your idea on crowdfunding platforms, such as GoFundMe, IndieGoGo, or Kickstarter, and get funding from site visitors who love your pitch. Other options to explore are donation-based, debt-based, and equity-based crowdfunding.
  • A long difficult process of paperwork, interviews, app monetization prospect presentations, and providing security is the usual way to acquire a bank loan for app funding. Sadly, if your product fails, you will still have to pay the bank on-time and with interest.

If I work with an agency, what should I pay attention to?

Any agency prospect should have a good understanding of the nature of your business and the services you offer. This way they can provide you with an app rich with features that best matches your brand and approach to business goals. Here are things you should consider:

  • Ask to take a look at their portfolio and the apps they’ve built for other clients, preferably within the same industry. This will give you a good idea of their skills and allow you to envision more possibilities for the final product.
  • Evaluate the development costs carefully. Start with a clear understanding of what you get for the money you pay. With this knowledge, your budget can then be flexible enough to accommodate modifications in the project.
  • Any agency you consider should be able to assure you of open and clear communicationthroughout the whole project. This will help to ensure that things are always on the right track.  
  • As a business, you can’t afford delays. Choose an agency that can establish a project timeline with clear milestones for deliverables.
  • The agency you work with should provide excellent coders. That’s a given. However, they should also have expert user experience and user interface (UX/UI) designers. Ask for design mockups and prototypes during the proposal stage to see if they are capable of creating impressive design.
PHOTO BY RICCARDO ANNANDALE ON UNSPLASH

Why should I own the source code?

Your app’s source code is what makes your app function the way it does. If you don’t know who owns the source code of your app, it’s probably not you. That can be a problem.

If you outsourced the development of your app to an agency and you don’t own the source code, the agency probably does. Given those circumstances, you can’t make changes or update ‘your’ app without going through the same agency. This can result in a slew of problems. For instance, when it comes to maintenance, you can’t easily resolve issues and add new features to your app without consulting with that agency first.  

A hidden source code fee can be another headache resulting from not owning your app. It’s not unheard of for agencies to present an invoice, when a client, thinking they own the source code, requests for it. Carefully examine the agency’s service level agreement to avoid this frustration.

It could be worse. The source code could be a hatchet job or gibberish once it’s paid for and handed over. The lesson of these horror stories? Make sure you own the source code by writing it with your own expert or ensuring you have legal rights over a source code written by a hired agency.  

What can I do if I change vendors?

There are many justifiable reasons to switch developer agencies. To ensure a smooth transition, here’s what you should keep in mind:

  • Gather all your artifacts — source code, application schemes, documentation, passwords to access applications and databases, etc. There shouldn’t be documents or code that exist only on the agency’s hardware or in their private data storage. To be sure about code and applications, test them.
  • Handovers are a meticulous process involving teams and experts on both sides. Your team and the agency should be able to hold several meetings to share key points of the project, go over all project-related documents and materials, and answer questions.
  • Secure access credentials to your applications and their environments. All credentials should be real and under your control, meaning they cannot be changed without your permission.
  • Anticipate the need for consultations with the agency, even after all artifacts have been handed over. Questions will most likely come up after.
  • Record all meetings on video or audio. They will hold parties accountable and help in answering questions later.
  • For larger projects, it’s best to have your new agency work with the previous one under a single release of the application. Once they work together on one release, the new agency will get a good grasp of the processes, technologies, and code.

Oursky is a developer-led company that works with startups and global companies in creating digital experiences and solutions. If you have an app development project or exploring code reviews and software diagnostics for your existing digital product, get in touch with us!

Share

Discuss what we could do for you.