So one of the things I know I’ve talked about before is what the future of MU* looks like. What systems we might be using in a year, five years, etc.
I think it’s fair to say with the rise of Ares lots of people are excited by the move to web and away from telnet for many things - caveat: I know this isn’t everyone and some people just don’t get on with Ares, but I don’t want to rehash that discussion in this topic.
It gets me thinking, how much are we held back by telnet? If we could drop it entirely and do everything in a browser, what would we gain? And what would we lose?
What would we lose?
Dedicated clients would probably go - one of the advantages of telnet is that the protocol is fairly simple, and everything else is window dressing in a client - you send text, you get text. The client is completely unaware of the meaning of the commands. Even if every game started from the same system that had the same API, whenever you add something it’s going to add another call or object to the API, and a single client wouldn’t be able to understand all the variations.
If you lose dedicated clients, you lose a lot of notification functionality. Sure, browsers have some notification ability, but now your game is just in another tab somewhere and it’s easy enough to close by accident and then where did my game go? Also, mobile browsers are an entirely different issue.
(Side note, you can do things here with service workers in the browser, but it’s still not the same)
You might be able to do something clever with an Electron app that just behaves as a window into the game’s site, but I wouldn’t want to assume its workability without some serious testing.
There’s also accessibility concerns. Telnet is easier to make friendly for screenreaders than a single page app website. It’s not impossible, but it’s already an afterthought in many areas, and it could get lost at the wayside, closing off games to an already under-served population.
What would we gain?
Killing off telnet does come with its advantages, of course. Development can be focused in one area, whenever you add a new system, you add it in one place, rather than having to add the telnet-side code as well as the web-side code. You can get rid of long and arcane commands that need to take in multiple inputs and make it a single dialog box. Information can be displayed in ways other than just ASCII.
You could add rich information to your interface - when you enter a room you could get a picture of the room. For your grid you could display an actual grid of information that shows you where the various rooms are, the exits you know about and so on.
It could improve accessibility. Not everyone wants to play with telnet clients to play a game and creating it all in browser could bring more people on board. And if done properly it could make games more accessible to screenreaders, but again that’s a big if.
And of course, just because I’m a big showoff, here’s a gif of the thing I’ve been working on on and off (mostly off). I wanted to build something customisable where you can set our your layout however you want, with potentially multiple character windows worth of stuff at once (maybe you want to RP as your PC but chat as your staff-bit). All in browser of course, the gif showing two browser windows at once.
So far the backend is written in Python, exposing a GraphQL API, and the frontend is written in JS using the Vue 3 framework.
But other than just being a vehicle for being a showoff, this topic is also for other people’s thoughts, so tell me, do you want to see the end of telnet? Or is it so core to MUing we can’t get rid of it?