Skip to content


Subversion checkout URL

You can clone with
Download ZIP
tree: 2a403baa96
Fetching contributors…

Cannot retrieve contributors at this time

94 lines (64 sloc) 3.599 kB


Native iPhone with WebSocket & Bonjour over Bluetooth

AcaniChat Conversations Screenshot      AcaniChat Messages Screenshot


Client (iOS)

  • UIKit framework, mainly UINavigationController & UITableViewController, to display conversations & messages
  • Copied images from Apple's ChatKit.framework to beautify the UI
  • Core Data framework to persist conversations & messages (stores them to disk in an SQLite file)
  • SocketRocket to communicate with the server via WebSocket
  • Coming soon: Bonjour over Bluetoothh for peer-to-peer (p2p) communication
  • Note: Ability to delete messages was removed after commit b269281 to keep things simple

Server (Node.js)

  • Nodejitsu-hosted instance of acani-chat-server
  • Node.js ws module to communicate with clients via WebSocket
    • I chose ws because I think (recommended by the Node.js website) uses ws. And, I didn't want the extra backwards compatibility that offers.
  • Redis to store messages in a list

Heroku doesn't support websockets yet, so I went with nodejitsu. is another option. To host with nodejitsu, follow

Getting Started

AcaniChat uses Objective-C literals, so make sure you have Xcode 4.5 or later, which you can download from iOS Dev Center : Beta Downloads.

git clone
cd AcaniChat
git checkout edge
git submodule update --init
open AcaniChat.xcproj


AcaniChat, except for those images copied from Apple's ChatKit.framework, is released under the MIT License.

How to find Apple's ChatKit.framework images, e.g.:

find /Applications/ -name *.png
find /Applications/ -name SendButton.png
open /Applications/


Related Projects & Links

Jump to Line
Something went wrong with that request. Please try again.