Blick hinter die Kulissen: Wie wird die Community App gebaut? 

Wie ihr bestimmt schon aus der Community mitbekommen habt, haben wir eine Windows Universal App. Dies ermöglicht es euch mobil von eurem Windows Phone oder Tablet alle News rund um die Community zu bekommen.

Aber wir ruhen uns natürlich nicht aus und haben Tobias mit ins Developerteam geholt. Er ist iOS Entwickler und hat sich angeboten, uns (Maik/Raphael) zu unterstützen. 

Nun hat er sogar einen Blogartikel geschrieben, wie wir eigentlich zusammen arbeiten und wie eine Community App entsteht.  

Vielen lieben Dank @Tobias! 

Also schaut rein: 

Euer WindowsCommunity Team

Von Tobias

Kommunikation im Team – Teams & OneNote

Wir nutzen ein geteiltes Microsoft OneNote Notizbuch um zu Besprechendes als auch Besprochenes festzuhalten. Da sich bei den Community Apps allesamt um Hobbyprojekte handelt, sind Aufgabenlisten zum bequemen Abhacken als auch das Festhalten flüchtiger Gedanken in Form von eingebetteten Skizzen essentiell, um zeitraubendes Nachfragen vermeiden zu können. 

Ein wünschenswertes Feature von Teams wäre noch, geschriebenen Quelltext formatiert anzeigen zu können. Da diese Funktionalität in den Konkurrenzprodukten bereits integriert ist, dürfte es eventuell auch bald in Teams Einzug halten. 

Quelltextverwaltung:

Des Weiteren wird nach einem Push (Zustandsänderung) auf dem Hauptentwicklungsast automatisch eine Applikation gebaut und ein einfacher Startup-Test, also ein erfolgreiches Starten der App, durchgeführt. Nach Klärung von Ungereimtheiten ist geplant, zukünftig dieses Verfahren zu nutzen, um die hierbei erstellte App an die Applikationsverteilung weiter zu reichen. Kurz gesagt, wir wollen mittelfristig eine Continous Integration beziehungsweise eine Continous Delivery mit eingeschlossenen Tests erreichen.   Es bleibt zu hoffen, dass die Funktionsmigration von der in die Jahre gekommenen HockeyApp bald abgeschlossen ist. So fehlen noch beispielsweise Features, um ein direktes Feedback der Tester erfassen zu können oder generell einen Austausch zwischen Entwickler und Tester als auch Tester zu Tester zu ermöglichen.  

Wie geht es mit der App weiter? 

Eine Version für Android ist bisher nicht geplant. Diese würde eventuell mit einer erneuten Evaluation von Xamarin Forms mit einhergehen, um alle Apps trotz der vorherigen Schwierigkeiten auf eine einzige Codebasis zu stellen.

Für die iOS-Variante müssen tiefgreifende Änderungen an serverseitigen Komponenten vorgenommen werden. Sobald diese abgeschlossen sind, wird auch diese Entwicklung weitergeführt. 

Die mittels Windows App Studio erstellte UWP-App steht bereits im Windows 10 App Store zum Herunterladen bereit. Eine neue per Hand entwickelte Version befindet sich am Anfang der Konzeptionsphase.  

 

Das ist doch sicherlich alles voll teuer! 

Alle – bis auf Microsoft Teams – hier vorgestellten Programme und Service sind entweder komplett kostenfrei oder besitzen eine, für Hobbyentwickler ausreichende, kostenlose Variante. Somit wird auch eine personell verteilte Entwicklung von Programmen massenkompatibel und ermöglicht es jeden aktiv an der Erstellung von neuen Apps und Diensten teilzunehmen. Ganz getreu nach dem Motto des kürzlich erschienen Windows 10 Creators Update.

Analyse von Metriken und Abstürzen 

Keiner will es wahrhaben, jedoch stürzen Applikationen ab. Dieses Faktum ist nicht verrückbar. Was schlimmer als Programmabstürze sind, sind Crashes bei denen der Entwickler nichts lernen kann. Dies ist jedoch essentiell, um eventuell Fehlerbehebungen nachzureichen. Aus diesem Grund nutzen wir,  ebenfalls aus dem Visual Studio App Center, die Möglichkeiten zur Erkennung von Abstürzen und der generellen Erfassung des Nutzerverhaltens. Letzteres klingt nach einem kleinen Spion in der Handfläche. Allerdings ist dieses Tracking ungefährlich, da komplett personenanonymisiert. Nichtsdestotrotz ist es sehr nützlich, um eine Metrik über gut oder schlecht genutzte Features der App zu erhalten. Hierdurch kann man in folgenden Programmiterationen Oberflächen anpassen, um eine bessere Benutzungserfahrung zu erreichen. 

Obwohl das Visual Studio Mobile Center noch in den Anfangsschuhen steckt, werden in flotter Folge neue Features in einer, wohlgemerkt übersichtlichen, modernen Oberfläche hinzugefügt. Vorbildlich ist auch der in das Center eingebaute Support. Mittels Chatfenster kann man nahezu direkt mit entsprechenden Produktverantwortlichen reden und somit bei der Verbesserung des Service mithelfen.  

Um Testversionen an Personen ausspielen zu können, nutzen wir das brandneue und noch in der Preview befindliche Visual Studio App Center. Dies ist der schicke Nachfolger der von Microsoft aufgekauften HockeyApp. Im Zuge eines fortgeschrittenen Entwicklungsprozesses ließen sich hiermit verschiedene sogenannte Verteilungsäste für beispielsweise Alpha- und Beta-Tester einrichten, um verschiedene Entwicklungszustände ausliefern zu können. 

Applikationsverteilung für Tester und Entwicklungserkzeuge

Bei der Softwareentwicklung fällt glücklicherweise Quelltext an. Da dieser wartbar und gegen Datenverlust geschützt sein soll, nutzten wir Git als zentrale Versionierungsverwaltung und Microsoft Visual Studio Team Services (VSTS) als entfernten Speicherort. Diese ermöglichen neben einer sicheren Speicherung der Quelltexte auch eine grafische Möglichkeit, verschiedene Entwicklungszweige zusammenzufügen als auch mittels eines Ticketsystems neben Fehler Verbesserungen nachverfolgbar zu erfassen. 

Wir haben uns für den ersten Schritt gezielt gegen eine plattformunabhängige Xamarin Lösung entschieden und entwickeln vorerst nativ für das jeweilige Zielsystem. So nutzen wir für iOS die von Apple stammende Entwicklungsumgebung Xcode, wie natürlich für eine Windows 10 UWP App Visual Studio (Community). Hier sei angemerkt, dass Letztere mittels dem Windows App Studio ganz ohne eigenen Quelltext entstanden ist. 

Datenablage 

Für den Gesprächsaustausch untereinander nutzen wir Microsoft Teams. Hier sprechen wir in kontextspezifischen Channels anstehende Aufgaben oder diskutieren beispielsweise das weitere Vorgehen. Teams ermöglicht es, weitere Microsoft Office Produkte wie OneNote direkt innerhalb des Programmes mitanzuzeigen und reduziert somit die Verwirrung mit dutzenden offenen Programmen, in denen man gleichzeitig hantieren müsste. 

Bei nahezu allen Schritten einer Softwareentwicklung fallen irgendwelche Dateien an. Seien es Skizzen, Bildschirmaufnahmen von Prototypen oder Entwürfe für Blogartikel. Für all dieses nutzen wir Microsoft OneDrive mit jeweils geteilten Ordern und Dateien. Der Vorteil hier ist, neben einer zentralen Stelle, in welcher auch andere Programme wie OneNote und Teams leben, das Bearbeiten von Dokumente im Browser. 

 

Konzeption 

Wie für diese Community vorherzusehen ist, setzen wir hierbei auf einen nahezu vollkommenen Microsoft Technologiestack, der in den allermeisten Teilbereichen sogar kostenfrei zur Nutzung bereitsteht. 

Die deutsche Windows Insider Community möchte auf lange Sicht etliche Funktionalitäten der Webseite, des YouTube Kanals und anderen Orten in einer mobilen App bündeln. Den Anfang hierzu macht, neben die über das Microsoft App Studio erstellten, experimentellen UWP App, eine Version für iOS. Da uns aus verschiedenen Motivationen entstehend öfters die gleiche Frage nach dem „wie macht ihr das?“ ereilt,  soll dieser Blogartikel nun Transparenz in dieses Thema bringen. 

Schreibe einen Kommentar