Contact Us

By clicking “Let's Talk”, I agree to the ITH Privacy Policy

How Much Does a Mobile App Cost to Develop?

Are you interested in learning more about mobile app development for your organization? Or are you an entrepreneur who has an excellent idea, but you’re still figuring out how much it would cost to turn that idea into reality? 

Here is all the information you need before jumping on this adventurous ride of mobile app development.

In this article, you will learn about all of the aspects of app development. We will be answering some important questions that are essential to consider before investing in an app venture.

 

Categorizing The Application

With the increasing affordability of smartphones across the world, the app industry has exploded in the last 10 years. Causing mobile app development to broaden and has lead to the development of many different types of apps. The possibilities have become endless.

First, you should categorize the app you want to create under one of these eight categories.

  1. Utilities
  2. Entertainment
  3. Games
  4. News
  5. Productivity
  6. Lifestyle
  7. Social Networking
  8. Health and Fitness

Select Your Mobile App Platform: Native or Hybrid

Next, you have a choice to make. Native or Hybrid?

Along with your requirements and project specifics, this is likely one of the most important decisions you need to make before investing your hard-earned money.

Native apps: These are specific to each platform – iOS or Android. The developer needs to write code based on the platform being used. The code language differs for iOS and Android. iOS uses Swift, while Android uses the Java coding language.

Hybrid apps: As the name suggests, hybrid apps are a combination of both platforms, iOS, and Android. There is now web support for hybrid apps making them even more accessible. Common options for development languages under this category are React Native and Flutter. The most important advantage Hybrid has over Native, is that the same codebase can be used to run on multiple platforms which reduces the overall cost and time. Basically, you only have to write code once!

Hybrid is the best approach for those who have a tight budget, and want to get their application built quickly on both platforms. On the other hand, those who are certain of their user base, and have more time and budget overall, should go for Native. 

The best advice is to consult with your team about what should be the best platform based on two things: your user base, and timeline. 

Going for MVP

When it comes to reviews, users have high standards. Nobody wants a slow or glitchy product. It is only right that you go all in, to ensure you develop an app that provides a seamless user experience. You can start with an MVP which is a smaller version of the final app (only including the most important features) first.

The perfect successful example of the MVP is Facebook. Facebook was released to a small group of people for testing and gaining feedback. Many of the features Facebook encompasses now were not included in the first few releases, allowing the platform to focus on its initial goal. It started with just the simple profile and news feed feature using the username and password. Soon it moved on to messenger, video calls, media uploads, and now, the stories feature.

Now that you know the pre-development barriers, It is time to learn what the exact development cost will be. Let’s discuss the options for each section of app development and discuss the average cost involved in these areas.

Cost details vary from individual to individual to organization. Freelancers can build apps at a low-cost c0mpared to big tech giants, however, you may be sacrificing quality and timeline, and professionalism. This decision is totally up to you based on your situation.

Wireframing

Wireframes are the backbone of any project. Wireframes serve as a middle ground between low-fidelity sketches and first interactive prototypes. The actual process of wireframing for mobile varies drastically. The better the clarity of wireframes, the better the code, and ultimately, the better the app will be.

Cost: 10% of the overall budget

User Access Management for Mobile App Development    

User Access Management, also known as identity and access management, is the administration giving individual users within the system access to the tools they need at the right time. For businesses, this usually includes access to external applications, permissions, and security requirements.

Today, challenges arise as companies grow, and employees with varying roles increasingly use external enterprise solutions to do their jobs. An identity and access management solution helps manage this by providing a seamless way to manage user identities and access all in one place. There are many ways to do this, usually it is through authentication. You can try social login or normal login. Depending on the options for Social Media Login / Username-Email Login, if your app is pretty simple and needs no social media, you can use normal login and signup. 

Cost: 5% of the overall budget 

Features 

Once you have your basic ideas, layout, and color scheme the way you want them, you need to start thinking about what the customer actually wants. If you don’t meet the customers’ needs, a competitor might, and as a result, you could lose significant business. There are a few features, which are nice to have and some which are must-haves, but many will make your app really stand out. Things to consider include: Email Notification, Push notification, Cloud computing, Real-time tracking, and more. The list is endless. So, decide and select what features are right for you based on budget and requirements.

Cost: 25% of the overall budget

Third-Party Plugins

Depending on the features you decide, the third-party plugins will be the next requirement. The more plugins, the higher the cost. Third-party plugins are basically software or libraries which help your feature work. Suppose you want a tracking system in case of getting the real-time feedback you need to integrate libraries like Pusher or Pubnub. All the third-party plugins usually have pricing plans based on users which you can review.

Cost: 15% of the overall budget based on users

Frontend & Backend Mobile App Development

It can be argued that app development can be the biggest factor in the cost of an app. Seasoned developers, who have successfully delivered multiple projects, are still scarce resources. That’s why coding an app usually accounts for 50–70 percent of the total cost of app development, and the coding times vary depending on the type of app. The front end is the View part of the app. The backend. is what allows the app to withstand huge loads and work smoothly under any conditions. This will entail more time spent on designing and building a complex app architecture. Moreover, you’ll require multiple programming languages to create your app’s backend, which means you’ll need to pay for a more diverse team of professionals.

Cost: 40% of the overall budget based on users

Server and Network Maintenance

