Git Product home page Git Product logo

a-web-monetization-story's Introduction

Polaroid of Auden and Chicken

Software License: Apache 2.0 Assets License: CC BY 4.0

An interactive Web Monetization tutorial for online creators.

This project was originally created during the Betahack "Fix the Internet" Hackathon (August 17th-30th, 2020) and has since become a subproject within The Akita Project.

Try it out here: https://esse-dev.github.io/a-web-monetization-story/

Demo video: https://youtu.be/EqZIcUXLZgs

Devpost submission: https://devpost.com/software/borzoi

Drag and Drop Javascript Library: https://github.com/bevacqua/dragula


A Web Monetization Story is a website that seeks to help creators understand how simple it is to enable Web Monetization on their own sites. The story of Auden and Chicken aims to engage users and help them relate to — and understand the purpose of — Web Monetization. It includes a simple drag-and-drop tutorial to show the basic steps needed to get Web Monetization running on a site. We want to make the tutorial easy and fun, and ensure it is easily understood by those who are less technical.

A Web Monetization Story starts off with an introduction to Auden, an androgynous creator who recently came across Web Monetization and integrated it into their blog. As a digital creator, Auden is always looking for new ways to support themself financially. At the same time, Auden wants to make sure that readers have a good experience on the site, so integrating ads into Auden's site didn't sit well with them. Web Monetization was especially appealing to Auden, not only because it provides a new stream of revenue, but also because the community surrounding the concept strongly values openness, fairness and inclusivity.

Following their personal introduction, Auden provides step-by-step instructions on how to integrate Web Monetization onto a site. For each step, a puzzle piece containing simple code can be dragged and dropped by a user into the sample website html provided. Auden provides personal anecdotes about their process in enabling Web Monetization on their site, as well as context and reasoning for simple code that is added. The tutorial starts off with the basics needed to enable Web Monetization (adding the monetization meta tag) and progresses into a further example on how to customize a visitor’s experience on the site using the Web Monetization JavaScript API (showing a “thank you” note to visitors supporting the site via Web Monetization).

The main Web Monetization concepts introduced in the tutorial include:

At the end of the tutorial, Auden presents a handful of resources that a user can leverage to continue on with Web Monetization and join the Web Monetization community. Users can also download or copy the sample code and view the sample code on Github.

Finally, Auden closes out the story with a thank you page and a user can choose to start the story again.

Overall, our project provides an interactive story and tutorial that introduces creators to Web Monetization — guiding them through how easy it is to start monetizing a website using Web Monetization.


Resources


Connect with Us

a-web-monetization-story's People

Contributors

sharon-wang avatar vezwork avatar vic-e avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

a-web-monetization-story's Issues

Fixes to the mobile view message

When the site is visited on a computer but with a narrow window size, it shows the mobile view. We should update the note to specify "full screen" so that it covers the case when it is viewed on a computer, but the window view is too small.

  • Visit this website in full-screen mode on a computer to try out an interactive Web Monetization tutorial for online creators.
  • Or, check out the following links for more information about Web Monetization and this project:

Add animation delay to tutorial puzzle pieces

The puzzle pieces on the tutorial steps bounce right away, but that is distracting when a user gets to a step as it draws their attention away from the instructions right off the bat.

Proposing that the bounce is delayed for a few seconds to give the user time to read the instructions before the puzzle piece bounces.

It's currently tricky to add the animation delay because the puzzle pieces are always present on the site, so the animation delay will occur as soon as the site loads. By the time a user gets to the tutorial step, the animation delay will have already elapsed. Will need to do some refactoring to make the delay work.

Or, the puzzle piece can bounce on mouseover/hover...but that might make it harder for them to pick up and drag the puzzle piece.

Animate transitions between steps

Currently the webpage instantly transitions between steps. Would be cool to have a cute animation when moving from one step to the next.

If user navigates from and back to a page with .animate-in elements quickly, the animated elements in the page disappear

Repro steps:

  • go to page-0
  • press NEXT to go to page-1
  • immediately press BACK to go back to page-0
  • observe that the elements in page 0 are not visible.

This occurs because of the following code:

setTimeout(() => {
    animatedEl.style.opacity = 0;
}, 800);

It is very unlikely that a user will encounter this problem, as you have to move your mouse very quickly and intentionally to go back fast. It is also easy to recover from this problem, just press next to go to the next page.
So I am marking this bug as an enhancement.

Organize files in repo

  • create directory for image assets
  • create directory for dragula
  • other organization as fit

Write content for landing page

Content includes: title of webpage, introduction to what the webpage does for the user (a creator), links (if relevant), and a "get started" button

Triangular user interaction flow should be improved

dragging the puzzle piece from the bottom-left to its place on the right and then clicking on "NEXT" in the bottom right, then going back to the bottom left to drag the next piece (and so on) doesn't feel very natural and forces the user to move their mouse across the whole screen on every page.

New persona and backstory each time a user visits the site

Currently we have an online creator named Auden who blogs about their adventures with their dog Chicken.

It would be interesting to have a variety of personas and corresponding backstories, potentially even slight tweaks to the example code based on the persona's site.

This would provide further examples on how to leverage WM for various use cases.

Put code in the puzzle pieces

  • put code in puzzle pieces
  • make sure puzzle piece shadows / missing puzzle piece spots are the right size and disappear when a puzzle piece is dropped in.

Create devpost hackathon submission

Submission should include:

A link to a public GitHub repository
Please list all open-source code, SDKs or APIs used.
Answer the questions on the submission form about your idea, your implementation, and the potential impact.
A short video demonstration of your prototype.
Please only 1 minute long.
With audio or video narration.
Answer all submission questions

Write content for steps

  • step 1 content is along the lines of
    "Enable monetization on your site by adding the WM meta tag. Drag the meta tag to its place!"
    "Perfect! The monetization meta tag goes in the of your website.
    We’ll go over how to include your own monetization account at the end of the tutorial."

  • step 2 content has to do with including Web Monetization JavaScript on your page to hide and show an element.

  • step 3 content has to do with signing up with a wallet provider and continuing your Web Monetization creator journey.

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.