This project's funding goal was not reached on January 18, 2013.
About this project
Hyperchat will be an open-source, group chat application, along the lines of Campfire or Flowdock. My hope is that it could eventually provide a good alternative to current standard of an IRC channel for open source projects. The initial feature set I'm aiming for is:
- Log in with Github (with fallback to email/password)
- Multiple chat rooms with multiple chatters in each room
- Some Permissions Support (limit who can create rooms/invite/etc)
- Attachment Uploads
- Presence support (see who is in each room)
- Any URL to an image in chat is converted to an inline image (+ maybe oEmbed support for other URLs such as Youtube videos)
- Clean Architecture (decouple persistence/communication from business logic)
- Hypermedia API
- Backbone.js Frontend
The last few points are important, because this project has two goals - both to create a good OSS chat app, and also to be a good example code base for people to look at that shows a full stack web application as a learning tool for Rubyists.
In my past development work, I've felt like there haven't been a lot of great examples of Backbone.js frontends for larger projects, even though lots of people are building them. There also aren't a lot of examples of full featured Hypermedia APIs, even though people are talking about them. I want this project to be a good learning tool for people that like to pick apart code and see how it runs. To that end, most of the rewards are early access to learning materials, and ability to request specific topics be covered.
The funding goal should be enough to allow me to comfortably work on this project full time for 3-4 months, as well as to work with a designer to hopefully make the project pretty as well as functional. Additional funding beyond the goal would go to overall polish and additional functionality, also creating additional open source clients, starting with an iOS app.
Risks and challenges
The most obvious risk to any software project is going over initial time estimates. I've built an extra month into my funding goal to help me keep from running out of money before the project gets done, but since the project is open source, it will also be possible for backers to pick up the code base and finish if for some reason I am unable to finish. Since I'll be documenting my progress and releasing frequent blog posts/screencast walkthroughs of the code, it should be pretty thoroughly documented, making it easy for people to jump in and get started.Learn about accountability on Kickstarter
Yes. Not having a good free solution for Hubot was the inspiration for this project. There will be a Hubot adapter.
For the last year and a half I've been lead developer/CTO at www.reachably.com, a startup in the social media space, leading development on both our API (which services both our frontend and our iOS app) and most of our Rails/Backbone frontend functionality.
While there probably won't be support for hyperchat servers talking to each other out of the gate, this is functionality I'd be interested in adding if I have additional time to work on it.
The backend will be written in Ruby. Business logic will be self contained and independent of web framework. This will give a chance to try both Rails API and Sinatra, perhaps also Reel+Webmachine. Persistence will be provided through generic adapters starting with a Mongo adapter, memory adapter, and perhaps an SQL adapter. Testing will be rspec and done first. The frontend will be Backbone.js, likely built with Brunch and Chaplin. There will be frontend tests with Mocha or Jasmine.
- (16 days)