Most apps nowadays run their backends on cloud service providers like AWS, Google Cloud, or Azure, which (depending on the scale required) can cost pennies or thousands of dollars each month. In addition, many third-party services (such as payment systems) that an app might use, operate under a SaaS model which requires subscription costs. As an app gains popularity, its needs in both these areas are likely to grow which in turn racks up the costs of its upkeep. Once an app has been battle-tested in the real world with real users, bugs are bound to show up and will need to be addressed continually. 

Cost: 5%

Making a Profit

Mobile apps are critical for any business. Not just for smooth business operations and functioning, but also as a separate channel for revenue generation. As a mobile app development company here at ITH, one of the most commonly asked questions that we hear is — how do apps make money?

Paid App: You can charge a user upfront to use your app. A percentage is charged by the stores on that payment.

Free App: Most of the apps available on app stores fit into this category. The only source of revenue is ads for a large number of users. If your app is being used by a lot of people, businesses will pay you to host their ads.

In-App Purchase: This is a process in which you provide the app for free to the end-user, but charge a subsequent amount for some premium features of the app. To access those areas users pay a subscription fee.

This should be the last thing on your mind. It takes time for apps to be a hit in the market, so, be patient. Focus on building the app first. If you are sure that its uniqueness will attract users, you can expect to do well.

Overall Cost of Mobile App Development 

The cost of making a mobile app is most often based on the number of hours the project may take. The more difficult the functionality, the longer it will take to implement. Let me divide these into three categories: 

Average: These apps include some basic functionality, don’t require integration with any third-party APIs, and may not need a backend infrastructure. Features of such applications may include standard UI components, a feed list, simple filters, and map markers. Developing a simple app like this usually takes about 250–400 hours.

Medium: These apps may include custom UI features, real-time chat, payment functionality, tablet and handset adaptation, integration with APIs, and a simple backend server. It takes around 1,000 hours to build such an app.

Complex: Highly complex apps include advanced functionality such as audio/video processing, real-time synchronization, custom animations, integrations with third-party services, complex backends with several types of database relationships, and more. The timeframe for building complex apps is 2,400+ hours. A full-fledged social media application, dating app, data collection, or video streaming apps may all fall into this category.

Conclusion:

Your mobile app development process is ready to begin! If you have any questions, or want to run your idea past a panel of experts, we’re here to talk!

Select the right approach for your WP website

Selecting the right approach for your next WP website:

In today’s day and age, web presence is essential for every business, in order to provide recognizability and credibility. With the plethora of platforms available it is easy to get confused about which platform is ideal for your use. If you are confused about selecting between using a CMS or doing custom development, please refer to this informative comparison.

If CMS is the way to go for you, the next step is selecting the right CMS and finalizing an approach that fulfills all of your business requirements. WordPress is the world’s most popular CMS and it powers around 20% of all the sites on the internet. Because of its ease of use, huge developer community, support, and abundance of plugins available for every scenario, WordPress is ITH’s recommended CMS for website development.

The crucial element after determining which CMS to use, is determining the right approach to take for your particular website. With our years of experience developing websites, we have broken down the website development approaches into three broad categories, that are driven by your requirements and budget:

  • Paid themes:

    If the requirements for your business website are to establish a web presence and you need a quick turnaround time along with minimum investment, we recommend choosing a paid theme.

    • These are pre-built themes that aredeveloped by WordPress developers and designers and are available for sale on the internet for direct utilization in website development.
    • When opting for this method, it is recommended that you mold and develop your website content according to the theme selected, such that only minimal changes (colors, font, images, etc.) are required during development.
    • These theme-based websites often provide good out-of-the-box page load speed and are ideal for simple websites with no dynamic functionality.
    • Using themes for website development enables a quick turnaround time and requires less investment, but may not exactly match the business image and design language that identifies with your organization.
  • Page Builders:

    This approach is recommended when you have time limitations and have a blueprint of the website you desire in mind.

    • For this approach, we recommend buying a builder theme and using the desired elements from the purchased theme as a base to build the website. Then, use a page builder such as Elementor, Divi, or Beaver Builder to customize the theme to meet your design.
    • This approach provides you the added freedom to mold the website according to the blueprint you have for your website, and it saves time that would otherwise be required to build custom elements (picked out from the paid theme).
    • Low-fidelity wireframes can be created before the development starts to finalize the website flow and functionality.
    • Websites developed using page builders may have suboptimal page load speed; therefore, this approach is recommended for websites with few concurrent users.
    • This approach has a moderate turnaround time and provides the added advantage that you can make small updates to the website post-development by yourself using the page builder’s easy-to-use and interactive UI.
  • Custom design:

    This approach is ideal for businesses that need to develop a unique web presence that is perfectly in sync with their brand image and business ethos.

    • With the custom design approach, you have the creative freedom to design every element of your website according to your vision. If you have the vision but lack the designing skills, our experienced UI/UX team can assist you in bringing your vision for the website to life.
    • After the wireframes and mockups (which are essentially detailed designs) are ready, our development team may recommend either using a page builder or one of the custom design implementation plugins, such as ACF Pro. This selection depends on your website’s requirements, timeframe, future expansion scope, and budget.
    • Custom-built websites tend to provide the best site and data security.
    • Well-built, these websites will have the fastest page load speed and are an ideal fit for websites that include complex functionality and anticipate a high number of concurrent users.
    • Building this type of site requires a substantial investment of time (especially wireframing and designing time). However, this can be reduced significantly if you already have the designs complete.

After working with over 700 clients, we understand that every business is unique in its philosophy and working structure, and the same holds true for their website. So, if you are still unsure of the best approach for your business website, feel free to contact us. Our expert solution architects can assist you in nailing down the approach that makes the most sense for your next website.

WordPress - ITH

How Progressive Web Apps will Change the Mobile App Industry

Progressive Web Apps (PWAs) have become very popular in the past year. A number of brands are moving to PWAs and getting away from the Native apps. For good reason, too. PWAs have many benefits, five of which we’ll cover in this blog.

Read how the #ProgressiveWebApplication transition will change the future of mobile apps. Click To Tweet

What is a PWA

Where did this term come from?

In 2015, Google’s engineer Alex Russel and designer Frances Berriman coined the term Progressive Web Apps. It is an app that uses browser capabilities, but still provides an app-like interface very similar to a Native app.

Google proposed Responsive Web Design in the past, which helps users access a website across all browsers and screen sizes.  The Progressive Web App is a step ahead of Responsive Web Apps. By using several technologies (including Service Workers and App Manifest), PWAs provide much more than a Responsive Web Application. Take a look at some of the benefits:

Connectivity
Connectivity Independent – PWAs work in low-quality networks or even offline through Service Workers.

App Store
App-like – Provide an app-like feeling similar to native apps. Navigating to various sections of the app is just a few clicks away.

reloading
Fresh Content – Constantly updated content through the use of Service Workers behind the scenes.

Discoverable
Discoverable – Search engines can find these apps, through W3C manifests and Service Worker registration.

Installable
Installable – PWAs can be installed on a user’s home screen easily. So there is no need for an App Store. It also can be shared via a web link and users can create a home screen icon.

Main Components of a PWA

The following are the primary technologies used to create a PWA:

  • The Manifest

The Manifest for Web applications is a simple JSON file. The file provides information about an application (such as name, author, icon, and description) in a JSON text file. This gives the developer control over how the app appears to the user. The purpose of the manifest is to:

  • Help install web applications to the home screen of a device. That’s how users can install a PWA on their mobile home screen.
  • Create a downloadable link for users to access the app.
  • Provide a unique icon and name so the app is unique from other installed apps.
Service Workers

A Service Worker is a script that runs in the background within the browser. Service workers provide the following major features to help Progressive Web Apps:

  • Manage push notifications.
  • Receive centralized updates and keep the PWA app updated all the time by synchronizing data in the background.
  • Help with search engine visibility.

Why Progressive Web Apps

Why are companies choosing Progressive Web Apps when Native and Hybrid are still an option? Here are some reasons why:

  • Only one centralized codebase
    • PWAs are installable responsive web applications. As a result, they do not need a separate codebase like the Native or Hybrid mobile apps.
    • Everything runs using the browser. Therefore apps can be installed by adding them to the mobile home screen.
  • Faster and more reliable
    • Service workers constantly keep the apps updated with real-time data. This means users do not have to wait for an update.
  • Offline support with less or no network connectivity
    • All app data is synced to the local storage that allows users to use the app with no network connectivity.
    • Full functioning capacity offline.
  • Includes hardware access (Native support)
    • Progressive web apps support your phone hardware and can access it as needed by the app. The hardware can access and use the following within the app functionality:
      • Geolocation
      • Camera
      • Microphone
      • Battery status
      • Screen orientation and accelerometer access
  • User interface
    • Provides a quality user experience similar to a Native app.
    • Users engage with the app easily.

At IT Hands, we have a team of dedicated engineers skilled in developing quality mobile apps. Our team has developed a number of responsive websites and mobile apps, which has prepared us to develop Progressive Web Apps. So take your app to the next level. Contact us at solutions@ithands.com

How to Choose the Best Hosting Server

How do you decide the best hosting server for your website? What type of hosting service would be the best fit for your company? There are hundreds of cloud-based hosting companies that want to sell you their hosting packages.

But there are several questions that need to be answered for you to choose the best hosting server for your website. I have found in choosing servers for different web companies, there are definitive requirements for a server.

What is the best #hostingserver? #AWS and #WpEngine both have characteristics to look for in a hosting service. Click To Tweet

The Essentials
A web hosting account needs to be reviewed based on a few critical components. Every hosting server behaves differently than others based on how these components are configured on the server. The following points will help you decide the type of hosting server required.

Equal Technology
Make sure there is support on the hosting server for the technology the project uses. Always check with your development team to be sure the technology versions match. Ask them to notify you when they plan to update the website technology.

Note: PHP 7 support should be installed on the hosting server if the company’s project is developed with PHP 7. A PHP 5.6 server may not support a PHP 7 website.

Website Traffic
Get an estimate on the number of users accessing the website in the upcoming 3 – 6 months. If you have an idea about the number of visitors on the website, then the website resources can be managed accordingly.

Note: For heavy traffic websites, be sure the hosting company supports scalability and load balancer options. Having these services in place will help when you see high traffic coming to the website.

Server Locations
Server location can decrease latency if it is closer to your users. A website will load faster if located in the same region as your users.

