AppStart

und die Welt wird (endlich) eine faulere.

App Start

App Start ist eine kleine offline WebApp die mit Hilfe von Websockets und einer Server Komponente Apps auf einem Mac starten und grundlegend steuern kann.

Installation

Das Programm ist aufgeteilt in zwei wesentliche Komponenten

WebApp

Die Webapp ist zu finden unter ./public. Dieser Ordner muss via Web ereichbar sein.

Server

Der Server befindet sich in ./server und darf nicht öffentlich erreichbar sein! Die Installation des servers ist relativ simpel. Zunächst installiert man sich Composer und navigiert im Terminal nach ./server. Dort lassen sich die Abhängigkeiten mittels

composer install 

installieren.
Um den Server zu starten gibt es das Bash-Script ./server/app-start.

Konfiguration

Apps

Die erreichbaren Anwendungen werden als JSON in ./server/apps.json konfiguriert.
Das Schema ist wie folgt:

[ 
	{ 
		"name" : "XBMC", 
		"file" : "\/Applications\/XBMC.app", 
		"cmd" : "open" 
	}, 
	... 
] 

Grundlegend ist es ein Array von Objekten mit folgenden Eigenschaften:

  • name Angezeigter Name
  • file Pfad zur Anwendung.
  • cmd Terminal Command zum starten, in der Regel open

Das Icon wird aus dem App-Bundle generiert.

Tmp Ordner

Da die Anwendungsicons nicht jedes mal von neuem generiert werden sollen, werde diese in ./server/tmp gecached. Dazu muss dieser Ordner existieren und von PHP beschreibbar sein.

Usage

Bashscript starten, WebApp auf dem iPad aufrufen. Steuern.

Requirements

  • PHP >= 5.3
  • Composer
  • sips (Standardinstallation seit Mac OS 10.4)

Dependencies/Libraries

Mediakeys.py

Zur Steuerung von Play/Pause, Next Track, Prev Track etc. wird mediakeys.py von fredrikw verwendet.

CFPropertyList

CFPropertyList ist eine Library um die Info.plist Dateien der Anwendungen zu parsen von Rodney Rehm

Ratchet

Ratchet ist eine Library die mir die Arbeit abnimmt einen Server zu implementieren, der sich um die Websocket-Verbindungen kümmert.

Bootstrap

Bootstrap von Twitter erleichtert mir die UI der Webapp.

WebApp Icon

Das Icon der Webapp kommt von CE0311

Screenshots

Screenshot ipad

iPad Webapp. Dafür wurde die Software entwickelt.

Screenshot iphone

Abfallprodukt ist, dass die Software auch auf dem iPhone funktioniert.

Fehler/Bugs/Verbesserungen

Wer etwas anzumerken hat, der schreibe doch bitte ein github issue und wer es schnell gefixed wissen möchte und programmieren kann, der sendet mir bitte einen Pull-Request 😉 Das wäre ganz herzig!

Known issues

Die Mediatasten funktionieren leider nur bei iTunes zuverlässig. Bei Spotify und anderen Musikanwendungen funktioniert aber in der Regel Play/Pause. Es ist oft hilfreich, dass Programm vorher noch einmal nach vorn zu holen, damit es sich die Mediakeys “schnappt”. Das schafft man durch erneutes “starten” der App.