Ein PC ohne Peripheriegeräte ist wie ein Auto ohne Räder – man kommt damit nicht weit. Für uns bei Shadow ist es wichtig, dass du deinen Shadow auf deine Bedürfnisse anpassen kannst. Aus diesem Grund haben wir die Remote-USB-Funktion entwickelt, mit der man jegliche USB-Geräte mit dem Shadow verbinden kann.
Bei der Entwicklung von Shadow gab es immer wieder kleine Hindernisse, die es zu überwinden galt. Eines der größeren Probleme war allerdings, die vollständige Anpassbarkeit eines PCs in die Cloud zu bekommen.
Egal was man per USB mit seinem Shadow verbindet, alles soll funktionieren. Von Maus und Tastatur, über externe Festplatten, Tablets und Webcams – es soll wirklich alles wie auf einem lokalen PC funktionieren.
Die Entwicklung unserer Remote-USB-Funktion (USB-Over-IP) war ein hartes Stück Arbeit. Das Feature wurde ursprünglich für die Shadow Box,den Vorreiter der Shadow Ghost, entwickelt, und sollte lediglich die Geräteinformationen (i.d.R. Maus und Tastatur) von der Box per Netzwerk an deinen Shadow-PC übertragen.
Und genau dieses Stück Quellcode ist zwar super kompliziert, aber genial. Durch ihn wird das Signal von einem Peripheriegerät direkt ins Netzwerk übertragen. Dieser Trick existiert schon seit längerem in der Cloud-Branche, allerdings haben wir ihn für Shadow noch einmal weiterentwickelt.
Ein großes Problem hierbei war jedoch, dass dieser Trick sich nicht besonders gut mit unserer Windows-Anwendung vertragen hat, und deswegen wieder aus dem Programm genommen wurde. Die Lösung des Problems kam nur wenige Zeit später:
Sobald die Shadow-Anwendung gestartet wird und ein Gerät mit dem lokalen PC verbunden ist, werden die Gerätedaten so umgeleitet, dass sie direkt an den Shadow-Server gesendet werden, wodurch eine bessere Kompatibilität und eine höhere Zuverlässigkeit gewährleistet wird.
Dasselbe gilt für externe Speichergeräte wie Festplatten und USB-Sticks, deren Daten durch das Netzwerk fließen sollen. Hierbei variiert die Qualität, je nach Breitbandgeschwindigkeit des Netzwerkes – die einzige Variable, auf die wir bei Shadow keinen Einfluss haben.
Als wir die Windows-Anwendung zum Laufen gebracht habe, ergab sich schon das nächste Problem: MacOS und Linux. Da diese beiden Systeme so unterschiedlich sind, und auch mit Windows nicht wirklich verglichen werden können, mussten die Anwendungen dieser beiden Betriebssysteme von Grund auf neu erstellt werden. Nur so konnten wir gewährleisten, dass man seine USB-Geräte mit jedem Betriebssystem benutzen kann.
Ètienne de Thoury, Lead developer Apps: „Damals gab es nur sehr wenige MacOS-Entwickler. Infolgedessen hatten wir damals nicht genügend Zeit und Ressourcen, um uns vollständig der Remote-USB-Funktion zu widmen. Mittlerweile haben wir die notwendigen Ressourcen, und haben den Code von Grund auf neu geschrieben, um ihn mit MacOS kompatibel zu machen. Außerdem arbeiten wir gerade daran, diese Funktion auch für Linux-User verfügbar zu machen.“
Glücklicherweise ist die Remote-USB-Funktion jetzt für Windows- und MacOS verfügbar, sodass unsere zahlreichen Apple-User ihre Peripheriegeräte ohne Probleme nutzen können.
Um in der Zwischenzeit mehr über unsere zukünftigen Projekte zu erfahren, konsultiere unsere Roadmap. Außerdem kannst du uns jederzeit im Discord, oder auf unseren sozialen Netzwerken deine Eindrücke mitteilen.