Note: If your website target audience is in the United States, you should choose a server instance within that country. If the target audience is in Canada, then choose the server instance in Canada.

Server Uptime
Nothing is more important than having an operating web host that is available around the clock 365 days out of the year. Your web host should operate on powerful servers that have good network connectivity. Track your web host with server monitor tools. Ask IT Hands for recommendations on what tools can be used to track the connectivity of your server. Server uptime is a crucial component to determine your best hosting server option.

Note: Server monitoring services check for problems caused by overloaded or crashed servers, network connections and other devices. They protect the health and safety of your IT environment, allowing your software and hardware to operate with a reduced risk of problems.You also need to make sure that you have managed support (a helpline to contact) on the server for when you face critical issues.

Webhost Security
Nothing is secure on the web. There are ways to protect your data by applying a number of security tricks.

Note: Make sure your web server has the right setup and necessary tools to secure the website:

  • Firewall installed
  • Correct file permissions
  • Root access disabled
  • Auto-deploy used (Instead of FTP/sFTP)
  • Unneeded ports on server unopened
  • Vulnerability monitoring enabled (via Sucuri or similar tools)

Backups
Be prepared for the worst-case scenario. If your website gets hacked or somehow the data is deleted from the server by one of your developers, you need a recent backup of your website data. If your web host already backs up the website data regularly then there is nothing to worry about when these incidents happen. Your hosting provider should be able to restore the website in almost no time.

Note: Ask your web host these questions about backup:

  • Does the host provide full backups regularly?
  • Can site backups be done easily via the control panel?
  • What operating system can you use to create auto backups?
  • Can you restore your backup files by yourself?

Reliable Hosting Servers
These are the hosting servers we have found to be very reliable:
1. AWS (Amazon Web Server)
2. WP Engine

AWS is easy to use, flexible, cost-effective, scalable, high-performing and secure.

For a WordPress website, we use WP Engine. With this server, we experience less downtime, and the WordPress websites or blogs are more secure. It also provides a free staging environment and daily backups, better site responsiveness and help with SEO.

At IT Hands, we analyze each website and the server options before recommending the best hosting server to our clients. We have a team dedicated to reviewing the website and target audience to provide the best recommendations.

SalesLoft Review from a New User

My goal here is to give you a SalesLoft review and some high-level best practices as a SalesLoft user.
I’ve known about SalesLoft for quite a while now as one of the premier Atlanta Startups. Over the last few months, our team at IT Hands has worked on implementing SalesLoft into our process of reaching out to prospective clients.

Interested in more effective #SalesDevelopment? Here’s a #SalesLoft review. Click To Tweet

Introduction

Let me preface my SalesLoft review with a more theoretical discussion on Sales Automation. Sales Automation is a term that has been used a lot in the last few years. There are endless tools and software that all promise generally the same end result: less work and more deals closed.

Sounds amazing, right? Sure does, but this is the common misconception with Sales Automation. The reality is that there is no single tool nor suite of tools that is going to do the full job of a salesperson. We have to remember that these tools are inherently meant to make salespeople more efficient and effective, but they aren’t meant to do the job.

At IT Hands, we take pride in a personal and genuine approach in our outreach to prospective clients. Our goal is to make it clear in our first email to a web company, marketing firm, or ad agency that from a 10,000-foot view we have a valuable service that will support their growing business. Honestly, the prospect that we are reaching out to might not be a fit, which is why it is so helpful to have a conversation to make that determination. It all starts there.

I won’t take you through every step in our process, but the end goal is to have a meeting with our prospect and determine if IT Hands can help or not. SalesLoft helps us to do this with ease and efficiency.

SalesLoft Review

Now, onto my thoughts and SalesLoft review as a user:

  1. I fell into the trap of thinking that SalesLoft was going to do my job for me. I quickly realized that in order to maintain our genuine approach, it takes a lot of time, effort, and experimenting to set up SalesLoft properly. The great thing about this is that the team at SalesLoft is with you every step of the way.
  2. It takes a few months to get your feet under you with the platform. There is a ton of functionality that will ultimately prove to be very helpful, but for now, we are only using probably 50% of the full functionality. If you have an existing sales process in place, you’ll most likely have to adjust to fit SalesLoft, or get up to speed quickly to figure out how to customize SalesLoft to fit your needs.
  3. SalesLoft makes automated emails much easier than mindlessly sending those types of emails in Gmail or Outlook. I’ll admit, there are some emails that I am perfectly fine with being automated. For example, meeting confirmations or basic email follow-ups.
  4. SalesLoft has a strong dashboard that will show you all of the cadences that need to be done for the day. “Cadence” is SalesLoft’s term for the outreach steps or process. We haven’t gotten to the place of being able to fully use the Dashboard as our sole mode of operation, but that is the goal for the next few months. This feature is a powerful time-saver once you get used to the platform. It’s also is a way to make sure your prospects get the adequate touch points without letting them slip through the cracks.
  5. The analytics are powerful and informative. You can see what emails are catching on with people, and which ones are being ignored or deleted immediately. Let’s face it, no one wants to get the same junk email that we are all accustomed to. As a salesperson, it can be hard to take an objective look at the content you’re sending to prospects. SalesLoft will give you loads of data that will help you make informed decisions.

Summary

