Don't get me wrong, it is wonderful and very commendable of you to open source NewsBlur! Nor do I feel entitled to the source code or free ride (I will probably end up paying for the hosted solution). Just providing some feedback, given that you indicated that low barriers to entry are important to you.
I am not a web developer so that can partially explain my struggle with fabric, Django and multitude of webdev and devops modules that you use.
I wish you good luck and I hope that you take this wonderful product even further.
The real problem with setting up your own instance of NewsBlur is that you'll have to do your own feed fetching. This is effectively what you're paying for when you pay for NewsBlur. Let me break it down.
500 feeds updated once every five minutes is 144,000 feed fetches a day. Couple that with the original page and icon fetches, you're looking at almost two feeds every second just to keep your feeds up to date. And the average feed takes 5 seconds to completely update (feed, page, differences in stories, updating unread counts). So you have to run 10 processes in parallel, and that's already beyond the capabilities of most single machines. Then good luck keeping your DBs running clean and backed up.
Or you could pay $2 / month and never have to worry about setting up a very big stack. And you get the social community of shared stories on newsblur.com.
On the other hand, you may end up with people running the app that have no way to maintain/support it.
It looks like MongoDB is being used for fetch/push history, feed icon data, and article data. It's also being used for some other stuff: https://github.com/search?l=Python&q=%22mongo.Document%2...
I suppose I could also look at the source ;)
For the cost of hosting/development/work you are MUCH better paying for newsblur and forgoing 6 outside coffee's a year.
Er... really? My laptop is three years old and I run 150 threads on it every time I launch the server I'm working on (dozens of times a day). No problems at all.
It's in Java, in case it matters.
Also there seem to be a lot of stuff that need to be installed and configured that might not be necessary for single-user/<10 user instances. Yeah the 'fetching the feed part' still needs to be done, but I guess right now it is close to impossible for anyone apart from yourself to be able to understand how to do that.
Due to the mass exodus from Google Reader, I understand that NewsBlur has faced challenges in scaling and hence is slow. But things can only get better from here.
Since it in open source software, you should at least setup a getting started developer's guide so that you will get a lot more contributions from the community.
If you have at least fifty previous entries from a feed it's easy to predict fairly accurately when that feed will need to be updated again.
That's how the indexer for http://rssident.com works. Saves you tons of cpu cycles.
GitHub is not an app store. You can't expect to "install" a software as a service's code base. Open sourcing a project is opening it up to engineers, providing a self-hosted option on the other hand should be an easy to install alternative that probably requires another full-time engineer to handle as it needs to come with ability to upgrade, get logs, support and documents...
Maybe container images that can also be used as bootable images?
I think Chef and Puppet try to fill that role, somewhat
Edit: actually, this recent HN discussion looks promising https://news.ycombinator.com/item?id=5392041
NewsBlur should distribute in an .egg form, or via PIP directly, with VirtualEnv and everything.
In our area of business, our features get copied really quickly.
For other folks hoping to build their own service, commercially or otherwise, having access to your code provides a huge savings in time to market.
I'm sure you will need all the help you can get with upcoming traffic so I've tried contacting you recently about helping you scale better with https://errormator.com, but I somehow miss you when you are online on IRC, so I've sent you mail to the mailbox i've found.
Its great since your app is python based and we maintain an awesome python client.
Drop me a line if you are interested, we love open-source at Errormator so you would get a completly free plan for non-profits :-)
I could also help you personally if you have any integration questions, you can find me on #errormator on Freenode IRC server.
Please see this inteview with us that was posted recently, the article is in polish but the screenshots should give you a better overview of what errormator can do:
http://translate.google.com/translate?sl=pl&tl=en&js...
In short:
- exception monitoring
- performance metrics
- slow request and slow call aggregation
- log aggregation
We def. need a new index page and a features page to show all the functionality in a nice way.
I've been asked quite a few times why I open-source the code. The answer is simple. Let me use an example from Joel Spolsky.
(From http://www.joelonsoftware.com/articles/fog0000000052.html)
If you know that in the absolute worst case that you can still use the product even if it's shut down, then by golly, you have even less of a reason to not switch to it.