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

Conversation

Projects
None yet
3 participants
@davidfischer
Contributor

davidfischer commented Feb 5, 2018

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

Rework homepage
- Call to action to get started
- Break up large blocks of text
- Remove recent projects

@davidfischer davidfischer requested a review from ericholscher Feb 5, 2018

@davidfischer davidfischer added the Design label Feb 5, 2018

@Blendify

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.

This comment has been minimized.

@Blendify

Blendify Feb 5, 2018

Contributor

"version control software"?

@ericholscher

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

This comment has been minimized.

@ericholscher

ericholscher Feb 5, 2018

Member

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." %}">

This comment has been minimized.

@ericholscher

ericholscher Feb 5, 2018

Member

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()

This comment has been minimized.

@davidfischer

davidfischer Feb 6, 2018

Contributor

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

This comment has been minimized.

@ericholscher

ericholscher Feb 6, 2018

Member

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!

This comment has been minimized.

@davidfischer

davidfischer Feb 6, 2018

Contributor

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

This comment has been minimized.

Contributor

davidfischer commented Feb 6, 2018

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)
@ericholscher

Looks good to me!

@davidfischer

This comment has been minimized.

Contributor

davidfischer commented Feb 8, 2018

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 rtfd:master Feb 9, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@ericholscher

This comment has been minimized.

Member

ericholscher commented Feb 9, 2018

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