The short summary is that SalesLoft offers everything we, as a Web development company, need in a platform. It would add more efficiency and effectiveness to any company willing to take the time to learn how to use this tool. We have a long way to go until we are operating at full capacity in SalesLoft, but we are making progress.

More Advice

Here are a few words of advice for new users:

  • Expect a few months of ramp-up time before you fully understand the basic functionality of SalesLoft, and a couple more months to understand the advanced functionality.
  • Know that you might have to adjust your existing sales process to make it work with SalesLoft. In the long run, you’ll be more efficient so don’t worry too much about this.
  • Fail and fail fast. Pick yourself up and start experimenting again to determine what works.
  • Use your resources. SalesLoft offers a ton of online training and even in-person meetings in select cities to help you navigate the platform and share best practices.

As they say at SalesLoft, “Happy lofting!”

Need help ramping up your outbound sales process or looking for some advice on sales tools and processes? Email us at solutions@ithands.com.

3 Do’s and Don’ts for RFP Responses

As a child, did you ever play the game where you guessed how many candies were in a jar? Usually, there were two ways to guess: blindly write down a number that seemed close or make a somewhat educated guess by counting or multiplying. In the end, it was just a guessing game. RFP responses can feel the same.

Nailing down eye-catching RFP responses can be very similar. Only the owner knows the exact answer. There are multiple companies competing. You can’t ask many questions and there is always a deadline. It’s intense. But just like in the candy guessing game, the key isn’t to guess the exact number. The winner is the person who can guess the closest approximate answer. Knowing that relieves a lot of stress.

These 3 Do’s and Don’ts will change your #rfpresponses and help you #winbusiness Click To Tweet

In my previous blog, I mentioned how to write effective proposals by understanding client needs, having a quick turnaround time, and using templates. However, RFP responses are a completely different playbook. I’ll explain in a minute. A proposal is not an RFP, and an RFP is not a proposal.

Getting started with RFP’s

First, try to understand why the company put an RFP out there. Look for these things in the RFP:

  • Is there a picture of the anticipated result? Look at it closely, even if it is vague.
  • Does the deadline fit within your team’s schedule?
  • Is there a budget mentioned?
  • Does your team meet the requirements listed?

Over the years we have been effectively responding to RFPs for various issuers and clients. Through the process, we have learned that it is a dance you have to learn, in order to understand the style and match your steps to the variations of each client.

RFP responses can take up lot of your time. So to help you quickly assess and effectively respond to an RFP, I’ve provided some Do’s and Don’ts for the process:

Do’s

1. Read the RFP Instructions

By reading how the potential client is writing, you can pick up on their tone and style of communicating. For example, do they use bullet points or write lengthy requirements? Be sure to mention how you stand out from the competition both in pricing and quality of work. Remember, this is your job interview. Be sure to provide samples of work that are similar to the project you are trying to get.

Understand what they are looking for in a project partner. Then write, edit, review, and repeat. Read their RFP document. Then write, edit, review, and repeat. You can see why this takes a long time.

2. Answer Questions Directly

If there is a requirement for their project, they want to know whether you can handle it. Make sure your response is legible and understandable to anyone who reads it. If you are not direct, you can forget that RFP. It also won’t cut it for you to write on a high-level that sounds positive, but isn’t specific (see the example below).

proposals

3. Make a Checklist

Once you have everything in place, cross reference it against your RFP checklist. Be sure you have all the supporting documents ready. It is very important to read the guidelines and documents closely so that your team thoroughly understands the company’s values and expectations.

Don’t’s

1. Don’t Use Templated Answers

Do it because it is relevant, not because it sounds good. Proofread your document rigorously. You are under the microscope here. RFPs can not be reused. Don’t write just to fill space.

2. Don’t Rush

No matter when you send out the response it will be opened along with the others on the due date. Don’t submit your response until you have everything in order. If the RFP desires a printed response, make sure that all the pages are correctly printed, and the text and images are aligned. Do not hurry in sending out a response that is sloppy.

3. Don’t Submit an Incomplete or Out of Order Response

Most RFPs request a desired format. A vendor who doesn’t follow the format is quickly disqualified. Don’t skip on the requirements. Review all the details and answer each one of them in the manner requested. Don’t miss out on any additional documents.

Conclusion

Writing an effective response to RFPs can be really tricky and requires a lot of patience and discernment. The issuers usually don’t have all the requirements sorted out and that’s ok. Remember: The goal is to get as close to the target as possible.

Don’t like writing detailed RFP responses? IT Hands offers Proposals as a Service. To learn more, contact us at solutions@ithands.com.

How to Plan for Your Big Mobile App Launch

Have you ever thought how many users may hit your mobile app once it goes public? As soon as the mobile app launch to the App Store or Play Store, it is available for the public to download and start using. But is your app capable of managing a sudden influx of installations and traffic? Any mobile app needs to be developed in a way so that it can manage high traffic for your big mobile app launch.

3...2...1...Tips for a #MobileAppLaunch Click To Tweet

At IT Hands, we recently developed an app that received 8,000+ users within one week from the launch. The app got 21,000+ users within the first 50 days. Here are some secrets on how we developed the app to manage such a large amount of traffic and still maintain quality performance.

There are many components to take into consideration during the mobile app development process. Most mobile apps allow users to connect with each other and also let the administrator manage transactions and activities on the admin panel.

