It is currently Sat Jul 21, 2018 8:32 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Fri Jul 06, 2018 6:40 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20282
Location: NE Indiana, USA (NTSC)
Forked from NESdev Discord and chat apps built with Microsoft Electron:

Some communities have switched from Internet Relay Chat (IRC) to proprietary web-based chat services, such as Skype, Slack, Discord, HipChat, and Gitter. Each of these services has some measurable advantages over IRC:

Groups
At least Slack and Discord allow a user to establish a "group" of users with an associated set of channels. Instead of /joining a channel, a user /joins a group. The owner of such a group can sync permissions throughout the group by assigning roles to members. These are called "workspaces" or "teams" in Slack and "servers" or "guilds" in Discord. ChanServ on some IRC networks goes some but not all of the way toward this.

Integrated bouncer
The server automatically logs text channels. This lets you see scrollback (messages already sent to a channel) from while you were offline, search scrollback, and synchronize scrollback across multiple devices, such as your desktop, laptop, smartphone, and tablet. Each user doesn't have to lease a VPS, with its separate subscription, on which to run his or her own bouncer.

Threads
In Slack, someone interested in replying to a message that would represent a digression from the channel's current topic can fork off a separate limited-purpose channel for the topic. This way people in the channel don't talk over each other about two topics, and all discussion about the digression can be read and searched separately.

React to a message
Message persistence allows users to add emojis below a message as reactions, with the server counting how many users have added each particular emoji to a message. This makes (for example) straw polls easy, where users can react to a message with thumbs-up or thumbs-down.

Integrated attachments
The server provides a file drop for messages longer than one line. This means you need not use Pastebin or GitHub Gist, with its separate sign-up.

The server also provides a file drop for images, short audio and video clips, and downloadable files. This means you need not use DCC, with its firewall traversal difficulties; Dropbox, Google Drive, or Microsoft OneDrive, with its separate sign-up and space limit; or things like Imgur, with the danger that it'll eventually go behind a steep paywall the way ImageShack and Photobucket have.

Integrated link preview
A built-in URL preview bot means that sending won't cause 100+ clients with link previewing turned on to try to fetch a URL to retrieve its preview, thereby DDoSing the site.

Integrated voice chat
Audio conferencing is available when the situation warrants, without the separate sign-up (and subscription in some cases) of things like TeamSpeak or Ventrilo.

One-step integration convenience
With proprietary web chat, all this integration work has already been done. In theory, IRC diehards could get the above functionality working on top of the IRC protocol. If you want to run your own private IRC server with its own bouncer, NickServ/ChanServ bots, link preview bot, file drop, and voice chat server, you could have to hire someone like zzo38 to set it all up for you and make plug-ins for all the popular clients. But if we want to promote IRC over the proprietary alternatives, is there some sort of Ansible/Puppet/Chef/Docker/etc. script to quickly set up a "Slack killer" server for a group?

----
On the other hand, some want to abandon chat altogether. After Drew DeVault wrote a blog post about wanting to go back to IRC, Dave Cheney wanted to go further. He sees the time zone discrimination inherent in all chat protocols, even IRC, and wants to abandon chat in favor of non-real-time forums, such as mailing lists, Usenet, and bug trackers. These are asynchronous, allowing users in less-privileged time zones to collaborate more equally, and citable, as thought has its own URL.


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 8:01 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3090
Location: Tampere, Finland
tepples wrote:
These are asynchronous, allowing users in less-privileged time zones to collaborate more equally, and citable, as thought has its own URL.

I'd consider Slack threads to be fairly asynchronous as well.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 8:17 am 
Offline
Formerly WheelInventor

Joined: Thu Apr 14, 2016 2:55 am
Posts: 1657
Location: Gothenburg, Sweden
Yeah, slack seems good for precisely that reason.

_________________
http://www.frankengraphics.com - personal NES blog


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 8:28 am 
Online
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 416
Location: Central Illinois, USA
tepples wrote:
On the other hand, some want to abandon chat altogether. After Drew DeVault wrote a blog post about wanting to go back to IRC, Dave Cheney wanted to go further. He sees the time zone discrimination inherent in all chat protocols, even IRC, and wants to abandon chat in favor of non-real-time forums, such as mailing lists, Usenet, and bug trackers. These are asynchronous, allowing users in less-privileged time zones to collaborate more equally, and citable, as thought has its own URL.


He's right for a lot of uses. Chat (slack, discord, etc) is not the best tool for a lot of types of collaboration.

That said, there are places where it is a better tool than those other things. For brainstorming, casual noisy chatting about projects, etc, it is great.

It's just another case of The right tool for the right job. I use discord for friendly chatting with other nesdev-ers. I use the forums to get help solving problems, or for a discussion where I want input from the larger community. I use email or private messages for more "important" discussions about projects where I want to make sure the person sees it, and we can keep a record of our exchanges. I like them all.

_________________
My games: http://www.bitethechili.com


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 9:09 am 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2155
Location: DIGDUG
I can't keep up with new apps. I wish people would pick one forum, and do most of their discussion there.

The more splintering, the more you get group A who's in on one conversation but doesn't hear about group B's projects, and vice versa.

It already kind of happens with NintendoAge. I rarely read the posts about programming in the brewery, as they tend to be about bunnyboys tutorials and NESASM (which I don't know very well).

Twitter is still good, as you can reach a wider audience, but not so good for discussions about technical details.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 12:08 pm 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 991
Note that for text uploads there is also arin.ga which does not require registration. For binaries you could use uuencode, although I do not recommend setting large files as permanent if you use it for that purpose.

I happen to like IRC for live chat, and I think NNTP would be suitable for non-real-time (you could implement Usenet or Unusenet; I recommend doing so in order to make mirroring possible).

Also, if wanted, you can implement multiple protocols on the same service, e.g. a IRC server that can also communicate to Discord in case you like Discord.

_________________
.


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 1:56 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3435
Location: Mountain View, CA
zzo38 wrote:
Also, if wanted, you can implement multiple protocols on the same service, e.g. a IRC server that can also communicate to Discord in case you like Discord.

bitlbee already exists and does exactly this.


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 2:05 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3435
Location: Mountain View, CA
I want everyone discussing Discord and Slack to remember something: these services harvest any URLs and data you shove into them (ex. image/file uploads), and god only knows what they do with messages (i.e. not links/uploads). They're literally massive repositories of tons of data, reliant upon a single entity (company). You don't know where they're going to be in 1 year, or who will buy them, thus gaining access to that data (good example: ICQ). Both companies have a kind of "yes, we do that, but we won't do anything evil with the stuff you feed us on a public channel or in DMs" attitude, even when discussed directly with their own developers/engineers -- which just goes to show how out-of-touch with the realities of the business world said individuals are. It's more of a "sure, we won't do that... now... but we might in a year when my boss tells me to do it..." thing.

Point is: if you choose this route, then be aware of the reality of reliance on a single borderline-corporate company like those of Slack and Discord.

I look forward to seeing how badly nesdev folks freak when Discord goes down (and it does every few months). Discord outages manifest in a very, very ugly and awful way. It's hard to describe -- you'll just have to see for yourselves. And when Slack goes down, which happens just as often, practically the entire tech-savvy Internet freaks out (goes to show how many people put all their eggs in one basket). Slack also had a technical incident recently where their back-end servers continually pounded away at a link someone put into a Slack chat, so hard that it was basically classified as a DoS attack; I can't find the Twitter thread about it, but Slack publicly acknowledged the problem.

Caveat emptor, even though you aren't buying anything.

I say all this as someone who uses Discord for very specific (read: ephemeral and unimportant) things, and has used Slack in workplace environments.

The advantage IRC has is that you can run your own server (read: have control over said thing), and you know it's just a transit protocol that does no archiving of messages/data/whatever. What one considers a benefit another can consider a hindrance or invasion of privacy. Choose wisely.


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 7:24 pm 
Online
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 416
Location: Central Illinois, USA
koitsu wrote:
Caveat emptor, even though you aren't buying anything.


Absolutely this. I use both regularly, but I also believe both would sell me out in a second. Just like almost every other company out there that's storing data on me.

koitsu wrote:
I look forward to seeing how badly nesdev folks freak when Discord goes down


Does anyone in nesdev use it for anything besides random chatty conversation? I'm not sure anyone would freak out over temporarily losing that.

_________________
My games: http://www.bitethechili.com


Top
 Profile  
 
PostPosted: Fri Jul 06, 2018 8:04 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 6424
Location: Canada
Heh, I read the term "surveillance capitalist" the other day and it seemed like a really apt phrase.

Recently Firefox blocked the "Stylish" plugin I was using, which was just a simple plugin to inject CSS into websites you wished to customize. Apparently they recently sold it to a marketing company who immediately inserted URL logging and stuff into the plugin to gather marketing data.

I suspect there are those out there on IRC forums logging everything that is said to process and sell as data too, but probably not on the same scale, and there is definitely a lot of potential to keep things more private (private channels, private servers, etc.)

I mostly hate Discord, though the persistent online logs of Discord are actually a nice feature for slow conversations. While bouncers have technically been available for IRC since forever, they were never an easy packaged turnkey item like they are with Discord.

I think the main reason for Discord's success is just their concept of a "server" as some place that you "own" and are master of*. It appeals to that nietzschean desire for control, and gives that person a stake in promoting their "server", which as a consequence directly promotes Discord itself. Discord, being the commercial venture that it is, has to promote itself or die. Most public IRC, on the other hand, seems to just exist for its own sake.

* Quotes used because it is neither of these things, of course.

gauauu wrote:
I'm not sure anyone would freak out over temporarily losing that.

If you're in the middle of a conversation with someone, it's pretty annoying. Same as any interrupted conversation would be (phone service goes down, etc.) Despite having persistent logs, you're not actually allowed to read them in the client while offline (the client immediately covers the whole UI with a flat grey screen and tells you its reconnecting... for a while the whole client was otherwise unresponsive (got rid of the minimize and close buttons too) while in this state... so in many ways it's a lot more annoying than some similar alternatives when there is downtime (which is in my experience with Discord quite frequent).


Top
 Profile  
 
PostPosted: Sat Jul 07, 2018 11:01 am 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 991
rainwarrior wrote:
Recently Firefox blocked the "Stylish" plugin I was using, which was just a simple plugin to inject CSS into websites you wished to customize. Apparently they recently sold it to a marketing company who immediately inserted URL logging and stuff into the plugin to gather marketing data.
I use that extension too but I have disabled automatic updates and telemetry and so on, so it is not blocked. (I create all of the styles myself though so do not need to access their server in order to do so.)

I am not sure why you mention this now, though.

Quote:
I mostly hate Discord, though the persistent online logs of Discord are actually a nice feature for slow conversations. While bouncers have technically been available for IRC since forever, they were never an easy packaged turnkey item like they are with Discord.
Still, as I have mentioned, it is possible to make a IRC server software that will automatically save logs (I have modified a server software to do this before, although only for permanent channels; you could also program it to do for all channels if you wanted to do). And it is of course better than what you describe for Discord, that reading the logs doesn't work; of course you can just download a file and it does work. (I have previously implemented my own log format, but if I redid it today I will instead use the format now used at esolangs.org.)

koitsu wrote:
zzo38 wrote:
Also, if wanted, you can implement multiple protocols on the same service, e.g. a IRC server that can also communicate to Discord in case you like Discord.

bitlbee already exists and does exactly this.
That is, I think, a client side program, what I was asking for was server side program (that doesn't require the client to register with Discord or to install any special software).

_________________
.


Top
 Profile  
 
PostPosted: Sat Jul 07, 2018 11:36 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3435
Location: Mountain View, CA
zzo38 wrote:
koitsu wrote:
zzo38 wrote:
Also, if wanted, you can implement multiple protocols on the same service, e.g. a IRC server that can also communicate to Discord in case you like Discord.

bitlbee already exists and does exactly this.
That is, I think, a client side program, what I was asking for was server side program (that doesn't require the client to register with Discord or to install any special software).

It's a service interoperability/translation daemon, a.k.a. an IRC-based gateway daemon for non-IRC services/protocols. Where you choose to run it is your choice. It could be run on a server somewhere, always running; it's your choice and under your control. Your IRC client (pick whatever you want) client connects to it. You then configure bitlbee in real-time through IRC commands, what services/protocols you want it to connect to (see the account command). The point is that it does what was asked. But the nice thing about bitlbee, and its the main point, is that you don't have to install a Discord client, a Slack client, Skype, LINE, Steam, Facebook, blah blah blah -- you install/run an IRC client of your choice, install/run bitlbee (wherever you want), and that's it.

Yes, there are some features that IIRC don't work quite right (ex. file transfers are a common complication).

This is more a comment for Tepples than you, but bitlbee does not, however, keep logs (i.e. you will only see stuff while your IRC client is connected). You can clearly see in that ticket people have reservations about such a feature for all the same reasons I already covered in previous paragraphs. I am far from in the minority about concerns over centrally-stored stuff like that -- particularly when there is a single commercial company involved who could be bought at any moment by, say, an advertising-centric agency that decides to harvest petabytes of logs and strip out Email addresses and private URLs to then sell to third parties.

The only other thing I can think of that's multi-protocol, but purely client-side (i.e. a program you install yourself), is Miranda/Miranda NG. That *does* offer logging, but it's a client-based program, i.e. if it's not running you don't get the messages (unless the protocol service itself stores them and delivers them the next time the client connects; there are many protocols like this). I used (an older version of) Miranda back when AIM + ICQ + Yahoo + MSN were at their peak usage -- because all the native Windows clients were absolutely horrible and some did shady crap behind the scenes. Eventually, though, that (older) version of Miranda turned into a pile of junk (all sorts of UI-related bugs), and protocol supports (esp. for MSN) started getting really bad/flaky. The Miranda NG team looks to be totally different people/developers, except for George Hazan, who historically has been top-notch at writing protocol interfaces/translations. But Miranda is still reliant on existing services, i.e. for Discord, all your crap is still stored on Discord servers (just like if you were using the native Discord client).

As for "not registering with Discord" -- to use Discord, you *have* to register with Discord. The same goes for Slack, and pretty much any other protocol that's managed/maintained/run by commercial companies. You're forced to choose a login/password, and often give them an Email address (for all sorts of reasons, some legit, some probably not). That's just how they work. IRC is the one incredibly open protocol that doesn't usually work this way (there are authenticated IRC servers, but they're uncommon).


Top
 Profile  
 
PostPosted: Sun Jul 08, 2018 6:31 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20282
Location: NE Indiana, USA (NTSC)
zzo38 wrote:
it is possible to make a IRC server software that will automatically save logs (I have modified a server software to do this before, although only for permanent channels; you could also program it to do for all channels if you wanted to do).

Logging only those channels owned by a guild (until the guild's owner decides to delete the channel) would be fine. Have you considered contributing your logging patch upstream?

Thus given appropriate time==money to produce patches, these features of proprietary chat can be implemented in an IRC server for existing clients to use:

  • Logging feature that a channel's owner can enable (as zzo38 has prototyped)
  • Nick and channel services using a guild model
  • Threads
  • A link summary service

But these would need protocol extensions, as far as I can tell:

  • Adding reactions to messages in the log
  • Attachment uploads
  • Superseding or deleting past messages in the log
  • Voice chat
  • Configuration of nick and channel services using a screen-oriented interface rather than a line-oriented one


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group