Skip to content

Instantly share code, notes, and snippets.

@benjamingr
Last active December 28, 2015 03:49
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benjamingr/7437587 to your computer and use it in GitHub Desktop.
Save benjamingr/7437587 to your computer and use it in GitHub Desktop.
Chat room.

So, we figured creating our own chatroom could be fun.

It's something we can all work together on.

We don't plan on moving there but the project itself could be interesting for the whole room to collaborate work on.

What we need to discuss now:

  • What technologies we want to use (Node/Express seems natural for serverside. What about clientside?)
  • What features to we want? Do we just want to start with a clone of the SO chat?

Requirements

  • Adding features should be easy
  • Responsive and fast
  • Works on IE10+, Chrome, Safari, Firefox, Opera
  • Mobile interface that actually works

Current stack proposal

  • AngularJS as clientside MVW, libraries (like jQuery) accepted gladly on a need to basis.
  • NodeJS/ExpressJS/SQL for server side.
@shea-sollars
Copy link

Several ideas...

  1. A user preference to stop autoplaying of GIF's, that will show the GIF as a static image with a play button over it.

  2. A library of audible emotes with a user preference of whether or not to auto play the emotes or not, because sound clips can be funny at the right moments, but also annoying at the wrong moments.

  3. Third is more of a principle:

I think what would really add a lot of quality to a chat service, is to have subtle user preferences for anything UI related. This may include things like:

  • disabling oneboxing by the site
  • themes
  • choosing a markdown flavor
  • whether or not messages are prepended or appended to the message list
  • if user list goes on the left or the right
  • other layout related things like that

The principle is this; User preference all the things!
The obvious problem is finding a way to pull these things off without bloating the UI.

Which is why we would need to consider this early in the development.

@traviswimer
Copy link

Considering the "We don't plan on moving there" part, maybe it should be built on top of the SO chat. Then anyone could use all the new chat features/UI without needing to leave the SO chat.

I have no clue how doable that is with the SO API though.

Or maybe that's already the plan?

@connor1995JS
Copy link

This is what I recommend

Server:
Mongo (possibly Mongoose)
Express
Socket.io
Client:
Javascript
socket.io
reset.css

@Retsam
Copy link

Retsam commented Nov 15, 2013

Well, it looks like I'm majorly outvoted, but I happen to like knockout as an alternative to angular.

Firebase also looks like an interesting option, though I admit I haven't actually used it.

@darkyen
Copy link

darkyen commented Nov 15, 2013

put all this on s3 + heroku ... infinite scalability :D

@darkyen
Copy link

darkyen commented Nov 15, 2013

@shea i once wrote a lib to convert a gif to a sprite sheet ( in C ) I think i should do that :P ... making the gif pausable and playable with canvas or css3 powered animations !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment