-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1 lines (1 loc) · 5.83 KB
/
index.html
File metadata and controls
1 lines (1 loc) · 5.83 KB
1
<!doctypehtml><meta charset=UTF-8><meta content="IE=edge"http-equiv=X-UA-Compatible><meta content="width=device-width,initial-scale=1"name=viewport><style>:root{--imml-text-light:#333333;--imml-text-dark:#eeeeee;--imml-background-light:#ffffff;--imml-background-dark:#121212;--imml-accent-light:dodgerblue;--imml-accent-dark:dodgerblue}:root{--imml-background:var(--imml-background-light);--imml-text:var(--imml-text-light);--imml-text-inverse:var(--imml-text-dark);--imml-accent:var(--imml-accent-light)}@media (prefers-color-scheme:dark){:root{--imml-background:var(--imml-background-dark);--imml-text:var(--imml-text-dark);--imml-text-inverse:var(--imml-text-light);--imml-accent:var(--imml-accent-dark)}}body,html{height:100%;width:100%;margin:0}body{font-family:sans-serif;min-height:100%;color:var(--imml-text);background:var(--imml-background)}.pages{margin:0 auto;max-width:600px;padding-left:1em;padding-right:1em}.pages .page{padding-top:2em;padding-bottom:10em}.page .breadcrumbs{font-family:monospace;text-transform:uppercase;font-size:small}p{line-height:22px}a{width:fit-content;color:var(--imml-accent);border-bottom:1px dotted var(--imml-accent);text-decoration:none}hr{border-style:solid;border-bottom:1px;margin-top:1em;margin-bottom:1em}blockquote{border-left:.5em solid var(--imml-text-inverse);padding:0 1em}blockquote p{font-style:italic}code{background:var(--imml-text-inverse);border-radius:.25em;padding:0 .25em;font-family:monospace;display:inline-block}pre code{padding:.5em .5em}pre{overflow-x:auto}img{max-width:100%}table{margin-top:.25em;border-collapse:collapse;width:100%}thead{text-align:left;font-weight:700}thead tr{border-bottom:1px solid}tr{border-bottom:1px dashed}td,th{padding:4px}</style><style>#imml a.portal:not(.inline){display:block}#imml .pages>.page,#imml .pages>.page:target~.page:last-child{display:none}#imml .pages>.page:target,#imml .pages>:last-child{display:block}#imml .pages>:last-child .breadcrumbs{visibility:hidden}</style><title>Cloudpeers</title><meta content="Creating Local First applications."name=description><div id=imml><div class=pages><div class=page id=home><div class=breadcrumbs><span>home</span></div><h1>Cloudpeers</h1><h2>Importance of decentralized systems</h2><p>We believe that decentralized systems are crucial to protect social and economic freedoms from big government, big tech and foreign states. This includes protecting free speech, privacy and small businesses.<h2>A new approach to decentralization</h2><p>Distributed systems consist of peers exchanging messages to achieve a common goal. There are two types of decentralized distributed systems.<ul><li>blockchain: strongly consistent, unavailable under partition, requires synchronization<li>local first: causally consistent, available under partition, does not require synchronization</ul><p>Local first systems operate on a local replica synchronized between peers. This results in users being able to work offline, collaborate over local networks without intermediaries and since it has no single point of failure it is naturally censorship resistant. By avoiding centralized data collection systems these systems often have better user privacy. On the other hand local first systems have significant down sides. Mobile devices have intermitten network connectivity and limited resources. In addition these systems put the burden on the user to recover from lost devices and hardware failures. We believe that a principled combination of local first systems with cloud services leads to a powerful new paradigm combining the advantages of centralized and decentralized systems. Instead of the developer renting cloud resources and reselling them to the user, the user rents cloud resources and provides them to the app. We think this system is especially attractive for applications that focus on creating content instead of consuming it.<h2>Economics of decentralization</h2><p>Developers are always looking to build better user experiences with lower effort. Our open source sdk TLFS (The Local First SDK) enables building serverless apps that traditionally require backend engineers to build, scale and maintain. It seemlessly integrates with cross platform UI frameworks like flutter and react, letting developers focus on the customer.<p>Once customers start using the app, they'll eventually run in to missing features. A local first chat app may only let you send messages when your friend is online. Supporting asynchronous communication requires a server to store the message until it can be delivered. When the user attempts to send an asynchronous message the app asks the user which server to use. While any server supporting the cloudpeer api will do, we incentivize app developers to sign up new users using their appid by sharing subscription revenue.<p>Customers will want to maximize the value of their cloudpeer subscription by using other cloudpeer enabled apps, similar to how netflix users tend to watch netflix content. This makes cloudpeer an additional customer stream.<h2>Roadmap to decentralization</h2><p>TLFS provides a typed json document db with fine grained hierarchical access control system and a system of bijective schema transformations called lenses. This allows for seamless (backwards and forwards compatible) software upgrades. We also built ffigen to generate react and flutter bindings for tlfs, and xbuild, a tool to build and deploy mobile and desktop apps.<p>Some major in progress work is completing webrtc support to ensure tlfs works reliably in the browser, a new radix tree based storage backend and synchronization mechanism and using xbuild to build our demo applications.<p>Next steps include building the cloudpeer service and show case apps to demonstrate the viablility of our system.<ol><li>passwordless authentication infrastructure<li>public key server<li>e2e encrypted synchronization mechanism<li>affiliate marketing and subscription mechanism</ol></div></div></div>