Category: You Asked, We Answered
Why Do Apps Ask for Permission to Access Data?
“Why do apps ask permission to access data?” seems like a simple, benign question on the surface, but it is actually two pronged:
- What does gaining permission to access information including access to photos, contacts, usage data, location data and permission to use my camera or microphone do for the app and for me? and also
- Why do apps ask for permission in the first place?
We will be covering the answers to both of these questions in this article.
Why do apps want permission to access private information?
By accessing personal information, apps can provide a better user experience that is personalized for the intended person. They can also use that info to show targeted, tailored content. Such permissions are what allow Facebook and Twitter to post your pictures on the internet and for WhatsApp and Google Voice to call or message from your phone’s contact list. It also allows you to catch Pokemon on Pokemon Go or get directions to somewhere across town by accessing your current location. In fact, most apps ask for permissions of some type. It is your choice whether to allow permissions or not. If you attempt to perform a function of an app that requires a permission to do that function, you’ll be asked again when that time occurs.
Why do apps have to ask for permission in the first place?
The U.S. government, in addition to many other governing bodies including the European Union, have laws in place to protect the privacy of consumers and to give individuals more control over their personal data and how it is used. These laws also require transparency from organizations about how they collect, store, share, and use personal data and require that children under 13 obtain a parent’s permission before sharing such data. These laws include the U.S. Federal Trade Commission Act, the Gramm-Leach-Bliley Act, and the Children’s Online Privacy Protection Act in addition to the European Union’s General Data Protection Regulation among others.
Matraex is a premier custom app and software development company based in Boise, Idaho. Do you have any other questions related to apps or app development? We’d love to answer them for you. Send your question via the Matraex Google Business Profile. You can also call us directly , contact us through our website, or use the chat feature, also on our website. We look forward to helping you with any questions you may have.M
Sign up to receive answers to your questions delivered directly to your inbox!
How Long Will It Take to Build My App?
“How long will it take to build my app?” is often one of the first questions a software visionary wants to know. In short, there is no definite answer to this question. It depends on a number of factors, but put simply, an app can take anywhere from a month to several years to develop and will largely be determined by several factors.
The factors that influence how long it will take to build an app that are discussed in this article include
Factor #1: Scope of the Project
The size, complexity, and features of an app as determined by its MVP all contribute to how long an app will take to build. If an app solves only one problem, it may be able to be built within a month or so. If it solves several problems, it may take 3-6 months, and if it’s a larger app that solves a number of problems, it could take several years. It all breaks down to the time involved to develop the app.
Factor #2: Resources Available
The amount of developers, designers, and other staff available to work on a project will also influence how long an app takes to build. If a product owner wants an app completed in a more timely manner, they can often add more developers to work on a project, but those extra developers are likely to add to the cost of the project as well.
Factor #3: Technology Used
Some programming languages are more complex, require more logic, and take more lines of code to develop with. For example, programming languages such as C++, Java, and Python are considered more complex and take longer to develop compared to languages like HTML and CSS, which are generally much simpler and more straightforward.
Factor #4: Experience of the Team
The experience and expertise of the development team who are working on a project also impacts the amount of time an app takes to build.
Factor #5: Quality Standards
The quality standards that are set up for each app can also influence the timeline of an app. Some apps may require more time to ensure that they meet required standards.
The time it takes to build an app often directly correlates with the app’s cost. We hope you’ll check out “How Much Does a Custom App Cost” as part of your research, and if Matraex can answer any questions for you, please let us know. You can contact us, call us, leave us a message on our website, or on our Google Business Profile. We would like to be your go-to resource for answers to your app development questions.
Sign up to receive answers to your questions delivered directly to your inbox!
What Is Cloud Computing?
You often hear of “the cloud” or “cloud computing”, but what, exactly, is it? In short, the cloud is a network of remote services hosted on the internet that are used to store, manage, and process data in place of local servers or personal computers. Read this article to learn more about cloud computing.
Questions that are answered in this article include the following:
What is cloud computing used for?
Cloud computing is used for many things, and its uses are increasing all of the time. It is currently being used for data storage, web hosting, software development, and analytics. It can also be used to provide services like streaming media, backing up information, and gaming.
What are some popular programs and apps that use cloud computing?
Popular programs and apps that use cloud computing include the following:Google Drive – Google Drive allows you to share and synchronize files with other users or across devices. It has over a billion users and includes Google Docs, Google Sheets, Google Slides, and Google Classroom.
Dropbox – Dropbox is a popular file storage system that allows you to back up your information and share it easily.
Microsoft 365 – Microsoft 365 includes all of the popular Office products including Word, Excel, and Powerpoint. It allows you to create, save, and share material easily and from anywhere.
Amazon Web Services – Amazon Web Services provides web hosting, content distribution and delivery, database solutions that are scalable according to business size, and software to assist business owners.
Zoom – Zoom allows businesses to collaborate in real time with video meetings, team chat, a virtual whiteboard, and webinars.
This is only a small sample of websites and apps that are taking advantage of this technology. The value and amount of services that are being offered through cloud computing is increasing exponentially and is expected to continue to do so into the near future.
What are some advantages of cloud computing?
With cloud computing, documents and other material are often saved automatically. When you choose the automatic save option, you no longer have to worry about closing a document without saving and losing everything or a power outage wiping out your work. Cloud computing also allows you to work on multiple devices. When you log in to your online account, your information is there regardless of where you are or the device you’re using. Cloud computing allows for easy sharing, gives you access to large apps and software that may be too big to fit on your personal computer’s harddrive, and allows you to play some video games seamlessly. Should you have to vacate the game unexpectedly, the cloud often saves your progress and allows you to continue where you left off.
What are some disadvantages of cloud computing?
The biggest issue with cloud computing regards security. Cloud computing involves storing data on remote servers, which leaves the information vulnerable to cyber attacks. There’s also privacy concerns because some of the info stored on the cloud is sensitive and that info can sometimes be accessed by the cloud provider. In addition, cloud computing requires internet connectivity to work, and if the cloud provider has service issues, you can lose access to your information. It is also difficult to switch from one cloud provider to another because of the complexities involved.
Cloud computing is expected to continue to grow in use and in the many ways it can be used in future years. For all intents and purposes, in addition to artificial intelligence, it is the future of computing.
Matraex is a premier app and software development company located in Boise, Idaho. If you have any questions involving computers, apps, or software development that you would like answers to, Matraex would like to help you get those answers. Contact us or call us at (208) 344-1115 and let us know. You can also direct message us online or leave a question on our Google business page. We look forward to answering all of your questions.
Sign up to receive answers to your questions delivered directly to your inbox!
I Have an Idea for an App. Now What?
Many business owners, organizations, or institutions have been there. They realize that the software they’ve been using doesn’t perform in a way that will allow them to scale their operations, is costing them too much money, doesn’t provide needed security, nor does it enhance the customer and client experience as much as they need. In addition, there isn’t a SaaS solution readily available that does what they need for it to do.
When you fit that description and have an idea of what you need, it may be time to consider designing a custom app. So, what comes next? How are you going to take your vision from thought to reality? We will take you through the basic steps you’re likely to experience with an app developer to get your vision started. Keep in mind that the app development company you choose may have additional steps or do something a little differently, but this outline may give you a good idea of what to expect, no matter where you choose to go.
The following steps are discussed in this article:
Step 1: Meet and discuss your app idea.
The first step to developing a custom app may be for the app visionary to meet with a sales representative or developer from an app development company. This may be conducted in an informal setting over coffee or on Zoom. The company representative may ask for details about the app idea, screen the app visionary to discern if they have the finances to pay for an app, and give a range of costs. This may also be a great time for the visionary to ask the developer questions they might have to determine if they are the right fit for their app vision.
If those things check out for both the visionary and the app development company, the app representative may direct the visionary to determine, as well as they can, what features would need to be in the initial release of the app including any style preferences they may have and to start an MVP. For a list of possible app features to help you do this, you can use our App Feature Questionnaire. This questionnaire could be handy regardless of who you choose to develop your app.
Step 2: Sign a non-disclosure agreement.
Somewhere early in the process, the web development company that the product owner chooses and the product owner are likely to sign a non-disclosure agreement. This agreement protects both the visionary and the development company. It may state that the development company cannot disclose anything about the code and specifics of the app with others, while, at the same time, it may protect the development company from having its development practices disclosed to others by the visionary.
Step 3: Discovery Meeting #1
Once the app visionary informally meets with a company sales representative or app designer to discuss the project, a non-disclosure agreement is signed, and the visionary begins work on an MVP, the next step is often to meet again and iron out the essential features of the app. Generally, the more specific the visionary can be about what features and functionality they wish the app to have, the less expensive the app will be since apps are often priced by the amount of time they take to develop. During that meeting, how often the visionary and app developer may meet to discuss the project may also be discussed. They may also agree on a time for the next meeting.
Step 4: Follow-up Email
After the first discovery meeting, the app developer may send a follow-up email to the visionary. This email will most likely provide details of the discovery meeting in writing and is used as a way to verify that both the app development company and the visionary are on the same page about the initial development process and to ensure that there is no miscommunication or misunderstandings.
Step 5: Discovery Meeting #2
If an app developer has a second discovery meeting, it may be used to clear up any miscommunication that occurred during the first discovery meeting, to discuss the timeline of the project, and to address initial and ongoing costs in detail. The information from this meeting may be used to draw up the app development contract and official partnership between the visionary and the app development company.
Step 6: Begin Work on App
By this time, all of the initial details of the app, timeline, and financial commitment have been discussed and the app developer will draw up a contract so the work can be started. This contract is often sent through email. Once the developer receives the signed contract and the agreed upon initial payment, work begins on the app.
Keep in mind that this is only an outline of what may occur, and that your experience with the professionals you’re considering to develop your app may differ quite a bit from the above scenario. This should help to give you an idea of what to expect, however.
Matraex would like to provide any info regarding app development so you can make an informed decision for your business. If you have any questions about app development that we can help you with, please contact us, ask us a question on our Google business platform, or give us a call at (208) 344-1115. We look forward to answering your questions.
Sign up to receive answers to your questions delivered directly to your inbox!
What Questions Should I Ask an App Developer before Selecting One?
Creating a custom desktop or mobile app is exciting! With your app, you’ll acquire the functionality you’ve been needing and scale your operations like never before.
Creating an app, however, can be costly and time consuming and it just isn’t the right move for everyone. There’s also many things that can potentially go awry during a project. Asking the right questions when talking with potential web development partners can help an app founder choose the right developer for their business, institution, or organization. This article covers some questions to consider asking a prospective software developer prior to working with them.
Questions in this article are broken into several sections:
What may I want to keep in mind while talking with developers?
Your app cannot be developed overnight; it is often a long-term commitment. You can often use discussions with potential software development partners to not only get answers to important questions but also to determine if the developer or development company will be a good fit in other ways. Is the app developer you’re considering someone you will be able to work closely with for months? Do you get along? Do they answer your questions in a way that you understand the answers? Do they listen to your questions and concerns and give you a complete answer? These may also be things to think about when choosing a software developer.
What initial questions may I want to ask an app development company?
- Do your developers work from the same location?
- Do your developers work in the office or from home?
- Do you work as a team or as individuals?
- Do you hire offshore or nearshore developers?
Knowing the answers to these questions can give you insight into the cost of your project as well as how easy or difficult it will be to collaborate with those developing your app. Will there be communication or time barriers to work through? How will meetings be conducted with the developers? How difficult will it be to schedule a meeting? For info on the different types of developers, you can read “What Are the Different Types of App Development Companies?”
- What type of education/experience do the members of your team have?
- Where did they get their experience from?
- Are other members of your team cross-trained to work on or complete an app if my primary developer is absent?
- Do you have the resources needed to scale my app?
These types of questions can help you discern if an app company you are considering has the expertise to take your app idea from concept to reality. You can also determine if the company will have the ability to scale your app as your company grows and needs or wants additional functionality. Proper education in coding can be important, but there’s something to say about the experience of working through difficult coding problems on the job. By asking these questions, you can find the right mix of education and experience for your needs, determine their ability to complete the initial stages of your app, and increase its functionality as time passes.
- Have you created any apps that are similar to mine?
While every app is unique in its own way as envisioned by the product owner, certain aspects of your app may be similar to other apps that the developer has worked on in the past. Knowing that your app developer has worked on similar projects may show that they have a certain level of expertise that will lend itself to your project and the functionality that you need from your app’s design.
- Do you have reviews or references from previous clients who have worked with you?
While it is not necessary for an app developer to have good references of their work, and newer app developers may not have such references, references can lend a certain amount of credibility to the quality of a developer’s work.
What questions can I ask about the app development process?
- Will I have regularly scheduled meetings with the developer to demo my app’s features and discuss its progress? How will those meetings be conducted?
- How can I contact the developer if I have questions?
- Is the developer likely to contact me in between meetings?
Frequent collaboration between the app’s visionary and the developer is often necessary so both the visionary and the developer can make sure that the app development stays on track without much loss of time. It also helps to prevent common problems that can occur while developing an app. Knowing how often and by what means these meetings will be conducted and how communication will occur in between meetings will help you decide whether their communication style will meet your needs.
- How do you manage scope creep?
Scope creep is when a project’s scope, price, and time for completion “creeps” higher, and the project becomes much larger than originally intended. While scope creep isn’t always a bad thing, knowing how a developer monitors scope creep and discusses it with the product owner may increase your peace of mind, particularly if your app has budget or time constraints.
- Can you give an example of a project that didn’t go as expected and how you addressed the problem?
App development tends to have many uncertainties, and developers may not know all of the problems they’re going to have until they actually encounter them. Also, app abandonment by inexperienced developers sometimes occurs. Knowing how the developer is likely to handle problems should they arise may make you aware of the process the app developer intends to take if problems occur. It can also help to give you the reassurance that your app’s development is in good, capable hands.
What can I ask regarding my project once it's completed?
- Will I own the code upon completion of my app?
- How is the ownership of my app……things like logins, keys, code, and logins for 3rd party services….. be transferred from the app developer to me upon completion or cancellation of the development effort?
Questions of this nature arise from bad experiences that app visionaries sometimes have. Sometimes, a developer will abandon an app project or the product owner must leave the project, and then they have extreme difficulty acquiring the work the developer put into the project. Knowing the app developer’s procedures for transfer of the app should something occur may give you peace of mind.
- How will you determine the security of my app?
- Do you perform penetration tests?
Hackers have become sophisticated and cybersecurity has become a real concern for many apps, not to mention that apps often handle sensitive user information. Knowing what procedures your app developers have in place to keep such information secure may be a good idea. Understanding the possible need for 3rd party testing and how it will affect the development effort of your app can allow you to plan for the future.
- What type of app maintenance plan or agreement do you have?
After an app is completed, who is going to maintain it? Does your developer have something in place, or will you need to find such services elsewhere? How much does maintaining the app cost and should developers be expected to take care of bugs found after launch indefinitely? These types of questions may not be important immediately, but it is likely to matter down the road.
Matraex is a premier app development company based in Boise, Idaho. We hope that these questions will help you interview app developers with confidence so you can get the answers you need to find the developer that will be a good fit and meet your needs. Contact Matraex or give us a ring at (208) 344-1115. You can also leave a question on the Matraex Google Page. If you have any questions about finding a developer or app development company, we’d love to help.
Sign up to receive answers to your questions delivered directly to your inbox!
What Are the Different Types of App Development Companies?
When choosing an app development company for your project, there’s quite a few types of companies you can select from. You can pick a local software development company, a company on the other side of the world, or something in between. App development can be a costly investment, so you may want to do your research to pick the best app development company for your business, organization, or institution. We’re going to discuss the different types of app development companies and some pros and cons of each so you can make an informed decision when you’re ready to choose a developer for your app development project.
The types of software development companies we’re going to discuss are as follows:
Keep in mind that we’re going to describe and compare how these different types of app development companies tend to be, and this comparison is not absolute. You can also look at this chart for a side-by-side comparison:
Onshore Development
With onshore development companies, the developers live and work within the United States, though not necessarily in the same state or location as the product owner. With onshore development, the developer and the product owner live within a few time zones of each other and can usually communicate without time differences being a major factor. Both the developer and the product owner are often native English speakers so language tends to not be as much of a barrier. Due to these factors, onshore developers are often in higher demand. They also tend to charge a more premium price than development companies who reside in locations outside of the United States, though that will differ from company to company. It is worth noting that some onshore development companies outsource some of their work to offshore or nearshore developers to keep their costs down. If that is a concern, then you may want to ask your prospective developer about their outsourcing practices prior to hiring them. There are two different types of onshore development companies: remote development companies and local development companies.
Local Development Companies
To summarize, local development companies offer the following:
Language Barriers – Language barriers can exist, but there tends to be fewer problems.
Time Disparity – Both product owner and developer are within the same time zone.
Demand – Tends to be in the highest demand.
Availability – Initial contact may be difficult to achieve, they may have a waiting list, and they may be more selective in the projects they take.
Communication – Regular one-on-one, in person meetings can be coordinated and scheduled. Cost – Tends to charge a premium price for their services.
Remote Development Companies
To summarize, remote development companies offer the following:
Language Barriers – Language barriers can exist, but there tends to be fewer problems.
Time Disparity – No more than a few hours difference in time.
Demand – They tend to charge a more premium price than offshore and nearshore companies. Availability – They may be less available to take on projects than offshore or nearshore companies.
Communication – Remote development companies tend to rely on online communication platforms and phone calls and may sometimes have problems with coordinating meetings.
Cost – Tends to charge a more premium price for their services which is often based on demand.
Offshore Development Companies
To summarize, offshore development companies offer the following:
Language Barriers – A mutual language and idea barrier may exist between the app founder and an offshore developer due to English not being the developers’ native language, or they may have a difficult to decipher accent. This communication barrier can go both ways.
Time Disparity – Often live in totally different time zones with a 10-15 hour difference in time. Demand – Tends to be in lowest demand so they are often easy to acquire.
Availability – Tends to be readily available to take on new projects.
Communication – Meetings may be difficult to arrange and may occur at awkward times. Cost – Often charges a less premium price for their services.
Nearshore Development Companies
To summarize, nearshore development companies offer the following:
Language Barriers – Except for Canada in some cases, English is usually not the developers’ native language, so definite barriers can exist.
Time Disparity – No more than a few hours’ difference in time.
Availability – Tends to be available to take on new projects.
Communication – Remote development companies tend to rely on online communication platforms and phone calls and may sometimes have problems with coordinating meetings.
Cost – Tends to charge a less premium price than onshore developers.
Demand – Tends to be in less demand than local or remote developers.
Freelance Developers
Software development freelancers can be located in the local area or found anywhere within the United States or even abroad. Their availability for meetings with product owners, whether those meetings are in person or via Zoom, can vary depending on the amount of clients the developer has and what office hours they choose to keep. Their price can also vary widely depending on their knowledge, experience level, and location. Freelance developers, due to being single entities and lacking a team, sometimes do not possess the knowledge to complete a software project as specified. Freelancers may also lack the means to test a product thoroughly before it is launched. Due to these factors, a freelancer may sometimes abandon a project before completion or the project is delivered incomplete.
Each freelance developer is different so they can fit anywhere within the spectrum of the others. The biggest thing to note, however, is that they may not have the knowledge or skills to complete the job they were hired for.
We hope that this information helps you find the right software developer for your unique project and circumstances. Matraex is an app development located in Boise, Idaho, and we would provide the app development answers that you need so you can be an informed consumer. Check out Matraex’s other blogs for answers to other questions you may have. Ones that may be of particular interest to you include “How Much Does a Custom App Cost?” and “What Are Problems that Occur When Developing an App?” Can’t find an answer to your question? Contact us directly or give us a ring at (208) 344-1115. Your question may even become an upcoming blog.
Sign up to receive answers to your questions delivered directly to your inbox!
What Is an MVP and Why Should I Consider One?
According to Techopedia, an MVP (minimum viable product) is “a development technique in which a new product or website is developed with sufficient features to satisfy early adopters. The final, complete set of features is only designed and developed after considering feedback from the product’s initial users.”
In other words, an MVP contains 80% of the app’s value with only 20% of the features. It is an initial version of an app that will provide users with what is necessary to perform the primary functions of the app, but without the functionality, the “bells and whistles” that it is likely to acquire later on. Many of those later functions will be determined by feedback from the users that the app is intended for.
This article will answer the following questions about MVPs:
What features are usually included in an MVP?
An MPV will have the basic content that is required for a user to navigate through the app including these essential features:
- Login/Registration. This allows users to create accounts and log in to the app. This is important in an MVP because it allows users to store and access their information as well as customize their experience.
- Home Screen. This provides users with an overview of the app in addition to quick access to the most popular features. This allows users to quickly orient themselves with the app and find what they are looking for.
- Search: This feature allows users to quickly and easily search for content within the app so they can find what they need without having to scroll or navigate through the app.
- Notifications: This feature sends users reminders and updates about the app. This helps to keep users engaged and up-to-date on the app’s content.
- Customer Support. So users can get help or support when they encounter problems with the app. This helps to ensure that users have a positive experience with the app.
- Basic Analytics. This will track user behavior and help to make decisions based on data.
- Revenue generation/checkout capability (when needed). This feature allows for users to pay for services and products that are offered through the app.
- Social integrations, which allow users to interact with you or with each other.
What features are included in the MVP are determined by the unique needs and requirements of the app visionary who has envisioned the software and the end users. The product user also helps to determine what features are necessary to have in the app right away.
What is not usually included in an MVP?
Non-essential or expensive content is generally not included in the MVP but will be added later based on demand and the feedback of the app’s users. This can include any of the following:
- Custom design. It tends to be costly and time consuming to implement and most users will not notice it if it is missing.
- Integrations with third-party services. These can also be expensive and difficult to set up,and they often require additional development down the line.
- Scale support, which consists of different methods of support, determined on the type of support and how in-depth the support is that one needs.
- Value proposition, which, according to Investopedia, is “the value a company promises to deliver to customers should they choose to buy their product.” This tends to be left out because, during the MVP stage of an app, the final value of the app to its users is to be determined.
- Differentors, which are features that set you apart or make you unique from your competition.
- Customized User Flows that allow users to personalize their app experience but are not necessary for the primary functionality of the app.
- Advanced analytics and reporting. This type of feature often requires a lot of data and can be time-consuming to set up correctly.
- AI and machine learning. They are both complex technologies, and it can take a lot of time and effort to implement them correctly.
If any of these features are essential for the primary use of the app, they would be included in the MVP. What features are included in the MVP is determined by the unique needs and requirements of the app visionary who has envisioned the software and the end users. The product user also helps to determine what features are necessary to have in the app right away.
What are the reasons to consider an MVP?
There are many reasons for a business, organization, or institution to consider launching an app as an MVP.
- It’s cost effective. An MVP allows the app founder to test the viability of a product while avoiding the expense required to develop a full-featured product. This can help to have money and resources.
- It’s quick to market. An MVP can be released quickly. Then the product owner can make adjustments to the app based on customer feedback.
- It allows for iteration. An MVP allows the product owner to quickly test and change features based on user feedback. They can even pivot the purpose of the app according to feedback. This allows them to improve the app quickly and efficiently.
- It helps the app founder to assess their market. An MVP allows the founder to see if there is a market for the app by gauging user interest.
- It encourages early adoption. An MVP encourages early adopters to try the app and give feedback, which can help the founder to make improvements and increase the app’s value.
- It focuses on core features and, by doing so, eliminates unnecessary features. This helps to create a final app that is simple and user-friendly.
- It allows for early testing. This allows for users to test the app early in the app development process and make improvements based on user feedback.
- It gives the app founder a competitive edge because it allows you to get the app quickly to market and establish a foothold in that market.
- It makes it easier to find and receive funding. Investors are more likely to invest in an app that already has a proven concept and a user base.
- It allows the product owner to make informed decisions about the app, its features, and its pricing. This can help the app founder make the most of their investment and increases their chances of success.
How do I prepare an MVP?
There are several steps that a product owner can take that will help them create an MVP for their app:
- Identify the problem that the app is intended to solve. The product owner needs to understand the needs and pain points of the user and then use the information to define the problem that needs to be solved. The product owner can determine these needs through surveys, interviews, and focus groups. Additionally, the product owner should conduct research to determine what potential solutions are already on the market. This will help the product owner determine if his app has a market and if he could potentially find a less costly solution for the problem.
- The product owner needs to then define the goals of the MVP and what the app should accomplish. This should be done in close collaboration with stakeholders, including customers, investors, and the development team. These goals should be specific and measurable so they can be tracked over time.
- The app founder needs to brainstorm a list of features that should be included in the app and then prioritize the features based on their importance to the user. This can be done by creating a feature matrix that evaluates each feature on a scale of importance and value. Any feature that is deemed indispensable should be a part of the MVP.
Can an app that starts as an MVP become successful?
Absolutely! Many well-known or popular apps started as MVPs. If you choose to start your app with one, you’ll be in good company. Apps that started as MVPs include the following:
- Facebook. Mark Zuckerburg initially designed Facebook for his fellow classmates who attended Harvard University to connect. He then expanded it to other universities while adding additional features, and it was eventually released to the public.
- Airbnb. The founders of Airbnb, Brian Chesky and Joe Gebbia, originally created Airbnb to rent out an air mattress in their loft in San Francisco for an upcoming conference. Now, people across the world use it to find and rent accommodations.
- Amazon. When Jeff Bezos started Amazon, it was designed for him to purchase books from distributors and then ship them to customers when he received orders. Now, Amazon sells products worldwide, and many merchants use it to conveniently sell their products.
- Uber. Uber originally started as “Uber Cabs”. It was designed to solve the difficulty in locating taxis in the traditional way. Now, anyone can drive for Uber and many additional features are offered. Those features include tracking your drive and cost-estimating.
Matraex is a premier desktop and mobile app development company based in Boise, Idaho. Do you have other questions that you need answered before going through with an app project? Take a look at our blog for answers to your questions. Particular blogs that may interest you include “What Are Problems that Occur When Developing an App?” and “How Much Does a Custom App Cost?” If you have any questions that have not yet been answered in one of our blogs, contact us, give us a call at (208) 344-1115, or leave a question on our Google Business page. We want to make sure that all of your questions are answered before you start designing your custom app so you get exactly what you’re searching for.
Sign up to receive answers to your questions delivered directly to your inbox!
What Are Problems that Occur When Developing an App?
Taking your vision for a custom desktop or mobile app for your business, organization, or institution and turning it into a reality is exciting! You’ll finally be able to offer your clients, patients, or employees the versatility and functionality that you’ve only dreamt. The software may also allow you to scale your business in a way that, up until now, was totally impossible!
With all of these pros of creating a custom app are cons, of course. Developing an app is expensive and time consuming, and it just isn’t for everyone. In this post, we’ll discuss the biggest problems that our innovative partners experience with developing their custom app, both during the development stage and after the software is launched.
This article is broken into a number of sections:
#1. Scope Creep
What is Scope Creep?
There are three main components of any software project: the scope (exactly what is needed to complete the project), the budget, and the timeline for completion. They form a triangle, and when one of those components change, they all must be adjusted. Scope creep occurs when the scope of a software development project changes in a way that the overall size of the project expands without the duration of the project or its cost being discussed; where the entire project has unexpectedly “crept” to a larger size.
How Does Scope Creep Happen?
Scope creep often occurs from a lack of communication between the project owner and the developer. The project owner may request changes to the scope that, to them, seems like a simple change but it is not. The change can actually be something that may take quite a bit of additional time. The article “How Much Does a Custom App Cost?” discusses the time involved in developing an app equates to money spent. Therefore, the price of developing the app in increased.
How Should I Feel about Scope Creep?
Whether scope creep is viewed as good or bad often depends on the time and budget allotted for the app development project. Scope creep can be beneficial under certain circumstances – if the increase of the scope benefits both the end user and the product owner and the product owner is able to afford the additional cost and can make allowances for the extra time the app will take to develop. But, of course, those ideal circumstances do not always exist. If the product owner cannot allow for the additional expenses and cannot afford for the project to get larger or has time constraints, scope creep can become a large problem.
How Can Scope Creep Be Avoided?
Scope Creep can often be avoided by clear communication between the project owner and the developer. It is suggested that the project owner attempt to clearly communicate any changes they wish to make to their app to the developer while, at the same time, the developer be clear about the time and money involved with making those changes. If this type of communication is done on a regular basis, both the product owner and the developer should walk away with a clear understanding about how the proposed changes will affect the cost and duration of the project. From there, the app visionary and the developer can collaborate to determine whether to allow the scope creep to occur and to continue with the proposed changes to the project or not.
#2 Unrealistic Expectations
What Are Unrealistic Expectations?
An unrealistic expectation occurs when the app visionary hopes to create a piece of software that cannot be realistically delivered by the programmer.
What Common Unrealistic Expectations Do Visionaries Have?
Most unrealistic expectations can fall under the following categories:
- The technology does not yet exist to bring the product owner’s vision to life. Therefore, the developer cannot create it.
- The visionary lacks the budget needed to create the app they want.
- Whether the project is big or small, it cannot be completed within the timeframe which the visionary wants it by.
How Do You Avoid Unrealistic Expectations?
Unrealistic expectations can often be avoided through collaboration and communication of the product owner with the software development team. Together, the product owner and the app developer set expectations for the software that meet the needs of the product owner and end user within any time frame and budget constraints that may exist. This collaboration is not a one-time occurrence, either. As the project develops, we recommend that the innovator regularly checks with the app developer on the status of their project. In that manner, their expectations can be continuously reviewed and modified, as needed, to make certain that their needs continue to be met.
#3. Wanting the Project to be “Perfect” Prior to Launch
What Is a “Perfect” App?
A “Perfect” app might also be described as “Polished”, and would occur when any of the following scenarios occur:
- When a developed app is free of possible bugs or problems.
- When an app has all of the features and functionality that the product owner feels the end user will need.
- When an app’s design is exactly how the owner wants it to look.
What Are Pros of Launching an App Before It Is Polished?
There are many possible benefits of launching an app early:
- All of the tweeks, changes, and revisions to the app that the product owner performs prior to the app’s release could potentially cost more money and time than it might cost to release it earlier and see how it is received by the user. The app owner’s view of what the users might want is not always on queue with what they actually end up wanting.
- The product owner will receive user feedback sooner. The visionary can then create a final product according to the needs of the user vs what the product owner guesses the user may need.
- There is less waste. The product owner can build features into the app as requested by the user vs adding functionality that the user is not interested in.
What Are Pros of Waiting to Launch until the App Is Polished?
There are several reasons why waiting until an app is polished might be the best recourse in some cases:
- If the product owner is certain that the functionality they intend to provide the users is exactly what the end user needs.
- When the end user has a low tolerance or no tolerance for changes.
- When the user has certain expectations related to what the app should entail that must be met before they will use the app at all.
#4 The Product Owner Does Not Have Enough Time to Commit to the Project
Why Must the Visionary Make a Time Commitment?
A software project relies on the vision and valuable feedback of the visionary for the project’s success. As the developers create and implement the project owner’s vision, only the visionary can discern whether their needs have been met or if the project needs to be modified, altered, or change direction to fulfill that vision. Also, there is a change that the app developer may misunderstand or misinterpret part of the founder’s ideas. Therefore, the app founder needs to make the time commitment to make certain that the end product turns out to be what they were hoping for.
How Much Time Commitment Is Involved?
How much time is needed from the product owner to develop their app depends on the details of the individual project. In some cases, the visionary may need to make a daily or weekly commitment. In other cases, the commitment may only be once a month. To gauge the amount of time a project owner needs to commit to their software project, they might need to determine how much time they may need to talk to and collaborate with the developer that would allow the developer to proceed with the project without having to reverse direction and redo large portions of the work if a misunderstanding occurs in the app development.
In addition to specific meetings to be determined by the software developer and product owner, the developer may also need to ask occasional questions or need clarification from the visionary now and then to continue to move the project forward. Therefore, the product owner may need to be accessible and willing to answer questions in a timely manner. This would help to ensure that their project will not be delayed.
#5 App Problems After Launch
What Types of Problems Occur with Newly Launched Apps and Why?
People are creative, and the end users of an app may find new uses for the app that were not initially intended or considered by the app founder. This can cause a bug to develop in the app, where the app doesn’t act exactly as it was intended due to the unexpected actions of the users. There’s also a chance that the newly launched app can crash and not function at all, or another problem could develop with the app that can’t be foreseen ahead of time. If the product owner and the program developer continue to communicate through the process of finding issues with a newly launched app, they can determine together the best ways to work through the problems while continuing to meet the product owner’s vision and end user’s needs.
Now that you know the most common problems that visionaries have when developing a custom desktop or mobile app, you can approach software companies with the right questions to ask so you can find the company that is the best fit for you. Matraex is a premier app development company located in southwest Idaho. If you live in the Boise, Idaho area, check out our article about the top software development companies in the area, and feel free to contact Matraex or call us at (208) 344-1115 with any other software questions you may have. You can even post a question on our Google Business Page. We want to help you hire the software company that is most suitable for you that can take your software vision and turn it into a reality.
Sign up to receive answers to your questions delivered directly to your inbox!
What Should I Do if My App Has a Bug or Crashes?
No one wants errors in their software development project, but knowing what to look for and how to react may help mitigate many problems. It will also make the problem easier to relay to the developer so the problem can be rectified as soon as possible. We will define what a bug and a crash is, and then we will go through the initial steps, or troubleshooting, that a product owner can consider doing to try to solve the problem. Once we go through the preliminary methods of solving the problem, we will describe the details that the app founder might provide the app developer or IT specialist to get the problem resolved as quickly as possible with the least amount of back and forth and time wasted.
Questions that are addressed in this article include the following:
- What is the difference between a bug and a crash?
- What are some things to try if I have a problem with my app?
- What types of info about the error can I provide that will help my app developer or IT specialist fix the problem?
- What is the best method of relaying information to the developer or IT specialist?
What is the difference between a bug and a crash?
A bug occurs when a feature of an app does not work as it was designed or in the way that’s unexpected. They are sometimes caused by the creativeness of the user coming up with functions or uses of the app that were not intended. There are many types of app errors that will be discussed in a future blog, but a few common types of bugs include the following:
- Not being able to properly sign in to the app.
- A field of a form not saving properly.
- A shopping cart not updating as new items are added.
- Push notifications not going through as intended.
- The design or layout of the app is not looking as intended.
These are only a few of the many bugs that can exist. Bugs can vary widely depending on the purpose and functionality of the app. Another thing to keep in mind is that, in some cases, an app could be working as it was designed, but there was a misunderstanding between the developer and the product owner on how certain aspects of the app should function, so the product owner initially considers it to be a bug. If the product founder and the app developer communicate and collaborate regularly and the product owner points out things that appear to be amiss with the app from the beginning, those types of issues might be discovered early and worked on promptly.
What people often refer to as a software or app crash is also a type of bug: what you expected to happen doesn’t happen. What people think of as a “crash” causes an app to go down completely or does not allow the user to proceed further. Such would be the case if the app “freezes”. This type of bug can possibly be discovered when the product owner or end user visits an app and it doesn’t open at all or will not allow them to log in. A crash can also sometimes be caused when a user fills out a certain field or taps a certain button on the app and it stops working, not allowing the user to move forward in the app.
What are some things to try if I have a problem with my app?
When a product owner realizes that there appears to be a problem with an app, there are certain things that can be tried before getting the software developer or IT specialist involved. A bug or crash can be caused by a fault in the software itself, but it can also be caused by external factors not directly related to the app. It may be a good idea to try to eliminate other possible causes of the app’s malfunctioning, to do a little “troubleshooting”, before notifying the developer about the issue. The app founder can try the following ideas:
- Refresh the app.
- If unable to refresh the app or if that doesn’t appear to work, totally close and restart the app.
- Restart the device you are using the app on, whether it be a computer, phone or some other device. Sometimes a bug does exist, but it’s in the device and not in the app.
- Restart the internet. This may work if a crash is actually a connectivity issue.
- If in a situation where you cannot restart the internet, try using the app again when your source of connectivity changes.
- When the app appears to not be working at all, make sure your bills are paid to your internet service provider and to the developer. This sounds silly, but “errors” caused for this reason sometimes occur.
- Check to see if other websites or apps are acting properly on your device to totally eliminate that it’s a connectivity issue.
- If your app has a security certificate, make sure that it is up to date and hasn’t expired.
- If it’s a web app, make sure that the URL you are using is correct. One small error in the address is enough to make the entire app unresponsive. Also, inputting “http” instead of “https” in the URL can often make a difference. This is especially true if you are filling out a form, using any form of GPS location finding tool or maps, are posting pictures or documents through the app, or doing anything that requires the app to have extra security. Some things will not work properly with just “http”.
If an app founder tries to troubleshoot the error by trying these different ideas and the problem still exists, it may be time to report the issue to the app developer or IT specialist.
What types of info about the error can I provide that will help my app developer or IT specialist fix the problem?
When an app owner has ruled out other possible causes of an app’s bugs, it may be time to get the app developer or IT specialist involved to identify and fix the problem. If that’s the case, the developer or specialist may want specific info to help them diagnose the issue and come up with a solution. To avoid what may seem like an endless amount of back-and-forth the app founder can gather much of the info the developer or specialist may need prior to writing that email or making that call:
- Provide details on exactly what’s occurring with the bug. Note what you expected to happen and what actually occurred.
- Give the date and time in which the error occurred including the time zone.
- If possible, take a screenshot of the issue including any error message received. If the issue occurred on a website-based app, include the web address (URL) in the screenshot.
- Inform the developer or IT specialist of the device you were using, its operating system, and the type of browser you were using (if applicable) when the problem occurred.
- Give the pathway you took to get to the error. The pathway is every step you took, buttons you pressed, and forms you filled out prior to the error occurring.
- If a user and not the founder is the one having the problem, the app founder should attempt to duplicate the error on their own device and report this information to the app developer or IT specialist. If the error appears to be happening with just one user or a group of users, acquire the above information regarding their systems, internet, and devices so the problem can be localized.
By supplying this type of information, the developer or IT specialist should gain what they need to be able to find the problem that is occurring with the app and determine the best way to correct it.
What is the best method to relay information to the developer or IT specialist?
All of the required information that the developer or specialist needs is sometimes difficult for an app founder to describe and relate. Sometimes, the error occurs so quickly that the founder doesn’t even notice all of the steps or realize exactly what is occuring. When the app error is occurring on a mobile device such as a cell phone, a good way to provide much of the information in a straightforward way that developers would benefit from is for the app founder to record their cell phone’s screen, showing the entire process they went through for the error to occur. By doing so, the developer can see exactly what happened, which will increase their chances of being able to duplicate it. Once a developer or IT specialist can duplicate the error, they may have all of the information they need to determine what is occurring and derive a solution for the issue.
To find out other problems that can occur when developing an app, besides errors, visit the Matraex Insights blog, “What Are Problems that Occur When Developing an App?”. You can also contact us, give us a call at (208) 344-1115, or place a question on our Google Business Page. Matraex is a premier desktop and mobile app development company based in Boise, Idaho. Our goal is to help consumers with their app development and technology questions so they can be informed consumers. We’d love to help with any questions that you may have about apps or app development so you are always informed and can make the right decisions for you or your company concerning app development. We look forward to hearing from you.
Sign up to receive answers to your questions delivered directly to your inbox!
What Are Software Development Companies in Boise, Idaho?
Choosing a software company for your desktop or mobile app project can be a daunting task, and you want to make sure to choose the best one for you, your needs, and your budget. Therefore, we are providing information on seven leading software companies who all call Boise or Meridian, Idaho home. To be totally unbiased, the companies are in alphabetical order, and much of the information is directly from the company websites
AppEvolve
1109 W. Main St., Suite 420, Boise, ID 83702
(208) 297-6925
Appevolve.com
App Evolve was founded in 2016 by Patrick Falvey. AppEvolve uses a team consisting of local, remote, and offshore employees and contractors to build “tailored solutions that make your business smarter.” They use some open source code to “help make the building process faster” and tout 24/7 tech support for their apps. There is no upfront costs given on their website, but it does say that they prefer fixed priced projects in which they charge 15% down. If you hire them for a project that is not fixed priced, they charge every two weeks for the work that was performed during the previous two weeks. They offer pre-project consulting; code audits; discovery, design, and planning; development to both business and commercial apps; and software additions to existing systems in addition to managed AWS hosting and maintenance.
In Time Tech
580 E. Corporate Dr., Meridian, ID 83642
(208) 258-2424
intimetech.com
In Time Tech was founded in 2009 by five like-minded people located in the United States and India. They had three headquarters in the United States in Meridian, Idaho; Portland, Oregon, and Sacramento, California. They also have two offices in India and offices in the Netherlands and South Korea as well. They use their offshore resources to offer 24/7 tech support and have blended teams with members from both the United States and India. They offer modernization of old software, mobile app development, quality assurance, web development, managed print service products, and cybersecurity among other services. There is no pricing or payment option info on their website.
Matraex, Inc.
2210 W. Main St., Boise, ID 83702
(208) 344-1115
Matraex.com
Matraex was founded by Michael Blood in 2001. Matraex uses a team of local developers who work in-office when possible, and teamwork is essential to their development process. Their company values are “Always delivering, always collaborating, always improving, and building trust. They build, launch, and support custom software according to the directive, vision, and needs of the product owner and also rescue abandoned software projects. Matraex charges $175 per hour and prefers working on a retainer of $5k+ per month as agreed upon by both Matraex and the product owner during the discovery process.
Tek/Ware Enterprises
6154 N. Meeker Pl.
Boise, ID 83713
(208) 568-9588
techwaredevelop.com
Tek/Ware Enterprises is located in Boise, Idaho and tout “our software developers can create custom applications to suit all of your software needs” with custom developed enterprise or business apps, mobile applications, web applications, and plug-ins. They also offer in-house UX/UI design, web development, content management, SEO assistance and ADA Compliance. There is no indication on their website what types of developers they hire or their cost, but they do have “Contact Us” buttons on several locations of their site and say that they give free quotes.
Ventive
121 N. 9th St., #101, Boise, ID 73702
(208) 477-1667
getventive.com
Ventive was founded in 2014 by Jonathan Cardella. Ventive’s team consists of local, remote, and offshore developers and programmers who develop and rescue custom apps in addition to conducting user research, full-spectrum marketing, project rescue including recovering legacy or lost code, and cybersecurity services for businesses including risk management. Ventive also have a UX/UI specialist on their team. Ventive is upfront with their prices, with app design packages starting at $25k/month to over $50k/month. They also offer maintenance packages that start at $10k/month.
Vynyl
2404 Bank Dr., Boise, ID 83705
(208) 209-2448
vynyl.com
Vynyl started as Pixel and Lines in Boise in 2013 by Dom Ramirez and merged into Vynyl in 2016. Their current CEO is Ian Harris and their corporate headquarters has been moved to LA, while their production headquarters remains in Boise, Idaho. Their team consists of local and remote developers who all work away from the office. They “deliver code that is clean, easy to maintain, and high-performing” with their focus on mobile apps, web apps, data, cloud, machine learning, augmented reality, and custom solutions. They also have a UX specialist on their team and tout product design. There is no cost or payment info on their site and many of their blogs have nothing to do with app development or technology.
Zenware
7213 Potomac Dr., Boise, ID 83704
(208) 936-4249
zenware.com
Zenware was founded in 2009 and is run by Rodney Puzey and Jody Sedrick in West Boise. Zenware’s team consists of all local developers and engineers, and they create custom software and mobile apps in addition to websites, e-commerce, and cloud solutions. Their goal is “to transform your idea from concept to reality.” Zenware has also created proprietary custom software called RoadFS to manage business operations in field service industries such as lawn care, HVAC services, and property management. There is no indication of price for their custom software services or any of their services, but they do charge a month in advance for their proprietary software.
We hope that you find the right software developer for your software vision. Feel free to further explore the nuances of custom app development on our website at Matraex.com. Our blog “How Much Does a Custom App Cost” may be of particular interest to you, and we also have a blog that discusses the different types of app development companies including onshore, offshore, and freelance developers. If you have any software-related questions, contact us or give us a ring at (208) 344-1115, and we’ll answer any questions you may have. You can also pose questions on our Google business page. May your software journey, no matter who you choose, be a pleasant and successful one.
Sign up to receive answers to your questions delivered directly to your inbox!