Hey all, I am glad this topic is resurfacing and with some great discussion. I have some irons in the fire with this with garden20.com as many of you have seen. Here is my perspective.
I find most of the discussion above is backwards. Backwards in terms of perspective. We are thinking as developers. It is tough because CouchDB is first and foremost a database. But once we cross into the realm of writing apps on top of db, we have to switch and think of the User. They become number one. If no one uses or likes your app then it dies. And in this space competition is fierce and we as developers are just middlemen delivering a product to users. But working backwards, we start getting into the realm of discussion above. Development teams scan the landscape for tooling that will provide the user with the best experience. That is why some 'fruity' companies have legions of developers. The have fantastic user experience. But probably a lot of us here strongly dislike the strong arm these 'fruity' companies use to exercise control of markets, apps, data, etc. But as Noah talks about product advertising, positioning, messages...this is the place for couchapps. It is a 'product' that puts the user in control of their apps, their data, etc. We have a chance to rally people around this. But the real problem is that people don't really understand this. Both developers and users. They go to websites, they build websites. They install apps on their mobiles, they make apps for mobiles. What the hell is a couchapp? Why would I use it? In my mind, these are the use cases we need to get across to both users and developers: 1. Personal apps that run and sync on all your devices, and a cloud provider. 2. Corporate/Org sites that are build on smaller units of couchapps as modules. Wikis, Forums, Issues. Users can sync work offline with their mobile devices. 3. Public facing sites that are build on smaller units of couchapps as modules. Probably confusing for people to work/sync offline but possible. 4. Fringe apps that will be taken down if hosted centrally. All the above are not catered to very well by the traditional app/website tooling out there. All of the above use cases put the User first. We have to drill that home. I have really tried to put the user first with garden20.com and make it work like that. It provides a consistant navigation between installed apps. It provides a revamped and modernized market like people are used to with app stores. It provides app management for installation, upgrades and user access. Theme support, and much more. I believe that couchapps are just not the build tooling, but also how they work together. I still dont think I am there, yet. It has been a ton of work. I am fully committed to keep it open source. I even offer to donate it into couchdb proper. I just wanted/needed some space to do it as I saw it. I guess that is the huge challenge with the community. Many of us want to do it as we see it and it risks fracturing the community. We have Benoit doing awesome stuff on rcouch and refuge. We have many different couchapp tools, all in various states of support How do we manage this? I have no answers. But I am willing to work together in an open environment to get it better. I hope on that we can all agree. Ryan
