haskell-infra / hl

Haskell web site (old -- see new repo at https://github.com/haskell-infra/www.haskell.org)
http://haskell.org/
BSD 3-Clause "New" or "Revised" License
158 stars 92 forks source link

Move 'Videos' section below 'Features' #245

Open m-renaud opened 5 years ago

m-renaud commented 5 years ago

Note: For those new to this thread, please read my comment below for a more fleshed out idea.

The 'Videos' section seems to be given very high priority relative to other content on the home page. I can't think of a reason why as a newcomer would want to see a list of videos (one of which is called "Haskell is Not for Production..." :stuck_out_tongue_closed_eyes:) before seeing what the language features are or why they would want to use it. This is an even bigger issue on mobile where the videos take up more than an entire screen worth of real estate so you need to scroll down several pages before you get to the Features section.

I propose we either:

a) Move the videos further down the page (at least under 'Features'). b) Remove the videos from the page entirely (could be moved to a new "Learn" page which would be merged with "Documentation")

Implementing the first should be as simple as swapping these two lines. I can send a PR for this as well if folks agree.

/cc @gbaz

gbaz commented 5 years ago

I tend to disagree. I think the videos are a really nice element of the page -- people like them, as illustrated by the healthy discussion when we revamped the video selection. (https://www.reddit.com/r/haskell/comments/6hpfr9/what_are_your_favorite_introductory_haskell_videos/ and https://github.com/haskell-infra/hl/pull/229). They illustrate we have a vibrant language community even if people don't watch them all at once. And further, they break up the text-heavy visual monotony that would occur if we had "features" first, so make the page as a whole more engaging. I just checked on mobile and they're not too bad there either. I don't think there's enough benefit to this change to outweigh how much less engaging the page would be as a whole.

m-renaud commented 5 years ago

Thanks for the thoughtful reply @gbaz :) I'd like to bring up some counterpoints to what you've mentioned here:

people like them, as illustrated by the healthy discussion when we revamped the video selection

I completely agree, the new collection of videos is much better than what was there before! That being said, the thread you linked wasn't a discussion of where these videos should be surfaced, just what videos it should contain, so I don't think that's a supporting data point. There's currently a "Documentation" page which I think would be better named "Learn" since it much more clearly states that that is where you should go to "learn more about Haskell". This would be a great spot for the videos because then all the resources (getting started, tutorials, books, videos) would be located in the same place.

They illustrate we have a vibrant language community even if people don't watch them all at once

I can understand that, but I posit the that someone who's never heard of Haskell before isn't interested in watching hour+ long videos as the very first thing they encounter on the Haskell site. They also aren't going to immediately think that the community isn't vibrant just because there aren't videos, I think there's an implicit assumption that there must be some community if there's a well maintained website, proper getting started instructions, and resources for how to learn. I can't speak for others but I would be looking for a very brief summary of what the language is "good for" and instructions for how to get started. If anything, the "Packages" sub-section of "Features" should point out that there's a vibrant community building high-quality libraries for things a developer would want to do.

Alternatively/additionally, a "Community" section below "Features" could highlight the community aspect, there's currently a "Sponsors" section which seems to serve a similar purpose.

they break up the text-heavy visual monotony that would occur if we had "features" first

I think there's a better way of breaking this up, specifically with some simple graphics that outline what makes Haskell stand out from other languages. Not "technical language features" as are currently listed, but "developer focused features": I'm thinking a line that contains 3 topics with a simple graphic (forgive the horrible formatting, this is just to illustrate the idea):

     ✓             ⚙            🚄
  Correct     Maintainable     Fast

In general, I think the "Features" don't actually inform someone not familiar with the language (or functional programming) WHY they would want to use Haskell. For example, why is "purely functional" a good/desirable thing?

I just checked on mobile and they're not too bad there either.

Umm, I'm going to have to disagree, there's exactly zero useful content on mobile above the fold (and my phone has a massive screen), I need to go to the 3rd full screen to find anything about the language. The first half screen is "Haskell - An advanced, purely functional programming language" in giant letters, the second half is the "Try it!" block which doesn't work at all on mobile, and even if it did I don't think anyone would have the patience to type in the code on a phone keyboard ;P The second page is all videos, then the 3rd actually has anything about the language. See https://imgur.com/a/nB6M6pf for screenshots. I think in general the mobile page needs a re-work (make the "Haskel - ..." smaller, remove the "Try It", etc), but that's a separate discussion.

to outweigh how much less engaging the page would be as a whole.

It would be nice if there was analytics for this, but I would wager that only a minority of the visits to the page result in folks watching videos. I think they would be much better suited on a "Learn" page which would contain links to "Getting Started" material, the videos, books, etc. I feel like they have very little utility to someone who's just looking to get the gist of what Haskell is and why they would even consider using it.

I'd love to hear what you and others think about this, all I want is for the site to be as approachable and useful as possible for those new to the language. I feel like there's a number of things we could do to improve the content, this was just a small change that I thought would be an incremental improvement but this discussion may make more sense in a broader homepage content restructuring discussion.

Do you think it would be useful if I mocked up a new homepage with what I have in mind?

Also, it appears that this issue component receives very little traffic, where's the best place to share this to get more broad input? I'm thinking haskell-cafe@ and /r/haskell may be good places to start. WDYT?