question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Leopard community website & project sharing

See original GitHub issue

This issue is for discussing whether building a community is a good idea, and how to go about it if so. This is NOT the time to bikeshed over minor technical details. We can do that later. 😉

In the mid- to long-term, it might be nice to have a community website where users can create, edit, and share their Leopard projects, as well as discuss and collaborate with each other.

This would replace the current system of sending people over to CodeSandbox.

Is building such a community a good idea?

Community and Moderation

The Scratch Team does an exceptionally good job of moderating and fostering a community environment. A few things they get right:

  • Enforce strict comment moderation
  • Disallow sharing too much personal information
  • Encourage remixing

I imagine that for an older audience, slightly more relaxed rules could be appropriate. In particular:

  • Sometimes sharing a small amount of personal information is appropriate when collaborating with others or growing out of a community
  • Slightly looser language rules could be appropriate for an older audience. (But you still have to be kind!)

Perhaps Snap! could be an inspiration in this area.

Technical Considerations

Users must be able to edit and view projects which are made up of multiple files.

We could run some kind of bundler (like Parcel) on the user’s code, but then you have to install npm dependencies server-side so that they can be bundled, which is a pain. Perhaps better to have users import their dependencies from unpkg or skypack and just serve their code directly, since browsers can handle JavaScript modules with import natively.

Without the overhead of any bundling, the project editor essentially just becomes a static file host. You write HTML, CSS, and JavaScript, along with other assets like images and sounds, and we serve your files directly. No meddling necessary.

That’s pretty easy!

As far as security goes, we can get 90% of the way there just by serving projects from a separate domain. If the community site lives at leopardjs.com, then each project could have its own subdomain like my-project.other-leopard-domain.com. If each project really is just a collection of static files, then other-leopard-domain.com could literally just forward requests on to an S3 bucket (or equivalent).

Funding

I am happy to pay some hosting costs out of my own pocket, within reason.

To keep costs down, we could limit the size of assets that users are allowed to upload (per asset, per project, and/or per user), and that would probably help a lot. But if the community grows a lot or people want to host large projects, there would need to be a reasonable source of income.

One option is simply to charge users money if they want to store large assets. This is honestly pretty reasonable if the issue is certain users making huge projects. But if the problem is a large number of users who each create small projects, you really want the website to be free for them to use, and then you need a source of funding.

I am not sure where that money would come from.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:11

github_iconTop GitHub Comments

2reactions
PullJoshcommented, Jul 27, 2022

It’s live! 🎉

I am really looking forward to checking on this list from time to time. We’ll see how frequently people use the website.

1reaction
micahltcommented, Aug 2, 2022

Looks absolutely amazing! Love the skeleton loading UI as well!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Issues · leopard-js/leopard - GitHub
Library for making Scratch-like projects with JavaScript. - Issues · leopard-js/leopard. ... Leopard community website & project sharing.
Read more >
Snow Leopard Trust: Home
The Snow Leopard Trust aims to better understand the endangered snow leopard, and protect the cat in partnership with communities that share its...
Read more >
How We Work -- Community Collaboration
Appreciative Participatory Planning and Action empowers communities to focus on ... snow leopards, the chances of long-term success are greatly improved.
Read more >
Community based conservation - Snow Leopard Network
This year, the SLSG will support projects outside China in 3 specific themes: Snow leopard research and conservation knowledge/ technology sharing) (Theme A) ......
Read more >
Snow leopards Project profile
Working with the Snow Leopard Conservation Trust we're funding the ... Seven are from each of the local herder communities and are funded...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found