Windows Phone App veröffentlicht

Weight Protocol IconMitte Juni 2013 habe ich erstmals eine Smartphone Anwendung für Windows Phone 8 veröffentlicht. Dieser Artikel beschreibt die Herausforderungen im Verlauf des Entwicklungsprozesses.

Um es gleich vorweg zu nehmen: das Ziel  bei der Entwicklung dieser App war nicht, ein nie dagewesenes, umfangreiches Programm mit kommerziellem Nutzen hervorzubringen. Das Gegenteil ist der Fall. Die App sollte möglichst einfach sein. Sie ist eine Machbarkeitsstudie, die mir Erfahrungen zum Entwicklungsprozesses und Lebenszyklusmanagements liefern soll.

Warum Windows Phone 8 als Plattform?

 Windows Phone führt ein bescheidenes Dasein als Smartphone „Ökosystem“, weit abgeschlagen auf dem dritten Platz hinter den allgegenwärtigen Konkurrenten iOS und Android. Warum also Know-How für ein Nischensystem aufbauen?

Diese Gründe sprechen für die Entwicklung von Apps für Windows Phone:

  • Microsoft liefert ein kostenloses, weltklasse Entwicklungstool: Visual Studio 2012 (Express)
  • Programmierung in C# / .NET: Code und Know-How kann fast direkt für Windows und Silverlight Programme genutzt werden. Es handelt sich also keinesfalls um Nischenwissen
  • Der Markt ist weniger überfüllt als bei iOS und Android
  • Windows Phone ist andwenderfreundlicher und technisch fortschrittlicher als iOS und Android

Es wird ein „Weight Tracker“

Als Funktion der App wurde das tägliche Eintragen des Körpergewichts und dessen Verlauf mittels eines Graphen gewählt. Die App sollte auf Deutsch und Englisch verfügbar sein. Später wurde der Export der Gewichtsliste zu SkyDrive, also in den persönlichen Internetspeicher, als weiterer Punkt der Anforderungsliste ergänzt. Diese Funktionen erschienen für ein erstes Projekt umfangreich genug und dem Autor von persönlichem Alltagsnutzen.

Natürlich gibt es derartige Apps bereits. Sogar so vielfältig, dass diese Klasse von Anwendungen inoffiziell eine eigenen Namen hat: „Weight Tracker“.

Technisch gesehen mußten folgende Punkte bewältigt werden:

  • Lokalisierung in zwei Sprachen
  • Übersichtliche Darstellung einer Liste mit sehr vielen Elementen
  • Ergonomisches Eingabeelement für neue Gewichtseinträge
  • Verwendung eines Graphen
  • Dauerhaftes Speichern und Laden von Daten
  • Speichern und Laden von Einstellungen
  • Hochladefunktion zu Microsoft SkyDrive

 Weight Protocol oder Gewichtsprotokoll

Die App wurde in der deutschen Version „Gewichtsprotokoll“ und auf englisch „Weight Protocol“ getauft. Mit den folgenden Bildschirmfotos soll ein Eindruck der Anwendung vermittelt werden.

 

 Die Startseite zeigt die Gewichtsliste.

Startseite der App mit der Gewichtsliste. Unten befinden sich Schaltflächen für einen neuen Eintrag und Anzeige des Graphen.

Seite zum Eintragen eines neuen Gewichts. Es handelt sich um einen sogenannten "Looping Selector".

Seite zum Eintragen eines neuen Gewichts. Es handelt sich um einen sogenannten „Looping Selector“.

Einstellungsseite

Einstellungsseite

Graph-Seite in vertikaler Lage. Oben befinden sich die Schaltflächen zur Zeitspannenwahl.

Graph-Seite in vertikaler Lage. Oben befinden sich die Schaltflächen zur Zeitspannenwahl.

Graph-Seite in horizontaler Ausrichtung.

Graph-Seite in horizontaler Ausrichtung.

Dünne Bretter

Es gab einige Funktionen der App, die überraschend einfach in der Umsetzung waren.

Die Lokalisierung der Anwendung in verschiedene Sprachen bekommt man fast geschenkt. Anstelle konstanter Texte verwendet man Variablen, die in einer sprachspezifischen Tabelle hinterlegt sind. Weitere Sprachen erfordern nur entsprechende Tabellen.

In Windows Phone 8 gibt es kein natives Anzeigeelement für Graphen. Abhilfe schafft das Einbinden des Silverlight 4 Toolkits, das ein „Chart“ Element zur Verfügung stellt. Dessen Einbindung in die eigene Anwendung ist nur noch Fleißarbeit.

Das Laden und Speichern von Daten im lokalen Handy-Speicher ist eine gut dokumentierte Standardaufgabe. Die Gewichtsliste läßt sich mit wenigen Befehlen in eine XML-Datei speichern und laden.

Harte Nüsse

Das Hochladen von Dateien zu SkyDrive ist eine weitere Standardaufgabe für Windows Phone Apps. Wie so oft steckt auch hier der Teufel im Detail:
Windows Phone lädt Dateien im Hintergrund mittels einer Warteschlange hoch. In der Simulationsumgebung und während des Debuggings an einem echten Gerät funktionierte der Upload der Gewichtsliste zu SkyDrive ohne Probleme. Wurde die Anwendung allerdings nicht mit einer USB-Verbindung zum Entwicklungsrechner benutzt, fand der Upload der Gewichtsliste nicht statt. Erst, wenn das Telefon per USB mit dem Rechner verbunden wurde, wurde zu SkyDrive hochgeladen.
Nach langer Suche stellte sich heraus, dass der Upload standardmäßig verschoben wird, bis eine USB-Verbindung besteht. Eine einzige Codezeile sorgt für den drahtlosen, unverbundenen Upload:

