How to Estimate a Mobile App Project
Many agency owners I talk to like the idea of offering apps to their clients, but they just don’t know where to start.
For an agency, part of the problem is lack of experience building apps, and the other part is they don’t know how much to charge. There is this fear that they will get into something over their heads, and lose money.
The reality is that your agency can build apps for your clients right now. You already have good developers on your team who can handle the technology, and if you start with a small app project you won’t get in over your head.
In this article I will go over everything you need to know to start building apps for your clients, including what skills your team needs, how long it will take, how much you should charge, and more.
AppPresser leverages the existing features of WordPress, so you don’t need to have a mobile app developer on your team to get started.
AppPresser helps you setup a basic app easily, which does not require special skills. However, most clients want some customizations, which will require at least:
- Intermediate WordPress plugin and theme development
AppPresser works with WordPress themes and plugins, so most of the work will be done in a child theme or custom plugin. Your developers already know how to do this, it’s very similar to building a custom WordPress site.
Your developer does not need to know anything about native app code, or even in-depth knowledge of PhoneGap. (PhoneGap is the framework that AppPresser uses to access native device features) That stuff all happens behind the scenes. The only time you would need intimate knowledge of PhoneGap is if you are trying to utilize a custom native device feature that is not already included in AppPresser, for example a barcode scanner.
Your First App Project
If you haven’t built an app before, it’s important you pick a good project to start with.
Some clients want extremely complex apps, that’s not a good place to start. I would hand pick a good client with a simple business, such as a restaurant, magazine, church, school, or other service business. Keep the feature scope extremely simple, just displaying website content like pages and posts, and sending push notifications. Your client may want more, but let them know you can do that in Phase 2.
Keeping your first app simple will ensure you don’t get in over your head.
If you haven’t used AppPresser before, estimating time can be difficult. It’s best to pad your hours for unexpected hangups, and be transparent with your client.
Cody Landefeld of Mode Effect recently completed his first AppPresser client project. Here’s what he says:
Approaching a mobile app with WordPress has to involve the estimation for not only the WordPress theme design and development, but also the mobile app setup and configuration with Apple and Google. This will affect timelines and your production time to bill the client against. Especially if you need to make changes to the app that cause you to test and re-submit the app to both the Google and Apple stores.
Apple review takes up to 14 days after you’ve submitted the app, Android takes about 24 hours. Make sure your client is aware of this.
There are 4 phases of the project that you will need to estimate for. We’ll go into these in more detail below.
- Design/revision: similar to a custom child theme build.
- App build: any custom plugin work, plus PhoneGap app setup.
- Testing: get the app on multiple devices for testing and debugging.
- App submission: iOS and or Android.
The design phase in an app project is slightly different than a website, only because an app has certain conventions you don’t want to stray from.
Apps have fixed toolbars and footers, sliding left menus, conventional styles for lists, etc. Our Ion theme has these conventions in place, it is best to leave these as is. The design customization is more a matter of customizing these existing elements in subtle ways, not completely designing a new interface. Of course, you can do whatever you want, and AppPresser does not limit design in any way.
Once you are out of the mockup phase, the design is mostly done in a child theme. You do not need device testing at this point, so it is all done with custom CSS/JS and templates and tested in a browser.
Tip: keep your mockups simple. Good app developers spend most of their time designing a good user experience, not fancy layouts.
Building it out
In this phase you’ll implement your custom design, and any custom features the client has requested. Without custom features this phase can go pretty quickly.
1. Install and configure AppPresser plugins
2. Build/implement child theme
3. Setup PhoneGap
Installing and configuring AppPresser plugins is pretty straightforward. This should only take an hour at most. Building your child theme may take slightly longer for the app, so your developer can get used to the elements of our themes. You will also want to test on a device as soon as possible, we’ll get to that in the next section.
Testing on a device is very important for your app.
The first stage of testing will take place in your web browser. On your WordPress website, go to the AppPresser settings, and check “enable AppPresser for admins only.” This will allow you to view the theme you are using for your app right in the browser.
When things look good in the browser, you’ll want to move to device testing. The easiest way to do this is with the AppPresser Preview app, available in the app stores. Just download the app, add your site url, and the app will load. The url cannot be a localhost, it must be live on the internet. Most device features will work in our preview app, with the exception of push notifications.
When you are getting ready to submit to the app stores, you will need to build your own version of the app.
This is done by filling out our build form, and uploading those files to PhoneGap Build. You will need to setup a free account, and upload the files we provide. You can test on Android immediately without any further steps, but iOS is a bit more complex.
Getting your app onto an iOS device requires an Apple developer account, and creating some certificates. This process is detailed in our documentation, but it will probably take you 1-2 hours to figure this out for the first time.
With the app on your device, you can now use USB Debugging to do a final once over. You have to plug your device into a computer via USB cable, and then open a browser inspector. You can then inspect app elements and see console errors, the same way you would with a website.
Tip: build your own app and use USB debugging as soon as possible, this is the only 100% sure way to test your app.
Submitting the app can be difficult if you’ve never done it before. Android is fairly straight forward, but Apple has not made it easy for app developers.
Make sure to pad your estimate for several extra hours toward app submission. We have great step by step documentation on how to submit your app, but dealing with Apple certificates can be frustrating.
Tip: we offer an app submission service for $497 if you don’t want to deal with any certificates or submission headaches.
Like any client project, sometimes things don’t go as expected. Remember the first few website projects you did? Did they go 100% perfectly? Probably not, but you learned and got better.
Cody Landefeld tells us about about their first app project:
For Mode Effect it was our first ever proper mobile app so the time to test, create a build, and wait for submission review was enough to cause some unexpected delays in the project. Next time we’ll estimate the total hours for app specific setup and configuration and communicate the potential affect on the timeline with the client.
The best thing you can do to avoid difficult situations is to keep the feature scope very simple, and be very open and transparent with your client.
What if my app gets rejected?
I have never seen an app that was rejected outright from the app stores. If you follow their basic guidelines, the worst that can happen is that they ask you to make a couple of changes. In every case, if you make the changes they suggest, the app will be accepted.
Just like a website, your client’s app may need maintenance.
The app doesn’t need a lot of special attention on it’s own, but your client may want more features, or bugs may arise.
If an issue arises, the app can be updated through WordPress code without having to resubmit to the app stores. The only time you need to resubmit is if a major new feature or platform upgrade is added. For example, if you submitted without push notifications and you want to add them, or iOS 12 is released and it causes an issue.
It’s important to discuss this with your client ahead of time, and possibly setup a retainer agreement for the app.
Creating an AppPresser app for your clients is not as difficult as you think, and it’s a great way to bring in new revenue.
You can get started today using your team’s existing skills, you don’t have to hire a new mobile app developer. If you follow the advice in this article to plan for your development, testing, and submission costs, you will be able to get your client an app they love in a timely manner.
Learn How to Increase Revenue By Selling Apps to Your Clients
Download a comprehensive PDF guide on how to estimate projects, mock up apps, and communicate value to your clients.