Custom mobile apps for phones and tablets

PHDCC can build a custom app for iOS or Android - anything from a brochure app that displays information to a fully interactive app that talks to your server.

  • Apple iPhone/iPad, Android and Amazon Kindle apps
  • Free, Paid or Freemium (free with in-app purchases)
  • Use camera, GPS, contacts, storage - save settings, contact form
  • Optional log in using Facebook and Google
  • Configurable at runtime
  • Design mockups, full usage stats

Get in touch

PHDCC can develop apps for iOS, Android and Kindle

Development process

Most software developments take longer than you might expect - and effort is definitely required after the first version is released.

  • Outline your needs, hopes and dreams
  • Develop a specification
    • Build mockups
  • Get a team together
  • Develop the app
    • Client code
    • Server code
    • Graphics / branding / splash screens
  • Test the app
  • Develop app store publicity materials
  • Release the app
  • Publicise the app
    • QR code
  • Respond to reviews and ratings
  • Add new features and versions
Mockup of the Freegle mobile app

Why have an app?

It is true that many websites now display fine on small screen devices, ie they have a responsive design that works on laptops, tablets and phones. If that's right, then why bother with an app, when you can just direct people to your website?

  • Apps have better access to phone features such as the camera
  • Apps can store information between runs
  • Apps can notify the user of updates - push notifications
  • Apps can keep users logged in more easily
  • Apps can work offline
  • Apps can link to share options
  • Apps appeal to the mobile generation
  • Apps can build a good review/rating reputation
  • Apps can earn an income

That said, it may be a wise choice to avoid the costs of an app when most needs can be satisfied by a responsive / interactive website. A website can be updated immediately while a bug in an app can take a while to fix due to the review process.

Technology

PHDCC uses Apache Cordova cross-platform toolkit. This means having one code base that is written as a standard HTML/CSS/JS app, using standard or custom plugins to access mobile features. PHDCC has written custom Cordova plugins for Android.

  • Accelerometer
  • Battery status
  • Camera
  • Compass
  • Connection
  • Contacts
  • Device
  • Events
  • File
  • Geolocation
  • Globalisation
  • Media (audio)
  • Splashscreen
  • Status Bar
  • Storage
  • Vibration

We will usually use the Bootstrap framework for the user interface.

PHDCC has the experience to handle common app requirements safely on many devices, everything from photo resizing and upload to logging in user Google or Facebook credentials.

Screenshot of the Freegle app on Nexus Android

App permissions

Your app may need permissions, eg permission to use the camera, store files or access the Internet. The plugins we use define which permissions are needed, eg using the geolocation plugin means that access to your location GPS is requested, in-app billing requires access to the Google Play billing service.

Screenshot of Google Play permissions request The permissions required are shown when the user installs the app - or if the permissions have changed when a new version is installed. Note that in-app billing requests will still need OKing by the user - unless they have given permssion.

It is generally advisable to keep the permissions required to a minimum so as to allay any user concerns.

Stats

Looking after your app is a very important - you have to dedicate resources to publicise the app, handle suggestions by users and do updates. Apple and Google provide facilities to view statistics on app downloads and usage. You can reply to reviews on Google Play but not in iTunes Connect.

Screenshot of Andlytics for the Freegle mobile app
Screenshot of Andlytics for the Freegle mobile app

Small print

  • PHDCC mobile apps will target Android 4.4+ and iOS 9+ devices ie most modern phones and tablets.
  • PHDCC cannot guarantee that the app will work on all devices.

Working with Google Play

The set up and running of your app on Google Play will be run by PHDCC - or you can do it.

  • The Google Play Developer Console is used to set up and update apps, view reports and ratings and respond to reviews. There is a one-off fee of USD25.
  • You can choose any price you wish for apps, above a minimum price which is GBP0.50 inc VAT in the UK. Total price including sales tax will be worked out automatically. You will receive 70% if the proceeds, ie approx 58% of the sales price once UK VAT taken off. You may wish to choose prices that match the iTunes price matrix values.
  • You will also need to set up a Google Merchant account if you expect to receive payments. Google will send a small payment to your nominated bank account so you can verify that you own it. You will have one primary Google account / email associated with the Merchant account - other Google account emails can be given access. You can cancel an order so as to issue a refund for a user.
  • Google will not send a mail when you receive an order for a paid app or an in-app purchase. PHDCC apps will usually be set up so that they send a mail when an in-app purchase has been completed.
  • The Andlytics app gives easy access to the current stats for your app - see screenshot above. This is a good way to check for any new review comments and see what ratings the app has been given.

App set up

Each app needs to have a store listing. There are options for translations if you support different languages. The app needs a title, short description, long description, screenshots for different device types (eg phone, tablet) along with an app icon and featured graphic. You can optionally provide promo graphics and a video. You need to say whether the app is an application or game, the app category - and use their tool to work out a content age rating for each country the app is sold in. Finally you will need to provide your website, support email and privacy policy link.

You will need to set a price when the app is set up. You can specify one or more "in-app purchases" which can either be a product to buy, eg "level 2", or a subscription, eg access for a year with recurring payments. You can also specify the Google account emails of alpha/beta testers - although this seems tricky to get to work in practice.

