Long-Term Stash Project Planning: Strategy and Growth #1800
Replies: 4 comments 4 replies
-
Until stashDB is more tightly integrated with the stashapp org overall (it's currently maintained by a single developer), I'm not keen on hard-coding the instance data into the source code. In the short-term, to encourage community involvement in stash-box instances - in this case specifically, stashDB - the setup wizard should include an option to setup a stash-box connection, with a link to a Github wiki page that provides links and potentially a read-only API key for endorsed instances. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Just 2 cents from a newbie scraper like me:
|
Beta Was this translation helpful? Give feedback.
-
Another new user here, just over a week, adding my 2 cents
Growing Our UserbaseStash new user funnel: Finding and installing the Stash client
Base anything on the assumption that the new user is technologically illiterate and provide step by step guides As @philpw99 said, a GUI interface would be nice, but in addition to web based rather than a replacement Stash new user funnel: First-use, and reduce time to usefulness
Definitely, anything that reduces the number of actions (clicks, scrolls etc) a user needs to make is an improvement, but could also be an option in configuration if people want to turn off for some reason
Before the user needs any of these, they need to have something in stash, is there a "best practice" for a new user?
Some of these are answered in help but maybe there should maybe be a welcome page that opens on first installation, that highlights the help information and has some kind of guide to getting started Scrapers & Plugins
Ideally you should be able to install these directly from within stash, a section in top menu? (maybe also have a links to stashDB, Discord and Github in top menu?) For example, on the studio page, if there are scrapers available for studios that you don't have installed, there could be a link to install them
100% agree Starter Database: A symptom of missing features.
I see some issues with this, mainly that the user could end up with lots of unwanted/unneeded performers and tags, after all stash and the stashDB have no idea what might be in a users collection. There would probably have be some configuration options for what fields you want to import for the performers, As @philpw99 pointed out, peoples preferences vary. It's one of the best things about stashapp, the ability to customize and choose what you want to scrape and from where. However Whatever happens with using stashDB, it will need to be accurate and up to date, which imo, needs a lot more work. I'll go into that in more depth later. (never mind, I see a lot of it is covered in Growing Our Dataset) Make Stash a delight to use
For me it's only been a short while using stash, and i'm still in the process of building my collection rather than using it for viewing purposes but I've already noticed a lot of annoyances. (Don't get me wrong, I'm very impressed so far but think there is plenty of room for improvement) Ease of useWhether on a mobile, tablet or desktop, fewer is better: The fewer actions needed to be taken (clicks, scrolls, pages visited, movement required [#1769 for example]) the better the experience and the quicker it is to achieve your aims. For example, when viewing the studios, performers or scenes pages (I assume it's the same for all other sections) if i want to edit something, it requires 2 actions, first clicking on the item and then on the edit button. Having an edit option/button on each item would reduce this to 1 action. Even then, I need to perform 1 action to get back to the previews page to edit something else, ideally, clicking this edit option would open up a pop up like the help menu. CustomizationShould be easy, manged from within stash and for the user to need no knowledge of CSS or coding. Maybe the ability to install custom themes from within stash for example? Personally I'd like to see the resizing bar that is available in the scenes/images sections also in the performers and studios sections. There is a lot of wasted space when you select a studio (see image below), almost half of my screen, there must be a better way to do this... The search and filter options are powerful but not intuitive. When selecting a sort preference maybe stash could generate another navigation bar like the page number one;
Performer AliasesI'd like to see better handling of performer aliases in stash (probably means better handling in stash DB as well) It's one of my major annoyances in scraping information and trying to organised my collection, and in fact it's the ability to edit this in stash that initially attracted me to it. The information is out there on various sites, but would it would obviously be better if this was correct in stashDB. I've no idea about coding or how it is currently handled in stashDB but here is what i would like to see from the front end as a User
Growing Our Dataset & Making Our Data Accessible and UsefulThis is all great planning. 👍 It seems the long term plan is basically more integration (syncing?) between stash and stashDB? Short term I would like to see stashDB getting updated, I love the way the tagger works with the fingerprints and how easy it makes scraping info on scenes. I hate not being able to use it for scenes from the last 6 months or for studios not included. I have this frustration that my individual scraping and editing of scenes is duplicating the work everyone else is doing. I "think" work is going on backend? Difficult to find out exactly without searching through Discord or GitHub. For a new user who might only see stash and stashDB, no updates of the database for 6 months can look like it has been abandoned and could put new users off. There should probably be some kind of message about the status somewhere. On a side note, a link to stashapp on stashDB maybe?, just in case people come across that first I'd like to add a few suggestions/ideas; We should try to avoid duplication of work if possible, by that I mean there is no point in several people editing the same studio for example, if there is another studio in desperate need of attention and no-one working on it. I think there should be some way to indicate that a studio, scene, performer, tags etc need attention/editing. Some Ideas; In stashDB
In stash
In Both
Other
Thanks for reading this far 👍 hopefully something of use among all that. |
Beta Was this translation helpful? Give feedback.
-
To organize the world's porn, and make that data universally accessible and useful
We want the Stash project to be a successful, encompassing, and correct source of information about adult media. I am proposing a new mission statement, modeled after a certain search company's mission statement: "To organize the world's porn, and make that data universally accessible and useful." This is not an easy task. By its nature, adult media is largely ephemeral, social taboos keep open discussion to a minimum, and producers/distributors are often short-lived, with little incentive to preserve their works.
To this end, I am also proposing three different initiatives that would help us achieve this task, all of which encourage each other to succeed: Growing our Userbase, Growing our Dataset, and Making it Accessible and Useful. These are large tasks and may take several years to fully realize, but many have low hanging fruit that can be immediately addressed.
Growing Our Userbase
Our value proposition is simple: We can provide out-of-the-box easy organization for your adult media collection, and you can optionally provide some of your organization and research back to us.
Stash new user funnel: Finding and installing the Stash client
Stash new user funnel: First-use, and reduce time to usefulness
Out-of-the-box usefulness improves uptake and user stickiness.
Starter Database: A symptom of missing features.
StashDB should have a living set of "Starter" or "Common" data, perhaps implemented by a flag on each Performer, Tag, or Studio that denotes it as a good starter. (Criteria can be settled on, but anything that's extremely common or widely distributed is a good candidate) On first run, Stash should offer to automatically populate these directly from StashDB, and kick-off a scan and auto-tag job immediately after. This would get new users immediately started on a good foundation toward organization and a clear example of Stash's capabilities.
Make Stash a delight to use
Stash has a few papercuts. After providing support to many, many users, I've distilled the most common sources of confusion:
Growing Our Dataset
Anything we do must respect user privacy, we must act with full knowledge that our domain is adult media that carries a reputational risk to our users. We DON'T want to know WHO are users are, or anything about them; We only want their contributions, annotations, and scene metadata. All data-sharing should be extremely obvious, all submissions to StashDB should be laid out in front of the user before sending.
Attempt to establish a data-sharing agreement with ThePornDB or a similar project, to bolster crowd-sourced data with scraped data. Their scene data is missing phash, our phashes are missing scene data. Win/win.
Stash-box should be de-emphasized in docs. Vast majority have no need to know what stash-box is, and people setting up StashDB will be confused. The few people who do understand what it's for further fracture the potential StashDB dataset, and should use StashDB in almost all cases. StashDB should be the default URL, and changing the stash-box API url should be an advanced feature.
StashDB should allow you to match Tags, Performers, and Studios to their corresponding StashID. Submitting information to StashDB should encompass scene oshashes, phashes, tags, filenames, performers, and studios.
Importantly, Markers and their primary tags should be uploaded to StashDB. OsHash/Scene StashID <-> Tag + Start Timestamp + End Timestamp.
Local annotation should be first-class. We can increase the amount of crowdsourced contributions by making it easier and more enjoyable to manually add Tags, Performers, Studios. A user should be able to type auto-completed tags while watching a scene preview or viewing the scene thumbnail sprite, then save them and move on to the next scene WITHOUT taking their hands off the keyboard.
A separate view that enumerates pending changes to upload to StashDB, and past contributions under your account will be necessary. Perhaps also a good UI location for any conflict resolution that's needed.
Making Our Data Accessible and Useful
Our biggest asset and differentiator is that our database has file hashes and and perceptual hashes for scenes. Our client software can allow us to crowdsource from huge collections of media, and distribute it to a wide userbase.
pgdump
to a public directory will be enough, and can be an excellent starting point for a backup infrastructure. Will need to sanitize / exclude user table.ML Initiatives (3-5 year plan)
Not currently ready to leverage an ML pipeline yet, but with a little effort we can position ourselves to be ready to adopt it when it's time. The most important step is developing large collections of usefully annotated data. Two applications are immediately apparent:
We would need to refine an architecture where we can (with user consent) collect training data from Stash clients derived from the actual source media, train the models, and then distribute the trained models back to Stash for privacy-preserving client-side inference.
Beta Was this translation helpful? Give feedback.
All reactions