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

Rework homepage #3579

Merged
merged 2 commits into from
Feb 9, 2018
Merged

Conversation

davidfischer
Copy link
Contributor

This PR reworks the homepage with the hope that it makes getting started with RTD easier. Here's a summary:

  • Call to action to get started
  • Break up large blocks of text
  • Remove recent projects (featured projects is still supported)

screenshot-2018-2-5 home read the docs

- Call to action to get started
- Break up large blocks of text
- Remove recent projects
@davidfischer davidfischer added the Design Design or UX/UI related label Feb 5, 2018
Copy link
Member

@Blendify Blendify left a comment

Choose a reason for hiding this comment

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

Overall looks good some small points to bring up though.

  • I would have "Free docs hosting" be the first block. I think this is the most important out of the four.
  • We switch between the term "docs" and "documentation" a lot we should stick to one. At least within title sections e.g. "Free documentation hosting"

{% blocktrans %}
We can host and build multiple versions of your docs so having a
1.0 version of your docs and a 2.0 version of your docs is as easy
as having a separate branch or tag in version control.
Copy link
Member

Choose a reason for hiding this comment

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

"version control software"?

Copy link
Member

@ericholscher ericholscher 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 this update.

I would like to add something that makes it feel alive. This current version looks very static, and won't really change. Perhaps something like "7 million builds and counting" or "Now hosting <projects.count> projects" or something. "X projects build in the past 24 hours".

for build in latest_builds:
if (build.project not in latest and len(latest) < 10):
latest.append(build.project)
context['project_list'] = latest
Copy link
Member

Choose a reason for hiding this comment

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

This was a killer query for our DB as well. Glad to have it gone :)

@@ -4,6 +4,10 @@

{% load pagination_tags %}

{% block extra_metas %}
<meta name="description" content="{% trans "Read the Docs simplifies technical documentation by automating building, versioning, and hosting for you. Build up-to-date documentation for the web, print, and eReaders on every version control push automatically." %}">
Copy link
Member

Choose a reason for hiding this comment

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

eReaders is a bit odd here. Perhaps we should just say "for online and offline use" or something.

context['featured_list'] = Project.objects.filter(featured=True)
context['projects_count'] = Project.objects.count()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I timed this against the prod database and it ran in ~20ms. If that's too expensive, we could consider caching it.

Copy link
Member

Choose a reason for hiding this comment

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

Should be fine, but probably worth caching since that seems like a lot of time for no real reason. We can likely just use the Django view cache decorator at a minute or 5 minute interval, if we don't have anything much live updating!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know if we can cache the whole page especially for logged in users. They have the username/dashboard fragment at the top. Perhaps we could do something with the cache template tag.

@davidfischer
Copy link
Contributor Author

I made updates based on the feedback.

One thing we do support on the home page but it doesn't appear to be used is to have featured projects. These could be large, popular, or other projects we want to highlight (it's useful in dev too!). I believe we should use that as that will make the home page feel more alive.

One concern I do have with this is that the search is below the fold on my laptop screen. Search is fairly important on this page although arguably not as important as login/signup or getting started. Currently ~7.5% of non-bouncing visitors do a search from this page.

While I think this homepage is bit better than the previous one, I also have some thoughts on how to objectively gauge that:

  • traffic to the getting started guide should increase
  • logins/signups should not decrease
  • searches should not decrease (this is the one I'm most iffy on)

Copy link
Member

@ericholscher ericholscher left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@davidfischer
Copy link
Contributor Author

As a note when this goes live, I would feature a couple projects. Here's a decent list to start:

  • python-packaging-user-guide
  • requests
  • godot
  • solidity
  • boto3
  • doctrine-orm
  • jupyter
  • bootstrap-datepicker
  • linuxmint-installation-guide

@ericholscher ericholscher merged commit 483a7a5 into readthedocs:master Feb 9, 2018
@ericholscher
Copy link
Member

Packages are featured, except for boto3, which blew up the display by having too many maintainers :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Design or UX/UI related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants