Giter Site home page Giter Site logo

chatspaces's Introduction

Chatspaces

What this is

Chatspaces is a private chat app for sending messages to your contacts. It currently requires Persona for authentication.

Project Information

Current development stage

  • Adding in v.1 features and design/interface iterations for MWC (Mobile World Congress)

Features for v.1 (No new features will be added/discussed until post-MWC)

  • Search for, add, remove and block users from your contacts list
  • Ability to send animated GIFs and static images with messages via WebRTC
  • Websocket and SimplePush notification support of unread/new messages
  • The ability to send a message to multiple contacts via broadcasting

Features that may be considered/discussed for post-MWC

  • Encryption of messages
  • Adding contacts from your phonebook
  • Cordova integration
  • Authenticating through third-party services like Facebook/Twitter
  • Integration with Firefox Accounts
  • Integration with Presence
  • Third-party developer API support

Filing bugs

On IRC

  • Please contact us on irc://irc.mozilla.org/apps
  • For main project questions talk to ednapiranha
  • For image generation (GIFs, static JPG), local caching questions talk to sole
  • For UX/UI/design questions talk to mhanratty or tsmuse
  • For anything else, talk to ednapiranha or wenzel

Via email

Email me at [email protected]

Thanks!

Supported browsers

  • Firefox
  • Chrome

Installation instructions

Clone the repository

> git clone git://github.com/mozilla/chatspaces.git

Install node by using brew or through the website http://nodejs.org/#download

Install redis via brew and make sure the server is running: redis-server &

> npm -g install nodemon bower
> cd chatspaces
> npm install
> bower install
> cp local.json-dist local.json
> npm start

Open your browser at the following URL http://localhost:3000

Resetting your database

> ./bin/resetDb.js

chatspaces's People

Contributors

btford avatar phillmv avatar sole avatar willkg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chatspaces's Issues

contacts not persisting after logout

As user karl, add contact with search at /friends, contact added, log out, log in, no contacts visible at /friends. Expected contact to still be there after login.

[UX] Adding a new contact

Here is a flow for adding a contact to chatspaces. I divided the screens so that the search on the "Friends" screen only searches through your existing contacts. If you want to add a new contact you do that through another screen. The design on the contacts screen is similar to what is being used on the FFOS Contacts app (http://mozorg.cdn.mozilla.net/media/img/l10n/en-US/firefox/os/have-it-all/contacts.jpg?2013-09).

2013-12-09 16 21 38
2013-12-09 16 21 44

  1. User clicks "+" icon to add contact
  2. User sees screen to add friend. User can search existing chatspace users. User enters chatspace user name.
  3. User sees result. User selects the username to add
  4. Show name selected.
  5. User sees feedback that the contact has been added. User can enter additional usernames and add more folks or click "Done"
  6. User returns to "Friends" screen and sees that contact was added.

The search by username UI comes from the curation tool. Thought it would be helpful here as you can add multiple people at one time.
https://marketplace-dev.allizom.org/curation/
screenshot 2013-12-09 16 28 04

How to show unsent messages [ux]

The world is an imperfect place. Sometimes you send a message and it can't be delivered to its recipient. How can we let users know, view, and resend their outgoing messages that were left behind by a cruel and indifferent world?

Add appcache manifest

Add an appcache manifest for all assets (presumably, however they look in production), so users can download the app to their phone and not have to make requests for all the assets.

Add avatar style for trapezoid

Need the default, then the reverse for every other, and possibly a class for every other so that I can specifically call it.

Replying to a thread [ux]

Here's a flow for a quick reply to a thread.

2013-11-22 13 55 51

  1. Meatbro is on "Threads" screen and selects a thread by clicking on it.
  2. Meatbro views entire thread. At the top of the thread is his last gif, a text area to input some pithy text and a "Send" link. If meatbro wants a new gif he can click the icon/link to open up video app. At the bottom in a small toolbar Meatbro can see all his friends in the chat.
  3. Meatbro is happy with his existing gif so he writes a quick message and clicks "Send."
  4. Meatbro's message is added at the top of the list. The reply field is cleared and ready for more of his amazing witticisms.

The message control

this control should open the new message tile thingy, still trying to figure out how this nav is working, some pointers?

Ensure first-run experience is smooth

Right now, you log in with persona, then it asks you to set a username, then nothing.

The first-run experience should take you through the process smoothly all the way to adding friends and sending your first message.

Add webapp manifest for Firefox OS

There is no webapp manifest in the public folder, but the app should have one so it's installable on Firefox OS and the simulator, even if only for testing.

Make GIF prompt jump to a new view where the GIF takes up the screen

@b3n0n

In the third screen, you see that clicking on the GIFCam button should move to a view that is only the video stream and a button to record.

  1. Make sure the video is a fixed 4:3 ratio... 320 x 240 in this case - and centered :)
  2. Once the record button is clicked (don't worry about a progress bar or anything), it should do the 2 second record and pass the data to the form as it does now.
  3. The gif should display beside the message as a preview in <img>

Test cases of messaging bugs with caching / sockets

  • sending a message to user A from user B while logged out, log back in
  • sending a message to user A from user B while logged in and on the dashboard (no duplicates)
  • sending a message to user A from user B while logged in and on the same thread

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.