Updraft: Wie funktioniert das Verteilen und das Betatesting von Apps und was kann Updraft 2.0?

10. Dezember 2018 - von Valentin Naegeli

In diesem Blog möchten wir auf einen wichtigen Teil des Entwicklungsprozess von nativen Apps eingehen, welcher, wenn optimal konfiguriert, viele Kosten einspart und die Qualität des Endprodukts erhöht. Konkret geht es um das effiziente Verteilen und Testen von Apps, welche noch nicht in den App Stores zur Verfügung stehen. Vor einigen Jahren hat Apps with love das Tool Updraft zusammen mit Moqod als Joint-Venture entwickelt. Den Release von Updraft Version 2.0 haben wir nun zum Anlass genommen, Martin Mattli, Head of Quality Management bei Apps with love und Product Owner von Updraft, mit Fragen zu löchern.

Wieso brauchen wir überhaupt ein Tool für das Verteilen von Apps? Kann mir ein Entwickler nicht einfach eine App zusenden, welche ich dann auf meinem Gerät installieren kann?

Ein Entwickler kann dir eine Android App als Anhang in einer Mail oder zum Beispiel als Link zu einem Dropboxordner oder einem anderen Cloud Server ‘einfach’ zur Verfügung stellen. Als Endnutzer oder Beta-Tester ist der Installationsprozess mit einem Attachement aber umständlich und nicht immer ohne Komplikationen und Rückfragen möglich.

Apple hat seit der Lancierung der neuesten iTunes-Version eine Installation von Beta-Apps mit Hilfe von iTunes ganz unterbunden. Früher konnte man sich die iOS-App Files einfach via iTunes auf das angeschlossene Gerät transferieren, das geht inzwischen aber nicht mehr.

Das Verteilen von Apps über ein zentrales Tool hilft nicht nur der Übersicht, an wen, welche App-Version, zu welchem Zeitpunkt versendet wurde, sondern erhöht auch die Sicherheit. Wer soll alles Einblick erhalten in meine App? Mit Updraft kann eingeschränkt werden, welche Person oder Gruppe von User einen Installations-Link oder Zugang zu einer bestimmten App erhalten soll. Eine solche Einschränkung ist auch interessant für Firmen, welche zuerst das Potential einer noch in Entwicklung stehender App innerhalb einer geschlossenen Zielgruppe testen möchten, bevor weiter entwickelt wird. Zudem ist Updraft bestens geeignet für firmeninterne Apps, welche nicht in die öffentlichen App Stores releast werden.

Wieso reicht es nicht einfach, wenn ich meine App am Ende des Projektes fix-fertig aus dem App Store laden kann?

Als App Entwickler ist es unumgänglich, die Requirements, welche mit dem Auftraggeber definiert wurden, zu prüfen und zu testen. Wurde alles so umgesetzt wie es definiert wurde? Je früher ein Alpha-Release bereit steht, desto kostengünstiger wird das Beheben von technischen und konzeptionellen Fehlern im ganzen App Entwicklungsprozess. Die Behebung von Fehlern die in einer bereits veröffentlichten App festgestellt werden kostet bis zu 500 mal mehr, als wenn ein Fehler bereits in der Alpha-Phase erkannt und eine Lösung dazu gefunden wird! Das frühe Testen und Beseitigen von Fehlern während der agilen Entwicklung hilft also, die Wahrscheinlichkeit des Auftretens von Bugs zu einem späteren Zeitpunkt drastisch zu senken.

Ausserdem: In Entwicklung stehende Apps können nicht einfach in die App Stores hochgeladen werden. Einerseits weil die Entwicklungsrichtlinien der Plattformen in einem frühen Entwicklungsstadium der App noch gar nicht erfüllt werden, andererseits weil Apple und Google natürlich keine halbfertigen Apps in den Stores möchten. Das heisst: Will man früh und agil testen, muss man sich für ein Tool für das Verteilen der Alpha/Beta-Apps entscheiden.

