GDQuest / website

http://gdquest.com/
Other
44 stars 80 forks source link

Improving the website and its content #103

Closed NathanLovato closed 4 years ago

NathanLovato commented 4 years ago

The problems

  1. Our content is hard to find. The work we do is scattered around YouTube, GitHub, our online shop...
  2. A lot of our content is not referenced on the website: some content is just hard to find, like the power sequencer docs, and the website's content is not up to date.
  3. The [first-time] navigation is off: the landing page does not lead people to our tools and tutorials first.
  4. Our docs lack structure: power sequencer docs use a custom made page layout that's far from the quality of other themes
  5. Conversions are poor. We focused on producing content, and although our community has been growing steadily, we have a hard time getting people to find and share some of our demos and code repositories, and our revenue is going down.
  6. We're not using the website that much. Yet with thousands of visitors every month, people are! We should centralize our communication there, on top of using YouTube.

General goal

Make the website a hub to find our content across platforms.

To achieve that, I think we need to focus on:

  1. Organizing the content
  2. Adding missing content
  3. Making maintenance and updates easier

Issues

See the project board

razcore-rad commented 4 years ago

I've been thinking about easing in the content creation process. So we have a lot of documents that we want people to start contributing to, each could be viewed as a separate project. This might be a stupid idea, but couldn't we use sub git projects/repos to store individual projects? For example, the learning godot documentation could be a separate repo that's referenced by the GDQuest website repo. This would keep things better organized in terms of finding the project itself and cleaner issue tracker.

On the shop part - is it possible to integrate gumroad/mavenseed directly so users don't have to leave the GDQuest website?

Some other thoughts:

I'm not sure what you mean by

We should centralize our communication there, on top of using YouTube

in point 6. What type of integrations do you have in mind? Or how do we centralize this communication in practice?

NathanLovato commented 4 years ago

couldn't we use sub git projects/repos to store individual projects?

The only thing we have are subtrees/submodules, and they're a pain to use. If a project was larger and we could have dozens of persons contributing I'd say why not, but I'm not sure we'll get even 2 contributors on a given project. Splitting repos also means making them harder to find, a single central location can help get more stars on github, thus more visibility in the search engine and recommended repos, etc. Submodules also mean more maintenance work.

maybe it's a good idea to rethink a bit the naming convention we're using for the github repositories

Sure! I don't have any idea of conventions that could work for the wide variety of projects we have though.

better integration with the YouTube playlists

We have a python program to convert the playlists to content pages already. I don't think that youtube videos themselves would keep people on the website - the viewing experience is nicer on YouTube where you'll have recommendations, the video description, comments...

Now having the videos on the website is interesting to link to related content, to add notes and resources to tutorial series, etc. On the course template you have some setup for that: https://www.gdquest.com/tutorial/game-design/godot/introduction-to-shaders/

integrate relevant repo README.md files from the demo/tutorial projects. I'm pretty sure we could find a git solution to reference a file from another repo, much like a subproject

You always can pull content/data from a file over the network, but it kills the build time and makes it generally slower to work on the website, killing the purpose of using a fast static engine. See #110

I don't think it'd be that useful either to try to keep things in sync automatically - we don't change readmes often, and we'd have to maintain the code that syncs stuff.

There's no magical solution with git itself - you'd probably be better off having a shell or python script that copies files over from repositories on your computer.

in point 6. What type of integrations do you have in mind? Or how do we centralize this communication in practice?

Having everyone in the team write news for the website instead of me writing news on Kickstarter, etc. Then linking to that on social networks, Kickstarter, Mavenseed posts...

NathanLovato commented 4 years ago

Regarding demos by the way, I don't think we should duplicate the work we have on github, pulling the readmes. I'd rather have a gallery of demos, e.g. a grid of icons with a short description, linking directly to github.

NathanLovato commented 4 years ago

Recent changes on the website addressed most issues listed here. The main one left is #104, adding search, but besides that it should already be much better. Closing for now.