Smart Contracts for… SaaS apps?!

  • We’re open sourcing OpenWork: 3 productivity apps backed by smart contracts. The suite comprises Kanban boards, team chat, and a vacation tracker.
  • Smart contracts are often closely associated with financial transactions due to their history, but they’re more broadly applicable than that. Any app which needs transparent data management and open APIs is suitable.
  • The early generations of distributed ledgers were hard to use, so only high-dollar value use cases were tried. With Daml, the difficulty of writing smart contracts drops so low that new fields open up.
  • As an experiment, we’ve built or ported 3 productivity products to prove that hypothesis, and learn about what works and where improvements can be made to the current tooling.
  • At some point, the overhead of writing smart contracts will be so low that all persistence backends will be described in this way. You can get ahead of the curve by downloading the Daml SDK and taking a look at what we’re working on.

What do you think of when you hear “smart contracts”? Cryptocurrencies? Tokenization of assets? Automating financial agreements? Track and trace? Those are certainly canonical use cases, but are they all smart contracts are good for?

Smart contracts were first described by Nick Szabo in 1994, but really exploded in popularity with the advent of Ethereum in 2015. Given that Ethereum had a native cryptocurrency with a burgeoning market around it, most of the early smart contracts that were built were monetary in nature.

Around the same time, we at Digital Asset were working on streamlining post-trade capital markets. While they certainly have monetary components, the workflows in the capital market space are richer: coordinating information flows and permissions between different parties before finally moving assets, often in a batch settlement.

The smart contract languages of the day, such as Solidity, didn’t cut it for our needs so we developed Daml — a programming language capable of describing the rich processes around persisting and updating critical information. More than just the ability to describe these processes, Daml was designed to be easy to write.

Try OpenWork Board now or download the Daml SDK and fork the code now!

When you think about smart contracts like we do — a high-level language that makes persisting and updating information transparent, safe, and easy — it becomes clear that financial contracts are just one possible use case. In fact, what could be more critical to your business than the tools you use to get your tasks done? Whether it’s a todo list, internal communications, or even tracking time-off, these are key processes at the heart of everyday organizations.

When smart contracts were hard to write, and the languages designed around money movement, it would be crazy to think about writing productivity apps backed by smart contracts. But because Daml’s different, that’s exactly what we tried.

Over the past few weeks we’ve built or ported 3 separate productivity apps to use smart contracts: kanban boards, team chat, and a vacation tracker. We’ve committed to using these tools internally and we’ll be releasing them as open source under the OpenWork brand for you to inspect and deploy yourself.

Our motivation was to prove our hypothesis that smart contracts had value beyond currency transactions and to learn where the pain points were so we could work improvements into our roadmap. In that respect it was a resounding success, and expect to see some useful features coming to the Daml SDK soon!

However, we also think that there are teams who’d be interested in running open-source productivity apps which are “radically transparent”, where smart contracts give users the powers to inspect, remix, and extend the core functionality, and where the data is portable across different persistence layers, including blockchains. Perhaps you work with one of the platforms that Daml supports and would like your productivity tooling to use the same stack? Perhaps you’re an open source community and you’d like to store key collaboration data across multiple providers rather than be locked-in to a single vendor? If that sounds interesting to you, we’d love to hear from you.

As it stands, writing smart contracts is still more overhead than writing traditional, centralized storage definitions. But for increasing classes of applications today the benefits already outweigh the costs, and as we continue to improve the tooling, that costs keep dropping. In the not-too-distant future, we expect that all new apps will be written with a distributed mindset. You can get a jump on that future by exploring Daml today.

This is the first in a short series of posts about OpenWork and Daml. Future posts will explain the interesting features of the apps as they stand today and where they could head.

Read the next post: Inside the “Radically Transparent” OpenWork Suite