Wieso hat Apps with love ein eigenes Tool entwickelt, obwohl es doch bereits gute Tools gibt und was macht denn Updraft besser als andere Anbieter?

Als wir die erste Version von Updraft entwickelt haben, gab es noch nicht wirklich eine andere Plattform mit welcher Apps gebuildet, richtig zertifiziert und verteilt werden konnten. Damals haben wir festgestellt, dass das ständige Builden der zu testenden Apps und das Zertifikatsmanagement/Handling enorm viel Zeit in Anspruch nimmt. Mit dem Ziel Zeit einzusparen und die Entwicklung zu beschleunigen, wurde Updraft 1.0 entwickelt.

Nach einigen Jahren und vielen Feedbacks der Kunden, welche Updraft nutzen, haben wir uns dazu entschieden das Tool weiter zu entwickeln, aber das ‘Builden’ anderen Plattformen zu überlassen und uns rein auf die einfache Distribution und das Continuous Deployment zu fokussieren. Der Grund das Builden, respektive unsere Build-Server einzustellen, war, dass wir indirekt vollen Zugriff auf den Source-Code der Nutzer hatten und so dem uns zur Verfügung gestellten Code auch weitere Codezeilen hinzufügen konnten, wie zum Beispiel mit der Funktion Autoupdate. Dies führte öfters zu Komplikationen.

Als Product Owner fallen mir natürlich jede Menge gute Gründe ein die für Updraft sprechen:

  • Das einfache und intuitive Design

  • Die Möglichkeit iOS und Android Applikationen zu verteilen

  • Die Möglichkeit eine App gezielt einer Gruppe oder einzelnen Usern zu verteilen

  • Eine Installation der erhaltenen App ist möglich ohne die Installation einer zusätzlichen App

  • Public Download Links für Beta-Testings oder zum einfachen Sharen der App

  • Installation-Links die die Plattform des End-Users erkennen

  • Eine einfache Web-App, welche auch als Enterprise-App Store verwendet werden kann

  • Slack oder E-Mail Benachrichtigungen für neue Versionen einer App

  • Eine Open-Source SDK für iOS und Android mit der Möglichkeit einfach und schnell Feedback bei den Beta-Tester einzuholen und diese laufend über die neueste Version zu informieren (Autoupdate).

  • Mit dem Fastlane oder Gradle Script schickst du dein fertiger Build direkt an Updraft. Eine Anbindung an den Continuous Integration & Deployment Server ist damit sehr einfach

  • Swiss Hosting mit Exoscale: Sichere und verschlüsselte Uploads und App Installationen

  • Pay-as-you-go: Wir verrechnen dir nur soviel, wie du effektiv brauchst

  • QR Code-Scanning zum direkten installieren ab Desktop; insbesondere QA-Spezialisten schätzen diesen einfachen Weg Apps schnell und einfach auf vielen verschiedenen Geräten installieren

  • Magic Links- Links die nur einmal für einen Download einer Applikation verwendbar sind

  • Ein Tutorial welches dem User zeigt, wie die Enterprise Zertifikate resp. die Unknown-Resources zu akzeptieren sind

Zudem können wir Updraft natürlich nach kundenspezifischen Bedürfnissen anpassen oder auch komplett on-premise aufsetzen.

Warum setzt ihr mit Updraft auf eine Swiss Hosting Lösung?

Es war einerseits ein Bedürfnis unserer Kunden, andererseits war es aber auch ein Ziel der Firma langfristig alle unsere Daten in der Schweiz zu hosten. Viele Schweizer-Firmen müssen zudem ihre Daten aus regulatorischen Gründen in der Schweiz hosten, was wir nun mit Updraft vollumfänglich anbieten können. Die Builds werden zu Updraft hochgeladen und verschlüsselt in der Exoscale Cloud gespeichert.

Wie kann Updraft die Entwicklung von Apps konkret verbessern?

Updraft hilft im agilen Entwicklungsprozess einfach und schnell einen ersten visuellen, aber auch funktionalen Eindruck der in Entwicklung stehenden App zu erhalten. Bei Apps with love erhält erhält der Product Owner oder der Kunde nach dem Sprintreview bereits früh einen Release und hat damit einen ersten Eindruck über den Entwicklungsfortschritt der App und kann Feedback geben und ggf. die Roadmap oder das Product Backlog anpassen.
Für einen ersten App Release mit Updraft braucht es noch kein Review der App Stores. So können Beta-Testings einfach und früh im Entwicklungsprozess durchgeführt werden.

Lässt sich Updraft in mein Continuous Integration und Continuous Delivery Prozess integrieren?

Auf jeden Fall! Bei Apps with love zum Beispiel, ist Updraft in fast jedem Projekt in den Continuous Integration und Delivery Prozess integriert. Das richtige Aufsetzen dieses Prozesses von Beginn an eines Projekts ist von enormer Bedeutung. Mit der richtigen Konfiguration kann der Build-und Deployprozess komplett automatisiert werden und man spart über die Projektdauer viel Zeit ein. Um Updraft in jeden Continuous Integration- und Deploymentprozess zu integrieren haben wir ein Fastlane und Gradle Plugin entwickelt. So können wir Updraft direkt mit den Build-Servern verbinden und haben garantiert immer den aktuellsten und richtig zertifizierten Build auf Updraft.

Kann ich Updraft auch für den Rollout einer unternehmensinternen App für eine ganze Organisation verwenden?

Auch dies ist möglich, nämlich mit der Updraft Mobile Web App. Via Updraft Dashboard kann die gewünschte App den Mitarbeitenden zur Verfügung gestellt werden. Jeder Mitarbeitende erhält ein Login und eine ihm zugeteilte User-Rolle. Anschliessend kann der User mit der Mobile Web App seine ihm zur Verfügung stehende App herunterladen. Dies ist eine sehr kostengünstige Möglichkeit im Vergleich zu aufwändigen MDM-Lösungen.

Kann ich Updraft auch bei mir lokal installieren und alles auf den eigenen Server in der Schweiz hosten?

Ja, absolut. Wir können Updraft direkt in der virtuellen Umgebung einer Firma installieren. Schon einige Schweizer Firmen haben sich dazu entschlossen, Updraft ‘on premise’ zu installieren. Falls gewünscht, können wir die Installation auch auf dedizierten physischen Rechnern ausliefern. Bei einer auf den Kunden angepassten Updraft-Lösung ist es dann darüber hinaus natürlich auch möglich, die Gestaltung der Nutzeroberfläche anzupassen, etwa an die Corporate Identity des Kunden. Auch die Entwicklung von neuen Features oder die Modifizierung von Bestehenden ist in so einem Fall natürlich möglich.

Was war die grösste Herausforderung bei der Entwicklung von Updraft 2.0?

Die grösste Herausforderung ist - und wird immer sein - eine Nische zwischen den bestehenden, enorm mächtigen Plattformen zu finden, welche viel Geld investieren um ihre Produkte weiterzuentwickeln. Für mich als Product Owner ist es zudem essentiell das Produkt zielgruppengerecht zu entwickeln.

Eine weitere Herausforderung war rückblickend aber auch das Loslassen vom Produkt Updraft 1.0. Da wir technisch und an der der Ausrichtung dieses Produkts so viel geändert haben, würde ich bei Updraft 2.0 eigentlich eher von einer Neuentwicklung als von einer Weiterentwicklung sprechen.

Als grösste persönliche Herausforderung empfand ich aber, dieses Produkt intern in der Firma immer wieder zu vertreten und die vielen Fragen zu beantworten wie ‘warum machen wir das überhaupt’. Die komplexen Zusammenhänge, welche ein solches Tool mit sich bringt, ist nicht für jeden immer gleich offensichtlich. Eigenprodukte wie Updraft helfen der Firma aber auch wesentlich dabei, sich mit neuen Technologien, aber auch mit neuen Arbeitsmethoden zu beschäftigen und so wiederum viel zu lernen - was dann in anderen Projekten angewandt werden kann. Getreu nach dem Prinzip Play & Error.