A mobile app usually contains the following factors:

  • Mobile App Development
    • The mobile app can be developed using Native or Hybrid technology. Each technology has pros and cons.
  • Web Admin Panel Development
    • The Web admin panel allows the admin users or managers to see activities of users who are using the mobile app.
    • The admin panel is mainly developed using a web technology (PHP, Laravel, etc.) and shows all the activities recorded from the app.
  • Web Services
    • Web services are called middle layers and used to communicate the data flow between the mobile app and the web admin along with a database.
    • All dynamic content is updated or fetched from the database using web services.

When we talk about managing a huge user base, all the factors mentioned above need to be developed in a way so that performance does not fall when hundreds or thousands of users hit the app. The following points need to be reviewed and managed while developing a mobile app to manage heavy traffic:

Backend Server (Hosting server)

ITH Backend Server

Improving the performance of the app depends on the performance of the server that hosts your database and Web Services (APIs). The server needs to be capable of managing the traffic easily. It needs to contain the hardware and the applications that are installed on the server.

The hardware needs to be configured well and should have free memory to run the processes. It’s always good to define the size of RAM and the type of server with your server specialists. It will help boost the performance.

At the same time, the server needs to be configured with service for caching the data. This helps further with the load on the server for the increased traffic after your mobile app launch.

Database Transactions

ITH Database Transactions

Database transactions are the most important aspect to consider while developing a mobile application. A mobile app usually communicates with the database via the web services. Web services connect with the database to send and receive data.

If the database is structured well, it will retrieve data quickly, which will help the mobile app perform better. A well-structured database helps with:

  • Saving disk space by removal of redundant data
  • Providing data access faster
  • Keeping data accuracy and integrity

The other important part is how we manage transactions with the database. Do we write queries that are slow to retrieve data? Do we create multiple joins while retrieving data from the database? Your query writing skills can completely change the performance of your app.

It’s important to write queries that help:

  • Specify the field name from which to get data (Don’t use select * from a table when you need access to only a few columns)
  • Use short queries instead of multiple joins (Multiple joins within the queries can take a long time to fetch data)
  • Search on the indexed columns

Long processes in Background tasks

ITH Long Processes

From a user engagement point of view, it’s always good to put long running tasks in the background thread, so that the UI thread doesn’t get blocked. It will help app users continue working on their app activities without waiting for data to be processed on the front end.

Make fewer calls to APIs

ITH Makes less calls

Making a lot of API calls takes up a lot of the process in the background. If there are fewer calls to the APIs it will help run the mobile app effectively. APIs communicate with the database using the queries as mentioned above. So each call to an API will need to get a data result set. Depending on the size of data, and the time taken by the queries, this might slow the app response. So until there is a need, do not make calls to APIs.

Optimized code

ITH Optimizes code

Code quality also plays a key role in app performance. There are several points one should keep in mind while writing code.

  1. Avoid Creating Unnecessary Objects: Unnecessary objects cause the garbage collector to be called unnecessarily, which in turn eats resources needed to boost the performance of the application.
  2. Avoid Background Services: Background services should be avoided to keep running unless absolutely required, as they keep occupying the resources throughout their execution.
  3. Use Standard Libraries: Instead of implementing the same functionality in your own code, use the already-available resource.
  4. Use Optimized Data Containers
  5. Use Cache: Objects which are expensive to create should be implemented in cache. For example, if you have to display some images from the Internet, then you should hold them in memory to avoid downloading them several times.

Conclusion

Our team at ITH is made up of experienced app developers. We use Native and Hybrid technologies for developing mobile apps. As for that app we launched, after the launch, our client was thrilled because he heard very little from users. No news is good news when you do a big mobile app launch. The app worked as expected and the next phase will begin soon.

Contact us at solutions@ithands.com to get started on your big mobile app launch.

Breaking Down the Cost of a Full-Time Employee

You have faced the problem of the unpredictable workflow in the web and mobile development industry. You are not alone. Many web shops ride the month-to-month roller coaster of productivity. Your web company needs to be ready to take on more projects during an influx, but also hold on to valuable employees during slow months. Just hire, right. First, count the cost of a full-time employee.

Before hiring in-house, CEOs should consider these additional expenses. #employmentcost Click To Tweet

How do you decide whether to hire full-time staff or find an outside partner to help out? The reality is that it’s expensive to hire full-time, in-house staff. As a business owner, you may have calculated the cost of a full-time employee. Here I have listed a few line items to consider when you’re making the choice to hire an in-house employee.

Cost of a Full-Time Employee: Computer and Office Supplies

  • According to a few different sources, this number is about $200 per year for each employee*. Tack on the developer-worthy laptop, and you’re looking at close to $2,000 in the first year. Also, who doesn’t want a few t-shirts, mugs, and other gear when they join a new team? This might be the one small expense that is always justifiable.

https://lac-group.com/average-office-supply-costs-per-employee/

Cost of a Full-Time Employee: Software Licenses

  • Software and tools are always being developed and being updated. To stay relevant, web companies have to use the latest and greatest. For commonly used development and design tools like PhpStorm and Sketch, it will be several hundred dollars a year per user. It is safe to say that the number of tools hitting the market will not be decreasing, so business owners can prepare for their top developers to keep asking for the next best one.

