pil0u / lewagon-aoc

Advent of Code x Le Wagon
https://aoc.lewagon.community/
MIT License
28 stars 5 forks source link

Vision 2024 #458

Open pil0u opened 4 months ago

pil0u commented 4 months ago

Product enhancements

Reworked navigation links

-- header links --
calendar - solutions - profile - patrons - faq - off

-- footer links --
code of conduct - stats - the wall - ladder of insanity - squads

Ladder of Insanity

Squads

Profile & settings pages

username · batch # (city) · Slack link · favourite language symbol     ---     stars
Squad: quad name (+ link)

-- settings --

-- timers per day --

Calendar / Day pages

Code sharing

🆕 Slack integration

Patrons page

Miscellaneous

Achievements (TBD)

Achievements are a super nice feature from a code perspective, but slightly abandoned from a product perspective in 2023 :( (my fault). It needs to be revamped product-wise (visibility in the app, to the others), and probably a little less towards completion/competition but rather towards code sharing.

Code enhancements

pil0u commented 4 months ago

@wJoenn @Aquaj 🚀

Aquaj commented 4 months ago

Leaderboards

  • [ ] Move them all to the admin section / remove them
    • [ ] If we remove leaderboards, squads lose their interest... while it was a feature people liked!
    • [ ] Proposal: keep the opt-in Ladder of Insanity, hide it somewhere

👍

Squads

Tricky feature. It's loved by a lot of people (166 participants in squads in 2023). But do groups make sense if we remove leaderboards entirely?

Proposal: keep the squads, allow for unlimited members, display a table of them somewhere with a cryptic aura metric related to code sharing: squad name, # of members, aura. We don't disclose publicly the formula (tbd).

Idea: Squads & Leaderboards

How about: We remove the leaderboards but you can actually see the scores of your Squad.

Profile & settings pages

  • [ ] Proposal: merge them both. Removing leaderboards makes the profile rather empty. We can keep the timers at the top of the page, then the settings below
  • [ ] Remove points and ranks (individual, squad, city)
  • [ ] Remove ranks from the timers

🔥

The Wall

  • [ ] Proposal: remove the feature

It's still a bit fun to have, I'll be sad to see it go. Maybe we can go old-school (I'm thinking phpBB forum era) and just have it on most pages as a footer to encourage ppl interacting with it, with live-reload ?

Links / feature access

  • [ ] Proposal: add a solutions index (but where?)

👍

🆕 Slack integration

Miscellaneous

  • [ ] (product) Address the confusion with stars between adventofcode.com and our platform

No idea how we can clarify that. I find our design clearer than AoC's so I'd be sad to see it go, even if I understand the logic of having 50* total too and maybe we should just align with it (after all, we're based on it).

What about these open issues? Which to close?

  • [x] #248
  • [x] #260

Checked them out, both closed now.

pil0u commented 4 months ago

Idea: Squads & Leaderboards

How about: We remove the leaderboards but you can actually see the scores of your Squad.

  • Fits with "allow for unlimited members"

  • Encourages "friendly" competition: you only compete against people you've decided to compete with.

    • No change in score computations we just filter it to only the scores of the people in the Squad before displaying (we don't start computing according to the number of people in the squad or anything)
  • Similar to private leaderboards on AoC

Really fond of this idea. Which scoring system should we use? I agree we shouldn't recompute according to the people in a squad. If we keep the Ladder of Insanity somewhere, maybe we can reuse that scoring directly to display in the squad leaderboard? In this case, everyone will have to land in the Ladder of Insanity, no opt-in.

The Wall

  • [ ] Proposal: remove the feature

It's still a bit fun to have, I'll be sad to see it go. Maybe we can go old-school (I'm thinking phpBB forum era) and just have it on most pages as a footer to encourage ppl interacting with it, with live-reload ?

Yeah, it's pretty free to keep it in the footer, let's do that and add live reload with Turbo!

Miscellaneous

  • [ ] (product) Address the confusion with stars between adventofcode.com and our platform

No idea how we can clarify that. I find our design clearer than AoC's so I'd be sad to see it go, even if I understand the logic of having 50* total too and maybe we should just align with it (after all, we're based on it).

AoC uses 50 gold stars everywhere, except for the stats tree. Our design is more consistent but also clearer, because the part 1/part 2 stars are explicit. I can always clarify in the FAQ if required.

Checked them out, both closed now.

👍

wJoenn commented 4 months ago

I think most proposition in this Vision increase the wholesomeness of the event but will decrease the attractiveness for non AoC aficionados. I've always seen a focus on stats from you @pil0u so are you really willing to sacrifice a significant part of the user base by removing their short term reward dopamine now that you've managed to build a popular platform for LeWagon's community ?

Personally I don't really care whether we have 10 user or 10000 so I'm in favor of the wholesomeness.

Leaderboards

I think no leaderboard will be the biggest hit on attractiveness for players but I do want to find a solution for cheaters and that might be the only one that's gonna work. I suppose we can try this year while keeping the code. We can decide afterward whether we delete everything or not.

Squads

I can think of a reason to keep them if we don't have leaderboards anymore.

Calendar

Pagination would be nice yeah. Can an infinite scroll be done without JS though ? 🤔 Opening the solutions directly is fine as long as we don't have scores anymore 🤷

Code sharing

Use Turbo to make reactions and new solutions seamlessly refreshed ✨

What's wrong with https://github.com/pil0u/lewagon-aoc/pull/419 ?

Reduce the logos size in the filter

C'est ce que je prefere sur la page 😄 J'vois pas bien l'interet, surtout que ca prend pas tant de place que ca image

Reactions: smaller font size, number in bold, thicker border, less space between them

C'pas la prio je suis d'accord mais reduire tout ca va baissé l'accessibilité, en particulier sur mobile

Tbh je trouve pas qu'il y ai tellement d'insentive a retravailler le design de cette page, je trouve que tout ce qu'on a fait est deja bien et correspond au reste de l'app.

#

Tbh there isn't a single feature I can think of that I'd like to work on this year. Partly because we already have many interesting ones and I'm not sure adding new ones wouldn't be more of a bloat than a benefit. It's also due to me being very bad with Product development 😅

I can understand that it'd be a bummer for you two to just do nothing about the app after many years of development though.

Like I said during our meeting, I'm happy being the maintenance guy that'll work on features that already are designed, and work on bugs during the event. I won't have much time to dedicate to AoC during this quarter though so don't expect too much from me until summer

pil0u commented 4 months ago

The burden of Le Wagon x AoC is that retention is super low, so it's mostly new blood every year. That's why we need a newsletter, a referral system and spamming Slack to raise awareness and drive acquisition. Between 2022 and 2023, participation stagnated, we probably reached a local maximum around 1500 participants. My secret goal in 2023 was to reach 2000 participants, I now think this is not achievable. I'm not sure about my secret goal for 2024, but it very likely involves our code sharing feature, not participation.

I want to try an edition where we are at peace (with cheaters/copypasters on this scale) and where the goal is for people to discuss the puzzles rather than the leaderboard. That said, I don't think I am ready to give up all leaderboards yet, it keeps an ounce of competition for competitive people. Maybe that will result in a decrease in participation, I am fine with it.

Leaderboards and squads

How about this @Aquaj @wJoenn:

-> incentive and possibility to cheat is dramatically reduced -> the very few competitive people still have their leaderboard -> competition within squads remain healthy with star counts


Pagination would be nice yeah. Can an infinite scroll be done without JS though ? 🤔

Probably?

What's wrong with https://github.com/pil0u/lewagon-aoc/pull/419 ?

Nothing, I was mentioning Turbo/Hotwire for "the Rails way" : )

I don't think the code sharing design is the top priority, I do think there are some rough edges we could look at if we have time.

pil0u commented 4 months ago

@Aquaj @wJoenn

Salut les gars, merci pour vos retours sur l’issue 👍

Je viens à l’instant de faire une grosse update du message original, en tenant compte de vos retours, en rendant la liste un peu plus “issue-ready” et en gardant l’ensemble cohérent.

Je vous laisse jeter un œil, surtout aux 3 premières sections "Reworked navigation links", "Ladder of Insanity" et "Squads", ce sont les plus gros bouleversements et je veux être sûr que vous êtes 100% on board !

Je créerai les premières Issues une fois qu'on est tous les 3 alignés.

A+

wJoenn commented 3 months ago

Pagination would be nice yeah. Can an infinite scroll be done without JS though ? 🤔

Probably?

Hotwire is JS though 😄

#

Merge https://github.com/pil0u/lewagon-aoc/pull/419 (or switch to Hotwire 🤷)

I think there's a misunderstanding somewhere because Stimulus is Hotwire 🤔

#

Automatically send a message in the daily thread when a new solution is submitted

That'll create spam imo

#

Update to latest Ruby version

3.3.2 was released last month and 4.0.0 will probably be released before the event so you can just leave a goal to keep the versions up to date but it's never really gonna be ticked 😅

pil0u commented 3 months ago

I think there's a misunderstanding somewhere because Stimulus is Hotwire 🤔

I was convinced this PR was using AJAX somehow, and not Stimulus : )

That'll create spam imo

It would be in a thread, so rather limited. I find it nice to know that a new solution was posted without having to refresh the page myself. We could be less "spammy" by sending a new message like "13 new solutions were posted" every 3 hours instead for example 💡

3.3.2 was released last month and 4.0.0 will probably be released before the event so you can just leave a goal to keep the versions up to date but it's never really gonna be ticked 😅

3 days ago :P but I agree this is a never ending task. This is mostly a reminder to stay up to date with our dependencies, which I think we are not too bad. I will not create a dedicated issue for it.

wJoenn commented 3 months ago

I was convinced this PR was using AJAX somehow, and not Stimulus : )

Yeah, I'm making Ajax requests from a Stimulus controller. There used to be a LeWagon course about how to Ajax in Rails with Stimulus controllers that I wanted to share but I can't find it anymore.