-
-
Notifications
You must be signed in to change notification settings - Fork 132
Added pinned organisation features #194
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we determine who gets pinned and who doesn't? Can we not have the randomization at page load instead of at compilation time?
Very good question. My current feeling is that we might want to pin particularly big/important orgs that might look more "impressive" (for lack of better words) in the Fastify home page. This is probably something worth agreeing all together. Right now I pinned only Microsoft because I inferred this was suggested in #193. Being something that is now defined in the orgs YAML, once these changes are merged, we can open new PRs that have the
We could, but I would prefer to keep it at compilation time for several reasons:
Also, I am not sure what would be the main benefit of doing that. Sure, the "visibility" of every org would be slightly more democratic, because it will random for every page view, but I am not sure only this would justify the added complexity. Thoughts? |
I do not see a "fair" way to implement pinning outside of sponsorship. With this PR we are pinning a completely new addition to the list that, so far, isn't willing to publicly state how they are even using Fastify. I'm not saying such should be a requirement, just highlighting that we have had many orgs added for far longer that are not being pinned because we don't have a concrete justification for pinning qualifications. |
I totally appreciate your concern @jsumners, we should definitely talk this through more. The way I am seeing this right now is merely from a "marketing" perspective. IMHO, having any org in the FAAMG (or any other "big"/"famous" company) endorsing/using Fastify can increase the credibility of the framework for someone that it is seeing the web page for the first time. I know we are not selling anything and that this is an open source project, but I wouldn't disregard the importance of this kind of marketing endeavours if they can help us with increasing the visibility and the credibility of the project. With this perspective in mind, I would definitely recommend to prioritise Microsoft over Vectra and FabFitFun (the 2 orgs in which I introduced Fastify), just because I think that any first time user will perceive more "weight" in Microsoft using Fastify than they would with Vectra or FabFitFun... Is my perspective totally skewed from everyone else? |
I agree in principle, @lmammino. But let's look at our own website. The main And that link directs to: So another issue is presented: we are telling people that their logo will always appear in this list if they just add it via a PR. That is not the case since we are randomizing at compilation time. I think this statement is fair if we are randomizing at view time; and, before this discussion occurred, I thought we were doing that. These issues combine into a poor presentation of us. We are saying your org will be represented immediately, and there is a high likelihood it that it will not, while at the same time picking favorites without any publicized criteria. If we want to pick favorites, that's fine. It can be as simple as "these orgs use Fastify and employee core contributors." But we should also show, or give equal opportunity to show, all other orgs without a rebuild of the site. If someone visits without JavaScript enabled, then they can get a very long page of logos. Whereas 99.999% of the people who visit the site can see a randomized layout of the non-favored logos. |
That page is a bit unclear, but I wouldn't say it's incorrect. It is talking about the organisation page (https://www.fastify.io/organisations/) where we always display ALL orgs (currently with order shuffled at every build). Only in the home page we currently display a limited subset of the organisations (again currently randomized at every build). What this PR is changing is just to allow some orgs to always be visibile (in the home page) and prioritised (in both home page and organisation page). This is just to say that our current public messaging might be lacking / unclear, but I wouldn't say these changes would go against what we are currently promising. |
Okay, given that explanation, if the home page is completely taken up by pinned orgs, then we cannot say "do you want to be featured here" on the home page. At least not without a clear set of criteria to explain how to be featured on the home page. I totally understand the desire for pinning organizations such as Microsoft. But I think this conversation makes it clear that there are several issues that should be addressed before doing such. |
Totally fair @jsumners. Hopefully there will be a point when we will have only pinned orgs in the home page 😇 It makes total sense to revisit our copy as part of this PR to clarify our position. Any recommendation? |
I don't think the copy can be clarified if the list on the home page is a mix of pinned and unpinned. The list should consist solely of pinned logos, or remain random. If it will be a list of pinned, then we must first establish the criteria before copy can be written. |
I agree heavily with this point.
Additionally, I think this line is important:
As we are aware Fastify doesn't accept donations. The way companies "sponsor" fastify is by enabling employees (like myself and others) to contribute to the project as a part of our work day. In my opinion, any company that at least satisfies that requirement can/should get pinned to the home page regardless of size or other characteristics. However, this creates a new problem: what do we do when someone changes jobs? Does that company now all of a sudden lose their pinned spot? A potential answer is we change it from "orgs uses and employee(s) contribute" to "org uses and has contributed in the past". And then we can put a timelimit on that such as 6 months. As in if the org/employee of org does not make any meaningful contributions to fastify in those 6months they are removed from the pinned list. What do others think about this idea? TLDR:
|
I like the idea of:
But for me, the problem is to trace these kinds of things. Maybe a "fair" approach is a sort by contribution count, but it's still hard to trace. |
😬 I'll let everyone else come to a consensus on this one, but this would be difficult for me at this time.
It would ultimately come down to the way we handle emeritus contributors: relying on them to be honest about things. If a core contributor is leaving the org that they have gotten pinned, then they should speak up and say "I'm no longer representing that org, so I cannot sponsor the pin." |
I like all the suggestions above. I am only concerned that if we create a process that is too complicated that would discourage individuals and companies (especially from bigger companies) from being involved. I like the current process because it's very simple and non-commital. It was quite easy for me to get internal approval from my employers because I didn't have to explain anything nor they had to commit me or any other person/resource. Not saying we should just pick favourites and call it a day, but rather than having a complex process I would prefer to keep things random as they are now. I am sure there's a middle path here though... |
I totally agree. Maybe a fair trade-off would be to build the site every day to randomize the logos (thanks to GH action we could add a schedule to redeploy the site - right now we have circeci here so I don't know if there is this option). This would give us:
What do you think? |
Rebuild via CI every day is a fine idea. Gives reason to migrate to GHA as well. |
Still not seeing how more frequent rebuilds tie into the "pinned or not pinned" conversation, but I am ok with it. I'll suspend this PR for now and try to get another PR going with a migration of the build config to GitHub actions. I'll also add a daily rebuild workflow. This topic has been briefly discussed in #153 as well |
I agree with all of you, here. I agree with @lmammino that it is important to have a "marketing" vision of the pinned organizations since many developers tend to use tools and frameworks that are endorsed by known companies. I agree with @jsumners that we need to have a well-defined and documented process that makes clear what are the steps someone needs to do in order to be added to the homepage/organization page. And finally, I agree with @Eomm that randomizing this at the building level would be the best choice for us. |
I think we are having an amazing problem: too many companies want to appear on our website because they use Fastify! However it's also clear that the current system is not scaling, as this is decided at compile time: having them picked daily or at load time would be way better. Moreover, I think we should have three sections:
What do you think? |
I rally like your proposal! |
I think that's a fair proposal. |
I really like @mcollina's proposal. Thanks, Matteo! If we all have an agreement, let me try to think about how we could go about implementing this idea...
The main questions I have are the following:
|
I've opened #200 to add my employer to the sponsor list. In regards to the highlight part some aspects that come to mind are:
|
Shall we provide a minimum number of employees to be qualified as such? In fairness, I don't like this idea myself, but I am thinking that we should find a way to be clear enough to avoid upsetting some companies wanting to be showcased as "global" and which we might not consider them as such... Maybe going through the exercise of trying to classify our current orgs could help us to come up with a better definition. |
Nope, Whatsapp has 50 employees :D |
I think that we need a definition of a "globally recognized brand" and it has to be clear.
|
Just wanted to share some context on this from the perspective of my experience in Electron and as a Developer Relations person who's been under both Marketing and Engineering: The reason you'd want to include companies on a homepage as opposed to just a dedicated page for them is as social proof. You're trying to convey that Fastify is good enough / interesting enough for these companies, so it's also probably good for your projects. This is a pretty fundamental UI and communications pattern. In the context of Electron, we've had several versions of "all the apps and companies are equal so we'll pull them randomly". It's turned out that most of the time this hasn't really told a compelling story of who uses Electron in a way that would be meaningful enough to actually include it - it ends up hampering the message that's being conveyed rather than strengthening it. Because of this, recently we switched from fully random to locked to a specific set of compelling applications/companies, though I imagine at some point we may want to move to a place where we're randomly selecting from a pool of those rather than having them be entirely static. This genuinely has made the site much more compelling, and we're looking at adding a similar feature with a simple boolean in our Apps page on the site as well.
I think you could qualify this in a few simple ways:
For example, I could ask anyone on the street of NYC what Netflix is and they'd look at me as if I came from Mars because Netflix has become a basic part of Western Culture. I could also ask most folks in tech what Tencent is and get a moderately good idea of what the company does. |
I agree with all of that. But we need to be open and transparent about how we use these logos in the various sections of the website. If we're going to advertise the heavy hitters on the landing page, that is fine. We just need to stop using language that makes it seem any logo can appear on the landing page by simply submitting a PR to include it. |
What about combining two methods? |
I think that "well-known" is very relative as discussed above. |
We can consider organisations from Fortune 500 as "well-known" |
If we want to unblock this PR, I see these next steps:
From what I read, there is no one against this PR, we need someone that push it forward. I would like to propose this solution that is the sum-up of all the comments above. An org to be pinned must:
The first pinning is done by us, checking the orgs already here, tagging the original contributor as CC. After that, an org may ask to be pinned from the PR template providing some evidence to be pinned. Then, now on the home page, we have 12 random orgs adopting Fastify. I would implement this logic:
These numbers may change if the pinned org becomes > 8 (the double) Do you agree? react with a 👍🏽 |
I think we also need to add "OR it is very well-known among developers", because non-tech people don't know about such organisations like Github, Gitlab or even Oracle, but we might want to feature them. It would be unfair not to add GitHub, Oracle, Adobe, but add Walmart only because people know about Walmart but don't know about GitHub. |
This PR implements a feature that allows us to pin specific organisations in the home page and in the organisations' page so that they will always be displayed first and not be shuffled with the rest of the (non-pinned) orgs.
This feature was originally discussed in #193.