Cost of a Full-Time Employee: Market Rate Salary

  • PayScale recently published that the median salary for a PHP developer in the United States is just over $61k*. Of course, this can change from city-to-city depending on the cost of living and the demand for developers. Also, some technologies warrant a higher-paid developer, so take this into account as you’re thinking about expanding your tech expertise to include mobile apps, progressive web apps, etc.

http://www.payscale.com/research/US/Job=PHP_Developer/Salary

Cost of a Full-Time Employee: Health Insurance

  • A rule of thumb to obtain this amount is by multiplying the base salary by 1.25 to 1.4 to determine the cost of healthcare over a year*. Yes, it’s expensive. This has become an ever-increasing recruiting tool as well, so more than likely you are not going to get by with the cheapest group plan.

http://web.mit.edu/e-club/hadzima/how-much-does-an-employee-cost.html

Cost of a Full-Time Employee: Human Resources

  • With more employees, you have to consider the need to hire an HR professional who can handle internal policies, implement initiatives, and process employee suggestions and concerns. This is another salary to factor in once you have several employees under your roof.

Here are a few other costs to consider: office space, recruiting, and training new employees. Anything else come to mind?

Don’t get me wrong, there is a ton of value in building your team internally when the time is right. As Jim Collins says in Good to Great, you have to get the right people on the bus to advance your business. Before you make the final decision to hire internally versus finding an outsource partner, make sure you take a comprehensive look at the total cost. I meet with business owners all of the time who have learned the negative side of high overhead the hard way. They bit off more than they could chew.

Also, don’t forget to take a look at the other side of the coin. If you’re considering moving to an outsourced model, onshore or offshore, it is well worth it to invest the time and resources at the beginning to find the right partner. It’s helpful to go into this process with patience. Try not to make these decisions when you are trying to hit an upcoming deadline or a huge project just walked in the door.

Once you do find the right partner, the benefits can be endless. You can build a remote team who is eager to do great work for you, while you focus on gaining new clients and keeping your existing clients happy.

IT Hands has been working with web companies since 2001. We bring quality development and affordable rates to businesses balancing an influx of projects and a few in-house employees. Our co-founder published a blog recently explaining the value of hiring a Full-Time Equivalent (FTE) with an outsourced team. Learn more what an FTE Model looks like.

Contact us with any questions at solutions@ithands.com.

ReactJS vs Angular 2.0+

If you are comparing ReactJS vs Angular 2+ you are thinking about the future. That’s great! Let’s clear up a few things first. React is a library and Angular is a framework.

If you know what an MVC architecture is, it will be even easier to understand. MVC stands for Model View Controller. So, where Angular has everything built in, React is just a V, the View layer, and you have to hook it up with your models and controllers.

#Angular vs #React - what’s the difference? Click To Tweet

You will first want to understand the fragmentation of Angular before digging into details on the topic. Google refers to Angular 1.x as “Angular JS” and Angular 2 and higher as “Angular”. Where Angular JS was doing all the rendering on the client side, both Angular (Angular 1= Angular JS) and React (React = React JS) handle rendering on the server side.

When it comes to the web, picking either one of the options is a smart choice. There is not much of a difference between how they perform, but there are things that one does better over the other when comparing ReactJS vs Angular.

ReactJS vs Angular: A Comparison

Scalability

Angular, as a framework, is easier to scale. It has its own boundaries and checks on how things are done. With its clearly-defined boundaries it is easier to understand the right way of doing things. Following the best practices is easier in Angular, compared to React. In React, there are a lot of ways to do things that make it confusing to follow best practices. There are a lot of parts that you need to figure out yourself when using React, parts which are much more clear in Angular.

Compatibility with 3rd Party Libraries

With Angular, if you have an existing code with a lot of 3rd party libraries, you might have to rebuild everything, whereas React is very flexible. React can be used wherever you need it.

Community Support

React is easier to use than Angular. This makes it easier to contribute to the framework. React is one of the most popular frameworks on the web, and Angular is trying to catch up, but it is easier to find reusable code for React than for Angular.

Beyond the Web

React has React Native and Angular has Ionic for building Native apps for mobile devices. One can argue which is better than the other, but they are relatively similar. React Native is still considered faster and more stable.

Simplicity of Code

Angular goes with the template approach with HTML, which makes the code shorter and easier to understand. React, on the other hand, has the HTML written in JS, which can be confusing at times. Here is an example of how both approach the same problem:

React vs Angular in handling HTML

Loop through an item in React

https://gist.github.com/larryparitosh/54ea49565ec9ac1870c5a04381a02f48

Loop through an item in Angular

https://gist.github.com/larryparitosh/1ce65584e007b8344004e00dfe74b233

With Angular, there is a lot of boilerplate that goes into every component, which is lesser when using React.

React vs Angular Component

React Component

https://gist.github.com/larryparitosh/4aadf43bca3e481da1e9176d8da10fdf

Angular Component

https://gist.github.com/larryparitosh/cd6bdb6ebdac4d92ee9a9b0a71b751ae

Development Time

Development time in Angular is relatively fast, mostly because of the way it is structured. There is less confusion about the best approach to do certain things, whereas in React this can be tedious at times. Setting up a new project is faster in Angular with its boilerplate and CLI.

In React you can find many resources and projects that can help you do it faster, but it will still require a lot of experimentation. If you are planning to setup everything from scratch in either of the technologies, you will have to dig into a lot of things and get your hands dirty.

