Telemedicine App Development: Trends, Challenges, Features, and Cost
Telemedicine app development has begun to change the healthcare industry landscape. The global telemedicine market has grown incredibly within the last few years, especially due to the pandemic. The global market value accounted for $50 billion and is now projected to reach around $460 billion by 2030.
The COVID-19 pandemic has turned the landscape of the healthcare industry upside down. Telemedicine software development is now the primary goal of healthcare companies wishing to provide healthcare services to patients from a distance.
Today is the best time to invest in telehealth app development, since this niche is still unoccupied, the demand for such services is growing and will continue to rise.
This article will uncover in-depth information on telehealth development and will explain how to start your own project.
Here is what’s waiting for you in our telemedicine app development guide:
- Six main benefits that telehealth technology will generate for your company
- Must-have telemedicine software features [for doctors and patients]
- Technical aspects of telehealth app development
- Telemedicine application development cost calculation
- Challenges during telehealth development + how to overcome them
- How you can make money with your telehealth application
- Types of telemedicine apps and examples
Once you’ve read this article, you will have a full understanding of the best telemedicine app development solutions.
Benefits of Telemedicine App Development
First and foremost, everyone wants to maintain a good state of health. This is among the top human priorities represented in Maslow’s hierarchy of needs.
These days, the growing need for health-related products is dictated by the coronavirus pandemic and worldwide lockdown. This need can be seen in increased consumer and provider willingness to use telehealth by 100% and regulatory changes.
The main assignment of telehealth services is to provide remote doctor visits, increase service efficiency in line with protected health information, and monitor health conditions from a distance.
Let’s now outline the major benefits of telemedicine app development.
1. Availability of medical services
For starters, a telemedicine app can provide healthcare service for remote regions with no access to clinics. NRHA states that there is a problem of healthcare personnel shortage. This is observed in rural areas especially (39.8 physicians per 100,000 people, compared to 53.3 physicians per 100,000 in urban areas). Telemedicine apps can help veterans, elderly people, school kids, etc, and access to healthcare services easily.
2. Convenient and time-efficient medical care
No extra time should be spent visiting a hospital and waiting in line to get a preliminary doctor consultation.
What if you need to visit a few different specialists? This process could take ages.
Telemedicine apps can be used to schedule and manage appointments for remote medical help. Patient and doctor can connect at the earliest convenience. So, the necessary treatment starts quickly and more effectively. Telemedicine applications may also have great applicability in emergency care.
Based on the Research2Guidance questionnaire, the majority of patients (53%) are interested in remote doctor visits or have already taken part in them.
3. Electronic health records (EHR) keeping
Telemedicine applications help practitioners access and store health records effectively. These days, it can otherwise be very difficult to access these records and transmit them to other doctors for better treatment prescriptions.
Want to create a telemedicine application?
Feel free to contact our team for a free consultation. Let’s discuss your app idea in greater detail so we can provide you with recommendations as well as estimate your project cost and timeline.
4. Unified patient management and monitoring system
Telemedicine app development solutions can help with follow up consultations, updates to prescriptions, chronic disease monitoring for patients, and so on.
5. Efficient time management of healthcare specialists
Once you develop a telemedicine app, healthcare providers can organize their workload more effectively. This means there is a possibility to examine more patients correctly.
As well, the Doctor on Demand research states that around 15% of doctors experience burnouts and depression. Heavy workloads of 60 - 80 hours per week is one of the reasons. Telemedicine solutions can allow for a better life-work balance for doctors.
6. Facilitation of administrative operations
With the help of telemedicine apps, more time can be devoted to the actual tasks. There is no need to fill out different forms and internal documentation, as most of the paperwork can be automated. Cutting out this inefficiency directly correlates with higher profits.
Telemedicine development may be utilized across different medical fields. Among the most common areas are dermatology, psychological and behavioral health, cardiology, chronic diseases like diabetes, hypertension, and more.
Telemedicine App Development: Tech Implementation
In this portion of the article, let's check out the innovative technologies and functionality related to telemedicine app development services. As well, we will take a look at the main factors influencing the telemedicine app price.
Before we dive into the technical details, let’s take a look at the processes behind telemedicine apps. Generally, the process consists of the steps pictured in the image below.
Technologies Used in Telemedicine Apps
The technologies that find great application in healthcare startups include:
- Artificial Intelligence - AI is being increasingly adopted by most telemedicine applications. Using language processing, chatbots, voice recognition, and machine learning lends a new experience to healthcare services.
- *Big Data *- lots of information is generated and proсessed in healthcare. By utilizing big data computations when you build a telemedicine app, it is possible to gather and evaluate electronic health records (EHR). This info can be used to improve treatments, provide more accurate diagnoses, conduct medical researches, and eventually cut costs.
- Blockchain - this technology excludes loss of healthcare and patient data as opposed to paper medical records. Blockchain provides the opportunity to store and exchange medical data securely.
- IoT - telemedicine equipment includes tablets, medical kiosks, digital cameras, smartwatches, etc. The Internet of Things contributes to vitals tracking, diagnosis, treatment suggestions, medication adherence, built-in emergency response systems, and more. The combination of medical hardware and software (e.g user-centric medical website development) eventually leads to better patient care.
Advice: In the long run, it is important to have a vision of how the product should evolve.
After outlining the major innovations, you can get a better understanding of which of them can be applied in your telemedicine app development.
Try looking ahead to satisfy the market demand prior to its appearance!
Now we can move forward to the functionality used in a telehealth app to connect doctors with patients. This belongs to the app type that is categorized as an on-demand service.
A typical telehealth app development solution consists of three distinct but interconnected parts - patient app, doctor app, and a complex admin panel.
Telemedicine Software Features for Patients
The features of the patient app can include:
Registration - a patient can sign up via mobile number, social network, or email. Since the app deals with sensitive data, it requires a higher level of protection. The recommendation is to use two-factor authentication, which can include SMS, voice, and phone verification.
Patient profile - a patient needs to enter necessary healthcare records and compulsory information. Make this procedure as quick and easy as possible. Nobody wants to fill out long forms.
Search - a patient can search for a medical specialist based on one or more criteria (specialization, proximity, doctor rating, etc.). For the first app version, the general advice is to limit search entities.
Appointments and calendar - patient needs to have a list of appointments based on doctor availability, as well as the possibility to edit or cancel them.
Communication - the process can be done via audio or video conferencing for real-time consultation. For the first version of telemedicine app development, it is wise to implement the simplest format (e.g. photo-based consultation for dermatologists).
Geolocation - the patient should connect with practitioners with a valid license in a particular US state. The app should gather their location with the help of Google Maps or similar services.
Payment - telemedicine app monetization can be done via integrating a payment gateway system (e.g. Stripe, Braintree, PayPal). The patient should also be able to view their transaction history.
Notifications - push notifications and relevant reminders help to keep track of appointments.
Rating and review - this is a must-have feature in case there is a doctor-patient aggregator. This function ensures proper service quality based on the collected feedback.
Telemedicine app development should take into account user experience and relevance of functionality. The patient app can also include some extra features like:
Personalized dashboard - complex feature, but useful to observe treatment progress or something similar.
Medication tracking - the app can remind a patient to take necessary medications and obtain refills.
Secure chats - the one-to-one messenger is a great communication channel between a doctor and a patient. This feature is easy to implement and can be included in the first app version. Note that a more advanced messenger with a multi-user chat system is harder to develop; it takes a substantial amount of effort and time, especially in the healthcare field. For instance, the Signal messaging app utilizes end-to-end encrypted messaging protocols (Curve25519, AES-256, and, HMAC-SHA256) to protect communication and ensure that no MITM (man-in-the-middle) attacks can occur.
In-app calls - the app can include emergency audio or video calls.
Navigation - it is possible to add the route to the hospital with additional information about the institution.
Cloud data storage - possibility to keep and manage EHRs. Other options are to view attached images & documents (lab results, X-rays, etc.). Also, the feature can help to export or import the information in pdf format.
Patient’s insurance plan - a useful feature is to integrate with the insurance providers, add plans, and cover health insurance portability.
Now that we’ve covered patient app functionality, let’s proceed with the feature set that is most useful for doctors.
Telemedicine App Features for Doctors
As for the telemedicine app for doctors, some of the functionality correlates with the patient app. On the other hand, there are some specific features that should be implemented only in this part of a telemedicine solution.
The key doctor app features are:
Doctor profile - practitioners should fill out accurate information about their specialization, experience, education, and so on. It is possible that patients might like to check their license and proof of medical capabilities.
Scheduling and calendar - the doctor should be able to set their availability, receive consultation requests, and manage a calendar filled with appointments.
Communication - the patient-doctor interaction should be identical. In the first product version, it is better to utilize one-to-one messenger or consultation based on photos. If you have a larger budget, the best choice is to implement video conferencing for more detailed medical examinations. Note, this is a costly feature to develop.
EHR review - doctors need to check a patient’s records either from their profiles, preliminary-filled questionnaires, hospital database, or by using other methods.
Medical prescription - doctors should place their prescription digitally. Then, the patient is able to get the prescribed medication from a drugstore or required healthcare service. This way is also more efficient for patients with chronic diseases and ongoing prescriptions.
Other useful features that the telemedicine app for doctors could include:
Video or audio session recording - ability to save or download the consultations. These files can be useful to track the treatment progress and for accurate referencing over time.
Dashboard and analytics - doctors can have specific dashboards to make the necessary adjustments to their prescriptions and treatments.
Pharmacy databases - the app can integrate with drug stores to provide patients and doctors with necessary medicine on time.
It is important to develop logical and hassle-free management of patient and doctor data via an admin panel.
The illustration below shows the intersections of modules within telemedicine app development.
Telemedicine App Features for Admin
The whole telemedicine system can be controlled from the admin panel, including access to user data, monetization tools, notifications, etc.
- Doctor profile management - to create, read, update, and delete (CRUD) doctor-related information
- Patient profile management - to create, read, update, and delete (CRUD) patient-related information
- Analytics - include insight and dashboard on the app state, number of users, their activity, and other metrics
- Payment management - check a list of transactions, discounts, and other payment processes for telemedicine services
- Notifications management - allows for regular updates from systems to app users (doctors, patients)
- EHR system integration - integration of EHR system to check out updated patient medical data.
Do you need to develop a telehealth solution?
Contact us for a free consultation on telemedicine software development and you will get all of the insights from both the business and technical perspectives. Our telemedicine app developers will advise you on the best approaches to the development process, as well as roughly estimate your project concept cost
Continue reading to find out what budget is necessary to allocate for telemedicine app development, how to find and hire a coder to make an app, as well as potential challenges on the go.
How to Build a Telemedicine Platform
At MLSDev, a software engineering company, the telemedicine app development process is divided into two big steps - the Discovery and Development stages. Each step has associated processes and requires the commitment of various specialists.
Let’s break each stage down.
The Discovery stage of creating a mobile telemedicine app includes:
1. Business analysis - this may include optional services like market and competitor analysis. The compulsory part of this stage is to create a product backlog with a precise description of app functionality and system logic.
A business model canvas is a tool that is useful for planning a telemedicine business. The tool has nine areas that analyze the customer, value proposition and activities, revenue, resources, and costs.
The flow to start with in telehealth app development can be as follows:
- Define the exact target audience
- Identify the purpose of telehealth app
- Develop a business plan for the project (incl. revenue streams)
- Create reliable app content and organize the data
- Plan the budget for telehealth app creation and marketing expenses
- Apply for investments
- Design and implement a product with a team of professional software developers
The telemedicine concept can concentrate on one or more market players like healthcare providers, governmental healthcare institutions, patients, healthcare specialists, healthcare organizations, and so on.
Alternatively, a telemedicine project can focus on a specific healthcare treatment or client demographic (e.g. children, elderly people, etc.). The type of project you choose will influence the telemedicine software development process.
2. Software architecture planning- this is developed by the System Architect based on the gathered project requirements and business objectives.
3. UX/UI design - app interface, layout, and navigation is created on the basis of a product backlog and functional specification of the telemedicine app concept.
4. Project management - the whole process is guided and organized by the Project Manager during all telemedicine application development stages.
The Development stage of telehealth app development consists of the following software development services:
1. Early planning - corresponds to the zero sprint in the software development lifecycle. This is when the development team arranges the development works, organizes development processes and sprints, and plans the deadlines.
2. Development - corresponds to the app coding phase. The stage may concentrate on delivering the first app version with core features in order to release it to the market more quickly and then scale the project further with the next versions. Alternatively, it is possible to to create a telemedicine app on all mobile platforms at once but at a greater expenses.
3. Quality assurance and UAT testing - processes that ensure high-end quality, performance and proper functioning of the telemedicine application.
The software development vendor allocates a team of required tech specialists - iOS and/or Android telemedicine app developers, back-end developers, and QA engineers.
The diagram below illustrates the possible scheme of creating a full-fledged telemedicine app with a possible team-set.
Tech Stack for Telemedicine Application Development
The following is a list of technologies and frameworks for telemedicine app development.
|Programming languages||Swift for iOS app development
Kotlin for Android app development
|Backend development||Ruby (Ruby on Rails framework)
|Integrations||Videoconferencing, chats- Twilio SDK, WebRTC
Mobile push notifications- GCM, APN, Firebase
Payment gateway - Braintree, PayPal
Text chats - XMPP Framework
Geolocation - Google Maps Platform
Search & filters - Elastic search
|Database||PostgreSQL, MySQL, Redis|
|Cloud||AWS, EC2, S3
Google Cloud Platform
Telemedicine App Development Cost
And how much does it cost to develop a telemedicine app?
It is necessary to evaluate the telemedicine platform cost itself, as well as allocate the budget for app promotion and distribution.
The cost of telehealth app development greatly depends on its concept, functionality, the development approach, and the chosen development vendor. When working with an offshore mobile app development agency, you can expect to spend around $60,000 - $150,000 for the first working version for one platform (iOS, Android, or Web).
If you want to add more functionality or create a telehealth app of greater complexity, be ready to spend more money. The telemedicine software development cost can go even beyond $300,000 per platform if you choose to work on a very complex and feature-rich solution.
Please note, that this price includes a patient app, a doctor app, and an admin panel for a single platform (iOS or Android), at an hourly rate of $40 (average development rate in Ukraine). The timeline for this development varies from approximately 3 to 6 months.
Pro Advice: The telemedicine solution needs to have an innovative service at its core. Hardware and software only support the telemedicine app idea. So, a considerable amount of your resources should be spent on defining this innovative solution.
Telemedicine App Development Cost Based on Type
Telemedicine apps can be divided into three logical types. Based on app specifics and functionality complexity, the final cost differs.
- Real-time Interaction - this software assists healthcare providers and patients with video & audio conferencing in real-time.
- Remote Patient Monitoring - these telemedicine apps are used for managing health conditions and reacting to a patient’s health vitals, signals, and activities. Wearable devices and IoT-enabled sensors help to deliver real-time health conditions.
Store-and-Forward - these telemedicine apps assist medical personnel in exchanging and spreading patient EHR (electronic healthcare records). These records include lab tests, videos, and distinct studies from medical specialists.
The cost to build each specific telehealth app is as follows:
|Telemedicine app type||Approximate Cost
(for 1 platform - iOS, Android, or web)
|Real-time Interaction||$80,000 - $100,000||Lemonaid, MirrorFly, Siilo, HealthTap, Ease, Visit|
|Remote Monitoring||$60,000 - $80,000||Gyant, Ada, Symptomatic|
|Store-and-Forward||$30,000 - $60,000||CirrusMD, Medisafe, MyTherapy|
Want to know the detailed app development process and its cost?
We have made a complete guide that will tell you about the factors influencing app cost and how it is usually estimated. To learn more, read the article How Much Does it Cost to Develop an App?
Challenges in Telemedicine Software Development
Here we would like to inform you about the key challenges in the telemedicine industry. Please take the following aspects into account during telemedicine app development:
- UX/UI implementation
The logic, navigation, and layout should be created in accordance with the target user needs. Please note that the user experience and user interface in a doctor app differ from the needs of the patient app.
- Back-end infrastructure
In terms of functionality, there are some public third-party services that can be integrated into a telemedicine app. It is quite necessary to study their documentation and their fit for the system upfront.
- Security matters
Telemedicine apps should ensure high-end data security of healthcare records, especially personal data. All the necessary precautions should be taken in order to store, exchange, and proceed with this sort of information. During telehealth software development, ensure the use of multi-factor authentication or use biometric identification. As for the data exchange, it is possible to include high-end encryption protocols.
- Lack of trust
Telemedicine apps still lack adequate trust. These solutions are more widespread in the more developed markets of the USA and Europe. Proof of doctor professionalism, a clear review system, and well thought-out promotion can help to gain interest among potential users.
- Compliance with healthcare legislation
Telemedicine app development should take into account regulatory standards. Mobile applications dealing with patient information should be HIPAA compliant in the USA. These standards derive from Health and Human Services, the Office of Civil Rights, and the ACT/App Association.
It is necessary to study legislation in the target country. For instance, Canada uses PIPEDA. European Union countries follow the Data Protection Directive 1995/46/EC and the e-Privacy Directive 2002/58/EC/ IEC 62304. These are the international standards for medical software processing.
- Selection and hiring process of reliable telemedicine app developers
After you’ve decided how to build a telemedicine platform, you will need to address another issue - finding a reliable software team.
Depending on your business needs, goals, and financial capacity, you can either hire an in-house development team or find a outsourcing company that specializes in telemedicine solutions development.
The latter option is more beneficial for business, as it opens up the following possibilities:
- Lower rates for development, but with high service quality
- No need to deal with the bureaucracy of the hiring process
- Access to a wide pool of talent that knows how to build a telemedicine platform
- Project management can be delegated to the IT vendor
You can outsource software development to various regions, including Eastern Europe, Asia, South America, and Africa. When comparing prices and the expertise of local specialists, Eastern Europe stands out with good technical education, an extensive history of software development outsourcing, and competitive prices.
Out of all countries, the unique taxation system makes Ukraine an attractive destination for businesses looking for outsourcing services. With an average development price of $40 per hour, you can spend less on your project while working with the best specialists.
Ukraine also offers a favorable time zone for outsourcing. Due to the time differences, your outsourcing team will start their working day while you sleep and deliver results just in time as you get back to work. You even have time for direct communication and project discussions.
Do you need a highly professional team for telemedicine software development?
Our team can help you with the development of your application. Contact us to get a free initial consultation regarding your project and its estimation in terms of cost, timeline, and needed technical talent.
Monetization of Telemedicine Solutions
The monetization of applications can be done in a broad range of ways. These include advertising, in-app purchases, subscription model, sponsorship, crowdfunding, and more.
Telemedicine app monetization should derive from the concept and target customer. This strategic decision should be well thought out beforehand.
One of the most common ways to build revenue streams in telemedicine apps is through fees. Similar to the Uber revenue model, it is possible to receive some percentage from a service.
For instance, the Doctor-on-Demand app charges a patient a 25% fee. This rate can be adjusted depending on the consultation specifics, doctor specialization, consultation duration, or other metrics.
To summarize, telemedicine app development can include the following monetization models:
- Pay per consultation (can relate to consultation duration, specialist, etc.). The Tele Doctoral program by the Norwegian Telenor Group uses this model and charges $0.08 per minute.
- Membership (or subscription model - e.g. monthly payment for doctors and/or patients). Myca Nutrition utilizes this approach and distributes its product in other countries.
- Franchising (a product can be distributed as a franchise). It is possible to offer a software product overseas if the local market has a lot of competition). An example is SkyHealth, which sells its franchise for $3,000.
- Software as a service (provide the software product in the form of a service to medical establishments). For example, Doctor-on-Demand SaaS charges around $1 per employee, per month.
Interested in knowing how apps make money in detail?
Read the following article filled with examples and all available monetization plans: How Do Free Apps Make Money?
5 Successful Use Cases in Telehealth App Development
Let’s now briefly review the success stories of some of the best telemedicine apps.
This is one of the best apps for online doctor consultations. The app matches patients with doctors within three minutes using video conferencing. The app is available on smartphones, tablets, and laptops. The patient lists their symptoms, then tells their medical history, gets connected with a doctor, and finally gets the necessary prescriptions.
These days, the telehealth app is ranked in the top 20 within the medical category according to App Annie, the global mobile market data provider.
Founded in San Francisco, the startup collected as much as $86.75M in investments from Google and Richard Branson.
The service price is slightly higher compared with similar services, but is covered by a few insurance companies. The unique mobile telehealth app offering is the integrated laboratory diagnostics.
This recent telemedicine startup is remodeling the industry, as mentioned by Crunchbase. The app raised $46.6M in an angel round and aims to connect individuals to all their existing doctors. Named the “WhatsApp of Healthcare,” the app allows practitioners to connect directly and securely via video or texting.
3. American Well (AmWell)
This telemedicine app has been used by healthcare employees, providers, and the government since 2009. American Well offers the SaaS platform for medical institutions. At the same time, the AmWell app concentrates on consumers. The cost of the service ranges from $59 for urgent care and $95 for online therapy.
Telemedicine app with an ambition to provide medical services worldwide. The app utilizes machine learning to provide accurate prescriptions in the form of a chatbot, meaning you can receive treatment without a doctor present. This London-based startup received an $85M investment.
With a total funding of $73.6M, this telemedicine app provides treatments for most common medical fields, as well as behavioral health concerns. The average service price is around $40 - $50 per digital doctor consultation.
Important Considerations in Telehealth Development
The telemedicine industry is definitely changing the healthcare landscape, so the time is just right to start with telemedicine app development.
You can choose from the following options:
- Provide collaboration between healthcare providers, users, or other parties
- Provide secure and highly encrypted video conferencing and communication services
- Provide in-home patient monitoring (e.g.cardiovascular activity) or patient self-monitoring solutions
- Provide medical data analytics for general and prophylactic treatments (use of big data technology)
- Provide a platform to transfer and store medical information securely (use of security protocols, cloud service solutions, blockchain technology)
- Provide preliminary healthcare consultation remotely (use of via AI technology - e.g. chatbots)
As well, here is a list of industry tendencies to take into account prior to telehealth app development:
Common laws and regulations - 32 states in the USA have already adopted the common laws for using telemedicine services more easily. The UK and Canada are about to follow the same tendency to support parity in the telemedicine sector.
Decentralization of medical care - medical offerings become more widespread globally. At the same time, the industry attracts more healthcare professionals, especially of the younger generation.
Rise in usage of remote healthcare service - convenience and ease of telemedicine apps decrease costs and time resources in medical treatments; thus, more people will use the service willingly.
Technologies become more public - technical progress results in public, secure, and affordable software implementations. Telemedicine solutions can be used across most medical devices via public secure networks (e.g. WebRTC technology)
Consider studying laws in the target market and ensure product compatibility with HIPAA or similar regulations. Security should be one of the top priorities in telemedicine app development. Ensure suitable data encryption, penetration and vulnerability testing of the system.
How to Start with Telehealth App Development Wisely
Before you get started, you need to define how to develop a telemedicine app that will make you money. For that, you need to choose the right business model, which will be dependent upon the following blocks:
- Define your customer segments - companies or people who will pay for your telemedicine application.
- Define your value proposition to customers - what you can offer customers and which pain points your solution will solve.
- Highlight key telemedicine software features - unique and user-friendly functionality that will highlight your solution from a background full of competitors.
- Allocate key resources to develop your telehealth solution - technologies, infrastructure, features, human resources, etc.
- Find reliable partners - for example, a software company that knows how to develop a telemedicine app.
- Follow tech and health regulations - build your telemedicine app based on telemedicine regulations and local requirements to ensure that your solution will not be banned by authorities and governments.
- Define key costs needed for telehealth mobile app development and support - how much you will need to invest in the first version, and where you are going to get money for that and future app support.
- Create a financial plan - this will allow you to measure your achievements and pay off your investments in record time.
If you want to implement your idea with fewer risks, it is a good option to start your telehealth app with the first simpler product version. Prioritize the app features and begin with core functionality.
With further, ongoing telemedicine app development, the product will evolve into a complex and feature-rich platform. Alternatively, you can build a full product from the start.
You definitely need a reliable development partner to provide the proper quality for telemedicine app development to meet your business and technical plans.
Here is how you can find one:
- Based on the telemedicine software features needed, decide which technologies you need to apply in your app, and find experts in that field.
- Look out for a company that knows how to build HIPAA compliant telehealth solutions.
- Find a company located in a convenient time zone.
- Check how well the development team knows English to avoid communication problems in the future.
- Establish a strict workflow right from the beginning, clearly define your goals, and share your product vision with the team.
- Sign a contract and NDA that will protect you and your idea.
Our team has gained good expertise in how to build a healthcare app successfully. We have worked on a few complex projects following industry quality standards and mobile innovation technologies.
If you are looking for a reliable vendor to develop such an app, be sure that due to our experience in the domain, you can easily entrust us with your healthcare app idea.
Interested in starting your own telemedicine app?
Feel free to reach out MLSDev for a consultation and preliminary telemedicine app development cost estimation.