At the beginning of your project, we'll have discussions with you to clarify the problem that's being solved, and to nail down the goals of your app. We can then help you decide what features should be included in the first version of the software.
Once our team has a good understanding of your requirements, a designer and developer will work collaboratively to craft the ‘look and feel’ and the user experience for your app. A wireframe will be produced for you to review, to make sure we're on the same page.
While we're designing what your users will see, we'll also be considering the technical implications and developing a data model. The data model maps out the types of information the app will need to store or display, and the relationships between these data elements.
Although a lot of design work occurs at the beginning of a project, we consider design every step of the way.
Typically, building your app actually means developing several separate pieces of software, which might include:
- An iOS app, for delivery to Apple iPhones or iPads
- An Android app, for delivery to phones and tablets that use Google's Android operating system
- An app management tool - the secure website where you can enter content, interact with your users and control other aspects of your apps when they're released out in the wild
- A cloud service - the system that your apps will connect with to store and synchronise data over the internet
The code we write is always stored in a source control repository, which allows us to track down bugs, carefully merge changes by multiple developers, and version each release of your app.
Testing of your app happens on many levels. We perform internal testing throughout development by:
- testing individual features to make sure they perform correctly, even in unlikely situations.
- reviewing code structure and style, making sure it is consistent, and making sure it will be easy to maintain into the future.
- looking for security and privacy vulnerabilities.
- pre-emptively screening for anything that might cause Apple or Google to reject the app, such as incorrect usage of operating system features, or violations of their development rules.
- observing others in the office as they try out our work in progress, which helps us judge whether our designs are intuitive.
- running the app on a variety of different hardware, both old and new.
- using profiling tools to analyse code and track down performance problems.
When your app starts to take shape, we will help you register your devices to receive test builds. Once registered, you can automatically receive new beta versions of the app every time we make one available. During this testing, any crashes you experience are reported to us automatically. You will be able to start entering content in your App Management Tool, and view the content immediately in the test app. You will also be able to request design tweaks and report any bugs that you want us to address.
In some cases, after you've reviewed the app and entered any initial content, you might choose to perform end-user / pilot testing. We help you register the pilot users you recruit, and electronically distribute the app to this restricted group without making it available to the whole world. We also help collate feedback and problem reports from your testers.
Regardless of whether you are selling your app or giving it away for free, in most cases you'll want to distribute it through the Apple App Store (for iOS users) and the Google Play Store (for Android users). We assist with this by:
- Helping you or your company register as an app publisher.
- Entering metadata.
- Producing essential marketing material such as screenshots.
- Packaging data for launch.
- Compiling and submitting the finished app to each store.
When the app is ready to go live, we can help you to:
- Publish support resources.
- Set up smart marketing URLs, that redirect to the correct store based on the type of device being used.
- Create QR codes and download buttons.
- Publish Smart App Banners to your website.
Users tend to uninstall an app if it stops receiving attention and updates from its developers. In particular, as new phone and tablet models are released, and operating systems add new features and change appearance, users expect their apps to keep up with these improvements.
Our commitment to your app continues long after the first version goes live.
- You can use your App Management Tool to add content to your app any time, without involving a developer, and without publishing a new version to the store. We provide you with support if you run into any problems during content management.
- We host the infrastructure that powers your app, such as your App Management Tool and cloud service.
- We fix any bugs that your users may uncover.
- We release any updates that are required for compatibility with the latest devices and operating systems.