Skip to content
dmitryame edited this page Sep 13, 2010 · 62 revisions

features

cosmetic/trivial

  • improve registration/activation process (inform the user that they’ll get an activation email, make the activation link not time out, inform the user about gravatar, etc.)
  • write up a home page that would attract attention and explain in easy terms what echowaves is all about. Also need to write up a reasonable README file, this should be done in multiple iterations, but i thought i’d throw this task in here. this is always a task in progress
  • improve new conversation flow (it is non-obvious what you are supposed to do on the first page you get to once you’ve created a new conversation)
  • make the textbox where the message is being typed grow dynamically, rather then adding a scrollbar. Look at yammer as an example
  • add converstaion description, so it’s obvious what the conversation is all about when looked at in the conversations list
  • autocompletion text box to filter conversations
  • move paperclip to plugin rather then gem
  • better handling of environment.rb in prod, move prod specific config stuff to production section

slightly larger

  • user-based timezone preference http://railscasts.com/episodes/106-time-zones-in-rails-2-1
  • search functionality (possibly with Solr)
  • tagging messages (by anyone)
  • embedding images, markup, attachments, etc. (maybe use Textile, for images and attachements — paperclip )
  • images as attachments/references instead of inlining (or as an alternate UI experience)
  • different type of the messages, user entered/left the room, topic changed etc…
  • overall site design, common header and footer, default CSS. message partial. although this is a task that is always in progress
  • highlight users with colors actually probably better to highlight messages with different color based on how fresh they are, change the color as they get older or change status (read for instance, or replied to), this has a dependency on the server push task
  • add avatars, probably from the same source as github has it make it obvious for the users how to get avatar
  • edit user info – email, password, time zone, etc
  • make it make (mutable!) a noise when messages arrive and you’re not looking
  • customizable look-and-feel (per-user style customizations)
  • make it work with IE
  • give admin users ability to remove abusive messages. ban abusers. users should be able to report the abuse.
  • when creating a new conversation, allow the ability to invite participants (will receive an email notification of the new conversation.) this could be for both existing users (a selectable list) and for new users (enter email address).

really big

  • threading (i.e. “reply to” a specific message, and do something with that information)
  • display multiple threads at once
  • add a shared whiteboard
  • add non-browser clients (widgets, Firefox Extensions, cell phones, email gateway, etc)
  • a room can subscribe to an RSS feed, and publish those messages as admin messages
  • have it understand some level of a user’s “presence”. e.g. “polling for messages”, “window up but not focused”, “not logged in”, etc.
  • integration with LDAP/AD for authentication/authorization
  • single sign-on
  • expose echowaves.com through restful interface (active resource) so that other sites can integrate with it as a service building the UI’s they prefer
  • implement flash tree view of the whole conversation

bugs

  • when you create a new chat, post a single message, and then click ‘back’ — you see a message on that screen that says ‘message successfully created.’ arguably if that should show up anywhere at all (which I would say it should not, since it is obvious that the message was created in the chat, because you can see it) it should show up on the chat page.
  • it appears that the tab notification of the number of new messages does not work in safari

done

  • onload autofocus on textarea (DONE on Philipp’s fork)
  • convert newlines into <br> tags (DONE on Philipp’s fork)
  • regular polling. refresh page every N seconds/minutes
  • validate empty message
  • control-enter should submit the message. perhaps add other keyboard shortcuts, too
  • detect links in tags and make them clickable automatically
  • logo
  • update the title of the window when messages arrive and you’re not looking
  • serverside push
  • add an favicon to a tab, use the O symbol from the echOwaves.com logo
Clone this wiki locally