#rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 1
Microsoft wird aller Voraussicht nach im kommenden Jahr 2020 das erste eigene Android Telefon unter dem Dach der Surface Reihe auf den Markt bringen.
Mit dem neuen Bedienkonzept von zwei sichtbar getrennten Bildschirmen und der Marktmacht seitens Microsofts in Sachen Produktivitäts-Apps kann dies zu einer interessanten Gelegenheit für Entwickler werden, sich in einem kleinen aber dadurch auch neuen Ökosystem verdient zu machen.
Um zum Marktstart bereit zu sein, wäre jetzt ein idealer Zeitpunkt, sich mit beispielsweise Xamarin.Forms zu beschäftigen, um Fähigkeiten oder gar die erste, speziell für das Microsoft Surface Duo konzipierte, App zur Einführung der neuen Geräte einsatzbereit zu haben.
Straße zum Entwicklerglück
Meine “Road to Surface Duo” ist deswegen auch ein (Selbst-) Versuch, mich fundiert in die Materie C#, Xamarin.Forms für Android und den dahinterliegenden Softwarearchitekturen und Pattern einzuarbeiten.
Ich möchte gern diese Schritte hin zu einer hoffentlich fertigen App für das Surface Duo mit euch teilen. Eventuell könnte ja dieses Gerät auch für den einen oder anderen aus der bunten Dr. Windows Community der Startschuss in Richtung Spaß mit moderner App-Entwicklung mit Xamarin sein.
Aus diesem Grunde möchte ich euch am Entstehungsprozess der App als auch an meinem Vorgehen mittels dem einen oder anderen Beitrag teilhaben lassen. Je nach Lust des Forums kann hieraus auch ein aktives Community-Projekt werden. Wir werden sehen.
Es ist nur eine Phase
Wie alles im Leben hat auch die Softwareentwicklung viele Phasen. Auch wenn es ich bei diesem Projekt um ein spaßiges Freizeitabenteuer handelt, besteht auch dieses aus verschiedenen Abschnitten. Von der ersten Idee, bis zur Präsentation des endgültigen Werkes wartet ein langer, aber auch vielschichtiger Weg auf uns.
Heute möchte ich euch zeigen, wie ich an die ersten drei Schritte, der Ideenfindung, die Motivation und die ersten Designideen herangegangen bin. Immer unter der Prämisse, dass diese leicht und frei von Kosten nachzuahmen sein sollen.
Erstens: Die Idee und Motivation
Als Dr. Windows vor wenigen Wochen zum ersten Mal über das Surface Duo (und Neo) berichtete, fiel mir besonders der praxisbezogene Bezug während der Vorstellung von Panos Panay als auch der Geräte an sich auf. Auf mich wirkt das Surface Duo als ernst gemeintes Produkt (für Geschäftskunden) und nicht wie eine verfrühte Technologie-Demo wie unter anderem das Samsung Galaxy Fold (Wiki) oder das Huawei Mate X (Wiki).
Der bewährt gute Ruf der Marke „Surface“ bei den Anwendern, gepaart mit der Botschaft von Microsoft, bereits früh Entwickler mit an Bord zu holen und, bis zum Start der Geräte im kommenden Jahr, durch gegenseitigen Austausch ein gelungenes Ökosystem für alle Parteien auf die Beine zu stellen, war der Startpunkt meiner ganzen Idee für das Projekt – und die Lust auf das Device.
Ich möchte diese (technische) Vorfreude gerne mit anderen Menschen teilen. Aus diesem Grund will ich mit einer kleinen, einfach zu verstehenden, jedoch dennoch nicht komplett unnützen Beispiel-App meinen Weg zum Surface Duo auch für Neulinge aufzeigen und motivieren, selbst in die Tastatur zu hauen. Rundum ein schönes Vorhaben für die staade Zeit.
Um mich von meiner eigenen Motivation selbst zu überzeugen, habe ich eine etwas ausführlichere Readme-Datei im GitHub Repostiory hinterlegt. Somit war ich mir sicher, dass ich mich wohl wirklich auf das Projekt einlassen kann – wenn ich mir anfangs schon solche Mühe gebe.
Da wir hier auf Dr. Windows sind kam mir die Idee, den RSS-Feed (Wiki) der News-Beiträge des Doktors als Datengrundlage zu verwenden, besonders nahe liegend vor. Somit war auch die Aufgabe hinter der App gefunden. Sie soll einen schnellen Überblick über aktuelle Beiträge auf dr.windows.de geben, diese im Detail darstellen.
Dies ist gewiss nichts Neues, jedoch steht bei der App nicht der direkte Usecase im Vordergrund, sondern die Beschäftigung mit der Technologie dahinter. Somit sind in anderen Themenbereichen der Entwicklung die Low-Hanging-Fruits sehr willkommen.
Zweitens: Notizen sind die halbe Miete
Egal ob im Berufsleben oder in der Freizeit, Ideen kommen meistens, wenn man sie nicht erwartet. Damit diese nicht gleich wieder im Lärm des Alltags verschwinden, ist es hilfreich, diese sofort, wenn auch nur rudimentär, zu notieren. Meist reicht schon ein Wort, um sich später wieder an den Gedankengang entsinnen zu können.
Meine Lösung hierfür ist, immer und überall Microsoft OneNote mit mir zu haben. Dies ist leicht, da es nicht nur auf Windows und Mac, sondern auch auf iOS und Android, und wenn alle Stricke reißen sollten im Web verfügbar ist.
Dank OneNote kann ich also auf dem Heimweg etwas Schnelles am iPhone tippen oder mit dem Stift auf dem iPad oder Surface skizzieren, was ich dann am Desktop zuhause für die weitere Verwendung aufbereiten kann. Dabei begleitet mich OneNote nicht nur anfangs, sondern wird uns in folgenden Phasen noch des Öfteren begegnen.
Eine ebenfalls plattformunabhängige Alternative hierfür wär neben einer Zettelwirtschaft beispielsweise auch Evernote.
Drittens: Des Königs Kleider
Es ist schön, bei solchen Freizeitprojekten völlig frei von Vorgaben zu sein. Dies kann allerdings dazu führen, dass man sich zu oft im Kreis dreht, weil man kein definiertes Ziel vor Augen hat. Um die späteren Arbeitsschritte in etwas mehr gelenkte Bahnen zu leiten, können hierbei grobe Konzepte zur Oberfläche als auch der Hauptnavigation der App helfen.
Hierfür gibt es viele hilfreiche Programme auf dem Markt und es ist eigentlich auch egal, was man nutzt, Hauptsache sie helfen.
Da mein Favorit Sketch nicht für Windows erhältlich ist und Affinity Designer (Store) mit einem Preis von knapp sechzig Euro gegen meine Voraussetzung der kostenfreien Entwicklung steht, entschloss ich mich, Adobe XD zu nutzen. Diese App ist für alle gängigen Plattformen erhältlich und mittels einer kostenlosen Adobe-ID nutzbar.
Dies bedeutet nicht, dass ein einfaches Stück Papier und ein Bleistift für den Anfang nicht auch eine ideale Kombination darstellen können.
Bei der Gestaltung war mir wichtig eine, auch von mir als Beginner, realisierbare Oberfläche zu haben, welche jedoch nicht nur plump die Standardelemente benutzt.Durch Farbverläufe und „Tränen“-Formen soll hier ein leichtgewichtiges Aussehen entstehen, welches den rein textuellen Inhalt auflockert.
Um nicht zu viele verschiedene Farben in der App zu verwenden, entschloss ich mich auch eine harte Palette anzulegen, aus welcher sich anschließend die entsprechenden App-Elemente leicht einfärben lassen.
Wie geht es weiter?
In den folgenden Beiträgen werden wir unser Abenteuer mit der Entwicklung erst richtig beginnen. Wir werden uns mit Oberflächengestaltung in XAML sowie mit der Datenbeschaffungslogik in C# auseinandersetzen müssen. Wir werden tiefer in Xamarin.Forms eintauchen und sicherlich auch das eine oder andere nicht geplante Feature einbauen oder Problem lösen müssen.
Auch Themen wie Crash-Reporting Continuous Integration mit Visual Studio App Center könnte als Bestandteil des App-Life-Cycles mit eingebaut werden. Ein Sack voller Möglichkeiten.
Es wird eine spannende Zeit mit vielen Fehlern aber auch Erfolgen. Ich freu mich drauf! Kommt ihr mit – auf unseren Weg zum Surface Duo?
Ungeduldige oder technisch Interessierte können die Entwicklung auf dem für die App angelegten GitHub Repository verfolgen, helfen oder auch einfach nur einmal schauen, wie denn so eine App unter der Haube aussieht.
#communityrocks
Themen:
- Entwicklung
- Microsoft auf Android
- News
Über den Autor
Tobias Scholze
Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocks Von Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.