In this blog, we focus on an important aspect of the development process of native apps, which, when configured correctly, saves a lot of cost and increases the quality of the end product. Specifically, we talk about the efficient distribution and testing of apps that are not yet available in the app stores. A few years ago, Apps with love, in a joint venture with Moqod, developed Updraft. As Updraft version 2.0 just came out of beta last week, we took the opportunity to sit down with Martin Mattli, Head of Quality Management at Apps with love and Product Owner of Updraft, for a short interview.
Why do we even need a tool for distributing apps? Can a developer not just send me an app that I can install on my device?
A developer can provide you with an Android app as an attachment in an email or, for example, as a link to a Dropbox folder or another cloud server. However, as an end user or beta tester, the installation process from an attachment is cumbersome and not always possible without complications.
Apple has completely stopped installing beta apps using iTunes since launching the latest version of iTunes. Previously, you could simply transfer the iOS app files via iTunes to the connected device, but this is no longer possible.
Distributing apps through a single tool not only helps keeping track of who's running the app version at what time, but also increases security. Who should get insight into my app? With Updraft you can restrict which person or group of users should receive an installation link or access to a particular app. Such a limitation is also interesting for companies that first want to test the potential of a still-to-be-developed app within a closed audience. In addition, Updraft is ideally suited for company-internal apps, which are not released in the public app stores.
Why is it not enough if I can load my app from the App Store at the end of the project?
As an app developer, it is imperative to review and test the requirements that have been defined with the client. Was everything implemented as it was defined? The sooner an alpha release is ready, the more cost-effective it will be to fix technical and conceptual bugs throughout the app development process. Fixing bugs found in an already published app costs up to 500 times more than detecting a bug in the alpha phase and finding a solution! Early testing and debugging during agile development helps to drastically reduce the likelihood of bugs occurring at a later stage.
Also, apps in development can not be easily uploaded to app stores. On one hand because the development guidelines of the platforms are not yet met in an early stage of development, on the other hand, because Apple and Google, of course, do not want any half-baked apps in their stores. This means: If you want to test early and agile, you have to use a tool for distributing the alpha / beta releases.
Why did Apps with love develop its own tool, even though there are already good tools available and what makes Updraft better than other providers?
When we developed the first version of Updraft, there was not really another platform to build, properly certify, and distribute apps. At that time, we found that constantly building apps to be tested and certificate management and handling takes an enormous amount of time. With the goal of saving time and speeding up development, Updraft 1.0 has been developed.
After a few years and many feedbacks from customers using Updraft, we decided to continue to develop the tool, but leave the 'building' to other platforms and focus purely on simple distribution and continuous deployment. The reason to stop offering the build-process, respectively disabling our build servers, was that we indirectly had full access to the source code of the users and could add more lines of code to the code provided to us, for example with the autoupdate-function. This often led to complications.
Of course, as the product owner, I can see a lot of good reasons for using Updraft:
- The simple and intuitive design
- The ability to distribute iOS and Android applications
- The ability to distribute an app specifically to a group or individual users
- An installation of the obtained app is possible without the installation of an additional app
- Public download links for beta testing or for easy sharing of the app
- Installation links that recognize the end user's platform
- The simple web app that can also be used as an Enterprise App Store
- Slack or email notifications for new versions of an app
- An open source SDKs for iOS and Android with the possibility to get feedback easily and quickly from the beta-testers and keep them up-to-date with the latest version (autoupdate).
- With the Fastlane or Gradle Script you send your finished build directly to Updraft. A connection to the continuous integration & deployment server is thus very easy
- Swiss hosting with Exoscale: Secure and encrypted uploads and app installations
- Pay-as-you-go: We charge you only as much as you need effectively
- QR code scanning for direct installation from the desktop; In particular, QA specialists appreciate this easy way to install apps quickly and easily on many different devices
- Magic links: Links that can only be used once to download an application
- A tutorial which shows the user how the enterprise certificates are to be accepted
Of course, we can also customize Updraft to customer-specific requirements or set it up completely on-premise.
Why do you rely on a Swiss hosting solution with Updraft?
On one hand it was a need of our customers, on the other hand it was also a goal of the company to host all our data in Switzerland in the long run. Many Swiss companies also need to host their data in Switzerland for regulatory reasons, which we can now offer with Updraft. The builds are uploaded to Updraft and then encrypted and stored in the Exoscale Cloud.
How can Updraft actually improve the development of apps?
Updraft helps in the agile development process to quickly and easily get a first visual, but also functional impression of the app in development. At Apps with love the product owner or the customer gets an early release after each sprint review and thus has direct insight into the progress of the development of the app and can give feedback and if necessary adapt the roadmap or the product backlog.
For a first app release with Updraft, there is no need for approval from the app stores. Beta testing can be done easily and early in the development process.
Can Updraft be integrated into my CI/CD (continuous integration and continuous delivery) process?
Definitely! For example, at Apps with love, Updraft is integrated into the continuous integration and delivery process in almost every project. Properly setting up this process from the beginning of a project is extremely important. With the right configuration, the build and deploy process can be completely automated and you save a lot of time over the project duration. To integrate Updraft into every CI/CD process, we offer a Fastlane and Gradle plugin. This way we can connect Updraft directly to the build servers and are guaranteed to always have the most up-to-date and properly certified build on Updraft.
Can I also use Updraft to roll out an in-house app for an entire organization?
Yes, this is possible with the Updraft mobile web app. Via the Updraft dashboard, the desired app can be made available to employees. Each employee receives a login and a user role assigned to him or her. Subsequently, the user can download the app through the web app. This is a very cost effective option compared to costly MDM solutions.
Can I also install Updraft locally and host everything on my own server?
Yes absolutely. We can install Updraft directly in the virtual environment of a company. Some Swiss companies have already decided to install Updraft on premise. If desired, we can also deliver the installation on dedicated physical machines. In the case of a customized updraft solution, it is of course also possible to adapt the design of the user interface according the customer's corporate identity for example. Also, the development of new features or the modification of existing ones is of course possible in such a case.
What was the biggest challenge in developing Updraft 2.0?
The biggest challenge is - and always will be - finding a niche between the existing, enormously powerful platforms, which invest heavily to develop their products. For me as product owner, it is also essential to develop the product according the needs of to the target group.
Another challenge also was letting go of the first version of Updraft. Since we've changed so much both technically and in terms of how the product works, Updraft 2.0 can be considered aproduct rather than the evolution of 1.0.
However, the biggest personal challenge I felt, was to constantly represent this product internally in the company and to answer the many questions like 'why do we do that'. The complex relationships that such a tool entails is not always obvious to everyone. In-house products such as Updraft also help the company to deal with new technologies, but also with new working methods and in turn to learn a lot - which can then be used in other projects. True to our principle of "Play & Error".
What is the vision of Updraft?
The vision is clear: With Updraft, we want to develop the best and simplest beta-testing tool to get even earlier feedback from end users and customers in the development process of an app. With Updraft we want to close the gap between app delivery and beta testing.
Let's say I have developed an app and I want to use Updraft. What steps are necessary until the app is on my smartphone and the phones of my beta testers?
If the app has been certified and equipped with an ad-hoc or enterprise certificate, the way to distribute is simple:
- Create an organization on getupdraft.com
- Create a new project
- Upload your file (.ipa or .apk)
- Add your users or testers or use the generated public link
- Distribute your app
How expensive is Updraft compared to other tools with similar functionality?
With Updraft there are 3 options: The free plan, pay-as-you-go and customized solutions, which are tailored to your needs as a customer.
If you choose the free plan, you can create one app project, upload three builds and benefit from 500MB of storage. The most important functions for distributing an app are completely free.
In the pay-as-you-go plan, you pay a basic fee of $5/month plus at the end of the month what you actually used in terms of storage space. We charge $5 per Gigabyte used. You can create as many app projects and upload builds as you want. So you have the full flexibility.
The pricing differs compared to other tools, since we only charge for the storage space and no additional features have to be purchased, which are then possibly not used.
How does the development continue and what else can we expect?
For the next few months, we will focus on improving the usability of existing functionality, as well as analyze and implement user feedback. In Q2 and Q3 of 2019 we'll continue with new features - but I don't want to reveal to much just yet :). App delivery and beta testing has never been easier.
Last question: I'm interested, have a few more questions and would like to try Updraft - where can I get in touch?
You can always contact me directly or send an email to email@example.com. Also, you can try out the tool at any time and for free on getupdraft.com. The registration works without credit card, only if you need a lot of storage space an upgrade to the pay-as-you-go plan is necessary.
Awesome! Thanks a lot for answering all my questions!