Welche Vision verfolgt Updraft?

Die Vision ist klar: Mit Updraft wollen wir das beste und einfachste Beta-Testing Tool entwickeln, um noch früher Feedback von Endnutzern und Kunden im Entwicklungsprozess einer App zu erhalten. Mit Updraft wollen wir die Lücke zwischen App Delivery und Beta-Testing schliessen.

Nehmen wir an ich habe eine App entwickelt und möchte nun Updraft einsetzen. Welche Schritte sind nötig, bis die App bei mir und meinen Betatestern auf dem Smartphone ist?

Sofern die App mit einem Ad-hoc oder Enterprise Zertifikat zertifiziert und gebuildet wurde, ist der Weg zum Verteilen einfach:

  1. Erstelle eine Organisation auf getupdraft.com

  2. Eröffne ein neues Projekt

  3. Lade dein File hoch (.ipa oder .apk)

  4. Füge deine User oder Tester hinzu oder nimm den generierten Public Link

  5. Verteile deine App

Das wär schon alles!

Wie teuer ist Updraft im Vergleich zu anderen Tools mit ähnlichen Funktionalitäten?

Bei Updraft gibt es 3 Möglichkeiten: Free Plan, Pay-As-You-Go sowie die Customized Lösungen, die auf deine Bedürfnisse als Kunde zugeschnitten werden und somit auch individuell unterschiedlich viel kosten.

Falls du dich für den Free Plan entscheidest, kannst du ein App Projekt kreieren, drei Builds hochladen und von 500MB Speicherplatz profitieren. Die wichtigsten Funktionen zum Verteilen einer App sind komplett gratis.

Im Pay-as-you-go-Plan zahlst du eine Grundgebühr von 5$/ Monat und Ende Monat zusätzlich für den effektiv genutzten Speicherplatz. Wir rechnen hier mit 5$ pro genutztem Gigabyte. Du kannst dabei so viele App Projekte erstellen und Builds hochladen wie du möchtest. Du hast also die volle Flexibilität.

Das Pricing unterscheidet sich im Vergleich zu anderen Tools, da bei uns nur der Speicherplatz bezahlt wird und keine Features zusätzlich gekauft werden müssen, die dann allenfalls gar nicht genutzt werden.

Wie geht die Entwicklung weiter und was können wir noch erwarten?

Wir werden uns die nächsten Monate vollumfänglich um die Verbesserung der Usability der bestehenden Funktionen kümmern, sowie das Feedback der User analysieren und gezielt implementieren. Im Q2 und Q3 2019 geht es dann mit neuen Features weiter - zuviel verraten will ich dazu aber noch nicht :). App Delivery and Beta Testing has never been easier.

Letzte Frage: Ich bin interessiert, habe noch ein paar Fragen und möchte dann Updraft gerne ausprobieren - wo kann ich mich melden?

Du kannst dich jederzeit direkt an mich wenden oder eine Mail an info@getupdraft.com senden. Ausprobieren kannst du das Tool jederzeit und völlig kostenlos auf getupdraft.com. Die Registrierung funktioniert ohne Kreditkarte, erst wenn du viel Speicherplatz brauchst, wird ein Upgrade auf den pay-as-you-go-plan nötig.

Super! Merci vielmal für die Beantwortung meiner Fragen!

Wir haben grad gemerkt, dass du mit Internet Explorer surfst. Unsere Webseite sieht damit leider nicht so schön aus.

Du willst erfahren warum das so ist?
Wir haben darüber geschrieben.

Zum Blog

Du brauchst Hilfe bei der Umstellung?
Melde dich. Wir helfen gern.

Kontakt

Einen neuen Browser installieren?
Hier gibt es Auswahl.

Browser