Hey! I made an account — this seems like an awesome idea, and I really like your vision. It seems like this format will really appeal to hacker-types with the idea for eventual federated + custom domain communities that can interact with each other. It’s similar to my own idea of an ideal social media network.
Some of the structure seems a bit confusing though as I look around. How can I create a new community or a custom domain? I don’t see the option anywhere. I also can’t find a way to post to any communities besides my own username.
If it weren’t for your comment in this post explaining everything, I’d be really lost. I’d recommend a page with a series of graphics that shows the basic idea of how everything works together. I also noticed that most of the static links on a subdomain page don’t work (ex. the “About” links at the bottom of the page).
Overall, really great job so far and I can’t wait to see what else comes of this! I’ll definitely be looking out for when you open-source the project, at least for better understanding, and maybe to contribute too! :)
Edit:
Ah okay, seems like you need to be following a community to be able to post to it. That makes sense.
It also seems like maybe I need to create multiple accounts to create multiple communities? Each account is its own community? So if I wanted to make a community for “golang” for example, I’d have to make an account named “golang”... Then that account owns itself as a community? That’s my best guess!
Hey. Yup, it is a bit confusing, I'm taking all the feedback here and making UI/structure changes. And I'll definitely write more in the about page. I'm aware of the broken links too...
I'm guessing you made an anonymous account? Those can only post on communities which allow anonymous posts. Right now, only email-verified accounts can create communities and add domains, only to avoid namespace-squatting and spam really.
Thanks, I'll let you know when I free up the code. :)
It’s actually not an anonymous account, I just can’t find the links anywhere for creating a community! I did just edit the above post to say that I figured out that you must follow a community to post to it. And thanks for getting back! :)
Also no, your account username is your account username. You choose a slug/username for your community when you create one, it doesn't need another account.
This is incredible work! It looks snazzy and yet is very light - the frontpage only took 300kb to load (compare that to new reddit, lol). I really love the alt text for NSFW posts: https://i.imgur.com/2tcHsGY.png
How are you planning to do moderation? You seem to be going with a reddit-style "the creator of the subreddit moderates" system - how are you planning to deal with the pitfalls of that, like power users moderating thousands of communities, mod abuse and accusations thereof, etc.?
I'm not completely sure yet, and haven't given it much thought. But I suppose there will be a limit on the number of communities/publications one can own. There definitely ought to be a mechanism to cut down on power user abuse.
You're also going to have to deal with cases where the creator of a sub-community fails to do their job as a moderator (or actively works against it). In the limiting case, if you get a DMCA takedown notice, get a GDPR notice, get a C&D, discover illicit materials of other types, discover that people are using your site to plan crimes/attacks/etc, or any number of other things, you're still responsible for that.
It's worth noting that emergent communities like this devolve into fascism pretty quickly (as more forums, reddit, & fb groups have proven) so you might want to think about this / bring in someone who is an expert on community management.
Definitely look carefully at the absolute worst that can be found on the Internet, and the worst that sites with user-submitted content have to deal with, and decide in advance what you do and don't want to support. Anything you don't want to say "yeah, I'd be completely fine hosting that without hesitation" about, you should think about now, and put in corresponding policies now.
Having policies in advance means people will just go elsewhere. Trying to add such policies later, when you have existing users, will be much harder. You're likely to want to draw that line somewhere; better to draw it in advance.
(I've dealt with user-generated content before; please feel free to reach out privately if you'd like to talk about it further.)
This is amazing to see, do you have the code source available to read? if not, I understand, but I would be curious what programming language you wrote all this in.
Oh and, before I sign up I should ask if you plan to monetize this via subscriptions or similar so you don't have to vanish on us if you don't want to.
Gurlic has a thing called a "bread" which is a collection of posts. The most common type of bread is a community, which is sort of like a subreddit or a forum. These are fairly minimal now, but have customization options, mods/admins and so on. Here are a few examples:
Most posts can be tagged, marked NSFW, users can be @mentioned, there are #hashtags, all the usual modern amenities. Profiles and communities have RSS too, or should, last I checked.
Work in progress
----------------
I'm hoping to integrate matrix into the code as soon as I find more time to read/learn it and things like dendrite and hydrogen are stable enough. Until then, signed up users get a @username:gurlic.com account and there's a self-hosted version of the Riot/Element as https://gurlic.com/chat that I havent' had the time to play with yet. I'm guessing the usual matrix clients on desktop/phone can be used, but I haven't checked.
Short term goals are to build up a small community of users, fix things that are broken, and make the code free. I'm not a programmer, so all of this took a lot of yahoo searches. I'd be happy to hear feedback and advice.
Longer term goals would be to have activitypub or some kind of way to have federated interaction between domains. But this needs more thought and probably someone smarter than me to look into it.
Most of the backend is Go/grpc for the db/logic, and rust for the shortlink server. The frontend is a combination of Go templates, vanilla JS, Svelte, and Vue.
There is a ton of other stuff I'm leaving out for brevity. Some of them may come to me in the comments if anybody has a question.
At this point I feel that every new "social platform" should greet me with a whitepaper. "How is this different from Reddit? What are functionality goals?". Your post right here is great at explaining this but maybe this should be included somewhere on the website itself?
I love the theming options, nested communities, and your goal to federate the network in the future!
The concept of having different types of "breads" based on things like content type and length is intriguing.
One small feature request:
It looks like this may be in progress because I noticed a URL on user profiles, but I'd love to see RSS for each user and community.
The login button doesn't work when using subdomains (raw.gurlic.com), just thought I'd let you know. It should be a static https://gurlic.com/login rather than using a relative path.
i really like the content and simplicity of the site, looking forward to exploring more of the features :)
one bug that's stood out with videos .. if i pause/stop/finish a video and scroll until new content loads, it reloads the video(s) further up the page and they start playing in the background, forcing me to scroll all the way up to stop them. a minor annoyance but i wanted to point it out.
in addition to preventing this reload from restarting videos, it would be cool if videos im watching pop out to the bottom right (like many news sites do) as i scroll so i "take it with me" while i browse other content
Great work. Your design is nice. But if I may give one critique. Please add a way for users to reach the footer, it becomes silly to reach it when you have endless scroll. Either put the links in footer somewhere else and remove the need of the footer or stop the auto load after sometime and give a button for user to load more. so that they can find the footer and know more about your website.
Some of the structure seems a bit confusing though as I look around. How can I create a new community or a custom domain? I don’t see the option anywhere. I also can’t find a way to post to any communities besides my own username.
If it weren’t for your comment in this post explaining everything, I’d be really lost. I’d recommend a page with a series of graphics that shows the basic idea of how everything works together. I also noticed that most of the static links on a subdomain page don’t work (ex. the “About” links at the bottom of the page).
Overall, really great job so far and I can’t wait to see what else comes of this! I’ll definitely be looking out for when you open-source the project, at least for better understanding, and maybe to contribute too! :)
Edit:
Ah okay, seems like you need to be following a community to be able to post to it. That makes sense.
It also seems like maybe I need to create multiple accounts to create multiple communities? Each account is its own community? So if I wanted to make a community for “golang” for example, I’d have to make an account named “golang”... Then that account owns itself as a community? That’s my best guess!