The app deliverable is a file called an APK. Each APK has a version number and you can enter brief release notes with each new version you release. Google does not review your app before it is released, though they almost certainly reserve the right to check released apps. When you release an app it may take several hours before it is made available to all users. Most users will be set up to install new versions of your app automatically; approval is required if the permissions change.

App testing

The app should be tested before it is released. Testers can be given a link to a test version of the app; they will have to enabled the installation of apps from untrusted sources.

It is important to test on as many different devices as possible, in terms of device type, screen size and versions of Android. It is also sensible to check how the app fares when on low bandwidth 3G data or with no connectivity at all. It is best to avoid large downloads when the app is running - bear in mind users who pay for their bandwidth. With almost 10,000 different devices that run Android 4.03+ it is hard to ensure that an app will work everywhere.

Working with Apple Developer and iTunes Connect

The set up and running of your app at Apple will be run by PHDCC - or you can do it.

  • An Apple Developer account is needed which costs USD99 / GBP79 per year.
  • Paid for apps or in-app purchase prices are specified according to a pricing matrix, currently with tiers 1-87 priced at GBP0.79 to GBP749.99. These prices include sales tax (VAT in the UK). In the UK you will eventually receive approx 58% of the purchase price.
  • You will also need to set up an iTunes Connect account.
    • There are separate agreements for free apps, paid apps (inc in-app purchases) and iAd (ie free apps with adverts shown by Apple).
    • For paid apps you will need to give your legal name and address, bank details and tax status. You can also specify contacts for these roles:
      • Senior Management
      • Financial
      • Technical
      • Legal
      • Marketing
    • If you don't have one already, you will need to request a D-U-N-S Number (DUNS) if you have a company account; this will take at least 2 weeks to come through.
    • You can set up other users with Admin and/or Legal access. You can also set up TestFlight Beta Testers - and Sandbox testers to test purchases, although this seems tricky to get get to work in practice.
    • iTunes offers Analytics and Sales&Trends reports. You can use the iTunes Connect app to keep an eye on downloads, sales and reviews - see screenshot above - though it is not easy to see reviews/ratings at a glance. Note that there is no way to respond to reviews.
    • iTunes will not send a mail when you receive an order for a paid app or an in-app purchase. PHDCC apps will usually be set up so that they send a mail when an in-app purchase has been completed.
    • There is no way for a developer to issue refunds. Users must contact Apple to request a refund.

App set up in Apple Developer

  • Once you have enrolled in the Apple Developer programme, you can generate "Distribution" and "Development" certificates, which will need updating every year when you renew.
  • You can then generate an App ID for your new app.
  • You can also add up to 100 test devices. Users must provide their device UDID, obtained in iTunes or using this tool.
  • You can then create provisioning profiles: "Ad Hoc Distribution" profile for use on test devices and "App Store Distribution" profile when ready to submit to iTunes. You can re-issue the Ad Hoc profile if you add more devices.

App set up in iTunes Connect

Each needs to have its store listing set up - and there are options for translations if you support different languages. The app needs a name, privacy policy link, price and list of territories where the app is available. Each version released has some release notes, screenshots for different device types (eg phone, tablet), app icon, copyright and address info. You have 4000 characters for the description and can provide keywords, support link and marketing link. Promo codes can be used to give free access to paid apps: 100 maximunm for each version, valid for 4 weeks.

As outlined above, you will need to set a price when the app is set up. You can specify one or more "in-app purchases" which can either be a product to buy, eg a consumable such as fish food or a permanent non-consumable such a new game level - or a subscription, eg access for a year with recurring payments. For each in-app purchase you need to provide a localised description, review notes and a screenshot of the purchase in action, ie taken while using a test version while logged in with a sandbox test account.

The actual app is an IPA file which can be uploaded on a Mac using "Application Loader" or Xcode. You can enter review notes, details of a demo account and contact details. When you submit your app you must make declarations about Export Compliance, Content Rights and use of an Advertising Identifier (IDFA). The app is now put in the review queue - which can take up a week. You can opt to release the app immediately upon approval or release it manually. It make take up to a day to be available.

App testing

The app should be tested before it is released. Testers can be given a link to a test version of the app built with the Ad Hoc provisioning profile (that includes their UDID). Test purchases can be done when signed into the device with one of the sandbox ids.

It is important to test on as many different devices as possible, in terms of device type, screen size and versions of iOS. It is also sensible to check how the app fares when on low bandwidth 3G data or with no connectivity at all. It is best to avoid hude downloads when the app is running - this reduces costs for users who pay for their bandwidth.

Working with the Amazon Developer Console

The set up and running of your app at Amazon will be run by PHDCC - or you can do it.

Android APK files usually run fine on Kindle Fire devices - as they are based on Android.

You will need to sign up to the Amazon Developer Console. The following tabs need to be filled in for the app:

  • General information
  • Availability & Pricing
  • Description
  • Images & Multimedia
  • Content Rating
  • Binary File
  • Release notes

Apps for Kindle Fire may require additional permissions to be set in the manifest (contained within the APK file) - see here and here.

Review information can be supplied when submitting your app. Apps are usually reviewed and made available within a day.