Hi Bill, I have been wrestling with the ideas of what an application in CouchDB is from the perspective of letting CouchDB be the center of integration in this article https://medium.com/p/e39ac4397cea <https://medium.com/p/e39ac4397cea>
Like you say, there are so many scenarios where CouchDB is just a small piece in a large stack. That is where we maybe should stop talking about couchapps and rather talk about design documents or "application server features" Where applications in CouchDB really could become a strong concept is where you have it all in one design document or as I more an more think, in one database. Up to now couchapps have been focused on pushing a set of resources into a design document. If we start thinking of an application in CouchApp as a database with all you need, you have a new concept that is very powerful. Ddoc Lab demonstrates this concept. Deploy it as one design document is easy, but when it really becomes beautiful is where you see it this way: - After you have deployed it, it is in a database that acts as a store for your ddoc source files. No longer files on your disk, you now have an IDE online that travels with your sources files, lets call it your "lab" - You tweak the rewrite of a design document that extends Ddoc Lab and you have an even better IDE. - Let it sit there in an empty database and every time you start a big project, you just replicate this. Your application is a database set up for a software project. Every time you start a new project, you replicate the "original" database. It is a one-line or on-line installation of apps and storage. If you have put a lot of work into a server in AWS, you store in an AMI and if you do the same on DigitalOcean you store it as a Snapshot. This is the same thing. click and go, no setup , no installation, it is so easy and super quick to launch an application or set of applications with its data storage in one go. It is the same as AMI and Snapshot, but at a lower level. I am still looking for the good term. Maybe it is less focused on the app and more on the system. Maybe I will start thinking of it as a server inside the CouchDB instance. Couch system, it's not a "living room", but is is a "apps syncs with your data" concept. The border between app and data blurs as the apps themselves are JSON documents with attachments for the client to load. We could call it AppBase or Application Bucket. Compared to a normal bucket or database, this has apps in it. Let me give you an example. The first time I installed Ddoc Lab, i cut and paste into Futon/Fauxton. It takes ages to store, Fauxton even sends conflicting messages while storing. The next time, I just replicate the App Bucket. It takes a second. Imaging creating a system ofEden apps that takes a day to install, as a App Bucket, you can share it in a second or five. Across the world. This is the market place we need. Johs > On 16. nov. 2015, at 19.58, William Edney <[email protected]> wrote: > > Thanks everyone for the feedback. > > It was good to think about Johs comment that there also tends to be > server-side document that define the server-side processing. We have so > little of that in our current demos of our product that I hadn't considered > it (the vast majority of action in our product happens in the client). > > Martin - given that our tools are sort-of purpose built for our product, it > might not be convenient to use them with other JS frameworks. You'd have to > mess around with the directory structure - it might be possible. > > Our stuff will be available under an Open Source license. Note that the > Couch stuff is only one (small) piece of an overall larger, full stack > framework. We'll have a lot more to say in the next few weeks :-). > > Cheers, > > - Bill > > > On Sun, Nov 15, 2015 at 1:22 PM, Johs. E <[email protected]> wrote: > >> Hi Bill, >> I think your “couch-served apps” is a good candidate for a term to could >> adopt as replacement for couchapps. >> >> I use "applications in CouchDB" rather than Couchapps. >> An application in CouchDB to me is one or more design documents that >> define the server side processing as well as define what modules to load >> client side. >> >> johs >> " >>> On 15 Nov 2015, at 17:40, William Edney <[email protected]> >> wrote: >>> >>> I know there are other products out there that do similar things to ours. >>> Does the term 'Couch-served app' make sense to folks and should we be >> using >>> it this broader context or does someone have a better suggestion? >> >>
