< Back

Share |

Developing apps: key issues to think about

In some ways, a mobile app development project is no different to any other software development project.

May 2013

Some common key issues are: agreeing whether it is to be a fixed price or time and materials project, working how and when the functional specifications will be agreed and captured, deciding on an overall project timetable and, of course, agreeing who will own the intellectual property rights in what is created (especially if pre-existing software and/or open source software is being leveraged).

But, with a mobile app development project there are also some particular issues that need to be carefully thought through, including the following:

  • Compliance with terms imposed by platform providers – some platform providers (e.g. Apple) are more prescriptive than others (e.g. Google). Clearly, the client will want to try to flow down as much of the burden of compliance on to the developer as possible – especially if the client is the one with the direct contractual relationship with the platform provider. However, even if it is the developer who has entered into the developer agreement with the platform provider, if it is the client’s app, the client will want to ensure the app complies. For instance, Apple’s terms include various provisions saying that app functionality must not override or interfere with Apple-implemented alerts (e.g. Coding around use of location or address book data) or, if it includes certain functionality, that users need to be notified and their consent obtained. The client will want specifics like this to be addressed either as requirements in the specification and/or by way of a warranty from the developer that the app complies with all requirements of the platform provider. The trouble is, this is something of a moving target. The platform providers reserve the right to change their terms at any time, and are therefore free to alter or introduce new requirements. Who takes on the contractual responsibility for compliance – the client or the developer? An added problem is that not all platform providers’ terms are publicly available. Apple’s are not, for instance, unless you pay to subscribe, and other, more niche, platforms seem to operate something of an ‘under the counter’ approach to their terms. There is therefore no guarantee that what you turn up by just doing an internet search actually is the set of terms that currently applies. Both client and developer therefore have an important job to check what they, or the other party, have signed up to with the platform provider, and exactly what the requirements are that need to be factored in.
  • Acceptance – what will success look like? Developers and clients are familiar with acceptance criteria, but the client may want it agreed that verifying conformity to specification only amounts to interim or conditional acceptance, and that full acceptance only happens when the app actually gets accepted by the platform provider(s) for listing on the chosen platform(s), and to make the developer specifically responsible for ensuring that happens. Developers will be less keen to be on the hook for something that they cannot, ultimately, control (since platform providers are never obliged to accept any app).
  • Hosting – in the app context, hosting usually only relates to dynamic content, because Website url the platform provider(s) will host the app itself, although it is possible that, if the app is to be made available from the client’s own website, it may want the developer to host it. Since much of the value and appeal of an app will be in dynamic content, the client will want control of this, and therefore will need to agree whether it, or a third party, is going to provide a content management tool.
  • Support and maintenance – having got the app accepted by the platform provider(s), the client will be keen to ensure that updates provided by the developer (assuming that is part of the developer’s ongoing responsibility), whether correctional or to improve functionality, are also accepted by the platform provider(s).

If you have any questions on this article please contact us.

Tablet with pen
William Andrews

William Andrews considers some of the key issues to be thought about by both app developers and clients commissioning apps when engaging in new development projects, from hosting of dynamic content to the requirements of platform providers.

"Both client and developer therefore have an important job to check what they, or the other party, have signed up to with the platform provider, and exactly what the requirements are that need to be factored in."