Good to have your input @joshuef. Maybe others will join in as fans of meteor and other frameworks. I think if we can establish a workable core, it will be easy for others to plug their favorite in alongside our as a replacement.
Hoodie
Glad you like hoodie. One worry I’ve seen expressed over it - which appllies equally to SAFE and indeed every noBackend approach - is the lack of data validation which a backend can make much easier to control. I haven’t seen it spelt out, but assume the issue is that anyone can tweak the client and screw up the integrity of data on the server. I do think that’s a big potential problem, so something to bear in mind and what anyone who does understand this stuff has to say on it!
Database API
My ignorance is high everywhere, but most of all in not understanding how to achieve the higher level capabilities of a database API (eg CouchDB) with the least load on client and least leaving copies of data in local storage.
Ideally, everything should be either in memory, or stored on the network - at least that’s the long term aim I think. But at the same time, offline first would ensure the best UX and eliminate the user’s need to be aware of the state of connectivity - except where absolutely needed (e.g for real time interactions with others).
PouchDB
The most interesting answer I’ve seen, because I don’t believe SAFE will provide much in the way of database queries or CouchDB tasks, is something like PouchDB. It’s a cross platform javascript database that provides a complete CouchDB API on the client (offlinefirst capability), and supports sync with other PouchDB/CouchDBs, and with CouchDB sync compatible clouds (of which the are several). All that adds up to easy migration of some powerful web apps I think.
Sync
The aim of CouchDB was to do one thing really well, and that is sync - so I think we should think most about whether sync is very important, and how well we can make it work, say by leveraging PouchDB, in our use case.
I’m wondering if we could use PouchDB to provide apps with a CouchDB API to local or remote instances (i.e peer apps on other client devices) with the data maintained mostly or entirely on SAFE. I think we have to wait for the SAFE collaboration and messaging APIs to answer this. Hopefully they’ll support messaging over REST.
I think this would give developers a lot: lots of capabilities, decentralised, easy to develop, totally cross device platform. All achieved with widely known, proven languages, APIs, dev tools etc., no new skills to learn. Write once, run on anything (Note: PouchDB supports almost every browser on every desktop and mobile device).