Closed pauldipietro closed 3 years ago
Awesome PR! Less is more!
Adding @pjcollins & @jonpryor & @conceptdev to additionally review and provide thoughts around deprecation/removal of old samples.
My only thought on this would be to relocate the samples to a monodroid-samples-archived
or similar repository so that users can potentially search and find samples in GitHub although they will not appear on the https://docs.microsoft.com/en-us/xamarin/android/samples/ page.
We'll need to coordinate any changes here across a few teams/sources most likely. A quick look at the list mentioned above makes me think that https://github.com/xamarin/qualityassurance will definitely need corresponding updates at the very least. My other initial reactions are that ApiDemo
and some of the newer OpenGL samples may still be worth keeping?
FYI https://docs.microsoft.com/xamarin/android/samples/ is manually curated, so you can just edit that as required to feature specific/useful samples.
https://docs.microsoft.com/samples/browse/?products=xamarin&term=Xamarin.Android is where all the samples in this repo are automatically surfaced (replaced the old Xamarin samples gallery) and is driven by the YAML header in README files. You can remove the YAML but keep the sample in this repo, and it will be "slightly" less discoverable.
Some samples are required/referred to by docs, for example SimpleCursorTableAdapter and CursorTableAdapter are referenced in a number of places including the cursor adapters doc, and exist solely to teach those concepts. I would suggest not deleting samples that docs depend on, or else delete the docs too, if you don't think they are important concepts to teach Xamarin.Android developers. Probably AccessoryViews, ContentProvider, CustomRowView, ActivityLifecycle, SectionIndex, FastScroll also fit in this category.
If some of those are things that we wish to keep then perhaps we want to consider refreshing them into a fresher Material look?
I hope that if anything it can surface some of the very old ones. @JonDouglas might have some input here.
We have a vast number of samples which haven't been updated for years and are simply out-of-date and no longer relevant. This is work-in-progress but to start with, I've been going through and removing some of these projects.
To make it easier, I ran a small script that went through the folders and pulled out various information in the files like the minimum and target SDK versions, as well as the name of the project (generally the name of the folder it's in). It's probably imperfect and there may still be some lingering projects, but I've started by focusing on those running against a minimum of API 10. A lot of these will run with little to no modification (some require setting the deploy in configurations) but these projects are generally very visually lacking (old UI designs, single-page black screens with some text or a control, etc.).
The following should be removed in this PR thus far:
This will be a continued effort. If anything actually wasn't removed or needs to be adjusted, let me know.