GithubHelp home page GithubHelp logo

Avoiding Feature Bloat about pullup HOT 9 CLOSED

larvalabs avatar larvalabs commented on July 24, 2024
Avoiding Feature Bloat

from pullup.

Comments (9)

chall8908 avatar chall8908 commented on July 24, 2024

The only thing I'm shaky on is the second point. I'm not necessarily against it, I just feel the requirements might be a little lax for a long term solution. Perhaps it could be part of the deliberation process?

I'm thinking PR's would work something like this:

  1. Validation - During this phase, the community determines if the feature fits the goals of the site. This is the only step that can take place before the PR is made and any discussion should be referenced in the PR.
  2. Testing - This phase ensures the feature(s) work and, if applicable, look nice.
  3. Voting - Every pullup member is allowed to vote on if they want the feature implemented. Pullup members that dissent to the feature can still cast a vote in favor of giving the implementer membership. If the PR gets a net positive number of votes after some predetermined minimum (e.g. 3), the PR is merged and the implementer gains membership. If the vote fails, getting a majority voting in favor of granting membership will still grant membership.

Seems kinda complicated, but that's mostly just because we're not very large yet and I'm unsure how many people will actually vote.

from pullup.

josephwegner avatar josephwegner commented on July 24, 2024

I like that plan, my only worry is that there is too much friction. There's little value for a PU user to pull, test, and vote on a new feature. Voting really only makes sense if you've got a large number of users willing to vote.

I don't want to create a situation where an applicant puts a bunch of time into developing a feature, and then gets stuck in limbo because we decide that their feature isn't super useful.

from pullup.

chall8908 avatar chall8908 commented on July 24, 2024

This solution definitely isn't without it's problems but, given that we, as a community, aren't the final arbitrators for who gets in, I don't think we'll have too many issues. So long as @megamattron or @pents90 step in when the community guidelines fail, we should be fine.

Really, I imagine that we'd end up with a fairly small group of users that do most of the vetting of features and a larger set of active voters. I imagine a majority of pullup users won't really take part in development past getting in initially.

from pullup.

megamattron avatar megamattron commented on July 24, 2024

I'm very worried about friction here as well. I was thinking about writing something about future direction, but I don't quite have all my thinking together about it yet. In general though, I'm not as concerned about feature bloat as I am about burdensome processes and bureaucracy. So far I've made a conscious decision to merge something when at all possible. Nothing seems to kill enthusiasm more than too much discussion about a change, or the details of the change. So I try at least to keep things moving forward and we can adjust as we go.

Basically, the site developed much faster than I thought it would. I thought it would take a while to get to HN feature parity, but we chewed through that task list in a few days. The ultimate determination of where we go next is determined by the code everyone writes, but I also find myself trying to follow a few guidelines:

  1. Keep it fun.
  2. Try to say yes. Try to merge if at all possible, try to get on board with someone's idea. It might not quite work out initially, but you might end up somewhere more interesting. Also, it's more fun (point 1).
  3. Be fine with breaking it. You can always fix it, and it allows for point 2 and point 1.

Other than that, I have no idea! This can be a great and dubious experiment. Maybe this will end up being a SEO optimized blogging microselfie social network, for nerds. Who knows! There's something fun about it being a bit out of control, and I think that's important to preserve.

from pullup.

chall8908 avatar chall8908 commented on July 24, 2024

@megamattron if that's the direction you want to go in, I can get behind it. Sounds pretty exciting!

from pullup.

mreinhardt avatar mreinhardt commented on July 24, 2024

Nothing seems to kill enthusiasm more than too much discussion about a change, or the details of the change. So I try at least to keep things moving forward and we can adjust as we go.

There's something fun about it being a bit out of control, and I think that's important to preserve.

These statements and your three loose guidelines make me happy. We all have our day jobs that bombard us with requirements, bureaucracy and constraints. I don't think I'd enjoy using my precious and dwindling free time contributing to this project as much if I found the same here.

A bit of guidance is a good thing, but I think trying to exercise too much control over this project would strangle the uniqueness from it. There is a freedom that seems inherent in its design and purpose, so why try to cage it. Let's try letting go.

from pullup.

rickhanlonii avatar rickhanlonii commented on July 24, 2024

How about creating a dash where users can turn on features other users have written, not unlike Google Labs? This allows you to pull into the main feature set the PRs that best align with the goals of the project, but still allow for experimental features created by users trying to get their PRs or trying out new ideas.

Seems to me like it's the best of both worlds--lots of possible features and improvement, without feature creep into the core.

from pullup.

josephwegner avatar josephwegner commented on July 24, 2024

@rickhanlonii That's a pretty fun idea.. It would take some serious infrastructure work, but I do like the idea of labs. The main difficulty is it would limit us to new features that don't change the data model. That might be a fine limitation, as features large enough to change the data model probably need to have a lot of discussion and invested testing time, anyways.

If we do do this, we should have the active "lab" features prominently displayed somewhere, with a link out to the Github PR. That way it's easy for users to provide feedback or report bugs on things they are testing.

from pullup.

josephwegner avatar josephwegner commented on July 24, 2024

I'm closing this, because @megamattron's answer suffices and is very correct.

from pullup.

Related Issues (20)

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.