Rusty Web Improvement Bureau

8 simple missions to improve the Rust web presence. Should you choose to accept them.

The Rust Project is assembling an elite team of hackers to execute a number of vital missions for the betterment of The Rust Website. It will be dangerous. You'll be deep in enemy territory. But if you return alive you will be a hero, your name praised and your tales recounted from Rustonia to the Galvanic Sea!

Sign up below for daring and adventure.

Wut?

This is a project to better surface some crucial information through the Rust website.

A major theme of this work is organizing and increasing the sub-pages on the main website so there is more room for expansion. The website started as just a home page, then added an install page. Now we've also got the team page, the code of conduct, and also the security policy (which is not linked from anywhere on the website).

After this overhaul we will have the following pages:

Home Page

Documentation

Downloads

Community

Contributing

Teams

Security Policy

Code of Conduct

Stability Guarantee

FAQ

Each will be a work of stunning beauty.

Below are descriptions of, and links to, 8 issues describing limited improvements that I, @aturon, @steveklabnik, and others would like to make to Rust's websites. We need help though. If you can help, say in this thread what assignments interest you and we'll divide them up. Feel free to leave suggestions too, though please make them specific and constrained more-or-less to the scope established below. This is not the thread to talk about major redesigns.

Please give this a look and see what you think. In general, I've described how I think they should be implemented, some in more detail than others. I'm open to limited debate about the specifics but also want to get this moving fast to make the information available.

Mission 1: Front page overhaul and nav restructure

Special agent on assignment: TBD

Issue link: https://github.com/rust-lang/rust-www/issues/175

The amount of content we need to present is outgrowing our nav bar. Community links are growing and there are lots more links we need to expose but no room.

Completely restructure the nav bar as a few 'category' links that lead to their own pages:

Documentation

Community

Downloads

Contributing

The content of these pages is discussed in further missions below. Because this adds 'downloads' to the navbar, we also need to remove the redundant 'Other Downloads' button.

There are some other important links that need to be integrated into the front page:

crates.io - It takes a lot of clicks to discover that crates.io exists today! I don't know the best way to integrate this, but one possibility is to call the crate ecosystem out in the feature list and hyperlink there.

play.rust-lang.org - To discover play.rlo you have to click 'Run', then the 'fold-out' icon. This is a useful enough newbie tool that it ought be completely obvious how to find it. Again, no great ideas about where this link lives in the current design.

stability guarantee - I like the idea of adjusting the sales pitch / feature list to tout stability and making this an inline link there. This isn't written yet, discussed below in another missions.

security policy - The page exists but isn't linked.

GitHub - via banner is fine.

If these can't all be integrated organically into the flow of the page then you might consider adding them to a new footer.

Consider making the feature list link to various blog posts. Make sure the page style continues to attract attention to the more crucial links we already have.

Propose tweaks to the design to accomplish all these goals.

Mission 2: Community page

Special agent on assignment: @efindlay

Issue link: https://github.com/rust-lang/rust-www/issues/176

Today the navbar is overrun by 'community' links, but still there is more info to disseminate. Create a new page, to be linked from a single new 'Community' navbar link. This page needs to be a friendly and accessible intro to the world of Rust.

Subjects covered should include:

The importance of the COC (with link) and diversity

Team structure (with link)

The community and moderation teams in particular

The RFC process, with link to RFC readme

Subteam reports and TWiR

Forums, IRC and other communication venues

It should explicitly explain how to get help

Calendar. Try to embed a combination of the event calendar and the release calendar.

List of meetup groups

blog

twitter

Think about how to organize this by audience. Some community members are devs and some are users. Consider that the primary audience for this page is mostly users, for the contributing page is mostly devs.

Come up with a design that conveys all of this information, either directly or through additional links, without being overwhelming. This will be one of the most important newbie resources.

I'm most worried here about conveying a dedication to diversity, as we don't have a lot of existing material to crib off of, there's overlap with the CoC, and anything we say needs to be worded artfully.

Adapt material from the current docs.

Mission 3: Contributing page

*Special agent on assignment: @sirDonQui *

Issue link: https://github.com/rust-lang/rust-www/issues/177

Create a contributing page that adapts nrc's stuff and CONTRIBUTING.md.

It should be simple and accessible, with consideration for non-coding contributions.

It should have a link to instructions on submitting bug reports.

It should lead people to instructions for getting involved in RFC process.

It should provide leads for getting involved in evangelism.

It might highlight major initiatives, like IDE's. Such initiatives would need stable landing pages to link to, like internals threads or GitHub issues.

Cross-link with CONTRIBUTING.md.

Scala's page is good to crib off of.

Mission 4: Stability guarantee

Special agent on assignment: @geofft

Issue link: https://github.com/rust-lang/rust-www/issues/178

Write a simple, user-oriented 'stability guarantee', based off of the API evolution RFC, Language versioning RFC, and Stability as a Deliverable.

This should be a few paragraphs designed to make newcomers feel good about trusting Rust. This will be linked prominently from the front page and will be an important part of the Rust sales pitch. Use your creativity.

Mission 5: Documentation page

Special agent on assignment: TBD

Issue link: https://github.com/rust-lang/rust-www/issues/179

Today, the documentation landing page lives in the Rust tree, and is generated for each release channel. As Rust grows though, more documentation lives out of tree and needs to be discoverable.

Let's reorganize this so that the website itself is the main landing page for finding docs.

Start by moving the contents of the existing documentation index into rust-www, reducing the existing doc index to links to the in-tree docs, as well as a link to the website for more information.

Add a link to the new website-based FAQ.

Brainstorm about other documentation we might want to link to and what standards of quality and stability we might require before officially endorsing them.

Mission 6: A better example

Special agent on assignment: TBD

Issue link: https://github.com/rust-lang/rust-www/issues/180

Come up with a new example that fits in the same space and exemplifies the Zen of Rust. This is a newb's first impression of Rust and it needs to be breathtaking.

Consider that we might have multiple examples serving different purposes and put them on a carousel, only if it's not possible to create a single succinct example.

Mission 7: FAQ fixes

Special agent on assignment: @alilleybrinker

Issue link: https://github.com/rust-lang/rust-www/issues/181

The FAQs have more-or-less been bitrotting since the inception of the project. They are only slightly better than useless.

Start a thread on users.rlo asking for people to write boths Q's and A's. Throw away the 3 existing FAQs and write a single new one. Put this one on the website, linked from the doc page.

Q's

Why is the Rust [ HashMap ] so slow?

Mission 8: Download page tweaks

Special agent on assignment: @brson

Issue link: https://github.com/rust-lang/rust-www/issues/182

Rename from install.html to downloads.html, to match the 'Downloads' link. The name 'Downloads' gives us room to expand to offer things that are not installers. Leave a redirect.

To the beta channel, add an indication of which date it will become stable.

Add links to changelogs and/or release announcements, as well as the docs for each channel.

Simplify labels by removing the words 'binaries' and 'installer'. This is a meaningless distinction these days and just adds noise.

Two options for mac is too much choice w/o no obvious way to know which one to pick. Remove one of them. I've started a poll to decide which: reddit r/rust - Which Rust installer for Mac do you use (poll)? 7 votes and 21 comments so far on Reddit

Consider whether we need a better-organized archive to give access bonus artifacts like the extra mac installer.

References and Resources