Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packages page #344

Merged
merged 151 commits into from
Nov 1, 2023
Merged

Packages page #344

merged 151 commits into from
Nov 1, 2023

Conversation

daveverwer
Copy link
Contributor

@daveverwer daveverwer commented Jul 20, 2023

As discussed, here’s a first draft of a pull request to showcase some of the Swift package ecosystem being tracked by the Swift Package Index on Swift.org.

This is not ready to merge, but @finestructure and I want to open it early as it’s the start of a significant addition to the site.

Demo

View a demo/staging version of this pull request

Package Data

If merged, this PR has an initial data set in _data/packages/packages.yml that will need regular updating. We have a tool in development that will automate the updates on a schedule to be agreed upon (we’d suggest every two weeks is appropriate). This tool will submit all data set updates via pull request to this repository.

Note: This draft PR does not include up-to-date data. The data in this initial draft is real but was hand-written and outdated. Please treat it as representative rather than final. We will update this PR with fresh data as soon as the tool can generate it.

Community Showcase

This list of packages should be the most dynamic and will change most often. Initially, this list will consist of packages discussed on Swift Package Indexing, but with community outreach will expand to more sources.

Keyword Data

The current keywords are networking and testing. We may want to add more or change these. The packages picked for each keyword are ranked by the SPI internal search ranking score. The packages and order can change over time, but we’d expect changes to be gradual.

To Do

  • Decide on an initial set of keywords and a process to decide if/when those keywords should change or be reviewed.
  • Replace icon-external-color.svg. It is currently a modified version of an icon from the Noun Project. This needs re-drawing or licensing.
  • We may also need to get approval for the OSI logo in assets/images/icon-osi.svg. Removed this icon for now, it's too small in this position to comply with their logo guidelines.
  • Refine package list design on mobile devices.
  • Reach out to some podcasts, sites, and newsletters in the community to gather sources for community showcase packages.
  • Update the Community Showcase preamble with the link to the forum post.
  • Final update of the packages from latest SPI data

.vscode/tasks.json Outdated Show resolved Hide resolved
packages/index.md Outdated Show resolved Hide resolved
@tomerd
Copy link
Contributor

tomerd commented Jul 20, 2023

@daveverwer could you add some screenshots or (even better) a link to some live version of this? it will make reviewing the changes and providing UI/UX feedback easier

@daveverwer
Copy link
Contributor Author

@daveverwer could you add some screenshots or (even better) a link to some live version of this? it will make reviewing the changes and providing UI/UX feedback easier

There is a demo link in the opening description. I've moved it to the top and it's now the first heading.

@daveverwer daveverwer marked this pull request as draft July 20, 2023 20:16
@daveverwer
Copy link
Contributor Author

Quick update.

This PR and hosted prototype now includes real data produced by our tool and an additional section, based on an idea we had to highlight new language features. It highlights the top 6 packages on the SPI that include macro products.

Copy link
Member

@0xTim 0xTim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great addition to the site! We'll need to be conscious of ensuring that the PRs with updated data don't get stale (is there an SPI API we could pull it from?) and it would be good to have a guide on creating packages on Swift.org itself but overall this looks great!

@daveverwer
Copy link
Contributor Author

We'll need to be conscious of ensuring that the PRs with updated data don't get stale (is there an SPI API we could pull it from?)

My hope is that these PRs can be fast tracked since they will be in the same format every time. Just data updates. We should discuss this at the next SWWG meeting.

It would be possible to pull from the SPI API for some categories during site build, meaning the data in some categories would always be up to date. That would not be ideal for packages in the Community Showcase, though, as that needs manual curation.

My view is that it's best to do all updates in the same way, but we can also discuss that. Either here or at the WG meeting.

@0xTim
Copy link
Member

0xTim commented Aug 2, 2023

My view is that it's best to do all updates in the same way, but we can also discuss that. Either here or at the WG meeting.

Was this discussed as I missed the meeting?

Either way this is a massive improvement and further improves swift.org! In the interests of automating things, if you're building a tool to create the PRs could the tool not expose those packages via an API that we then load here via JS? There's probably a can of worms there but worth raising at least as something to consider long term

@daveverwer
Copy link
Contributor Author

Was this discussed as I missed the meeting?

