Ideentool wird zu Wryte

2014 veröffentlichte ich die erste Version meines Ideentools. Dabei handelte es sich um ein Werkzeug für Autoren welches unterschiedlichste Generatoren für Namen, Charaktere und ähnliches anbot. Im Laufe der Jahre kamen viele Generatoren hinzu, allerdings wirkte die Technik hinter dem Ideentool mittlerweile etwas angestaubt.

Das alte Ideentool

Im Zuge einiger Überlegungen entstand schlussendlich ein neues Projekt mit dem Namen Wryte. Der Fokus von Wryte ist ein wenig anders als der des Ideentools. So sollte Wryte internationalisierbar sein, also für unterschiedlichste Sprachen zur Verfügung stehen. Daneben sollte das Thema Schreiben etwas weiter gefasst werden, so soll es einmal um das Schreiben im Sinne eines Autoren und Schreiben im Sinne einer Entwicklers gehen.

Hintergrund hierfür war, das ich neben dem Schreiben auch entwickle und jeweils bestimmte Tools für beides immer wieder benötige. Deshalb sind die Werkzeuge in Wryte in zwei Personas unterteilt, einmal für Autoren und einmal für Entwickler.

Ein weiteres Ziel von Wryte war die Unterstützung und Integration in mobile Systeme. So kann die App unter iOS und Android auf den Homescreen gelegt werden und fühlt sich so wie eine native App an.

Wryte ersetzt das Ideentool

Technisch wurde die Architektur sinnvoller gestaltet. Während das Ideentool eine wilde Ansammlung von JavaScript– und PHP-Schnipseln war, wurde Wryte architektonisch in eine REST-API und die eigentliche Frontend-Applikation zerlegt. Die API soll in den nächsten Monaten öffentlich dokumentiert werden, sodass diese auch von anderen genutzt werden kann. Für die API wurde eine Swagger-Datei geschrieben und mittels dieser ein Server-Stub für das Slim Framework erzeugt. Die Frontendanwendung ist eine HTML5-App und kann im Gegensatz zum Ideentool auch auf mobilen Systemen sehr gut genutzt werden. Technisch basiert sie auf dem Framework 7-Framework.

Unter iOS kann die App auf den Homescreen gelegt werden

Zu finden ist Wryte unter wryte.net. Im Gegensatz zum Ideentool, fehlen noch einige Generatoren wie der Charakter- und Geheimnisgenerator, einige Fantasienamengeneratoren und die Generatoren für Titel und Verwandtschaftsverhältnisse. Die meisten dieser Generatoren sollen in den nächsten Wochen und Monaten hinzugefügt werden.

Framework 7

Bei der Suche nach brauchbaren und kleineren Frameworks für die Entwicklung von Web-Anwendungen bin ich unter anderem über OpenUI gestolpert. Allerdings war das Framework für meine Zwecke etwas zu groß, weshalb ich mich schlussendlich für Framework 7 entschieden habe. Mithilfe des Frameworks ist es möglich Web-Anwendungen zu schreiben, welche unter iOS, Android und auf dem Desktop laufen. Neben der Ausführung im Browser ist es daneben möglich Apps für die mobilen Systeme zu bauen. Framework 7 liefert Themes für iOS und Android mit, so das sich die Elemente an das Betriebssystem anpassen.

Eine Beispiel-App, welche mit Framework 7 erstellt wurde

Die offizielle Seite des Projektes ist unter framework7.io zu finden. Der Quelltext des Framework 7 ist auf GitHub zu finden. Der Quelltext des Frameworks ist unter der MIT-Lizenz lizenziert und damit freie Software.

Wireless Geographic Logging Engine

Bei der Wireless Geographic Logging Engine, kurz WiGLE, handelt es sich um eine Datenbank in welcher WLAN-Netzwerke aufgezeichnet werden. Neben der Position und dem Namen werden anderen Dinge wie die genutzte Verschlüsslung hinterlegt. Mittlerweile sind in der Datenbank über 530 Millionen Netzwerke aufgeführt. Neben dem Fokus auf WLAN, werden ebenfalls Bluetooth-Geräte in der Datenbank aufgeführt.

Die Webseite des Projektes

Eigene Netzwerke können mithilfe der WiGLE-Android-App hinzugefügt werden.

Wigle Wifi Wardriving
Preis: Kostenlos

Für iOS existiert keine WiGLE-App. Allerdings gibt es noch weitere Möglichkeiten Daten zur Datenbank beizutragen. Die Daten selber sind dabei leider nicht unter einer freien Lizenz lizenziert. Zu finden ist das Projekt unter wigle.net.

Freie Schachplattform

Die Möglichkeiten Schach zu Spielen sind im Internet fast unbegrenzt. Mit Lichess gibt es seit 2010 eine freie Schachplattform, auf der gegen den Computer und andere Menschen Schach gespielt werden kann. Neben dem gewöhnlichen Schach werden viele andere Varianten wie Crazyhouse, Horde oder Räuberschach unterstützt. Für gespielte Spiele bietet die Plattform umfangreiche Analysemöglichkeiten an.

Lichess ermöglicht unterschiedliche Spielmodi

Finanziert wird das werbefreie Lichess durch Spenden. Neben der Webseite existieren Apps für iOS und Android.

lichess • Online Chess
Preis: Kostenlos

Auch Spieler wie der aktuelle Weltmeister Magnus Carlsen nutzen Lichess. Die Software hinter Lichess ist auf GitHub zu finden. Lizenziert ist das Ganze unter unterschiedlichen freien Lizenzen und damit freie Software.

ANDROID_HOME unter macOS setzen

Beim Kompilieren eines Android-Projektes kann es zu folgender Meldung kommen:

Caused by: java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Diese Meldung besagt dass das SDK nicht gefunden werden kann, da die Eigenschaft sdk.dir bzw. die Umgebungsvariable ANDROID_HOME nicht gesetzt ist. Unter macOS befinden sich die Android-SDKs im Library-Pfad des angemeldeten Nutzers:

/Users/seeseekey/Library/Android/sdk/sources

Der Nutzername, in diesem Beispiel seeseekey, muss natürlich durch den eigenen Nutzernamen ersetzt werden. Um diesen Pfad als Umgebungsvariable einzutragen muss das Terminal geöffnet werden und mittels cd in das Nutzerverzeichnis gewechselt werden. Anschließend wird die Datei .bash_profile angelegt bzw. geöffnet:

cd
nano .bash_profile

In diese Datei wird nun folgende Zeile eingetragen:

export ANDROID_HOME=/Users/seeseekey/Library/Android/sdk

Damit wird die Umgebungsvariable ANDROID_HOME automatisch bei der Anmeldung gesetzt und kann anschließend auch vom betreffenden Android-Projekt genutzt werden.