Git Product home page Git Product logo

example-gila-app's Introduction

Gila, (desert woodpecker)

I'm Gila!

Gila is a Tableland proof of concept (POC) that is effectively a very simplified twitter clone. The goal of this POC is to demonstrate one idea for how Tableland can support users owning their own tweets and followers data, but a developer/DAO has incentive to maintain the application code and enable features like user's finding accounts to follow. To visualize how this works see below:

In this architecture there are 2 types of actors, Users and Developers. Users are individuals who want to create tweets that are visible to other Users. Developers are one or more individuals, or maybe a DAO, who have created a Tableland app that enables Users to find Users to follow, and see other User's tweets in a convenient way. In the case of this example the app has a frontend built using Nuxt3 and the backend is a small AWS Lambda function.

The usage flow of Gila is as follows: A user navigates to the the frontend which is hosted via Textile.io and IPFS. Once the page has loaded the user is given a very brief explanation of what the app does, and is asked to connect to tableland with their browser's wallet. Upon connecting the user will sign a message to ensure that they are on the beta-users passlist, then they will pay to "mint" two tables. One that holds their tweets, and one that holds data on who they would like to see tweets from. The Developer who has designed and created the code in this repository has created a table that they own, all_users, which has a list of all the users who have indicated that they are using Gila. Users who want to make finding their accounts easier can do so by making a request to the developer to add them to the all_users table. These inserts are enabled via an AWS Lambda function that is paid for by the Developer. In this example Tableland is paying to host this app, but in theory the Developer would have some kind of paywall or message indicating how Users who find this useful can help pay for it. The Developer would also in theory pay to pin the client to IPFS.

Here's a visualization of this architecture:

arch diagram

Incentivization within this arcitecture

One of the obvious diffences between this and Web2 social media is that the User will have to Pay to use this. This "pay to use" business model is enabled by Tableland because the User is given ownership of their data, and the Developer has a mechanism to be compensated for the work and operating costs required to enable a social media platform.

As a User, when you use Gila you are prompted for 2 different types of payments:

  1. Paying to "mint" tables within the Tableland network. This payment results in the User having ownership of the tables that they have created.
  2. Paying the Developer for their work in building, maintaining, and hosting the application code and the application tables. This payment goes to someone else, the Developer, and is a payment for a service that has been and/or will be provided.

This 2 fold payment ensures that there is a "mote" that incentivizes the Developer to build the application, but the mote remains "shallow" because the user has actual ownership over their data. It's worth pointing out that while this model enables a strictly pay to use pattern, it also leaves open the possibility of an advertizement model as well.

Notes:

  • There is a working version of this POC hosted here
  • When this POC was created Nuxt3 was not yet a release canidate, so the client code might be fragile.

example-gila-app's People

Contributors

joewagner avatar

Watchers

Sander Pick avatar Aaron Steele avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.