I have to admit my programming stagnated most of the month of November. It happens sometimes. Maybe I should keep a diary. I tend to only report on finished work here on my blog. Still looking for the right way to do this.
I don't ride in the winter. Instead I go for a 40-minute walk every day. That means I get to listen to podcasts. Yesterday I listened to a Terry Gross interview with author Richard Ford. When he thinks of something he wants to remember he writes it on a 3-by-5 index card. They are unorganized. When his mind is idling they give him ideas.
I'm the same way with my todo outline. But when I'm stagnating, I forget to put stuff in there. When I'm firing on all cylinders, my list is full of interesting stuff, and is well organized. And lots of stuff goes from todo to done every day. Well I'm back in that groove now, at least for a while.
In 2000 I did a project called My.UserLand on the Desktop. That became Radio UserLand in 2002. It was a blogging tool and RSS aggregator. That's a little too humble. It was the RSS aggregator that got the whole market going. When people say I "invented" RSS that's not right. What I did was make RSS easy to use.
Radio UserLand, which was also Radio1/River1, was interesting in a couple of other ways.
It was an HTTP server that ran on the desktop. Most users had no idea. But when you installed it, the first thing it did was open a web page. If you looked at the URL it began with http://127.0.0.1:5337/. The server it was talking to was the app you just launched. No one cared, which is how, as a software designer, I wanted it to be.
It had a core feature called upstreaming, which was a precursor to Dropbox (not that the Dropbox guys ever heard of it, I bet they didn't). There was a folder on your desktop that Radio stored stuff into, and another thread also running in Radio that watched that folder for changes, and uploaded them to a server we ran, which was eventually released as a free (as in beer) product, so people could run their own Radio networks behind a firewall. (It did something that today Fargo does with Dropbox, it rendered the content before uploading it, putting the CPU burden at the edge of the net.)
All this ran in the Frontier environment, a Windows and Mac runtime and development system built around an object database, outliner, language, threading system, etc. It was very powerful, still is. I use it as part of my development system on my 5K iMac I just got (thanks to heroic porting by Ted Howard).
It's all a big loop I tell you!
River4 will, as Radio UserLand did, run on the desktop. It will contain a web server, that will be even more invisible to the user.
It runs in Node.js, which as you may know, is a perfectly fine desktop runtime environment in addition to running great in "the cloud." River4 has already shipped in its server form. The goal here is to, using node-webkit, create a totally end-user experience. Something that anyone who used Radio1 could use. Is that progress? Well, yes -- because River4 can do a bunch of things River1 couldn't. However, it's incredibly slow progress. What got in the way? Well personal stuff and market stuff. At least we're getting back to somewhere interesting.
If you're one of those people who don't like algorithms deciding what news you get, this is your antidote. It's got the simplest algorithm possible, a reverse-chronologic list of new stories from the feeds you're subscribed to.
And it's all GPL'd open source so if you want to see for yourself you can. And if you want to write a fancier algorithm, using my code as a starting point, please do! Just know that whatever you create with this code you have to share with everyone.
I'll let you know when this is ready to use.