An open source team chat app along the lines of Campfire or Flowdock that anyone can easily get up and running on Heroku.
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 Learn about accountability on Kickstarter
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.
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.
seconds to go
Pledge $1 or moreYou selected
My thanks, fortnightly updates on Kickstarter.Estimated delivery:
Pledge $5 or moreYou selected
Your name in a file listing Kickstarter backers, plus the above.Estimated delivery:
Pledge $10 or moreYou selected
Early access to weekly posts detailing how I am building the application, documenting how to set it up, or tutorials on working with the API. These will eventually be released with the source code.Estimated delivery:
Pledge $25 or moreYou selected
Early access to the git repo - so you can peek over my shoulder with every commit, plus the above rewards. Lower reward levels will have to wait until May before they get access to the code.Estimated delivery:
Pledge $50 or moreYou selected
Access to a beta server, when the code is functional enough to get running (and instructions to get the code running yourself). This, plus the above rewards.Estimated delivery:
Pledge $75 or moreYou selected
Screencast access - I plan to produce 2-3 screencasts a month documenting how I'm building the app. You'll be given access to these, have the chance to request topics for them, and also have the above rewards.Estimated delivery:
Pledge $100 or moreYou selected
SUPER BACKER - your name will be featured in a special section of the Backers file, above the other backers. Access to a weekly Google Hangout if you want to come and ask questions, maybe watch some live coding. Also, I will ask for your input at the start of the project to see where I should focus my time, plus all the above rewards.Estimated delivery:
Pledge $300 or moreYou selected
0 backers Limited (5 left of 5)
Full day pair programming session with me, working on this app. We will either pair remotely (via Skype/tmux) or we can meet up if you are in NYC. Also, access to all the above rewards.Estimated delivery:
Pledge $600 or moreYou selected
0 backers Limited (5 left of 5)
Choose your pairing session - all of the above rewards, but you get to choose what we work on for our pairing session.Estimated delivery:
Pledge $1,500 or moreYou selected
0 backers Limited (3 left of 3)
MEGA BACKER - You'll get all the rewards a Super Backer gets, but you will be able to request one specific must-have feature and have the request honored as long as it won't take more than a week or so to build. Your name/company will be featured in the Readme of the project. I'll also set up a pair programming session with you and we can work on whatever you'd like.Estimated delivery:
- (16 days)