Open bmp opened 5 months ago
Yes, this is a topic I've been postponing, because it's so big. But maybe it's time to get started.
A bit of background: For inks, there's actually three levels of data. One is the CollectedInk, which is whatever the user enters. These are the clustered automatically into MicroClusters using super simple rules. Then there's a manual step to group those again into MacroClusters. This is necessary, because there are just too many edge cases to have a fully automated system (e.g. Sailor 160 is different from Sailor 162, etc.). What you see and can search for in the public space are these macro clusters.
I imagine we would want to build something similar for the pens, i.e. group them and the show the users a clean list of pens. It also kinda ties into your other issue https://github.com/ujh/fountainpencompanion/issues/2073 as it's not entirely clear to me what we should consider the "same pen". Are all TWSBI Eco's the same? Do they need to have the same color? Maybe even the same nib? For inks ins just "brand" + "ink line" + "ink name", which kinda works in most cases. We'd first have to come up with a proper way of grouping pens.
As to the privacy aspect: I think we should be fine if we a) don't link back to the user and b) only show pens that are in the system at least twice. I think that should be enough to never expose any private information.
Thank you for the detailed response, I'll one more look at the ink mechanism you've pointed me to. In the meantime, how does the following grouping/flow for pens sound?
We can have the nib as a sub-unit of a pen rather than tied to a pen, which can then be of different properties but does not necessarily lead to different pen itself.
Pen:
Pen Maker
└─> Pen Model ──> [Nib Unit]
├──> Pen Colour
└──> Pen Material
Nib (from https://github.com/ujh/fountainpencompanion/issues/2073#issuecomment-1986880422):
Nib
├──> Nib type (UEF, EF, F, etc.) - only mandatory field
├──> Nib colour
└──> Nib size (5mm, 6mm, 10mm, etc)
Ah yes, we can have multiple layers for the clustering. In fact, we already have the ink brands and do that there, too. We can have more than just "brand" and "model" clusterings for pens. I hadn't thought of that until now. Then we can just have all Leonardo Momento Zero models in one place, and then have them clustered again for the various models that exist out there.
I've been heavily working on that and the first visible thing is https://www.fountainpencompanion.com/pages/pens_by_popularity . Still some ways to go to cluster the data and properly display it. But I guess I might be done by the end of the year. 😉
It seems to be possible to add inks through the search available at https://www.fountainpencompanion.com/brands. Would it be possible to do the same with fountain pens too? As I understand pens are private, but this could potentially be implemented without letting any user know about other user's collection.
Would this be of interest?