De grote partijen krijgen het blijkbaar niet voor elkaar om het af een toe platformonafhankelijk uitwisselen van bestanden buiten hun clouddiensten om mogelijk te maken. Zelfs bij die clouddiensten heeft dan nog ieder zijn eigen oplossing: iCloud, OneDrive en Google Drive.
Daarom proberen vlijtige ontwikkelaars platformonafhankelijke manieren te vinden om bestanden uit te wisselen. De meeste projecten die als opensource worden ontwikkeld, lijken op wat Apple met AirDrop geprobeerd heeft. De levensduur van de projecten lijkt echter nogal te variëren: wat vandaag in de mode is, is morgen misschien wel geschiedenis.
Maar er is een gemeenschappelijke deler: browsers met hun WebRTC-engine, die is bedoeld voor real-time communicatie en die mogelijkheden biedt voor videoconferenties, zijn de spil in dat verhaal. Het principe is eenvoudig: apparaten op het lokale netwerk zien elkaar, en een gebruiker kan een bestand slepen en neerzetten naar een naburige peer in het browservenster of bestanden met een muisklik selecteren om verstuurd te worden.
De peers krijgen meestal sprekende namen als Honest Cat of Ivory Pigeon, die je niet kunt aanpassen. De browser aan de ontvangende kant vraagt om een bevestiging zodra een bestand wordt aangeboden.
Snapdrop bootst AirDrop na, maar delegeert het eigenlijke werk naar de browser.
Door de WebRTC-functies werkt dat platformonafhankelijk.
ShareDrop lijkt het meest actieve en langst lopende project te zijn. Naast de lokale bestandsuitwisseling is het ook de bedoeling om met systemen buiten het lokale netwerk te kunnen werken. Daarvoor wordt een qr-code of url getoond die aan de externe partner moet worden doorgegeven.
ShareDrop gebruikt met Firebase een gehoste database als centrale tool, die niet eenvoudig te vervangen is. Daarom is het niet geschikt voor een volledig autonome ShareDrop-server.
De insteek van Snapdrop is een zo minimaal mogelijke implementatie. De ontwikkelaar heeft zich georiënteerd op ShareDrop, maar werkt dan wel zonder de externe afhankelijkheid van een gehoste dienst.
Er is zelfs een dockercompose.yml voor het zelf hosten van de webinterface, die de ruggengraat van de applicatie vormt. Bij onze experimenten met ShareDrop en Snapdrop voelde die laatste wat soepeler aan en hadden we betere ad hoc resultaten bij het cross-platform uitwisselen van bestanden.
Toch lukte het niet altijd: de tickets op GitHub spreken boekdelen over de moeilijkheden die we op bepaalde platformen en met bepaalde browsers ondervonden.