Simon Olsberg had the answer, in a comment on the original post. He explained why I had been unable to get started with Node-Webkit on the Mac. I just had to use an older version, everything started working. Excellent.
Now, the next question is this, what next?
I have a desired end-result, River4 running on the desktop, so that it's easy to set up for a moderately technical user. River4 is a now a faceless server app. It reads a set of OPML subscription lists, then reads the feeds in the lists, and produces a set of River.js files, corresponding to each OPML subscription list.
It maintains a folder structure of JSON files, representing the status of each list, feed, river, and of the server overall. I've zipped the current folder on one of my test machines so, if you're interested, you can download it and browse around and think about what's going on.
And of course you can install and run your own River4, on a server or on your desktop, using file system storage, or storing all the files on S3. It's quite solid, I've been running my installation since April, as have a few other people.
Target user: A current-day J-school student.
Someone with a professional interest in news, with time to explore a new approach.
In 2002, my company, UserLand, shipped a desktop aggregator called Radio UserLand. It worked more or less as described above, only it used the Frontier object database to store all the feed and list data. There was no River.js format then. It only had an HTML interface for reading the news stream it aggregated. You used web forms to configure it. This was the product that got all the other RSS activity going. It was a coral reef.
Now I want to take the River4 server and bring it to the desktop, with a browser-based interface, using all the tools we have now, which are of course 12 years richer than the ones we had in 2002 (that's a joke, the tools are better, but there was a lot of time spent treading water waiting for a lot of things to settle down).
I know how to write a faceless server app running in Node.js.
Now we want to combine the two, without creating an unmaintainable monster.
Have you created a Node-Webkit masterpiece?
How to avoid creating a monster?
I'm just using straight JS, no frameworks.
Simple is the best. Maybe I should just communicate using the HTTP interface, and not call any routines directly in the server? Thinking that's the best way to go, then the same browser-based app could be used locally or remote. There would have to be a compelling reason to not do it that way.
What do you think??