LiveConnectClient.BackgroundTransferPreferences =
 BackgroundTransferPreferences.AllowCellularAndBattery;

Es gibt einige weitere Funktionen, die zunächst einfach erscheinen, bei denen sich bei Nahsicht jedoch ungeahnte Komplexität und Details entfalten. Dazu zählen das Navigationsverhalten innerhalb der App und das „Wiederholen“ der geschlossenen App per Rückwärtstaste.

 Marktreaktion

Die Downloadzahlen der App im ersten Monat waren viel besser als erwartet. Täglich wird Weight Protocol von 10 bis 20 Personen aus der ganzen Welt installiert. In weniger als einem Monat hatte Weight Protocol über 200 Installationen erreicht – trotz zahlreicher und funktionsstärkerer Alternativen im Store. Weitere Lokalisierungen, zum Beispiel eine spanische Version, könnten weiteres Marktpotential abschöpfen.

Weight Protocol im deutschen Windows Phone App Store

4 Gedanken zu „Windows Phone App veröffentlicht

  1. Hallo

    ich finde in Deinem/Ihrem Tool eine unheimliche Hilfe.
    Als ‚Umsteiger‘ von Android bin ich natürlich auf der Suche nach Ersatz für die ein oder andere App.
    Hier zeigt sich nun das eigentliche Problem:
    Ich habe bereits ca 200 Daten vorliegen (Datum und das dazugehörige Messergebnis in xx,yy kg

    Nun kann ich in Deinem/Ihrem Programm, weder rückwärts orientierte Daten eingeben, noch ist zur Zeit eim Import vorgesehen.

    Welche Optionen habe ich, um nich ‚heute‘ noch mal mit den Messungen neu zu beginnen und die bereits existierende Historie zu verlieren?

    Ich bin vom IT-KnowHow durchaus in der Lage mit entsprechenden Editoren, Konvertern und sonstigen IT-Mitteln zu arbeiten, wenn ein Zugang zu der Gewichtstabelle in Deinem/Ihrem rogramm irgendwo möglich sein sollte.
    Es fehtlt mir eigentlich nur an den Tips und dem Zugang zu dem Ablagerplatz der Messdaten (und dem Wissen über das Format).

    mit lieben Grüssen,
    Steffen Fleck

  2. Hallo Steffen,

    vielen Dank für deinen Kommentar und das Interesse an meiner App. Über die Möglichkeit zum Datenimport hatte ich nachgedacht, mich dann aber aus folgenden Gründen dagegen entschieden:

    • Der Sinn der App liegt im Notieren des Gewichts. Sein Handy hat man schnell zur Eingabe des Gewichts zur Hand, hierin liegt die Stärke einer App gegenüber dem Desktoprechner mit einem Tabellenkalkulationsprogramm. Das grafisches Anzeigen ist eine sinnvolle Ergänzung zu den Daten, die gespeichert sind.
    • Die grafische Darstellung von Gewichtsdaten, die bereits als Datei vorliegen, ist mit einem Tabellenkalkulationsprogramm einfach und anpassbar – die App bietet keinen Vorteil gegenüber dem PC.
    • Der Import einer Datei erfordert die Einhaltung eines bestimmten Dateiformats. Das ist schwierig an den Benutzer zu kommunizieren und fehleranfällig. Schuld hat dann aus Benutzersicht die App, sie ist „schlecht“.
    • Datenimport ist programmatisch aufwendig, weil die genaue Einhaltung des Datenformats überprüft werden muss.
    • Es handelt sich um eine kostenlose und werbefreie App für die ich nur eine begrenzte Entwicklungszeit aufwenden wollte.

    Das Datenformat, in dem die App die Daten speichert, ist kein Geheimnis. Es handelt sich um eine einfache XML Datei nach unten stehendem Muster. Die Kenntnis dieses Musters ist allerdings nicht von Nutzen, da Windows Phone keine Möglichkeit bietet, auf den Speicherplatz der App zuzugreifen. Das ist eine Sicherheitsfunktion, die das System vor allem vor Schadprogrammen schützt.

    <ArrayOfWeightData>
    <WeightData>
    <Property_Weight>71.2</Property_Weight>
    <Property_Date>2013-05-04T00:00:00+02:00</Property_Date>
    </WeightData>
    <WeightData>
    <Property_Weight>71.2</Property_Weight>
    <Property_Date>2013-05-06T00:00:00+02:00</Property_Date>
    </WeightData>
    </ArrayOfWeightData>

    Zu guter Letzt möchte ich aber einen kleinen Ausblick bieten: Ich selbst habe festgestellt, dass die Eingabebeschränkung des Gewichts auf den aktuellen Tag manchmal lästig ist. Ich plane, eine Funktion zum manuellen Setzen eines beliebigen Datums einzubauen. Fest versprechen möchte ich das hier aber nicht.

  3. Tolle App, bin auf eine Neues WindowsPhone umgestiegen, wie bekomme ich die alten Daten wieder in die App…

  4. Danke für das Lob. Die App bietet keine Importfunktion, weil sie ihre Stärke nicht in der Anzeige des Gewichtsverlaufs hat, sondern in der Eingabe. Wenn man einen tollen Graf darstellen möchte, macht man das am besten am PC mit einem Tabellenkalkulationsprogramm. Dafür gibt es die Exportfunktion.

Schreibe einen Kommentar

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