MathHubInfo / Legacy-planetary

Legacy: Planetary System is a math-enabled Web 3.0 information portal.
http://trac.mathweb.org/planetary/
79 stars 25 forks source link

killer feature: We need an awesome integrated chat to make PlanetMath into a Math MUD #350

Open holtzermann17 opened 11 years ago

holtzermann17 commented 11 years ago

I've thought a lot about how such a tool might work across the web at large, but let's start a little simpler, in a space where we have more control. Let's build a sort of generalized "who's online" feature, so that you can see who is browsing an article or problem within the same MSC class as you, and so that each article and MSC class has an associated chatroom.

There could be further extensions, but even just this part would be a killer feature (which would help us achieve parity with StackExchange in one quite useful dimension).

cdavid commented 11 years ago

FYI: make sure you make this opt-out at least (best would be if you could opt-in, but I am not sure how many users would try it). I don't think you want anybody under the impression that PlanetMath is spying on them...

holtzermann17 commented 11 years ago

Yes, opt-in would be very good. This would be something like "electric mode".

dginev commented 11 years ago

Might be cool to give it a spin (though chats are notoriously troubling as they hide interesting discussion from archival). That's what the Perl6 people call a -Ofun feature - if anyone wants to jump in and give it a try, they should go ahead :)

We should have basic math support in the chat as well, I recommend avoiding LaTeXML here and using only TeX's math syntax and MathJaX. But math rendering is a must in my opinion.

Maybe on a related note try to get more people on IRC? Including current developers? IRC is a great place for community building (again, got me personally really hooked into Perl6 development)

holtzermann17 commented 11 years ago

as they hide interesting discussion from archival

Well, we'd just have to take care to make logs -- indeed, this is an interesting use-case for NNexus - helping people find relevant content in chat logs.

dginev commented 11 years ago

It might be way simpler to just use IRC and borrow something like the perlgeek reporting framework. Not sure a chat inside the site will be taken too positively, it will give it a less academic feel, which many users might not enjoy (mathematicians aren't too hip).

holtzermann17 commented 11 years ago

IRC would be fine, it doesn't have to be a "web chat" (although we might want a web frontend for people like me who are behind @#%$ restrictive firewalls). The key as I see it is integration with the MSC (and individual articles, I guess "topoi" in some suitably general sense!). Presumably we could have a tiny Drupal "who's online" thing that would integrate the IRC system into Drupal on an opt-in basis, to make it easy to discover.

dginev commented 11 years ago

You can use one of the web frontends for IRC :) And just link to one such browser frontend from PlanetMath. Sorry for repeatedly demonstrating with Perl6, but it's just done well - see the first link in the green box: http://perl6.org/community/irc

I think having a "who's online" menu that points to the IRC channel will be both easy to implement and nice to the eyes (and easy to redirect to). And needless to state, IRC has solved all of the nightmarish issues about logging, moderation, utility bots, etc etc.

holtzermann17 commented 11 years ago

:+1:

dginev commented 11 years ago

Oh, btw having the commit bots is amazing, makes social development a whole lot cooler when you have a big distributed group of devs. I can only wish Planetary grows one of those :)

holtzermann17 commented 11 years ago
holtzermann17 commented 11 years ago

Note that I have a web+math enabled chat program running at http://mathim.metameso.org -- not yet sure what to do with it vis à vis PlanetMath integration (if anything).

dginev commented 11 years ago

I would expect for Planetary integration you need a chat JS library, rather than a chat website, as you need to integrate chat functionality, rather than chat "as a platform".

The real question is whether you want to use MathJaX or LaTeXML in the chat. If you want LaTeXML, you guessed it, you need to implement that yourself. For MathJaX, their MathJaX in use page has a number of chat applications, the generic library of which seems to be TeXChat implemented in Node.js.

holtzermann17 commented 11 years ago

Nice tip about TeXChat. I'm not sure at the moment about how to weigh using that vs using the SCALA-based MathIM, maybe it would all become more clear if we had a UI design. Having the chat features is good, but it's still a long way from being a "MathMUD". If we skip the "who's online" (in the website) feature, we'd very likely still want to have a listing of "who's online" in the chat. I'd also love to have a feature where all the conversations from all the public rooms (i.e. MSC classes, to start) would pool into one big unified chat stream. (... And if we want to display that somewhere and make it so people could interact with it, then, indeed, it's starting to sound like NodeJS would be the best solution.)