Code Size and Tweaking Performance

The size of React’s core file is smaller than Angular, and Angular (being a framework) contains a lot of code out of the box that you might not even use. React is a library, so optimizing the code is more flexible than Angular.

Debugging the Code

Debugging the code in React is much more effective because it catches errors with line numbers while compilation and Angular only breaks while it runs on the browser, which can be difficult to debug. Angular has two-way data binding, which can be helpful as you can send data from children to its parents, but it can give a lot of headaches while debugging. In React, the data flows just one way, making it easier to catch the break with ease.

Future

Angular 4 is the latest version for Angular. This is a huge step up from Angular 2. Most of the changes are behind the scenes. The update from Angular 2 to Angular 4 did not change how we code. So, what happened to Angular 3? Google internally faced a versioning number mistake in their build so they decided to skip the confusion and jump to version 4.

Facebook is working on React Fiber, which is an update to their core algorithm. This will improve the performance of React, add more support for animation, layout, and gestures by adding a lot of new functionalities for developers.

ReactJS vs Angular: What to Use
Both Angular and React are great with their component structure and the problem they are trying to solve. The choice between both can be based on your existing code, your needs and your developer preference. If you want an all-in-one solution, go with Angular, but if you want to incrementally improve your existing codebase, go with React.

At IT Hands we work with Angular and React. Got a project in either one? Contact us at solutions@ithands.com.

What is Your Company’s Average Project Velocity?

Project velocity is the speed a project will get completed. For example, a 1000-hour project can be completed in 10 weeks at a velocity of 100 hours/week or 20 weeks at 50 hours/week. Project velocity varies from project to project and client to client. Always choose an approximate velocity at the beginning of a project, or you will have poor expectations for your team and your client.

5 key factors to estimate and enhance project velocity. #projectmanagement #scrum #agile Click To Tweet

One of the important factors in closing a deal is to determine project velocity. Estimating project velocity will depend on the stakeholders and several other factors in the project. These factors will change the project timeline and the overall project budget! It’s important to consider these following factors that can affect the velocity of a project:

  1. Product Owner’s Involvement
  2. Understanding Scope and Requirements
  3. Design Iterations
  4. Budget Realities
  5. Team Availability

When you have an approximate idea about the project investment, you need to breakup the hours per week depending on the following factors.

Product Owner’s Involvement

Product Owner

The Product Owner is the single point of contact on the client side. This contact gives direction to the team and makes the quick decisions. The team requires a response from the Product Owner within a business day to keep the momentum going.

Also, the Product Owner is responsible for getting any required information from other stakeholders. If the information is not provided quickly, that will impact the project timeline. Be sure to explain the involvement of the Product Owner with your client during your first meeting.

Understanding Scope and Requirements

Understanding-Scope-and-Requirements

Understanding scope is a crucial component for defining a project timeline. If the scope is not understood well, the timeline can not be met. It’s really important for the project team to review the project backlog with the Product Owner at the beginning of the project.

The product backlog should define the user stories and the objective of the project. The project team can breakdown the sprints and define the timeline accordingly. If there is a scope creep, the project team should immediately notify the Product Owner about it and discuss the revised timeline.

Design Iterations

ITH Design Iterations

Design iterations is another key component for managing project velocity. There needs to be a set number of design iterations which will be communicated to the Product Owner in the beginning of the project. A designer is a key person to help the other team members with the flow and the functionality of the website.

Based on how the designs are created, the timeline can be managed for a project. So it’s really important for a designer to grasp the requirements in the early stage of the project so they can provide mockups within 1-2 rounds. If there are more than 2 design iterations, that will extend the project timeline.

Budget Realities

Budget Realities

The budget is always a major factor. Depending upon the budget, the requirements of the project could change over time. The budget directly reflects timeline. So if the timeline extends, the budget extends as well.

Project velocity can only be determined with a decent idea of the budget in the initial weeks of the project. If the Product Owner explains the budget and timeline expectations, the team can then set up a projected velocity.

Team Availability

ITH Team Availability

If the team is not available to work on the project, this obviously impacts the project timeline. Initially the timeline is set based upon the availability of the resources. The role of each and every team member is defined within the project and responsibilities are assigned to them.

If, for any reason, some of the team members are not available, their tasks will delay the team. This would extend the timeline, which would then impact the project velocity.

At IT Hands, we take care of all these factors to manage our project velocity and make sure projects are delivered within the expected timeline.

Depending on the project requirements, there are many different roles we have on our team.

The following are the team members assigned to a typical project:

Project Coordinator (PC)

The Project Coordinator (aka Scrum Master) is a manager, who supports the rest of the team and ensures everyone follows the defined processes.

Development Team
Each team may have one or more:

  • UI UX Designer → Designs a great look and feel
  • Solutions Architect → Architects the solution to be designed
  • Frontend Engineer → Implements interactivity
  • Software Developers → Makes it all run under the hood
  • Mobile Developers → Creates great mobile apps
  • Internet Marketing Specialist → Improves your web presence
  • Software Tester → Ensures features function as expected

Relationship Manager (RM)

The Relationship Manager is available to step in where needed to improve communication and collaboration.

To learn more about how IT Hands team can help you in managing project velocity, contact us at solutions@ithands.com.