So as many are aware in one form or another, staying connected on mobile is a bit of an issue. Due to limitations imposed by both mobile ecosystems, websocket connections (which are used extensively by Mucket) are closed not long after the site (or the app version being worked on by @farcaller) is put in the background. This doesn’t bode well for the IRC style of connection Mucket and Wolfery provides.
My thoughts are this: what if we developed a relay server to act as a virtual client for the user.
To put it in as simple of terms as I can:
- launch a program (preferably a docker container, but could also be a desktop app) that connects to Wolfery (or any future Mucket) as a client, the same way that going to the website would.
- This application then broadcasts itself as a server for the logged in user’s mobile app(s) to connect to (encrypted of course) and relays any messages sent or received between the mobile app and the site proper.
- This server could either store messages waiting to be received by the app and send them when the user re-focuses it, or push them as notifications.
The reason I think a relay server may be the best options is as follows:
- Many of these features are completely useless for a non-mobile user, aside from being able to stay logged in I guess, and maybe keeping all your logs on the server instead of scattered across any clients they may have.
- Building these features into Mucklet itself could require major rewrites of the system, and incur higher costs to operate, neither of which I wouldn’t want to push onto bosswolf.
- Not every user (probably) is going to need this extended system, so offloading the burden onto those that do (or some form of payed broker) will help keep the free parts of Mucklets free.
The reason I’m now talking about money is that, unless each user that wants to do this has their own server they can run all the necessary parts under, including a way to transmit mobile push notifications, there’s probably going to be some cost to spinning up one of these clients. It could be a potential revenue stream for Mucklet to offer as a paid add on (maybe as a benefit of a potential Patreon or similar?).
But under the same reason I talk about financials, I would also want this to be open source, so that for those that do have the knowhow, capability, or for folks that just want to mess with it, they could opt into self-hosting said relay.
Oh, and as much as I love @farcaller’s work on a mobile app, this would probably have to stand along side it instead of working together, unless that app is built with this kind of service in mind, as a relay server would work as the resclient, instead of the app itself, something that that app already does.
Sorry if this is kind of rambley, kind of a stream on conscious post of all the ideas I currently have. Does anyone have any experience with something like this? I’m thinking I might do some tinkering with something in .NET, if I can figure out the resclient for it, seeing as it’s what I have the most experience in and have done work with server-app API infrastructure and AWS notification services through it. But I’m open to suggestions and assistance if anyone has anything to add to the topic.