#rTsd – Road to Surface Duo, das Entwicklertagebuch: Teil 1

#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.

Road to Surface Duo Readme

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.

Road To Microsoft Surface MicrosoftOneNote

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.

Road To Microsoft Surface Adobe XD Screen Design

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

Über den Autor
Tobias Scholze
  • Tobias Scholze auf Twitter
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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.



Kommentare
  1. Schön das du dich für Dr. Windows entschieden hast. Auf den bling bling Gadget-Seiten bekommt man mittlerweile nichts vernünftiges zu lesen! Wünsche dir viel Durchhaltevermögen, werde dich aufmerksam verfolgen. Ich finde das Vorhaben super!!!
    Ja, das interessiert mich sehr. Ich gehe in eine HTL (Name einer österreichischen Oberstufenschule) für Informatik, wo man selber programmiert, aber nach Lehrervorgaben. Deswegen interessiert mich einmal den ganzen Weg von der Idee zur fertigen App mitzuverfolgen.
    Igitt! Ein iPhone-Nutzer...
    (Nur ein Scherz. Ich kann nur nicht nachvollziehen mit welcher Vehemenz seit dem Aus von Windows Mobile Android als die einzige Alternative propagiert wird.
    @skalar, @cosmicyes, @kaloschke
    Merci euch!
    Mal sehen wo die Reise hin geht :)
    @Baumg.P
    Ich hoffe meine Reise bringt auch dir etwas! Du kannst dich gerne immer beteiligem, Fragen stellen, etc. pp.
    @WindowsPhoenix
    Wobei ich sagen muss, etliche Apps finde ich von MSFT auf iOS aufgeräumter und vor allem benutzbarer. Man darf nicht vergessen, dass Android eben relativ offen ist und sich MSFT somit alles hinbiegen kann wie es braucht. Unter iOS ist dies ja nicht möglich
    Oh, ich bin gespannt. Ich wollte mich schon länger in die App Entwicklung einarbeiten, finde jedoch keinen Zugang dazu. Wenn es hier Schritt für Schritt voran geht, lässt mich meine Motivation hoffentlich nicht im Stich.
    Geil. Stellt euch vor DrWindows wird die erste beim Release vollkompatible Duo-App sein, die die beiden Screens ideal nutzt...
    Setzt euch ran, das bringt mehr als für Windows zu entwickeln, weil all die jungen Leute halt aktuell vom Babyalter aus an Android gewöhnt werden.
    Klar bin ich dabei! Eine App-Entwicklung auf Xamarin-Basis kann ich mir doch nicht entgehen lassen. Bin gespannt, was die Zeit bringen wird.
    @Mamagotchi, @paradonym, @smithers
    Yay, ich bin echt geflashed von eurem Zuspruch. Merci euch!
    @skalar
    Der Fokus liegt erstmal auf Xamarin, damit man sich darauf konzentrieren kann, aber einer UWP Version steht ja später nichts im Wege. :)
Nach oben