Applications in CouchDB

A business strategy (work in progress)

CouchDB has features that allows the system to be the single platform on which applications can be delivered together with data.

The intended audience for this document extends the CouchDB developer community to include any decision maker that is in the process of selecting a document-based database system. For this reason unexplained technical terms and concerns that apply to the core developer community only are avoided.

BACKGROUND

For a long time the application server features of CouchDB have been regarded as nice add-ons to play with, while solutions for serious business involving CouchDB has required additional platforms.

The features that allow applications to run server side on CouchDB have not been developed for several years due to lack of Erlang developer capacity. A clear plan for where to go with applications in CouchDB has been missing and the activity of the non-developers in the CouchDB community has been more of a disturbance than a contribution.

What is evident is that once you accept a second platform for application deployment, there are many to choose from. Node.js leads the way with its abundance of packages available via npm, one of them being PouchDB Server. If node.js is too complicated, the limitations of CouchDB's built-in web server quickly lead the developer to look for somewhere to host e.g. nginx and some popular libraries and frameworks. For the entry level developer the single-platform magic of CouchDB — being both the database system, application server and web server — is then broken. However, the fragmentation and dynamic nature of the javascript module and framework space becomes a barrier of entry in itself. New entrants have a hard time navigating and making decision and once you are in, monitoring the development takes a lot of time and competence.

The purpose of this document is therefore to define a case for applications on CouchDB as the sole platform and to do so by leveraging 3 key features:

These three features: ASSWID, SSJS and DUAL MODE form a unique combination that no other single platform can offer with the same level of simplicity. This is the foundation for rapid onboarding of new developers.

The combination of these features could also open up for new business models and new ways of delivering services in the web space, especially where the main function is covered by the database system and requirements for the application and web server are very basic. This overall profile fits with a strong trend towards application power on mobile devices.

MAIN GOALS

The main concern for anyone investing in the future of CouchDB should be to increase its speed of dissemination: The ASSWID, SSJS and DUAL-MODE features on one single platform enable a new speed of onboarding developers and deploying products. Tools that increase productivity for experienced developers, such as Github, npm as well as various build and deployment tools turn into barriers of entry for new developers and application owners. Low barrier of entry is our starting point.

The following three goals will have synergetic effects for growth:

The end result of reaching these three goals would be a rapid, sustainable growth that motivates investments and generates opportunities for return on those investments.

BUSINESS MODELS

Rapid, sustainable growth will create an ecosystem with several business opportunities:

IMPLICATIONS FOR THE COUCHDB CONTRIBUTORS

The application server is clearly not the core functionality of CouchDB. However, it could be the most powerful recruiter and provide the most significant differentiator. Interest from new groups of application developers/owners should be the end goal. The contributors to this part of CouchDB need to be less development-centric and more recruitment-oriented than usual. The focus for these features is not to compete with platforms like node.js, but to strengthen CouchDB as a single-tier platform to lower the barrier of entry and to explore the concept of applications that reside and sync together with its data. Superior simplicity for the application owner organization is the main requirement.

THE BUSINESS INTEREST

Sustainable, rapid growth in the ecosystem that has CouchDB as the point of integration could revitalize the interest for CouchDB. The interest for CouchDB has faded partly as part of the growing popularity of Couchbase, a company and platform that comes from the same roots as CouchDB, as well as alternatives like MongoDB who’s popularity is closer linked to node.js than what CouchDB is. Compared to these two platforms CouchDB has several valuable differentiators. The winner takes it all if alternatives are too close. The application server features of CouchDB needs solid support from the Apache CouchDB PMC and a predictable roadmap that can generate a growing group of core contributors. This is the first of four documents intended to contribute to clarify business interests behind applications from CouchDB:

Solutions architect, B2B marketing expert with a passion for clean concepts that enable communities to solve big problems.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store