Either way this is a massive improvement and further improves swift.org! In the interests of automating things, if you're building a tool to create the PRs could the tool not expose those packages via an API that we then load here via JS? There's probably a can of worms there but worth raising at least as something to consider long term

Unfortunately I was also unable to attend the meeting and so I'm not sure if it was discussed. I don't think it was.

The tool currently is a command line tool that we will run manually at first, and potentially in an automated way in the future rather than being a hosted service. It's open-source if you'd like to see it, but just a note that it's not yet complete!

Copy link
Member

@alexandersandberg alexandersandberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to make this "Explore more..." link more prominent somehow. Currently, it's easy to miss it when quickly scrolling through and scanning the list, making it almost appear that these are all the packages that exist, not just a small selection.

CleanShot 2023-08-07 at 11 14 44

Unfortunately I was also unable to attend the meeting and so I'm not sure if it was discussed. I don't think it was.

Correct, this was not discussed in the last meeting.

@daveverwer
Copy link
Contributor Author

I think it would be nice to make this "Explore more..." link more prominent somehow. Currently, it's easy to miss it when quickly scrolling through and scanning the list, making it almost appear that these are all the packages that exist, not just a small selection.

This is a good idea. Maybe one of these "Learn More" buttons with "More {{something}} Packages"?

Screenshot 2023-08-07 at 10 37 42@2x

I think that's about the closest we have to a larger action button design. I could either re-create those styles in this PR and remove them once we get content-improvements merged, or we could change this CTA as part of the content-improvements branch.

@alexandersandberg
Copy link
Member

This is a good idea. Maybe one of these "Learn More" buttons with "More {{something}} Packages"?

Screenshot 2023-08-07 at 10 37 42@2x

I think that's about the closest we have to a larger action button design. I could either re-create those styles in this PR and remove them once we get content-improvements merged, or we could change this CTA as part of the content-improvements branch.

I think just copy-pasting the new styles into this branch is fine, and then maybe adding a TODO item for the final content improvements PR to remove those.

@daveverwer
Copy link
Contributor Author

I think just copy-pasting the new styles into this branch is fine, and then maybe adding a TODO item for the final content improvements PR to remove those.

I didn't see this until just now but I ended up going the other way. I shortened the CTAs and used the character that we're using elsewhere in the content-improvements branch:

Screenshot 2023-08-07 at 11 32 18@2x

@alexandersandberg
Copy link
Member

I didn't see this until just now but I ended up going the other way. I shortened the CTAs and used the character that we're using elsewhere in the content-improvements branch:

Screenshot 2023-08-07 at 11 32 18@2x

That's an improvement! I still feel like it could be more prominent though. Maybe adjusting the spacing between the sections could help with that?

@daveverwer daveverwer force-pushed the packages-page branch 2 times, most recently from 30d0428 to ec4a606 Compare August 15, 2023 13:58
packages/index.md Outdated Show resolved Hide resolved
daveverwer and others added 2 commits October 31, 2023 08:58
Co-authored-by: Mishal Shah <shahmishal@users.noreply.github.com>
Copy link
Contributor

@dempseyatgithub dempseyatgithub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like how the page has turned out!

I do have a few minor items, plus a suggested edit and a suggested closing sentence, instead of ending the page on a list of searches.

_data/packages/packages.yml Outdated Show resolved Hide resolved
_data/packages/packages.yml Outdated Show resolved Hide resolved
_data/packages/packages.yml Outdated Show resolved Hide resolved
packages/index.md Outdated Show resolved Hide resolved
packages/index.md Outdated Show resolved Hide resolved
@daveverwer daveverwer marked this pull request as ready for review October 31, 2023 20:47
@daveverwer
Copy link
Contributor Author

@swift-ci please test

@daveverwer
Copy link
Contributor Author

@dempseyatgithub I integrated this, but I think it made more sense when the section title was "Next Steps". I had other feedback today to change the heading of this section, and now I think it makes more sense without this final sentence.

Screenshot 2023-10-31 at 20 51 02@2x

I'm going to remove it and leave the section titled "Advanced Search". Thank you for the feedback though!

@daveverwer
Copy link
Contributor Author

@swift-ci please test

@daveverwer
Copy link
Contributor Author

@swift-ci please test

@tomerd tomerd merged commit e00c7fb into swiftlang:main Nov 1, 2023
1 check passed
@daveverwer daveverwer deleted the packages-page branch November 1, 2023 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants